/** * @file ipc/Client.h * @author apio (cloudapio.eu) * @brief IPC message definitions for UI messages sent to the client. * * @copyright Copyright (c) 2023, the Luna authors. * */ #pragma once #include #include namespace ui { enum ClientMessages : u8 { IPC_ENUM_CLIENT(ui), CREATE_WINDOW_RESPONSE_ID, WINDOW_CLOSE_REQUEST_ID, MOUSE_EVENT_REQUEST_ID, }; struct CreateWindowResponse { static constexpr u8 ID = CREATE_WINDOW_RESPONSE_ID; int window; IPC_STRING(shm_path); }; struct WindowCloseRequest { static constexpr u8 ID = WINDOW_CLOSE_REQUEST_ID; int window; }; struct MouseEventRequest { static constexpr u8 ID = MOUSE_EVENT_REQUEST_ID; int window; Point position; int buttons; }; }