8639cecf4c
The scripts were streamlined using more or less the following conventions: - space after a comma in lists of arguments - space around weak operators (+, -), no space around strong operators (*, /) - space after a comment start (#) - removed trailing spaces or tabs, apart from those that delimit the function indentation level (those could be removed too but since they are added automatically by the editor when typing code, keeping them for now) - function blocks separate by two newlines The scene files were resaved with the (current) 2.0 format, and some scenes that were in XML format were converted to SCN, to be consistent across all demos.
186 lines
4.8 KiB
GDScript
186 lines
4.8 KiB
GDScript
|
|
extends Control
|
|
|
|
# member variables
|
|
var mousepos
|
|
|
|
|
|
func _fixed_process(delta):
|
|
var modetext = "Mode:\n"
|
|
|
|
if(OS.is_window_fullscreen()):
|
|
modetext += "Fullscreen\n"
|
|
else:
|
|
modetext += "Windowed\n"
|
|
|
|
if(!OS.is_window_resizable()):
|
|
modetext += "FixedSize\n"
|
|
|
|
if(OS.is_window_minimized()):
|
|
modetext += "Minimized\n"
|
|
|
|
if(OS.is_window_maximized()):
|
|
modetext += "Maximized\n"
|
|
|
|
if(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED):
|
|
modetext += "MouseGrab\n"
|
|
get_node("Label_MouseGrab_KeyInfo").show()
|
|
else:
|
|
get_node("Label_MouseGrab_KeyInfo").hide()
|
|
|
|
get_node("Label_Mode").set_text(modetext)
|
|
|
|
get_node("Label_Position").set_text(str("Position:\n", OS.get_window_position()))
|
|
|
|
get_node("Label_Size").set_text(str("Size:\n", OS.get_window_size()))
|
|
|
|
get_node("Label_MousePosition").set_text(str("Mouse Position:\n", mousepos))
|
|
|
|
get_node("Label_Screen_Count").set_text(str("Screen_Count:\n", OS.get_screen_count()))
|
|
|
|
get_node("Label_Screen_Current").set_text(str("Screen:\n", OS.get_current_screen()))
|
|
|
|
get_node("Label_Screen0_Resolution").set_text(str("Screen0 Resolution:\n", OS.get_screen_size()))
|
|
|
|
get_node("Label_Screen0_Position").set_text(str("Screen0 Position:\n", OS.get_screen_position()))
|
|
|
|
if(OS.get_screen_count() > 1):
|
|
get_node("Button_Screen0").show()
|
|
get_node("Button_Screen1").show()
|
|
get_node("Label_Screen1_Resolution").show()
|
|
get_node("Label_Screen1_Position").show()
|
|
get_node("Label_Screen1_Resolution").set_text(str("Screen1 Resolution:\n", OS.get_screen_size(1)))
|
|
get_node("Label_Screen1_Position").set_text(str("Screen1 Position:\n", OS.get_screen_position(1)))
|
|
else:
|
|
get_node("Button_Screen0").hide()
|
|
get_node("Button_Screen1").hide()
|
|
get_node("Label_Screen1_Resolution").hide()
|
|
get_node("Label_Screen1_Position").hide()
|
|
|
|
get_node("Button_Fullscreen").set_pressed(OS.is_window_fullscreen())
|
|
get_node("Button_FixedSize").set_pressed(!OS.is_window_resizable())
|
|
get_node("Button_Minimized").set_pressed(OS.is_window_minimized())
|
|
get_node("Button_Maximized").set_pressed(OS.is_window_maximized())
|
|
get_node("Button_Mouse_Grab").set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED)
|
|
|
|
|
|
func check_wm_api():
|
|
var s = ""
|
|
if(!OS.has_method("get_screen_count")):
|
|
s += " - get_screen_count()\n"
|
|
|
|
if(!OS.has_method("get_current_screen")):
|
|
s += " - get_current_screen()\n"
|
|
|
|
if(!OS.has_method("set_current_screen")):
|
|
s += " - set_current_screen()\n"
|
|
|
|
if(!OS.has_method("get_screen_position")):
|
|
s += " - get_screen_position()\n"
|
|
|
|
if(!OS.has_method("get_screen_size")):
|
|
s += " - get_screen_size()\n"
|
|
|
|
if(!OS.has_method("get_window_position")):
|
|
s += " - get_window_position()\n"
|
|
|
|
if(!OS.has_method("set_window_position")):
|
|
s += " - set_window_position()\n"
|
|
|
|
if(!OS.has_method("get_window_size")):
|
|
s += " - get_window_size()\n"
|
|
|
|
if(!OS.has_method("set_window_size")):
|
|
s += " - set_window_size()\n"
|
|
|
|
if(!OS.has_method("set_window_fullscreen")):
|
|
s += " - set_window_fullscreen()\n"
|
|
|
|
if(!OS.has_method("is_window_fullscreen")):
|
|
s += " - is_window_fullscreen()\n"
|
|
|
|
if(!OS.has_method("set_window_resizable")):
|
|
s += " - set_window_resizable()\n"
|
|
|
|
if(!OS.has_method("is_window_resizable")):
|
|
s += " - is_window_resizable()\n"
|
|
|
|
if(!OS.has_method("set_window_minimized")):
|
|
s += " - set_window_minimized()\n"
|
|
|
|
if(!OS.has_method("is_window_minimized")):
|
|
s += " - is_window_minimized()\n"
|
|
|
|
if(!OS.has_method("set_window_maximized")):
|
|
s += " - set_window_maximized()\n"
|
|
|
|
if(!OS.has_method("is_window_maximized")):
|
|
s += " - is_window_maximized()\n"
|
|
|
|
if(s.length() == 0):
|
|
return true
|
|
else:
|
|
var text = get_node("ImplementationDialog/Text").get_text()
|
|
get_node("ImplementationDialog/Text").set_text(text + s)
|
|
get_node("ImplementationDialog").show()
|
|
return false
|
|
|
|
|
|
func _ready():
|
|
if(check_wm_api()):
|
|
set_fixed_process(true)
|
|
set_process_input(true)
|
|
|
|
|
|
func _input(event):
|
|
if (event.type == InputEvent.MOUSE_MOTION):
|
|
mousepos = event.pos
|
|
|
|
|
|
func _on_Button_MoveTo_pressed():
|
|
OS.set_window_position(Vector2(100, 100))
|
|
|
|
|
|
func _on_Button_Resize_pressed():
|
|
OS.set_window_size(Vector2(1024, 768))
|
|
|
|
|
|
func _on_Button_Screen0_pressed():
|
|
OS.set_current_screen(0)
|
|
|
|
|
|
func _on_Button_Screen1_pressed():
|
|
OS.set_current_screen(1)
|
|
|
|
|
|
func _on_Button_Fullscreen_pressed():
|
|
if(OS.is_window_fullscreen()):
|
|
OS.set_window_fullscreen(false)
|
|
else:
|
|
OS.set_window_fullscreen(true)
|
|
|
|
|
|
func _on_Button_FixedSize_pressed():
|
|
if(OS.is_window_resizable()):
|
|
OS.set_window_resizable(false)
|
|
else:
|
|
OS.set_window_resizable(true)
|
|
|
|
|
|
func _on_Button_Minimized_pressed():
|
|
if(OS.is_window_minimized()):
|
|
OS.set_window_minimized(false)
|
|
else:
|
|
OS.set_window_minimized(true)
|
|
|
|
|
|
func _on_Button_Maximized_pressed():
|
|
if(OS.is_window_maximized()):
|
|
OS.set_window_maximized(false)
|
|
else:
|
|
OS.set_window_maximized(true)
|
|
|
|
|
|
func _on_Button_Mouse_Grab_pressed():
|
|
var observer = get_node("../Observer")
|
|
observer.state = observer.STATE_GRAB
|