extends Control 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", Input.get_mouse_pos() ) ) 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) 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