Focus/TitleBar.gd
2025-06-22 12:26:49 +10:00

68 lines
2 KiB
GDScript

extends Control
var following = false
var dragging_start_position : Vector2i = Vector2i()
@export var options_menu : PopupMenu
func _on_TitleBar_gui_input(event):
if event is InputEventMouseButton:
#print(event)
if event.get_button_index() == 1:
following = !following
dragging_start_position = get_local_mouse_position()
if event.get_button_index() == 2:
open_menu()
func _process(_delta):
if following:
get_window().position = get_window().position + Vector2i(get_global_mouse_position()) - dragging_start_position
#OS.set_window_position(OS.window_position + get_global_mouse_position() - dragging_start_position)
#if (Input.is_action_just_pressed("ui_up")):
#get_window().size += Vector2i(100,90)
#print(DisplayServer.window_get_mode())
if(DisplayServer.window_get_mode() == 1): #prevent program from being minimised
#print("T_T")
DisplayServer.window_set_mode(0)
#get_window().request_attention()
get_window().grab_focus()
func open_menu():
options_menu.show()
#
#func _on_CloseButton_pressed():
#get_tree().quit()
#func _on_MinimizeButton_pressed():
func _on_popup_menu_id_pressed(id: int) -> void:
if id == 2:
get_window().size = Vector2i(200,180)
options_menu.set_item_checked(2, false)
options_menu.set_item_checked(3, true)
options_menu.set_item_checked(4, false)
options_menu.set_item_checked(5, false)
elif id == 3:
get_window().size = Vector2i(300,270)
options_menu.set_item_checked(2, false)
options_menu.set_item_checked(3, false)
options_menu.set_item_checked(4, true)
options_menu.set_item_checked(5, false)
elif id == 4:
get_window().size = Vector2i(400,360)
options_menu.set_item_checked(2, false)
options_menu.set_item_checked(3, false)
options_menu.set_item_checked(4, false)
options_menu.set_item_checked(5, true)
elif id == 5:
get_window().size = Vector2i(150,135)
options_menu.set_item_checked(2, true)
options_menu.set_item_checked(3, false)
options_menu.set_item_checked(4, false)
options_menu.set_item_checked(5, false)