summaryrefslogtreecommitdiff
path: root/Userland/Services/WindowServer/WindowServer.ipc
blob: 948e6c7bce40e4b2e513557199407586467ff93f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
endpoint WindowServer
{
    Greet() => (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) => ()

    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,
        float alpha_hit_threshold,
        Gfx::IntSize base_size,
        Gfx::IntSize size_increment,
        Gfx::IntSize minimum_size,
        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)

    SetWindowMenubar(i32 window_id, i32 menubar_id) => ()

    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)

    SetWindowMinimumSize(i32 window_id, Gfx::IntSize size) => ()
    GetWindowMinimumSize(i32 window_id) => (Gfx::IntSize size)

    GetAppletRectOnScreen(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) => ()

    SetWindowAlphaHitThreshold(i32 window_id, float threshold) => ()

    SetWindowBackingStore(i32 window_id, i32 bpp, i32 pitch, IPC::File anon_file, i32 serial, bool has_alpha_channel, Gfx::IntSize size, bool flush_immediately) => ()

    SetWindowHasAlphaChannel(i32 window_id, bool has_alpha_channel) => ()
    MoveWindowToFront(i32 window_id) => ()
    SetFullscreen(i32 window_id, bool fullscreen) => ()
    SetFrameless(i32 window_id, bool frameless) => ()
    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)

    GetScreenBitmap() => (Gfx::ShareableBitmap bitmap)

    Pong() =|

    SetDoubleClickSpeed(int speed) => ()
    GetDoubleClickSpeed() => (int speed)
}