commit window placement/etc. to cfg tree, pass through all monitor/pos/size/fullscreen/maximize info to initialization

This commit is contained in:
Ryan Fleury
2025-02-21 10:57:32 -08:00
parent 9e0fe942e6
commit 4f99a76ace
5 changed files with 116 additions and 10 deletions
+3 -1
View File
@@ -71,8 +71,10 @@ os_get_clipboard_text(Arena *arena)
//~ rjf: @os_hooks Windows (Implemented Per-OS)
internal OS_Handle
os_window_open(Vec2F32 resolution, OS_WindowFlags flags, String8 title)
os_window_open(Rng2F32 rect, OS_WindowFlags flags, String8 title)
{
Vec2F32 resolution = dim_2f32(rect);
//- rjf: allocate window
OS_LNX_Window *w = os_lnx_gfx_state->free_window;
if(w)
+3 -2
View File
@@ -21,7 +21,8 @@ struct OS_GfxInfo
typedef U32 OS_WindowFlags;
enum
{
OS_WindowFlag_CustomBorder = (1<<0),
OS_WindowFlag_CustomBorder = (1<<0),
OS_WindowFlag_UseDefaultPosition = (1<<1),
};
////////////////////////////////
@@ -139,7 +140,7 @@ internal String8 os_get_clipboard_text(Arena *arena);
////////////////////////////////
//~ rjf: @os_hooks Windows (Implemented Per-OS)
internal OS_Handle os_window_open(Vec2F32 resolution, OS_WindowFlags flags, String8 title);
internal OS_Handle os_window_open(Rng2F32 rect, OS_WindowFlags flags, String8 title);
internal void os_window_close(OS_Handle window);
internal void os_window_first_paint(OS_Handle window);
internal void os_window_focus(OS_Handle window);
+1 -1
View File
@@ -34,7 +34,7 @@ os_get_clipboard_text(Arena *arena)
//~ rjf: @os_hooks Windows (Implemented Per-OS)
internal OS_Handle
os_window_open(Vec2F32 resolution, OS_WindowFlags flags, String8 title)
os_window_open(Rng2F32 rect, OS_WindowFlags flags, String8 title)
{
OS_Handle handle = {1};
return handle;
+8 -4
View File
@@ -1015,9 +1015,12 @@ os_get_clipboard_text(Arena *arena)
//~ rjf: @os_hooks Windows (Implemented Per-OS)
internal OS_Handle
os_window_open(Vec2F32 resolution, OS_WindowFlags flags, String8 title)
os_window_open(Rng2F32 rect, OS_WindowFlags flags, String8 title)
{
B32 custom_border = !!(flags & OS_WindowFlag_CustomBorder);
B32 use_default_position = !!(flags & OS_WindowFlag_UseDefaultPosition);
Vec2F32 pos = rect.p0;
Vec2F32 dim = dim_2f32(rect);
//- rjf: make hwnd
HWND hwnd = 0;
@@ -1029,9 +1032,10 @@ os_window_open(Vec2F32 resolution, OS_WindowFlags flags, String8 title)
L"graphical-window",
(WCHAR*)title16.str,
WS_OVERLAPPEDWINDOW | WS_SIZEBOX,
CW_USEDEFAULT, CW_USEDEFAULT,
(int)resolution.x,
(int)resolution.y,
use_default_position ? CW_USEDEFAULT : (S32)pos.x,
use_default_position ? CW_USEDEFAULT : (S32)pos.y,
(S32)dim.x,
(S32)dim.y,
0, 0,
os_w32_gfx_state->hInstance,
0);