Skip to content

Commit bde67b4

Browse files
authored
Merge pull request #737 from voylin/WindowManagement4.0Update
Window Management Update 4.0
2 parents 666d1cb + cd32f64 commit bde67b4

File tree

5 files changed

+249
-191
lines changed

5 files changed

+249
-191
lines changed

misc/window_management/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ A demo showing the various window management features available through
1212

1313
Language: GDScript
1414

15-
Renderer: GLES 2
15+
Renderer: Vulkan Mobile
1616

1717
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/145
1818

misc/window_management/control.gd

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ func _ready():
1212

1313
func _physics_process(_delta):
1414
var modetext = "Mode:\n"
15-
if OS.is_window_fullscreen():
15+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
1616
modetext += "Fullscreen\n"
1717
else:
1818
modetext += "Windowed\n"
19-
if not OS.is_window_resizable():
19+
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_RESIZE_DISABLED):
2020
modetext += "FixedSize\n"
21-
if OS.is_window_minimized():
21+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MINIMIZED:
2222
modetext += "Minimized\n"
23-
if OS.is_window_maximized():
23+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MAXIMIZED:
2424
modetext += "Maximized\n"
2525
if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED:
2626
modetext += "MouseGrab\n"
@@ -29,35 +29,35 @@ func _physics_process(_delta):
2929
$Label_MouseModeCaptured_KeyInfo.hide()
3030

3131
$Label_Mode.text = modetext
32-
$Label_Position.text = str("Position:\n", OS.get_window_position())
33-
$Label_Size.text = str("Size:\n", OS.get_window_size())
32+
$Label_Position.text = str("Position:\n", DisplayServer.window_get_position())
33+
$Label_Size.text = str("Size:\n", DisplayServer.window_get_size())
3434
$Label_MousePosition.text = str("Mouse Position:\n", mousepos)
35-
$Label_Screen_Count.text = str("Screen_Count:\n", OS.get_screen_count())
36-
$Label_Screen_Current.text = str("Screen:\n", OS.get_current_screen())
37-
$Label_Screen0_Resolution.text = str("Screen0 Resolution:\n", OS.get_screen_size())
38-
$Label_Screen0_Position.text = str("Screen0 Position:\n", OS.get_screen_position())
39-
$Label_Screen0_DPI.text = str("Screen0 DPI:\n", OS.get_screen_dpi())
35+
$Label_Screen_Count.text = str("Screen_Count:\n", DisplayServer.get_screen_count())
36+
$Label_Screen_Current.text = str("Screen:\n", DisplayServer.window_get_current_screen())
37+
$Label_Screen0_Resolution.text = str("Screen0 Resolution:\n", DisplayServer.screen_get_size())
38+
$Label_Screen0_Position.text = str("Screen0 Position:\n", DisplayServer.screen_get_position())
39+
$Label_Screen0_DPI.text = str("Screen0 DPI:\n", DisplayServer.screen_get_dpi())
4040

41-
if OS.get_screen_count() > 1:
41+
if DisplayServer.get_screen_count() > 1:
4242
$Button_Screen0.show()
4343
$Button_Screen1.show()
4444
$Label_Screen1_Resolution.show()
4545
$Label_Screen1_Position.show()
4646
$Label_Screen1_DPI.show()
47-
$Label_Screen1_Resolution.text = str("Screen1 Resolution:\n", OS.get_screen_size(1))
48-
$Label_Screen1_Position.text = str("Screen1 Position:\n", OS.get_screen_position(1))
49-
$Label_Screen1_DPI.text = str("Screen1 DPI:\n", OS.get_screen_dpi(1))
47+
$Label_Screen1_Resolution.text = str("Screen1 Resolution:\n", DisplayServer.window_get_size(1))
48+
$Label_Screen1_Position.text = str("Screen1 Position:\n", DisplayServer.screen_get_position(1))
49+
$Label_Screen1_DPI.text = str("Screen1 DPI:\n", DisplayServer.screen_get_dpi(1))
5050
else:
5151
$Button_Screen0.hide()
5252
$Button_Screen1.hide()
5353
$Label_Screen1_Resolution.hide()
5454
$Label_Screen1_Position.hide()
5555
$Label_Screen1_DPI.hide()
5656

57-
$Button_Fullscreen.set_pressed(OS.is_window_fullscreen())
58-
$Button_FixedSize.set_pressed(not OS.is_window_resizable())
59-
$Button_Minimized.set_pressed(OS.is_window_minimized())
60-
$Button_Maximized.set_pressed(OS.is_window_maximized())
57+
$Button_Fullscreen.set_pressed(DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN)
58+
$Button_FixedSize.set_pressed(DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_RESIZE_DISABLED))
59+
$Button_Minimized.set_pressed(DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MINIMIZED)
60+
$Button_Maximized.set_pressed(DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MAXIMIZED)
6161
$Button_MouseModeVisible.set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE)
6262
$Button_MouseModeHidden.set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_HIDDEN)
6363
$Button_MouseModeCaptured.set_pressed(Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED)
@@ -126,47 +126,47 @@ func check_wm_api():
126126

