| 34 #include "../common/menu.h" |
34 #include "../common/menu.h" |
| 35 #include "../common/toolbar.h" |
35 #include "../common/toolbar.h" |
| 36 #include "../common/document.h" |
36 #include "../common/document.h" |
| 37 #include "../common/properties.h" |
37 #include "../common/properties.h" |
| 38 |
38 |
| |
39 #include "../ui/widget.h" |
| |
40 |
| 39 #include <stdio.h> |
41 #include <stdio.h> |
| 40 #include <stdlib.h> |
42 #include <stdlib.h> |
| |
43 |
| |
44 #include <commctrl.h> |
| 41 |
45 |
| 42 static const char *application_name; |
46 static const char *application_name; |
| 43 |
47 |
| 44 static ui_callback startup_func; |
48 static ui_callback startup_func; |
| 45 static void *startup_data; |
49 static void *startup_data; |
| 46 static ui_callback open_func; |
50 static ui_callback open_func; |
| 47 void *open_data; |
51 void *open_data; |
| 48 static ui_callback exit_func; |
52 static ui_callback exit_func; |
| 49 void *exit_data; |
53 void *exit_data; |
| 50 |
54 |
| |
55 static HFONT ui_font = NULL; |
| |
56 |
| 51 void ui_init(const char *appname, int argc, char **argv) { |
57 void ui_init(const char *appname, int argc, char **argv) { |
| 52 application_name = appname; |
58 application_name = appname; |
| 53 |
59 |
| 54 uic_init_global_context(); |
60 uic_init_global_context(); |
| 55 uic_docmgr_init(); |
|
| 56 uic_menu_init(); |
61 uic_menu_init(); |
| 57 uic_toolbar_init(); |
62 uic_toolbar_init(); |
| 58 uic_load_app_properties(); |
63 uic_load_app_properties(); |
| 59 |
64 |
| 60 ui_window_init(); |
65 ui_window_init(); |
| |
66 |
| |
67 INITCOMMONCONTROLSEX icex = { sizeof(icex), ICC_WIN95_CLASSES }; |
| |
68 InitCommonControlsEx(&icex); |
| |
69 |
| |
70 SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); |
| |
71 |
| |
72 NONCLIENTMETRICS ncm = { sizeof(ncm) }; |
| |
73 SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE); |
| |
74 ui_font = CreateFontIndirect(&ncm.lfMessageFont); |
| |
75 } |
| |
76 |
| |
77 HFONT ui_win32_get_font(void) { |
| |
78 return ui_font; |
| |
79 } |
| |
80 |
| |
81 void ui_win32_set_ui_font(HWND control) { |
| |
82 if (ui_font) { |
| |
83 SendMessage(control, WM_SETFONT, (WPARAM)ui_font, TRUE); |
| |
84 } |
| 61 } |
85 } |
| 62 |
86 |
| 63 const char* ui_appname() { |
87 const char* ui_appname() { |
| 64 return application_name; |
88 return application_name; |
| 65 } |
89 } |