Changeset 7e38970d in mainline for uspace/lib/ui/private/window.h
- Timestamp:
- 2020-12-07T00:08:37Z (4 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 25f26600
- Parents:
- 7a873f0 (diff), 8596474 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/private/window.h
r7a873f0 r7e38970d 1 1 /* 2 * Copyright (c) 20 12 Petr Koupy2 * Copyright (c) 2020 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup draw29 /** @addtogroup libui 30 30 * @{ 31 31 */ 32 32 /** 33 * @file 33 * @file Window structure 34 * 34 35 */ 35 36 36 #ifndef DRAW_DRAWCTX_H_37 #define DRAW_DRAWCTX_H_37 #ifndef _UI_PRIVATE_WINDOW_H 38 #define _UI_PRIVATE_WINDOW_H 38 39 39 #include <stdbool.h> 40 #include <errno.h> 41 #include <display.h> 42 #include <gfx/context.h> 43 #include <io/kbd_event.h> 44 #include <io/pos_event.h> 40 45 41 #include <compose.h> 42 43 #include "surface.h" 44 #include "source.h" 45 #include "path.h" 46 #include "font.h" 47 48 struct drawctx { 49 link_t link; 50 list_t list; 51 52 surface_t *surface; 53 compose_t compose; 54 surface_t *mask; 55 source_t *source; 56 font_t *font; 57 58 bool shall_clip; 59 sysarg_t clip_x; 60 sysarg_t clip_y; 61 sysarg_t clip_width; 62 sysarg_t clip_height; 46 /** Actual structure of window. 47 * 48 * This is private to libui. 49 */ 50 struct ui_window { 51 /** Containing user interface */ 52 struct ui *ui; 53 /** Callbacks */ 54 struct ui_window_cb *cb; 55 /** Callback argument */ 56 void *arg; 57 /** Display window */ 58 display_window_t *dwindow; 59 /** Window GC */ 60 gfx_context_t *gc; 61 /** Window rectangle */ 62 gfx_rect_t rect; 63 /** Application area bitmap */ 64 gfx_bitmap_t *app_bmp; 65 /** Application area GC */ 66 gfx_context_t *app_gc; 67 /** UI resource. Ideally this would be in ui_t. */ 68 struct ui_resource *res; 69 /** Window decoration */ 70 struct ui_wdecor *wdecor; 71 /** Top-level control in the application area */ 72 struct ui_control *control; 73 /** Current cursor */ 74 ui_stock_cursor_t cursor; 63 75 }; 64 76 65 extern void drawctx_init(drawctx_t *, surface_t *); 66 67 extern void drawctx_save(drawctx_t *); 68 extern void drawctx_restore(drawctx_t *); 69 70 extern void drawctx_set_compose(drawctx_t *, compose_t); 71 extern void drawctx_set_clip(drawctx_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t); 72 extern void drawctx_set_mask(drawctx_t *, surface_t *); 73 extern void drawctx_set_source(drawctx_t *, source_t *); 74 extern void drawctx_set_font(drawctx_t *, font_t *); 75 76 extern void drawctx_transfer(drawctx_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t); 77 extern void drawctx_stroke(drawctx_t *, path_t *); 78 extern void drawctx_fill(drawctx_t *, path_t *); 79 extern void drawctx_print(drawctx_t *, const char *, sysarg_t, sysarg_t); 77 extern void ui_window_send_close(ui_window_t *); 78 extern void ui_window_send_focus(ui_window_t *); 79 extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *); 80 extern errno_t ui_window_send_paint(ui_window_t *); 81 extern void ui_window_send_pos(ui_window_t *, pos_event_t *); 82 extern void ui_window_send_unfocus(ui_window_t *); 80 83 81 84 #endif
Note:
See TracChangeset
for help on using the changeset viewer.