16#ifdef WITH_GHOST_WAYLAND_DYNLOAD
19#include <wayland-client.h>
21#ifdef WITH_GHOST_WAYLAND_LIBDECOR
22# ifdef WITH_GHOST_WAYLAND_DYNLOAD
31#ifdef USE_EVENT_BACKGROUND_THREAD
82#define FRACTIONAL_DENOMINATOR 120
84#ifdef WITH_GHOST_WAYLAND_DYNLOAD
89bool ghost_wl_dynload_libraries_init();
90void ghost_wl_dynload_libraries_exit();
93#if defined(WITH_GHOST_WAYLAND_LIBDECOR) && defined(WITH_VULKAN_BACKEND)
97int memfd_create_sealed_for_vulkan_hack(
const char *name);
104 wl_output *output =
nullptr;
109 struct zxdg_output_v1 *output =
nullptr;
162 void putClipboard(
const char *buffer,
bool selection)
const override;
214 const bool exclusive,
215 const bool is_dialog,
234 bool canInvertColor);
242#ifdef USE_EVENT_BACKGROUND_THREAD
262#ifdef WITH_GHOST_WAYLAND_LIBDECOR
263 libdecor *libdecor_context_get();
269 const std::vector<GWL_Output *> &
outputs_get()
const;
278 bool completed)
const;
331#ifdef WITH_GHOST_WAYLAND_LIBDECOR
332 static bool use_libdecor_runtime();
335#ifdef USE_EVENT_BACKGROUND_THREAD
362 void display_destroy_and_free_all();
wl_fixed_t gwl_window_scale_wl_fixed_to(const GWL_WindowScaleParams &scale_params, wl_fixed_t value)
wl_fixed_t gwl_window_scale_wl_fixed_from(const GWL_WindowScaleParams &scale_params, wl_fixed_t value)
int gwl_window_scale_int_to(const GWL_WindowScaleParams &scale_params, int value)
void ghost_wl_surface_tag_cursor_pointer(struct wl_surface *wl_surface)
#define FRACTIONAL_DENOMINATOR
bool ghost_wl_output_own(const struct wl_output *wl_output)
bool ghost_wl_surface_own_cursor_tablet(const struct wl_surface *wl_surface)
bool ghost_wl_display_report_error_if_set(wl_display *display)
void ghost_wl_output_tag(struct wl_output *wl_output)
int gwl_window_scale_int_from(const GWL_WindowScaleParams &scale_params, int value)
void ghost_wl_surface_tag_cursor_tablet(struct wl_surface *wl_surface)
bool ghost_wl_surface_own(const struct wl_surface *wl_surface)
bool ghost_wl_surface_own_cursor_pointer(const struct wl_surface *wl_surface)
struct GWL_Output * ghost_wl_output_user_data(struct wl_output *wl_output)
GHOST_WindowWayland * ghost_wl_surface_user_data(struct wl_surface *wl_surface)
void ghost_wl_surface_tag(struct wl_surface *wl_surface)
bool ghost_wl_surface_own_with_null_check(const struct wl_surface *wl_surface)
GHOST_TConsoleWindowState
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
struct zwp_primary_selection_device_manager_v1 * wp_primary_selection_manager_get()
static const char * xdg_app_id_get()
GHOST_TSuccess init() override
GHOST_TSuccess pushEvent_maybe_pending(const GHOST_IEvent *event)
bool window_surface_unref(const wl_surface *wl_surface)
uint64_t getMilliSeconds() const override
GHOST_TSuccess getModifierKeys(GHOST_ModifierKeys &keys) const override
bool window_cursor_grab_set(const GHOST_TGrabCursorMode mode, const GHOST_TGrabCursorMode mode_current, int32_t init_grab_xy[2], const GHOST_Rect *wrap_bounds, GHOST_TAxisFlag wrap_axis, wl_surface *wl_surface, const struct GWL_WindowScaleParams &scale_params)
GHOST_TSuccess cursor_visibility_set(bool visible)
std::thread::id main_thread_id
struct wl_display * wl_display_get()
char * getClipboard(bool selection) const override
GHOST_TSuccess setCursorPosition(int32_t x, int32_t y) override
GHOST_TSuccess cursor_shape_check(GHOST_TStandardCursor cursorShape)
bool cursor_grab_use_software_display_get(const GHOST_TGrabCursorMode mode)
uint64_t ms_from_input_time(const uint32_t timestamp_as_uint)
GHOST_TimerManager * ghost_timer_manager()
uint * getClipboardImage(int *r_width, int *r_height) const override
struct xdg_wm_base * xdg_decor_shell_get()
struct wl_compositor * wl_compositor_get()
struct wp_fractional_scale_manager_v1 * wp_fractional_scale_manager_get()
void setMultitouchGestures(const bool use) override
struct wl_shm * wl_shm_get() const
GHOST_TSuccess getButtons(GHOST_Buttons &buttons) const override
GHOST_TSuccess cursor_shape_set(GHOST_TStandardCursor shape)
const std::vector< GWL_Output * > & outputs_get() const
GHOST_TSuccess disposeContext(GHOST_IContext *context) override
GHOST_IWindow * createWindow(const char *title, int32_t left, int32_t top, uint32_t width, uint32_t height, GHOST_TWindowState state, GHOST_GPUSettings gpuSettings, const bool exclusive, const bool is_dialog, const GHOST_IWindow *parentWindow) override
struct wp_viewporter * wp_viewporter_get()
struct zxdg_decoration_manager_v1 * xdg_decor_manager_get()
struct wl_seat * wl_seat_active_get_with_input_serial(uint32_t &serial)
GHOST_TSuccess cursor_bitmap_get(GHOST_CursorBitmapRef *bitmap)
GHOST_TSuccess cursor_shape_custom_set(const uint8_t *bitmap, const uint8_t *mask, int sizex, int sizey, int hotX, int hotY, bool canInvertColor)
GHOST_TSuccess getCursorPosition(int32_t &x, int32_t &y) const override
void ime_begin(const GHOST_WindowWayland *win, int32_t x, int32_t y, int32_t w, int32_t h, bool completed) const
uint8_t getNumDisplays() const override
bool output_unref(struct wl_output *wl_output)
~GHOST_SystemWayland() override
void putClipboard(const char *buffer, bool selection) const override
void output_scale_update(GWL_Output *output)
GHOST_TCapabilityFlag getCapabilities() const override
std::atomic< bool > has_pending_actions_for_window
bool processEvents(bool waitForEvent) override
void seat_active_set(const struct GWL_Seat *seat)
GHOST_TSuccess getCursorPositionClientRelative(const GHOST_IWindow *window, int32_t &x, int32_t &y) const override
GHOST_TSuccess setCursorPositionClientRelative(GHOST_IWindow *window, int32_t x, int32_t y) override
GHOST_TSuccess hasClipboardImage() const override
bool setConsoleWindowState(GHOST_TConsoleWindowState action) override
std::mutex * server_mutex
void getMainDisplayDimensions(uint32_t &width, uint32_t &height) const override
struct xdg_activation_v1 * xdg_activation_manager_get()
struct zwp_pointer_gestures_v1 * wp_pointer_gestures_get()
void ime_end(const GHOST_WindowWayland *win) const
GHOST_IContext * createOffscreenContext(GHOST_GPUSettings gpuSettings) override
void getAllDisplayDimensions(uint32_t &width, uint32_t &height) const override
GHOST_TSuccess putClipboardImage(uint *rgba, int width, int height) const override
unsigned __int64 uint64_t
bool has_position_logical
bool has_scale_fractional
struct GWL_Output::@1502 wl
int32_t position_logical[2]
struct GWL_Output::@1503 xdg
GHOST_SystemWayland * system