2021-07-03 01:40:44 -03:00
|
|
|
#include <LibCore/AnonymousBuffer.h>
|
|
|
|
|
#include <LibGfx/ShareableBitmap.h>
|
|
|
|
|
|
2021-04-25 08:19:53 -03:00
|
|
|
endpoint WindowServer
|
2019-12-02 05:33:37 -03:00
|
|
|
{
|
2021-05-17 08:26:40 -03:00
|
|
|
create_menu(i32 menu_id, [UTF8] String menu_title) =|
|
2021-05-10 06:52:30 -03:00
|
|
|
destroy_menu(i32 menu_id) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-07-29 07:14:12 -03:00
|
|
|
add_menu(i32 window_id, i32 menu_id) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
add_menu_item(
|
2020-01-08 16:44:41 -03:00
|
|
|
i32 menu_id,
|
|
|
|
|
i32 identifier,
|
|
|
|
|
i32 submenu_id,
|
2020-05-16 09:11:35 -03:00
|
|
|
[UTF8] String text,
|
2020-01-08 16:44:41 -03:00
|
|
|
bool enabled,
|
|
|
|
|
bool checkable,
|
|
|
|
|
bool checked,
|
2020-07-10 16:29:21 -03:00
|
|
|
bool is_default,
|
2020-05-16 09:11:35 -03:00
|
|
|
[UTF8] String shortcut,
|
2021-01-16 06:59:25 -03:00
|
|
|
Gfx::ShareableBitmap icon,
|
2021-05-03 16:27:22 -03:00
|
|
|
bool exclusive) =|
|
2020-01-08 16:44:41 -03:00
|
|
|
|
2021-05-03 16:27:22 -03:00
|
|
|
add_menu_separator(i32 menu_id) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 16:27:22 -03:00
|
|
|
update_menu_item(i32 menu_id, i32 identifier, i32 submenu_id, [UTF8] String text, bool enabled, bool checkable, bool checked, bool is_default, [UTF8] String shortcut) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
create_window(
|
2021-06-12 06:55:13 -03:00
|
|
|
i32 window_id,
|
2020-06-10 05:57:59 -03:00
|
|
|
Gfx::IntRect rect,
|
2020-07-30 22:52:45 -03:00
|
|
|
bool auto_position,
|
2019-12-02 05:33:37 -03:00
|
|
|
bool has_alpha_channel,
|
|
|
|
|
bool modal,
|
2020-01-04 08:12:02 -03:00
|
|
|
bool minimizable,
|
2019-12-02 05:33:37 -03:00
|
|
|
bool resizable,
|
|
|
|
|
bool fullscreen,
|
2020-05-01 18:26:32 -03:00
|
|
|
bool frameless,
|
2021-07-04 18:10:53 -03:00
|
|
|
bool forced_shadow,
|
2020-07-14 22:17:00 -03:00
|
|
|
bool accessory,
|
2019-12-02 05:33:37 -03:00
|
|
|
float opacity,
|
2021-02-14 20:42:37 -03:00
|
|
|
float alpha_hit_threshold,
|
2020-06-10 05:57:59 -03:00
|
|
|
Gfx::IntSize base_size,
|
|
|
|
|
Gfx::IntSize size_increment,
|
2021-02-15 10:59:43 -03:00
|
|
|
Gfx::IntSize minimum_size,
|
2020-08-21 17:19:10 -03:00
|
|
|
Optional<Gfx::IntSize> resize_aspect_ratio,
|
2019-12-02 05:33:37 -03:00
|
|
|
i32 type,
|
2020-05-16 09:11:35 -03:00
|
|
|
[UTF8] String title,
|
2021-06-27 12:07:31 -03:00
|
|
|
i32 parent_window_id,
|
|
|
|
|
Gfx::IntRect launch_origin_rect) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
destroy_window(i32 window_id) => (Vector<i32> destroyed_window_ids)
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_title(i32 window_id, [UTF8] String title) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_window_title(i32 window_id) => ([UTF8] String title)
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_window_progress(i32 window_id, Optional<i32> progress) =|
|
2020-05-30 17:08:26 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_window_modified(i32 window_id, bool modified) =|
|
|
|
|
|
is_window_modified(i32 window_id) => (bool modified)
|
2021-05-01 13:21:34 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_window_rect(i32 window_id, Gfx::IntRect rect) => (Gfx::IntRect rect)
|
|
|
|
|
get_window_rect(i32 window_id) => (Gfx::IntRect rect)
|
2020-07-24 17:16:30 -03:00
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_minimum_size(i32 window_id, Gfx::IntSize size) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_window_minimum_size(i32 window_id) => (Gfx::IntSize size)
|
2021-02-15 10:59:43 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_applet_rect_on_screen(i32 window_id) => (Gfx::IntRect rect)
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
start_window_resize(i32 window_id) =|
|
2021-02-01 07:23:54 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
is_maximized(i32 window_id) => (bool maximized)
|
2021-06-06 16:50:06 -03:00
|
|
|
set_maximized(i32 window_id, bool maximized) =|
|
2020-06-18 07:14:00 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
invalidate_rect(i32 window_id, Vector<Gfx::IntRect> rects, bool ignore_occlusion) =|
|
|
|
|
|
did_finish_painting(i32 window_id, Vector<Gfx::IntRect> rects) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-09-07 16:04:35 -03:00
|
|
|
set_global_mouse_tracking(bool enabled) =|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_opacity(i32 window_id, float opacity) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_alpha_hit_threshold(i32 window_id, float threshold) =|
|
2021-02-14 20:42:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_window_backing_store(i32 window_id, i32 bpp, i32 pitch, IPC::File anon_file, i32 serial, bool has_alpha_channel, Gfx::IntSize size, bool flush_immediately) => ()
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_has_alpha_channel(i32 window_id, bool has_alpha_channel) =|
|
2021-05-10 07:08:59 -03:00
|
|
|
move_window_to_front(i32 window_id) =|
|
2021-07-04 17:26:24 -03:00
|
|
|
set_fullscreen(i32 window_id, bool fullscreen) =|
|
|
|
|
|
set_frameless(i32 window_id, bool frameless) =|
|
2021-07-04 18:10:53 -03:00
|
|
|
set_forced_shadow(i32 window_id, bool shadow) =|
|
2021-05-10 07:10:58 -03:00
|
|
|
popup_menu(i32 menu_id, Gfx::IntPoint screen_position) =|
|
2021-05-10 07:12:37 -03:00
|
|
|
dismiss_menu(i32 menu_id) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_wallpaper(String path) =|
|
2020-05-15 22:04:09 -03:00
|
|
|
|
2021-05-10 07:21:42 -03:00
|
|
|
set_background_color(String background_color) =|
|
|
|
|
|
set_wallpaper_mode(String mode) =|
|
2020-03-29 07:32:06 -03:00
|
|
|
|
2021-06-15 00:19:56 -03:00
|
|
|
set_screen_layout(::WindowServer::ScreenLayout screen_layout, bool save) => (bool success, String error_msg)
|
|
|
|
|
get_screen_layout() => (::WindowServer::ScreenLayout screen_layout)
|
|
|
|
|
save_screen_layout() => (bool success, String error_msg)
|
2021-06-20 16:23:43 -03:00
|
|
|
show_screen_numbers(bool show) =|
|
2021-06-15 00:19:56 -03:00
|
|
|
|
2021-06-30 22:12:02 -03:00
|
|
|
apply_virtual_desktop_settings(u32 rows, u32 columns, bool save) => (bool success)
|
|
|
|
|
get_virtual_desktop_settings() => (u32 rows, u32 columns, u32 max_rows, u32 max_columns)
|
|
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_icon_bitmap(i32 window_id, Gfx::ShareableBitmap icon) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_wallpaper() => (String path)
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_cursor(i32 window_id, i32 cursor_type) =|
|
|
|
|
|
set_window_custom_cursor(i32 window_id, Gfx::ShareableBitmap cursor) =|
|
2019-12-08 12:50:23 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
start_drag([UTF8] String text, HashMap<String,ByteBuffer> mime_data, Gfx::ShareableBitmap drag_bitmap) => (bool started)
|
2020-02-17 16:05:14 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
set_system_theme(String theme_path, [UTF8] String theme_name) => (bool success)
|
|
|
|
|
get_system_theme() => ([UTF8] String theme_name)
|
|
|
|
|
refresh_system_theme() =|
|
2020-02-24 15:23:57 -03:00
|
|
|
|
2021-08-01 12:23:31 -03:00
|
|
|
apply_cursor_theme(String name) =|
|
|
|
|
|
get_cursor_theme() => (String name)
|
|
|
|
|
|
2021-05-21 13:53:03 -03:00
|
|
|
set_system_fonts(String default_font_query, String fixed_width_font_query) => (bool success)
|
|
|
|
|
|
2021-05-03 16:36:36 -03:00
|
|
|
set_window_base_size_and_size_increment(i32 window_id, Gfx::IntSize base_size, Gfx::IntSize size_increment) =|
|
|
|
|
|
set_window_resize_aspect_ratio(i32 window_id, Optional<Gfx::IntSize> resize_aspect_ratio) =|
|
2020-03-22 17:13:23 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
enable_display_link() =|
|
|
|
|
|
disable_display_link() =|
|
2020-06-11 17:46:49 -03:00
|
|
|
|
2021-07-08 06:29:39 -03:00
|
|
|
set_global_cursor_position(Gfx::IntPoint position) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_global_cursor_position() => (Gfx::IntPoint position)
|
2020-12-28 16:48:52 -03:00
|
|
|
|
2021-07-04 17:26:24 -03:00
|
|
|
set_mouse_acceleration(float factor) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_mouse_acceleration() => (float factor)
|
2020-12-29 18:33:57 -03:00
|
|
|
|
2021-07-04 17:26:24 -03:00
|
|
|
set_scroll_step_size(u32 step_size) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_scroll_step_size() => (u32 step_size)
|
2020-12-29 18:33:57 -03:00
|
|
|
|
2021-06-19 00:42:25 -03:00
|
|
|
get_screen_bitmap(Optional<Gfx::IntRect> rect, Optional<u32> screen_index) => (Gfx::ShareableBitmap bitmap)
|
2021-06-07 05:20:50 -03:00
|
|
|
get_screen_bitmap_around_cursor(Gfx::IntSize size) => (Gfx::ShareableBitmap bitmap)
|
2021-09-04 00:14:37 -03:00
|
|
|
get_color_under_cursor() => (Gfx::Color color)
|
2021-03-26 15:53:49 -03:00
|
|
|
|
2021-05-03 10:52:56 -03:00
|
|
|
pong() =|
|
2021-04-02 11:08:18 -03:00
|
|
|
|
2021-07-04 17:26:24 -03:00
|
|
|
set_double_click_speed(int speed) =|
|
2021-05-03 10:52:56 -03:00
|
|
|
get_double_click_speed() => (int speed)
|
2021-06-05 22:34:33 -03:00
|
|
|
|
2021-06-13 09:16:06 -03:00
|
|
|
get_desktop_display_scale(u32 screen_index) => (int desktop_display_scale)
|
2021-07-07 17:54:58 -03:00
|
|
|
|
|
|
|
|
set_flash_flush(bool enabled) =|
|
2021-07-12 11:35:46 -03:00
|
|
|
|
|
|
|
|
set_window_parent_from_client(i32 client_id, i32 parent_id, i32 child_id) =|
|
2021-07-17 06:36:51 -03:00
|
|
|
get_window_rect_from_client(i32 client_id, i32 window_id) => (Gfx::IntRect rect)
|
2021-07-16 21:41:36 -03:00
|
|
|
add_window_stealing_for_client(i32 client_id, i32 window_id) =|
|
|
|
|
|
remove_window_stealing_for_client(i32 client_id, i32 window_id) =|
|
|
|
|
|
remove_window_stealing(i32 window_id) =|
|
2019-12-02 05:33:37 -03:00
|
|
|
}
|