From 999437f31b7132288adf8dd407c34781710692bf Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 4 Jun 2016 06:27:04 +0200 Subject: [PATCH] Use ui_window_win32_t for g_shader_dlg --- ui/drivers/ui_win32.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/ui/drivers/ui_win32.c b/ui/drivers/ui_win32.c index feda30acd2..c13edf535a 100644 --- a/ui/drivers/ui_win32.c +++ b/ui/drivers/ui_win32.c @@ -54,6 +54,7 @@ #include "../../gfx/common/gl_common.h" #include "../../gfx/common/win32_common.h" +#include "win32/ui_win32_window.h" #define SHADER_DLG_WIDTH 220 #define SHADER_DLG_MIN_HEIGHT 200 @@ -108,7 +109,7 @@ typedef struct typedef struct { - HWND hwnd; + ui_window_win32_t window; HWND on_top_checkbox; HWND separator; shader_param_ctrl_t controls[GFX_MAX_PARAMETERS]; @@ -254,7 +255,7 @@ void shader_dlg_params_reload(void) shader_info.data->parameters[i].desc, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, pos_x, pos_y, SHADER_DLG_CTRL_WIDTH, SHADER_DLG_CHECKBOX_HEIGHT, - g_shader_dlg.hwnd, (HMENU)(size_t)i, NULL, NULL); + g_shader_dlg.window.hwnd, (HMENU)(size_t)i, NULL, NULL); SendMessage(control->checkbox.hwnd, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0)); pos_y += SHADER_DLG_CHECKBOX_HEIGHT + SHADER_DLG_CTRL_MARGIN; } @@ -271,7 +272,7 @@ void shader_dlg_params_reload(void) control->trackbar.label_title = CreateWindowEx(0, "STATIC", shader_info.data->parameters[i].desc, WS_CHILD | WS_VISIBLE | SS_LEFT, pos_x, pos_y, - SHADER_DLG_CTRL_WIDTH, SHADER_DLG_LABEL_HEIGHT, g_shader_dlg.hwnd, + SHADER_DLG_CTRL_WIDTH, SHADER_DLG_LABEL_HEIGHT, g_shader_dlg.window.hwnd, (HMENU)(size_t)i, NULL, NULL); SendMessage(control->trackbar.label_title, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0)); @@ -280,12 +281,12 @@ void shader_dlg_params_reload(void) WS_CHILD | WS_VISIBLE | TBS_HORZ | TBS_NOTICKS, pos_x + SHADER_DLG_TRACKBAR_LABEL_WIDTH, pos_y, SHADER_DLG_TRACKBAR_WIDTH, SHADER_DLG_TRACKBAR_HEIGHT, - g_shader_dlg.hwnd, (HMENU)(size_t)i, NULL, NULL); + g_shader_dlg.window.hwnd, (HMENU)(size_t)i, NULL, NULL); control->trackbar.label_val = CreateWindowEx(0, "STATIC", "", WS_CHILD | WS_VISIBLE | SS_LEFT, pos_x, pos_y, SHADER_DLG_TRACKBAR_LABEL_WIDTH, SHADER_DLG_LABEL_HEIGHT, - g_shader_dlg.hwnd, (HMENU)(size_t)i, NULL, NULL); + g_shader_dlg.window.hwnd, (HMENU)(size_t)i, NULL, NULL); SendMessage(control->trackbar.label_val, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0)); SendMessage(control->trackbar.hwnd, TBM_SETBUDDY, (WPARAM)TRUE, @@ -305,13 +306,13 @@ void shader_dlg_params_reload(void) g_shader_dlg.parameters_start_y - SHADER_DLG_CTRL_MARGIN - SHADER_DLG_SEPARATOR_HEIGHT / 2, (pos_x - SHADER_DLG_CTRL_X) + SHADER_DLG_CTRL_WIDTH, SHADER_DLG_SEPARATOR_HEIGHT / 2, - g_shader_dlg.hwnd, NULL, NULL, + g_shader_dlg.window.hwnd, NULL, NULL, NULL); shader_dlg_params_refresh(); - GetWindowRect(g_shader_dlg.hwnd, &parent_rect); - SetWindowPos(g_shader_dlg.hwnd, NULL, 0, 0, + GetWindowRect(g_shader_dlg.window.hwnd, &parent_rect); + SetWindowPos(g_shader_dlg.window.hwnd, NULL, 0, 0, (pos_x - SHADER_DLG_CTRL_X) + SHADER_DLG_WIDTH, (pos_x == SHADER_DLG_CTRL_X) ? pos_y + 30 : SHADER_DLG_MAX_HEIGHT, SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE); @@ -321,23 +322,23 @@ void shader_dlg_params_reload(void) static void shader_dlg_update_on_top_state(void) { bool on_top = SendMessage(g_shader_dlg.on_top_checkbox, BM_GETCHECK, 0, 0) == BST_CHECKED; - SetWindowPos(g_shader_dlg.hwnd, on_top ? HWND_TOPMOST : HWND_NOTOPMOST , 0, 0, 0, 0, + SetWindowPos(g_shader_dlg.window.hnd, on_top ? HWND_TOPMOST : HWND_NOTOPMOST , 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } void shader_dlg_show(HWND parent_hwnd) { - if (!IsWindowVisible(g_shader_dlg.hwnd)) + if (!IsWindowVisible(g_shader_dlg.window.hwnd)) { if (parent_hwnd) { RECT parent_rect; GetWindowRect(parent_hwnd, &parent_rect); - SetWindowPos(g_shader_dlg.hwnd, HWND_TOP, parent_rect.right, parent_rect.top, + SetWindowPos(g_shader_dlg.window.hwnd, HWND_TOP, parent_rect.right, parent_rect.top, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW); } else - ShowWindow(g_shader_dlg.hwnd, SW_SHOWNORMAL); + ShowWindow(g_shader_dlg.window.hwnd, SW_SHOWNORMAL); shader_dlg_update_on_top_state(); @@ -345,7 +346,7 @@ void shader_dlg_show(HWND parent_hwnd) } - SetFocus(g_shader_dlg.hwnd); + SetFocus(g_shader_dlg.window.hwnd); } static LRESULT CALLBACK ShaderDlgWndProc(HWND hwnd, UINT message, @@ -364,7 +365,7 @@ static LRESULT CALLBACK ShaderDlgWndProc(HWND hwnd, UINT message, case WM_CLOSE: case WM_DESTROY: case WM_QUIT: - ShowWindow(g_shader_dlg.hwnd, SW_HIDE); + ShowWindow(g_shader_dlg.window.hwnd, SW_HIDE); return 0; case WM_COMMAND: @@ -448,7 +449,7 @@ bool win32_shader_dlg_init(void) int pos_y; HFONT hFont; - if (g_shader_dlg.hwnd) + if (g_shader_dlg.window.hwnd) return true; if (!inited) @@ -473,7 +474,7 @@ bool win32_shader_dlg_init(void) hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); - g_shader_dlg.hwnd = CreateWindowEx(0, "Shader Dialog", "Shader Parameters", + g_shader_dlg.window.hwnd = CreateWindowEx(0, "Shader Dialog", "Shader Parameters", WS_POPUPWINDOW | WS_CAPTION, 100, 100, SHADER_DLG_WIDTH, SHADER_DLG_MIN_HEIGHT, NULL, NULL, NULL, NULL); @@ -481,7 +482,7 @@ bool win32_shader_dlg_init(void) g_shader_dlg.on_top_checkbox = CreateWindowEx(0, "BUTTON", "Always on Top", BS_AUTOCHECKBOX | WS_VISIBLE | WS_CHILD, SHADER_DLG_CTRL_X, pos_y, SHADER_DLG_CTRL_WIDTH, - SHADER_DLG_CHECKBOX_HEIGHT, g_shader_dlg.hwnd, + SHADER_DLG_CHECKBOX_HEIGHT, g_shader_dlg.window.hwnd, (HMENU)SHADER_DLG_CHECKBOX_ONTOP_ID, NULL, NULL); pos_y += SHADER_DLG_CHECKBOX_HEIGHT + SHADER_DLG_CTRL_MARGIN;