module display
import ::glesv2
+import mnit::input
import display_linux is conditional(linux)
import display_android is conditional(android)
fun height: Int is abstract
# Aspect ratio of the screen, `width / height`
- var aspect_ratio: Float is lazy do return width.to_f / height.to_f
+ fun aspect_ratio: Float do return width.to_f / height.to_f
+
+ # Is the cursor locked et the center of the screen?
+ var lock_cursor = false is writable
+
+ # Is the cursor visible?
+ #
+ # Only affects the desktop implementations.
+ var show_cursor: Bool = true is writable
+
+ # Number of bits used for the red value in the color buffer
+ fun red_bits: Int do return 8
+
+ # Number of bits used for the green value in the color buffer
+ fun green_bits: Int do return 8
+
+ # Number of bits used for the blue value in the color buffer
+ fun blue_bits: Int do return 8
# Prepare this display
#
#
# The implementation varies per platform.
fun flip do end
+
+ # Loop on available events and feed them back to the app
+ #
+ # The implementation varies per platform.
+ fun feed_events do end
+
+ # Extensions to OpenGL ES 2.0 supported by the current configuration
+ var gl_extensions: Array[String] is lazy do return glGetString(gl_EXTENSIONS).split(' ')
end