Cross-Platform OpenGL Windowing Library
リビジョン | 5ad8ffe3493dedb02cefcc234c6ee291b533d8b9 (tree) |
---|---|
日時 | 2018-11-11 14:03:30 |
作者 | AlaskanEmily <emily@alas...> |
コミッター | AlaskanEmily |
Fix disabling resize in Win32
@@ -14,6 +14,11 @@ | ||
14 | 14 | |
15 | 15 | /******************************************************************************/ |
16 | 16 | |
17 | +#define GLOW_WINDOW_STYLE\ | |
18 | + (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX) | |
19 | + | |
20 | +/******************************************************************************/ | |
21 | + | |
17 | 22 | struct Glow_Context{ |
18 | 23 | HDC dc; |
19 | 24 | HGLRC ctx; |
@@ -273,16 +278,30 @@ void Glow_CreateWindow(struct Glow_Window *out, | ||
273 | 278 | |
274 | 279 | { |
275 | 280 | RECT size; |
281 | + DWORD style = ((flags & GLOW_UNDECORATED) == 0) ? | |
282 | + GLOW_WINDOW_STYLE : WS_OVERLAPPED) | | |
283 | + | |
284 | + if((flags & GLOW_RESIZABLE) != 0){ | |
285 | + style |= WS_THICKFRAME | WS_MAXIMIZEBOX; | |
286 | + } | |
276 | 287 | |
277 | 288 | size.left = 0; |
278 | 289 | size.top = 0; |
279 | 290 | size.right = w; |
280 | 291 | size.bottom = h; |
281 | - AdjustWindowRect(&size, WS_OVERLAPPEDWINDOW, TRUE); | |
292 | + AdjustWindowRect(&size, style, TRUE); | |
282 | 293 | size.bottom += (GetSystemMetrics(SM_CYFRAME) + |
283 | 294 | GetSystemMetrics(SM_CYCAPTION) + |
284 | 295 | GetSystemMetrics(SM_CXPADDEDBORDER)); |
285 | - out->win = CreateWindow(GLOW_CLASS_NAME, title, WS_OVERLAPPEDWINDOW, 64, 64, size.right, size.bottom, NULL, NULL, glow_app, out); | |
296 | + out->win = CreateWindow(GLOW_CLASS_NAME, | |
297 | + title, | |
298 | + style, | |
299 | + 64, 64, | |
300 | + size.right, size.bottom, | |
301 | + NULL, | |
302 | + NULL, | |
303 | + glow_app, | |
304 | + out); | |
286 | 305 | } |
287 | 306 | } |
288 | 307 |