Changes in uspace/lib/ui/private/window.h [a927af7a:25f26600] in mainline
- File:
-
- 1 edited
-
uspace/lib/ui/private/window.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/private/window.h
ra927af7a r25f26600 1 1 /* 2 * Copyright (c) 202 6Jiri Svoboda2 * Copyright (c) 2020 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 38 38 #define _UI_PRIVATE_WINDOW_H 39 39 40 #include <adt/list.h>41 40 #include <errno.h> 42 #include <congfx/console.h>43 41 #include <display.h> 44 42 #include <gfx/context.h> … … 46 44 #include <io/pos_event.h> 47 45 #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 = 0x157 } ui_window_flags_t;58 46 59 47 /** Actual structure of window. … … 64 52 /** Containing user interface */ 65 53 struct ui *ui; 66 /** Link to @c ui->windows */67 link_t lwindows;68 54 /** Callbacks */ 69 55 struct ui_window_cb *cb; … … 74 60 /** Window GC */ 75 61 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;84 62 /** Window rectangle */ 85 63 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;92 64 /** Application area bitmap */ 93 65 gfx_bitmap_t *app_bmp; … … 96 68 /** Application area GC */ 97 69 gfx_context_t *app_gc; 98 /** Dirty rectangle */99 gfx_rect_t dirty_rect;100 70 /** UI resource. Ideally this would be in ui_t. */ 101 71 struct ui_resource *res; 102 72 /** Window decoration */ 103 73 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;114 74 /** Top-level control in the application area */ 115 75 struct ui_control *control; 116 76 /** Current cursor */ 117 77 ui_stock_cursor_t cursor; 118 /** Window placement */119 ui_wnd_placement_t placement;120 /** Window flags */121 ui_wnd_flags_t flags;122 78 }; 123 79 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_unmaximize132 } 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 *);139 80 extern void ui_window_send_close(ui_window_t *); 140 extern void ui_window_send_focus(ui_window_t * , unsigned);81 extern void ui_window_send_focus(ui_window_t *); 141 82 extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *); 142 83 extern errno_t ui_window_send_paint(ui_window_t *); 143 84 extern void ui_window_send_pos(ui_window_t *, pos_event_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 *); 85 extern void ui_window_send_unfocus(ui_window_t *); 152 86 153 87 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
