Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/private/window.h

    ra927af7a r25f26600  
    11/*
    2  * Copyright (c) 2026 Jiri Svoboda
     2 * Copyright (c) 2020 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3838#define _UI_PRIVATE_WINDOW_H
    3939
    40 #include <adt/list.h>
    4140#include <errno.h>
    42 #include <congfx/console.h>
    4341#include <display.h>
    4442#include <gfx/context.h>
     
    4644#include <io/pos_event.h>
    4745#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 = 0x1
    57 } ui_window_flags_t;
    5846
    5947/** Actual structure of window.
     
    6452        /** Containing user interface */
    6553        struct ui *ui;
    66         /** Link to @c ui->windows */
    67         link_t lwindows;
    6854        /** Callbacks */
    6955        struct ui_window_cb *cb;
     
    7460        /** Window GC */
    7561        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;
    8462        /** Window rectangle */
    8563        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;
    9264        /** Application area bitmap */
    9365        gfx_bitmap_t *app_bmp;
     
    9668        /** Application area GC */
    9769        gfx_context_t *app_gc;
    98         /** Dirty rectangle */
    99         gfx_rect_t dirty_rect;
    10070        /** UI resource. Ideally this would be in ui_t. */
    10171        struct ui_resource *res;
    10272        /** Window decoration */
    10373        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;
    11474        /** Top-level control in the application area */
    11575        struct ui_control *control;
    11676        /** Current cursor */
    11777        ui_stock_cursor_t cursor;
    118         /** Window placement */
    119         ui_wnd_placement_t placement;
    120         /** Window flags */
    121         ui_wnd_flags_t flags;
    12278};
    12379
    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_unmaximize
    132 } 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 *);
    13980extern void ui_window_send_close(ui_window_t *);
    140 extern void ui_window_send_focus(ui_window_t *, unsigned);
     81extern void ui_window_send_focus(ui_window_t *);
    14182extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *);
    14283extern errno_t ui_window_send_paint(ui_window_t *);
    14384extern 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 *);
     85extern void ui_window_send_unfocus(ui_window_t *);
    15286
    15387#endif
Note: See TracChangeset for help on using the changeset viewer.