Changes in uspace/lib/ui/private/window.h [cde067e:25f26600] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/private/window.h
rcde067e r25f26600 1 1 /* 2 * Copyright (c) 202 4Jiri 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 46 53 47 /** Actual structure of window. … … 58 52 /** Containing user interface */ 59 53 struct ui *ui; 60 /** Link to @c ui->windows */61 link_t lwindows;62 54 /** Callbacks */ 63 55 struct ui_window_cb *cb; … … 68 60 /** Window GC */ 69 61 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;78 62 /** Window rectangle */ 79 63 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;84 64 /** Application area bitmap */ 85 65 gfx_bitmap_t *app_bmp; … … 88 68 /** Application area GC */ 89 69 gfx_context_t *app_gc; 90 /** Dirty rectangle */91 gfx_rect_t dirty_rect;92 70 /** UI resource. Ideally this would be in ui_t. */ 93 71 struct ui_resource *res; 94 72 /** Window decoration */ 95 73 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;106 74 /** Top-level control in the application area */ 107 75 struct ui_control *control; 108 76 /** Current cursor */ 109 77 ui_stock_cursor_t cursor; 110 /** Window placement */111 ui_wnd_placement_t placement;112 78 }; 113 79 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_unmaximize122 } 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 *);129 80 extern void ui_window_send_close(ui_window_t *); 130 extern void ui_window_send_focus(ui_window_t * , unsigned);81 extern void ui_window_send_focus(ui_window_t *); 131 82 extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *); 132 83 extern errno_t ui_window_send_paint(ui_window_t *); 133 84 extern void ui_window_send_pos(ui_window_t *, pos_event_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); 85 extern void ui_window_send_unfocus(ui_window_t *); 138 86 139 87 #endif
Note:
See TracChangeset
for help on using the changeset viewer.