1
0
Fork 0
ExampleProject/RetroWindowsGUI/DesktopWindow.gd

36 lines
845 B
GDScript
Executable File

class_name DesktopWindow
extends Control
@export var desktop: Desktop # desktop
@export var maximized_windows: Control # maximized windows
@export var taskbar: Control # taskbar
var windowed_rect: Rect2
func _input(event: InputEvent):
if event is InputEventMouseButton:
if event.pressed:
if get_global_rect().has_point(get_global_mouse_position()):
desktop.current_window = self
elif event is InputEventKey:
if event.keycode == KEY_F11:
if event.pressed:
if desktop.current_window == self:
toggle_maximized()
# toggle maximized
func toggle_maximized():
if get_parent() == maximized_windows:
position = windowed_rect.position
size = windowed_rect.size
reparent(desktop)
else:
windowed_rect = get_global_rect()
reparent(maximized_windows)
func close():
visible = false
func minimize():
visible = false