16 #ifndef vtkWaylandHardwareWindow_h
17 #define vtkWaylandHardwareWindow_h
20 #include "vtkRenderingUIModule.h"
37 struct zxdg_decoration_manager_v1;
39 VTK_ABI_NAMESPACE_BEGIN
51 wl_display* GetDisplayId();
56 wl_surface* GetWindowId();
71 void SetSize(
int,
int)
override;
104 static void RegistryHandleGlobal(
105 void*
data, wl_registry* registry, uint32_t
name,
const char* interface, uint32_t
version);
106 static void RegistryHandleGlobalRemove(
void*
data, wl_registry* registry, uint32_t
name);
108 static void XdgWmBaseHandlePing(
void*
data, xdg_wm_base* xdg_wm_base, uint32_t serial);
110 static void XdgSurfaceHandleConfigure(
void*
data, xdg_surface* xdg_surface, uint32_t serial);
112 static void XdgToplevelHandleConfigure(
113 void*
data, xdg_toplevel* xdg_toplevel, int32_t width, int32_t
height, wl_array* states);
114 static void XdgToplevelHandleClose(
void*
data, xdg_toplevel* xdg_toplevel);
116 static void FrameHandleDone(
void*
data, wl_callback* callback, uint32_t
time);
119 void ScheduleRedraw();
126 wl_display* DisplayId =
nullptr;
127 wl_registry* Registry =
nullptr;
128 wl_compositor* Compositor =
nullptr;
129 wl_surface* Surface =
nullptr;
130 wl_shm* Shm =
nullptr;
131 wl_seat* Seat =
nullptr;
132 wl_pointer* Pointer =
nullptr;
133 xdg_wm_base* XdgWmBase =
nullptr;
134 xdg_surface* XdgSurface =
nullptr;
135 xdg_toplevel* XdgToplevel =
nullptr;
136 zxdg_decoration_manager_v1* DecorationManager =
nullptr;
138 bool OwnDisplay =
false;
139 bool CursorHidden =
false;
141 wl_callback* FrameCallback =
nullptr;
142 bool RedrawPending =
false;
149 bool IsConfigured =
false;
152 VTK_ABI_NAMESPACE_END
153 #endif // vtkWaylandHardwareWindow_h
create a window for renderers to draw into
virtual void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
static vtkHardwareWindow * New()
virtual void SetPosition(int x, int y)
Set the position (x and y) of the rendering window in screen coordinates (in pixels).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetSize(int width, int height)
Set the size (width and height) of the rendering window in screen coordinates (in pixels)...
represents a window in a Wayland GUI
a simple class to control print indentation
virtual void * GetGenericWindowId()
These are window system independent methods that are used to help interface vtkWindow to native windo...
virtual void SetWindowName(const char *)
Get name of rendering window.
virtual void * GetGenericDisplayId()
These are window system independent methods that are used to help interface vtkWindow to native windo...
virtual void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
virtual void SetCurrentCursor(int)
Change the shape of the cursor.