Ignore:
File:
1 edited

Legend:

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

    r8ce56a6 r8d1bcd7  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4747#include <memgfx/memgc.h>
    4848#include <memgfx/xlategc.h>
     49#include <types/common.h>
    4950#include <types/ui/cursor.h>
    5051#include <types/ui/window.h>
     
    7778        /** Window rectangle */
    7879        gfx_rect_t rect;
     80        /** Normal window rectangle (when not maximized) */
     81        gfx_rect_t normal_rect;
    7982        /** Display position (if fullscreen mode) */
    8083        gfx_coord2_t dpos;
     
    9194        /** Window decoration */
    9295        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;
    93106        /** Top-level control in the application area */
    94107        struct ui_control *control;
    95108        /** Current cursor */
    96109        ui_stock_cursor_t cursor;
     110        /** Window placement */
     111        ui_wnd_placement_t placement;
    97112};
    98113
     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
    99124extern 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 *);
    100129extern void ui_window_send_close(ui_window_t *);
    101 extern void ui_window_send_focus(ui_window_t *);
     130extern void ui_window_send_focus(ui_window_t *, unsigned);
    102131extern void ui_window_send_kbd(ui_window_t *, kbd_event_t *);
    103132extern errno_t ui_window_send_paint(ui_window_t *);
    104133extern void ui_window_send_pos(ui_window_t *, pos_event_t *);
    105 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);
    106137
    107138#endif
Note: See TracChangeset for help on using the changeset viewer.