kodi
|
Abstraction for shell surfaces to support multiple protocols such as wl_shell (for compatibility) and xdg_shell (for features) More...
#include <ShellSurface.h>
Public Types | |
enum | State { STATE_MAXIMIZED = 0, STATE_FULLSCREEN, STATE_RESIZING, STATE_ACTIVATED, STATE_COUNT } |
using | StateBitset = std::bitset< STATE_COUNT > |
Public Member Functions | |
virtual void | Initialize ()=0 |
Initialize shell surface. More... | |
virtual void | SetFullScreen (wayland::output_t const &output, float refreshRate)=0 |
virtual void | SetWindowed ()=0 |
virtual void | SetMaximized ()=0 |
virtual void | UnsetMaximized ()=0 |
virtual void | SetMinimized ()=0 |
virtual void | SetWindowGeometry (CRectInt geometry)=0 |
virtual void | AckConfigure (std::uint32_t serial)=0 |
virtual void | StartMove (wayland::seat_t const &seat, std::uint32_t serial)=0 |
virtual void | StartResize (wayland::seat_t const &seat, std::uint32_t serial, wayland::shell_surface_resize edge)=0 |
virtual void | ShowShellContextMenu (wayland::seat_t const &seat, std::uint32_t serial, CPointInt position)=0 |
Static Public Member Functions | |
static std::string | StateToString (StateBitset state) |
Abstraction for shell surfaces to support multiple protocols such as wl_shell (for compatibility) and xdg_shell (for features)
The interface itself is modeled after xdg_shell, so see there for the meaning of e.g. the surface states
|
pure virtual |
Initialize shell surface.
The event loop thread MUST NOT be running when this function is called. The difference to the constructor is that in this function callbacks may already be called.
Implemented in KODI::WINDOWING::WAYLAND::CShellSurfaceXdgShellUnstableV6, KODI::WINDOWING::WAYLAND::CShellSurfaceXdgShell, KODI::WINDOWING::WAYLAND::CShellSurfaceWebOSShell, and KODI::WINDOWING::WAYLAND::CShellSurfaceWlShell.