52 lines
1.7 KiB
GDScript
52 lines
1.7 KiB
GDScript
extends Control
|
|
|
|
@onready var option_button = $HBoxContainer/OptionButton as OptionButton
|
|
|
|
const MODE_FENETRE_LISTE : Array[String] = [
|
|
"Plein écran",
|
|
"Fenetré",
|
|
"Fenetré sans bordure",
|
|
"Plein écran sans bordure"
|
|
]
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
add_window_mode_items()
|
|
option_button.item_selected.connect(on_window_mode_selected)
|
|
set_default_status()
|
|
|
|
|
|
func set_default_status() -> void :
|
|
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_WINDOWED :
|
|
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_BORDERLESS) :
|
|
option_button.select(2)
|
|
else :
|
|
option_button.select(1)
|
|
else :
|
|
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_BORDERLESS) :
|
|
option_button.select(3)
|
|
else :
|
|
option_button.select(0)
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta):
|
|
pass
|
|
|
|
func add_window_mode_items() -> void:
|
|
for mode_fenetre in MODE_FENETRE_LISTE:
|
|
option_button.add_item(mode_fenetre)
|
|
|
|
func on_window_mode_selected (index : int) -> void :
|
|
match index:
|
|
0: #Fullscreen
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
|
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
|
|
1: #Windowed
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
|
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
|
|
2: #Windowed Borderless
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
|
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
|
|
3: #Fullscreen Borderless
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
|
|
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true)
|