Ignore:
File:
1 edited

Legend:

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

    rdb3895d r8d1bcd7  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4646#include <io/pos_event.h>
    4747#include <memgfx/memgc.h>
     48#include <memgfx/xlategc.h>
     49#include <types/common.h>
    4850#include <types/ui/cursor.h>
    4951#include <types/ui/window.h>
     
    7072        /** Window memory GC (if client-side rendering) */
    7173        mem_gc_t *mgc;
     74        /** Translating GC (if full screen & server-side rendering) */
     75        xlate_gc_t *xgc;
    7276        /** Real window GC (if client-side rendering) */
    7377        gfx_context_t *realgc;
    7478        /** Window rectangle */
    7579        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;
    7684        /** Application area bitmap */
    7785        gfx_bitmap_t *app_bmp;
     
    8694        /** Window decoration */
    8795        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;
    88106        /** Top-level control in the application area */
    89107        struct ui_control *control;
    90108        /** Current cursor */
    91109        ui_stock_cursor_t cursor;
     110        /** Window placement */
     111        ui_wnd_placement_t placement;
    92112};
    93113
     114/** Size change operation */
     115typedef enum {
     116        /** Resize window */
     117        ui_wsc_resize,
     118        /** Maximize window */
     119        ui_wsc_maximize,
     120        /** Unmaximize window */
     121        ui_wsc_unmaximize
     122} ui_wnd_sc_op_t;
     123
    94124extern display_stock_cursor_t wnd_dcursor_from_cursor(ui_stock_cursor_t);
     125extern void ui_window_send_sysmenu(ui_window_t *, sysarg_t);
     126extern void ui_window_send_minimize(ui_window_t *);
     127extern void ui_window_send_maximize(ui_window_t *);
     128extern void ui_window_send_unmaximize(ui_window_t *);
    95129extern void ui_window_send_close(ui_window_t *);
    96 extern void ui_window_send_focus(ui_window_t *);
     130extern void ui_window_send_focus(ui_window_t *, unsigned);
    97131extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *);
    98132extern errno_t ui_window_send_paint(ui_window_t *);
    99133extern void ui_window_send_pos(ui_window_t *, pos_event_t *);
    100 extern void ui_window_send_unfocus(ui_window_t *);
     134extern void ui_window_send_unfocus(ui_window_t *, unsigned);
     135extern errno_t ui_window_size_change(ui_window_t *, gfx_rect_t *,
     136    ui_wnd_sc_op_t);
    101137
    102138#endif
Note: See TracChangeset for help on using the changeset viewer.