mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:27:43 +00:00
Add API's and plumbing for WindowServer clients to make menus.
This commit is contained in:
parent
bb31d961b4
commit
133706d697
17 changed files with 322 additions and 24 deletions
|
@ -46,6 +46,8 @@
|
|||
__ERROR(EBADWINDOW, "Bad window ID") \
|
||||
__ERROR(EBADBACKING, "Bad backing store ID") \
|
||||
__ERROR(ENOTEMPTY, "Directory not empty") \
|
||||
__ERROR(EBADMENUBAR, "Bad menubar ID") \
|
||||
__ERROR(EBADMENU, "Bad menu ID") \
|
||||
|
||||
|
||||
enum __errno_values {
|
||||
|
|
48
LibC/gui.cpp
48
LibC/gui.cpp
|
@ -68,3 +68,51 @@ int gui_set_global_cursor_tracking_enabled(int window_id, bool enabled)
|
|||
int rc = syscall(SC_gui_set_global_cursor_tracking_enabled, window_id, enabled);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menubar_create()
|
||||
{
|
||||
int rc = syscall(SC_gui_menubar_create);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menubar_destroy(int menubar_id)
|
||||
{
|
||||
int rc = syscall(SC_gui_menubar_destroy, menubar_id);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menubar_add_menu(int menubar_id, int menu_id)
|
||||
{
|
||||
int rc = syscall(SC_gui_menubar_add_menu, menubar_id, menu_id);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menu_create(const char* name)
|
||||
{
|
||||
int rc = syscall(SC_gui_menu_create, name);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menu_destroy(int menu_id)
|
||||
{
|
||||
int rc = syscall(SC_gui_menu_destroy, menu_id);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menu_add_separator(int menu_id)
|
||||
{
|
||||
int rc = syscall(SC_gui_menu_add_separator, menu_id);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_menu_add_item(int menu_id, unsigned identifier, const char* text)
|
||||
{
|
||||
int rc = syscall(SC_gui_menu_add_item, menu_id, identifier, text);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
||||
int gui_app_set_menubar(int menubar_id)
|
||||
{
|
||||
int rc = syscall(SC_gui_app_set_menubar, menubar_id);
|
||||
__RETURN_WITH_ERRNO(rc, rc, -1);
|
||||
}
|
||||
|
|
|
@ -16,6 +16,14 @@ int gui_set_window_title(int window_id, const char*, size_t);
|
|||
int gui_get_window_rect(int window_id, GUI_Rect*);
|
||||
int gui_set_window_rect(int window_id, const GUI_Rect*);
|
||||
int gui_set_global_cursor_tracking_enabled(int window_id, bool);
|
||||
int gui_menubar_create();
|
||||
int gui_menubar_destroy(int menubar_id);
|
||||
int gui_menubar_add_menu(int menubar_id, int menu_id);
|
||||
int gui_menu_create(const char* name);
|
||||
int gui_menu_destroy(int menu_id);
|
||||
int gui_menu_add_separator(int menu_id);
|
||||
int gui_menu_add_item(int menu_id, unsigned identifier, const char* text);
|
||||
int gui_app_set_menubar(int menubar_id);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue