bar can be resized in code
This commit is contained in:
parent
b9d5940fac
commit
181f3eaf50
3 changed files with 60 additions and 17 deletions
22
clock.gd
22
clock.gd
|
|
@ -1,6 +1,7 @@
|
|||
extends Control
|
||||
|
||||
var taskbar_height : int = 50
|
||||
var bar_size : int = 10
|
||||
@export var bar: TextureProgressBar
|
||||
@export var label: Label
|
||||
@export var options_window: Window
|
||||
|
|
@ -21,19 +22,30 @@ func _ready() -> void:
|
|||
|
||||
|
||||
func setup_window():
|
||||
|
||||
var screen_size : Vector2i = DisplayServer.screen_get_size() # get current screen size
|
||||
var screen_pos : Vector2i = DisplayServer.screen_get_position(DisplayServer.SCREEN_OF_MAIN_WINDOW) # get the posiiton of the window on the virtual display
|
||||
get_window().min_size = Vector2i(1,1) # weird godot bug where the min screen size is 64x64 unless set in code
|
||||
if bar_position == Position.Bottom:
|
||||
get_window().size = Vector2i(screen_size.x, 10) # set window size to be 10 high and screen width wide
|
||||
DisplayServer.window_set_position(screen_pos + Vector2i(0,screen_size.y-10-taskbar_height)) # set position of window to be just above the taskbar
|
||||
if screen_size.x > 2560:
|
||||
bar_size = 20
|
||||
|
||||
get_window().size = Vector2i(screen_size.x, bar_size) # set window size to be 10 high and screen width wide
|
||||
size = Vector2i(screen_size.x, bar_size)
|
||||
DisplayServer.window_set_position(screen_pos + Vector2i(0,screen_size.y-bar_size-taskbar_height)) # set position of window to be just above the taskbar
|
||||
position.y = 0 # set position of bar to be where it should be (moves when we change the window size)
|
||||
label.label_settings.font_size = (bar_size/10)*10
|
||||
if bar_position == Position.Right:
|
||||
get_window().size = Vector2i(10, screen_size.y) # set window size to be 10 high and screen width wide
|
||||
if screen_size.y > 1440:
|
||||
bar_size = 20
|
||||
|
||||
get_window().size = Vector2i(bar_size, screen_size.y) # set window size to be 10 high and screen width wide
|
||||
size.x = screen_size.y - taskbar_height
|
||||
DisplayServer.window_set_position(screen_pos + Vector2i(screen_size.x-10,0)) # set position of window to be just above the taskbar
|
||||
size.y = bar_size
|
||||
label.label_settings.font_size = (bar_size/10)*10
|
||||
DisplayServer.window_set_position(screen_pos + Vector2i(screen_size.x-bar_size,0)) # set position of window to be just above the taskbar
|
||||
position.y = 0 # set position of bar to be where it should be (moves when we change the window size)
|
||||
position.x = 10
|
||||
position.x = bar_size
|
||||
rotation_degrees = 90
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue