Property definitions

gamnit $ GamnitDisplay :: defaultinit
# General display class, is sized and drawable
class GamnitDisplay

	# Width of the display, in pixels
	fun width: Int is abstract

	# Height of the display, in pixels
	fun height: Int is abstract

	# Aspect ratio of the screen, `width / height`
	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 setup is abstract

	# Close this display and free underlying resources
	#
	# The implementation varies per platform.
	fun close do end

	# Flip the display buffers
	#
	# 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
lib/gamnit/display.nit:28,1--79,3