Changes in uspace/lib/ui/private/window.h [25f26600:cde067e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/private/window.h
r25f26600 rcde067e 1 1 /* 2 * Copyright (c) 202 0Jiri Svoboda2 * Copyright (c) 2024 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> 46 52 47 53 /** Actual structure of window. … … 52 58 /** Containing user interface */ 53 59 struct ui *ui; 60 /** Link to @c ui->windows */ 61 link_t lwindows; 54 62 /** Callbacks */ 55 63 struct ui_window_cb *cb; … … 60 68 /** Window GC */ 61 69 gfx_context_t *gc; 70 /** Window bitmap (if client-side rendering) */ 71 gfx_bitmap_t *bmp; 72 /** Window memory GC (if client-side rendering) */ 73 mem_gc_t *mgc; 74 /** Translating GC (if full screen & server-side rendering) */ 75 xlate_gc_t *xgc; 76 /** Real window GC (if client-side rendering) */ 77 gfx_context_t *realgc; 62 78 /** Window rectangle */ 63 79 gfx_rect_t rect; 80 /** Normal window rectangle (when not maximized) */ 81 gfx_rect_t normal_rect; 82 /** Display position (if fullscreen mode) */ 83 gfx_coord2_t dpos; 64 84 /** Application area bitmap */ 65 85 gfx_bitmap_t *app_bmp; … … 68 88 /** Application area GC */ 69 89 gfx_context_t *app_gc; 90 /** Dirty rectangle */ 91 gfx_rect_t dirty_rect; 70 92 /** UI resource. Ideally this would be in ui_t. */ 71 93 struct ui_resource *res; 72 94 /** Window decoration */ 73 95 struct ui_wdecor *wdecor; 96 /** System menu */ 97 struct ui_menu *sysmenu; 98 /** System menu restore entry */ 99 struct ui_menu_entry *sysmenu_restore; 100 /** System menu minimize entry */ 101 struct ui_menu_entry *sysmenu_minimize; 102 /** System menu maximize entry */ 103 struct ui_menu_entry *sysmenu_maximize; 104 /** Menu bar */ 105 struct ui_menu_bar *mbar; 74 106 /** Top-level control in the application area */ 75 107 struct ui_control *control; 76 108 /** Current cursor */ 77 109 ui_stock_cursor_t cursor; 110 /** Window placement */ 111 ui_wnd_placement_t placement; 78 112 }; 79 113 114 /** Size change operation */ 115 typedef enum { 116 /** Resize window */ 117 ui_wsc_resize, 118 /** Maximize window */ 119 ui_wsc_maximize, 120 /** Unmaximize window */ 121 ui_wsc_unmaximize 122 } ui_wnd_sc_op_t; 123 124 extern display_stock_cursor_t wnd_dcursor_from_cursor(ui_stock_cursor_t); 125 extern void ui_window_send_sysmenu(ui_window_t *, sysarg_t); 126 extern void ui_window_send_minimize(ui_window_t *); 127 extern void ui_window_send_maximize(ui_window_t *); 128 extern void ui_window_send_unmaximize(ui_window_t *); 80 129 extern void ui_window_send_close(ui_window_t *); 81 extern void ui_window_send_focus(ui_window_t * );130 extern void ui_window_send_focus(ui_window_t *, unsigned); 82 131 extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *); 83 132 extern errno_t ui_window_send_paint(ui_window_t *); 84 133 extern void ui_window_send_pos(ui_window_t *, pos_event_t *); 85 extern void ui_window_send_unfocus(ui_window_t *); 134 extern void ui_window_send_unfocus(ui_window_t *, unsigned); 135 extern void ui_window_send_resize(ui_window_t *); 136 extern errno_t ui_window_size_change(ui_window_t *, gfx_rect_t *, 137 ui_wnd_sc_op_t); 86 138 87 139 #endif
Note:
See TracChangeset
for help on using the changeset viewer.