Changes in uspace/lib/c/include/io/window.h [6d5e378:62fbb7e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/io/window.h
r6d5e378 r62fbb7e 36 36 #define LIBC_IO_WINDOW_H_ 37 37 38 #include < bool.h>38 #include <stdbool.h> 39 39 #include <sys/types.h> 40 40 #include <async.h> 41 41 #include <loc.h> 42 #include <io/console.h> 43 44 typedef enum { 45 POS_UPDATE, 46 POS_PRESS, 47 POS_RELEASE 48 } pos_event_type_t; 49 50 typedef struct { 51 sysarg_t pos_id; 52 pos_event_type_t type; 53 sysarg_t btn_num; 54 sysarg_t hpos; 55 sysarg_t vpos; 56 } pos_event_t; 57 58 typedef struct { 59 sysarg_t object; 60 sysarg_t slot; 61 sysarg_t argument; 62 } sig_event_t; 63 64 typedef struct { 65 sysarg_t width; 66 sysarg_t height; 67 } rsz_event_t; 68 69 typedef enum { 70 ET_KEYBOARD_EVENT, 71 ET_POSITION_EVENT, 72 ET_SIGNAL_EVENT, 73 ET_WINDOW_RESIZE, 74 ET_WINDOW_REFRESH, 75 ET_WINDOW_DAMAGE, 76 ET_WINDOW_CLOSE 77 } window_event_type_t; 78 79 typedef union { 80 kbd_event_t kbd; 81 pos_event_t pos; 82 sig_event_t sig; 83 rsz_event_t rsz; 84 } window_event_data_t; 85 86 typedef struct { 87 link_t link; 88 window_event_type_t type; 89 window_event_data_t data; 90 } window_event_t; 42 #include <io/kbd_event.h> 43 #include <io/pos_event.h> 91 44 92 45 typedef enum { … … 100 53 } window_grab_flags_t; 101 54 55 typedef enum { 56 WINDOW_PLACEMENT_ANY = 0, 57 WINDOW_PLACEMENT_CENTER_X = 1, 58 WINDOW_PLACEMENT_CENTER_Y = 2, 59 WINDOW_PLACEMENT_CENTER = 60 WINDOW_PLACEMENT_CENTER_X | WINDOW_PLACEMENT_CENTER_Y, 61 WINDOW_PLACEMENT_LEFT = 4, 62 WINDOW_PLACEMENT_RIGHT = 8, 63 WINDOW_PLACEMENT_TOP = 16, 64 WINDOW_PLACEMENT_BOTTOM = 32, 65 WINDOW_PLACEMENT_ABSOLUTE_X = 64, 66 WINDOW_PLACEMENT_ABSOLUTE_Y = 128, 67 WINDOW_PLACEMENT_ABSOLUTE = 68 WINDOW_PLACEMENT_ABSOLUTE_X | WINDOW_PLACEMENT_ABSOLUTE_Y 69 } window_placement_flags_t; 70 71 typedef struct { 72 sysarg_t object; 73 sysarg_t slot; 74 sysarg_t argument; 75 } signal_event_t; 76 77 typedef struct { 78 sysarg_t offset_x; 79 sysarg_t offset_y; 80 sysarg_t width; 81 sysarg_t height; 82 window_placement_flags_t placement_flags; 83 } resize_event_t; 84 85 typedef enum { 86 ET_KEYBOARD_EVENT, 87 ET_POSITION_EVENT, 88 ET_SIGNAL_EVENT, 89 ET_WINDOW_FOCUS, 90 ET_WINDOW_UNFOCUS, 91 ET_WINDOW_RESIZE, 92 ET_WINDOW_REFRESH, 93 ET_WINDOW_DAMAGE, 94 ET_WINDOW_CLOSE 95 } window_event_type_t; 96 97 typedef union { 98 kbd_event_t kbd; 99 pos_event_t pos; 100 signal_event_t signal; 101 resize_event_t resize; 102 } window_event_data_t; 103 104 typedef struct { 105 link_t link; 106 window_event_type_t type; 107 window_event_data_t data; 108 } window_event_t; 109 102 110 extern int win_register(async_sess_t *, service_id_t *, service_id_t *); 103 111 … … 106 114 extern int win_damage(async_sess_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t); 107 115 extern int win_grab(async_sess_t *, sysarg_t, sysarg_t); 108 extern int win_resize(async_sess_t *, sysarg_t, sysarg_t, void *); 116 extern int win_resize(async_sess_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t, 117 window_placement_flags_t, void *); 109 118 extern int win_close(async_sess_t *); 110 119 extern int win_close_request(async_sess_t *);
Note:
See TracChangeset
for help on using the changeset viewer.