Changeset 1af103e in mainline for uspace/lib/ui/include


Ignore:
Timestamp:
2023-09-13T17:29:07Z (23 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
61643c8
Parents:
46bd63c9
Message:

System menu (WIP)

The system menu provides browsable, keyboard-accessible access to window
management functions (such as closing, minimizing, maximizing, resizing,
moving).

Location:
uspace/lib/ui/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/include/types/ui/wdecor.h

    r46bd63c9 r1af103e  
    3838
    3939#include <gfx/coord.h>
     40#include <types/common.h>
    4041#include <types/ui/cursor.h>
    4142
     
    5152        /** Window has a title bar */
    5253        ui_wds_titlebar = 0x2,
     54        /** Window has a system menu */
     55        ui_wds_sysmenu = 0x4,
    5356        /** Window has a minimize button */
    54         ui_wds_minimize_btn = 0x4,
     57        ui_wds_minimize_btn = 0x8,
    5558        /** Window has a maximize button */
    56         ui_wds_maximize_btn = 0x8,
     59        ui_wds_maximize_btn = 0x10,
    5760        /** Window has a close button */
    58         ui_wds_close_btn = 0x10,
     61        ui_wds_close_btn = 0x20,
    5962        /** Window is resizable */
    60         ui_wds_resizable = 0x20,
     63        ui_wds_resizable = 0x40,
    6164        /** Window is decorated (default decoration) */
    62         ui_wds_decorated = ui_wds_frame | ui_wds_titlebar |
     65        ui_wds_decorated = ui_wds_frame | ui_wds_titlebar | ui_wds_sysmenu |
    6366            ui_wds_minimize_btn | ui_wds_close_btn
    6467} ui_wdecor_style_t;
     
    8184/** Window decoration callbacks */
    8285typedef struct ui_wdecor_cb {
     86        void (*sysmenu)(ui_wdecor_t *, void *, sysarg_t);
    8387        void (*minimize)(ui_wdecor_t *, void *);
    8488        void (*maximize)(ui_wdecor_t *, void *);
  • uspace/lib/ui/include/types/ui/window.h

    r46bd63c9 r1af103e  
    4040#include <io/kbd_event.h>
    4141#include <io/pos_event.h>
     42#include <types/common.h>
    4243#include <types/ui/wdecor.h>
    4344
     
    9596/** Window callbacks */
    9697typedef struct ui_window_cb {
     98        void (*sysmenu)(ui_window_t *, void *, sysarg_t);
    9799        void (*minimize)(ui_window_t *, void *);
    98100        void (*maximize)(ui_window_t *, void *);
  • uspace/lib/ui/include/ui/wdecor.h

    r46bd63c9 r1af103e  
    11/*
    2  * Copyright (c) 2022 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3939#include <errno.h>
    4040#include <gfx/coord.h>
     41#include <io/kbd_event.h>
    4142#include <io/pos_event.h>
    4243#include <stdbool.h>
     
    5455extern errno_t ui_wdecor_set_caption(ui_wdecor_t *, const char *);
    5556extern errno_t ui_wdecor_paint(ui_wdecor_t *);
     57extern ui_evclaim_t ui_wdecor_kbd_event(ui_wdecor_t *, kbd_event_t *);
    5658extern ui_evclaim_t ui_wdecor_pos_event(ui_wdecor_t *, pos_event_t *);
    5759extern void ui_wdecor_rect_from_app(ui_wdecor_style_t, gfx_rect_t *,
  • uspace/lib/ui/include/ui/window.h

    r46bd63c9 r1af103e  
    4242#include <io/kbd_event.h>
    4343#include <io/pos_event.h>
     44#include <types/common.h>
    4445#include <types/ui/control.h>
    4546#include <types/ui/ui.h>
     
    6566extern void ui_window_set_ctl_cursor(ui_window_t *, ui_stock_cursor_t);
    6667extern errno_t ui_window_paint(ui_window_t *);
     68extern errno_t ui_window_def_sysmenu(ui_window_t *, sysarg_t);
    6769extern errno_t ui_window_def_minimize(ui_window_t *);
    6870extern errno_t ui_window_def_maximize(ui_window_t *);
Note: See TracChangeset for help on using the changeset viewer.