123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- extends Control
- # Member variables
- var mousepos
- onready var observer = get_node("../Observer")
- 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_MouseModeCaptured_KeyInfo").show()
- else:
- get_node("Label_MouseModeCaptured_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()))
- get_node("Label_Screen0_DPI").set_text(str("Screen0 DPI:\n", OS.get_screen_dpi()))
-
- 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_DPI").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)))
- get_node("Label_Screen1_DPI").set_text(str("Screen1 DPI:\n", OS.get_screen_dpi(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("Label_Screen1_DPI").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_MouseModeVisible").set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE)
- get_node("Button_MouseModeHidden").set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_HIDDEN)
- get_node("Button_MouseModeCaptured").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
-
- if (event.type == InputEvent.KEY):
- if Input.is_action_pressed("mouse_mode_visible"):
- observer.state = observer.STATE_MENU
- _on_Button_MouseModeVisible_pressed()
-
- if Input.is_action_pressed("mouse_mode_hidden"):
- observer.state = observer.STATE_MENU
- _on_Button_MouseModeHidden_pressed()
-
- if Input.is_action_pressed("mouse_mode_captured"):
- _on_Button_MouseModeCaptured_pressed()
- 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_MouseModeVisible_pressed():
- Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
- func _on_Button_MouseModeHidden_pressed():
- Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
- func _on_Button_MouseModeCaptured_pressed():
- observer.state = observer.STATE_GRAB
|