mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
The WM_* IPC messages are intended for "outsider" window management, not for a client's own windows. Make a separate StartWindowResize message for this. This was the only reason that every IPC client had to know its server side client ID.
121 lines
4.3 KiB
Plaintext
121 lines
4.3 KiB
Plaintext
endpoint WindowServer = 2
|
|
{
|
|
Greet() => (i32 client_id, Gfx::IntRect screen_rect, Core::AnonymousBuffer theme_buffer)
|
|
|
|
CreateMenubar() => (i32 menubar_id)
|
|
DestroyMenubar(i32 menubar_id) => ()
|
|
|
|
CreateMenu([UTF8] String menu_title) => (i32 menu_id)
|
|
DestroyMenu(i32 menu_id) => ()
|
|
|
|
AddMenuToMenubar(i32 menubar_id, i32 menu_id) => ()
|
|
SetApplicationMenubar(i32 menubar_id) => ()
|
|
|
|
SetSystemMenu(i32 menu_id) => ()
|
|
|
|
AddMenuItem(
|
|
i32 menu_id,
|
|
i32 identifier,
|
|
i32 submenu_id,
|
|
[UTF8] String text,
|
|
bool enabled,
|
|
bool checkable,
|
|
bool checked,
|
|
bool is_default,
|
|
[UTF8] String shortcut,
|
|
Gfx::ShareableBitmap icon,
|
|
bool exclusive) => ()
|
|
|
|
AddMenuSeparator(i32 menu_id) => ()
|
|
|
|
UpdateMenuItem(i32 menu_id, i32 identifier, i32 submenu_id, [UTF8] String text, bool enabled, bool checkable, bool checked, bool is_default, [UTF8] String shortcut) => ()
|
|
|
|
CreateWindow(
|
|
Gfx::IntRect rect,
|
|
bool auto_position,
|
|
bool has_alpha_channel,
|
|
bool modal,
|
|
bool minimizable,
|
|
bool resizable,
|
|
bool fullscreen,
|
|
bool frameless,
|
|
bool accessory,
|
|
float opacity,
|
|
Gfx::IntSize base_size,
|
|
Gfx::IntSize size_increment,
|
|
Optional<Gfx::IntSize> resize_aspect_ratio,
|
|
i32 type,
|
|
[UTF8] String title,
|
|
i32 parent_window_id) => (i32 window_id)
|
|
|
|
DestroyWindow(i32 window_id) => (Vector<i32> destroyed_window_ids)
|
|
|
|
SetWindowTitle(i32 window_id, [UTF8] String title) => ()
|
|
GetWindowTitle(i32 window_id) => ([UTF8] String title)
|
|
|
|
SetWindowProgress(i32 window_id, i32 progress) =|
|
|
|
|
SetWindowRect(i32 window_id, Gfx::IntRect rect) => (Gfx::IntRect rect)
|
|
GetWindowRect(i32 window_id) => (Gfx::IntRect rect)
|
|
|
|
GetWindowRectInMenubar(i32 window_id) => (Gfx::IntRect rect)
|
|
|
|
StartWindowResize(i32 window_id) =|
|
|
|
|
IsMaximized(i32 window_id) => (bool maximized)
|
|
|
|
InvalidateRect(i32 window_id, Vector<Gfx::IntRect> rects, bool ignore_occlusion) =|
|
|
DidFinishPainting(i32 window_id, Vector<Gfx::IntRect> rects) =|
|
|
|
|
SetGlobalCursorTracking(i32 window_id, bool enabled) => ()
|
|
SetWindowOpacity(i32 window_id, float opacity) => ()
|
|
|
|
SetWindowBackingStore(i32 window_id, i32 bpp, i32 pitch, IPC::File anon_file, i32 serial, bool has_alpha_channel, Gfx::IntSize size, bool flush_immediately) => ()
|
|
|
|
WM_SetActiveWindow(i32 client_id, i32 window_id) =|
|
|
WM_SetWindowMinimized(i32 client_id, i32 window_id, bool minimized) =|
|
|
WM_StartWindowResize(i32 client_id, i32 window_id) =|
|
|
WM_PopupWindowMenu(i32 client_id, i32 window_id, Gfx::IntPoint screen_position) =|
|
|
WM_SetWindowTaskbarRect(i32 client_id, i32 window_id, Gfx::IntRect rect) =|
|
|
|
|
SetWindowHasAlphaChannel(i32 window_id, bool has_alpha_channel) => ()
|
|
MoveWindowToFront(i32 window_id) => ()
|
|
SetFullscreen(i32 window_id, bool fullscreen) => ()
|
|
PopupMenu(i32 menu_id, Gfx::IntPoint screen_position) => ()
|
|
DismissMenu(i32 menu_id) => ()
|
|
|
|
AsyncSetWallpaper(String path) =|
|
|
|
|
SetBackgroundColor(String background_color) => ()
|
|
SetWallpaperMode(String mode) => ()
|
|
|
|
SetResolution(Gfx::IntSize resolution, int scale_factor) => (bool success, Gfx::IntSize resolution, int scale_factor)
|
|
SetWindowIconBitmap(i32 window_id, Gfx::ShareableBitmap icon) => ()
|
|
|
|
GetWallpaper() => (String path)
|
|
SetWindowCursor(i32 window_id, i32 cursor_type) => ()
|
|
SetWindowCustomCursor(i32 window_id, Gfx::ShareableBitmap cursor) => ()
|
|
|
|
StartDrag([UTF8] String text, HashMap<String,ByteBuffer> mime_data, Gfx::ShareableBitmap drag_bitmap) => (bool started)
|
|
|
|
SetSystemTheme(String theme_path, [UTF8] String theme_name) => (bool success)
|
|
GetSystemTheme() => ([UTF8] String theme_name)
|
|
RefreshSystemTheme() =|
|
|
|
|
SetWindowBaseSizeAndSizeIncrement(i32 window_id, Gfx::IntSize base_size, Gfx::IntSize size_increment) => ()
|
|
SetWindowResizeAspectRatio(i32 window_id, Optional<Gfx::IntSize> resize_aspect_ratio) => ()
|
|
|
|
EnableDisplayLink() =|
|
|
DisableDisplayLink() =|
|
|
|
|
GetGlobalCursorPosition() => (Gfx::IntPoint position)
|
|
|
|
SetMouseAcceleration(float factor) => ()
|
|
GetMouseAcceleration() => (float factor)
|
|
|
|
SetScrollStepSize(u32 step_size) => ()
|
|
GetScrollStepSize() => (u32 step_size)
|
|
|
|
Pong() =|
|
|
}
|