Changes in uspace/lib/ui/private/window.h [25f26600:a927af7a] in mainline
- File:
-
- 1 edited
-
uspace/lib/ui/private/window.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/private/window.h
r25f26600 ra927af7a 1 1 /* 2 * Copyright (c) 202 0Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 38 38 #define _UI_PRIVATE_WINDOW_H 39 39 40 #include <adt/list.h> 40 41 #include <errno.h> 42 #include <congfx/console.h> 41 43 #include <display.h> 42 44 #include <gfx/context.h> … … 44 46 #include <io/pos_event.h> 45 47 #include <memgfx/memgc.h> 48 #include <memgfx/xlategc.h> 49 #include <types/common.h> 50 #include <types/ui/cursor.h> 51 #include <types/ui/window.h> 52 53 /** UI window flags. */ 54 typedef enum { 55 /** Window is maximized */ 56 uiwf_maximized = 0x1 57 } ui_window_flags_t; 46 58 47 59 /** Actual structure of window. … … 52 64 /** Containing user interface */ 53 65 struct ui *ui; 66 /** Link to @c ui->windows */ 67 link_t lwindows; 54 68 /** Callbacks */ 55 69 struct ui_window_cb *cb; … … 60 74 /** Window GC */ 61 75 gfx_context_t *gc; 76 /** Window bitmap (if client-side rendering) */ 77 gfx_bitmap_t *bmp; 78 /** Window memory GC (if client-side rendering) */ 79 mem_gc_t *mgc; 80 /** Translating GC (if full screen & server-side rendering) */ 81 xlate_gc_t *xgc; 82 /** Real window GC (if client-side rendering) */ 83 gfx_context_t *realgc; 62 84 /** Window rectangle */ 63 85 gfx_rect_t rect; 86 /** Normal window rectangle (when not maximized) */ 87 gfx_rect_t normal_rect; 88 /** Display position (if fullscreen mode) */ 89 gfx_coord2_t dpos; 90 /** Normal display position when not maximized (if fullscreen mode) */ 91 gfx_coord2_t normal_dpos; 64 92 /** Application area bitmap */ 65 93 gfx_bitmap_t *app_bmp; … … 68 96 /** Application area GC */ 69 97 gfx_context_t *app_gc; 98 /** Dirty rectangle */ 99 gfx_rect_t dirty_rect; 70 100 /** UI resource. Ideally this would be in ui_t. */ 71 101 struct ui_resource *res; 72 102 /** Window decoration */ 73 103 struct ui_wdecor *wdecor; 104 /** System menu */ 105 struct ui_menu *sysmenu; 106 /** System menu restore entry */ 107 struct ui_menu_entry *sysmenu_restore; 108 /** System menu minimize entry */ 109 struct ui_menu_entry *sysmenu_minimize; 110 /** System menu maximize entry */ 111 struct ui_menu_entry *sysmenu_maximize; 112 /** Menu bar */ 113 struct ui_menu_bar *mbar; 74 114 /** Top-level control in the application area */ 75 115 struct ui_control *control; 76 116 /** Current cursor */ 77 117 ui_stock_cursor_t cursor; 118 /** Window placement */ 119 ui_wnd_placement_t placement; 120 /** Window flags */ 121 ui_wnd_flags_t flags; 78 122 }; 79 123 124 /** Size change operation */ 125 typedef enum { 126 /** Resize window */ 127 ui_wsc_resize, 128 /** Maximize window */ 129 ui_wsc_maximize, 130 /** Unmaximize window */ 131 ui_wsc_unmaximize 132 } ui_wnd_sc_op_t; 133 134 extern display_stock_cursor_t wnd_dcursor_from_cursor(ui_stock_cursor_t); 135 extern void ui_window_send_sysmenu(ui_window_t *, sysarg_t); 136 extern void ui_window_send_minimize(ui_window_t *); 137 extern void ui_window_send_maximize(ui_window_t *); 138 extern void ui_window_send_unmaximize(ui_window_t *); 80 139 extern void ui_window_send_close(ui_window_t *); 81 extern void ui_window_send_focus(ui_window_t * );140 extern void ui_window_send_focus(ui_window_t *, unsigned); 82 141 extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *); 83 142 extern errno_t ui_window_send_paint(ui_window_t *); 84 143 extern void ui_window_send_pos(ui_window_t *, pos_event_t *); 85 extern void ui_window_send_unfocus(ui_window_t *); 144 extern void ui_window_send_unfocus(ui_window_t *, unsigned); 145 extern void ui_window_send_resize(ui_window_t *); 146 extern errno_t ui_window_size_change(ui_window_t *, gfx_rect_t *, 147 ui_wnd_sc_op_t); 148 extern void ui_window_update_placement(ui_window_t *); 149 extern ui_window_t *ui_window_get_active(ui_t *); 150 extern ui_window_t *ui_window_first(ui_t *); 151 extern ui_window_t *ui_window_next(ui_window_t *); 86 152 87 153 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