127127

128128
func _on_Button_MoveTo_pressed():
129-
OS.set_window_position(Vector2(100, 100))
129+
DisplayServer.window_set_position(Vector2(100, 100))
130130

131131

132132
func _on_Button_Resize_pressed():
133-
OS.set_window_size(Vector2(1024, 768))
133+
DisplayServer.window_set_size(Vector2(1024, 768))
134134

135135

136136
func _on_Button_Screen0_pressed():
137-
OS.set_current_screen(0)
137+
DisplayServer.window_set_current_screen(0)
138138

139139

140140
func _on_Button_Screen1_pressed():
141-
OS.set_current_screen(1)
141+
DisplayServer.window_set_current_screen(1)
142142

143143

144144
func _on_Button_Fullscreen_pressed():
145-
if OS.is_window_fullscreen():
146-
OS.set_window_fullscreen(false)
145+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
146+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
147147
else:
148-
OS.set_window_fullscreen(true)
148+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
149149

150150

151151
func _on_Button_FixedSize_pressed():
152-
if OS.is_window_resizable():
153-
OS.set_window_resizable(false)
152+
if DisplayServer.window_get_flag(DisplayServer.WINDOW_FLAG_RESIZE_DISABLED):
153+
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_RESIZE_DISABLED, false)
154154
else:
155-
OS.set_window_resizable(true)
155+
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_RESIZE_DISABLED, true)
156156

157157

158158
func _on_Button_Minimized_pressed():
159-
if OS.is_window_minimized():
160-
OS.set_window_minimized(false)
159+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MINIMIZED:
160+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
161161
else:
162-
OS.set_window_minimized(true)
162+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED)
163163

164164

165165
func _on_Button_Maximized_pressed():
166-
if OS.is_window_maximized():
167-
OS.set_window_maximized(false)
166+
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_MAXIMIZED:
167+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED)
168168
else:
169-
OS.set_window_maximized(true)
169+
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MAXIMIZED)
170170

171171

172172
func _on_Button_MouseModeVisible_pressed():
Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
[remap]
22

33
importer="texture"
4-
type="StreamTexture2D"
5-
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
4+
type="CompressedTexture2D"
5+
uid="uid://0b682rxmsdkw"
6+
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
67
metadata={
78
"vram_texture": false
89
}
910

1011
[deps]
1112

1213
source_file="res://icon.png"
13-
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"]
14+
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
1415

1516
[params]
1617

1718
compress/mode=0
1819
compress/lossy_quality=0.7
19-
compress/hdr_mode=0
20+
compress/hdr_compression=1
2021
compress/bptc_ldr=0
2122
compress/normal_map=0
22-
flags/repeat=0
23-
flags/filter=true
24-
flags/mipmaps=false
25-
flags/anisotropic=false
26-
flags/srgb=2
23+
compress/channel_pack=0
24+
mipmaps/generate=false
25+
mipmaps/limit=-1
26+
roughness/mode=0
27+
roughness/src_normal=""
2728
process/fix_alpha_border=true
2829
process/premult_alpha=false
29-
process/HDR_as_SRGB=false
30-
process/invert_color=false
3130
process/normal_map_invert_y=false
32-
stream=false
33-
size_limit=0
34-
detect_3d=true
35-
svg/scale=1.0
31+
process/hdr_as_srgb=false
32+
process/hdr_clamp_exposure=false
33+
process/size_limit=0
34+
detect_3d/compress_to=1

misc/window_management/project.godot

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66
; [section] ; section goes between []
77
; param=value ; assign values to parameters
88

9-
config_version=4
9+
config_version=5
1010

1111
[application]
1212

1313
config/name="Window Management"
1414
config/description="A demo showing the various window management features available through OS."
1515
run/main_scene="res://window_management.tscn"
1616
config/icon="res://icon.png"
17+
config/features=PackedStringArray("4.0")
1718

1819
[display]
1920

20-
window/size/width=800
21-
window/dpi/allow_hidpi=true
2221
window/stretch/mode="2d"
2322
window/stretch/aspect="expand"
23+
window/size/width=800
2424
window/fullscreen=false
2525
window/resizable=true
2626

@@ -72,6 +72,7 @@ move_right={
7272

7373
[rendering]
7474

75+
vulkan/rendering/back_end=1
7576
quality/driver/driver_name="GLES2"
7677
quality/intended_usage/framebuffer_allocation=3
7778
vram_compression/import_etc=true

0 commit comments

Comments
 (0)