Cleaning window managers for consistency.
This commit is contained in:
parent
5d984aa61d
commit
392a2b7889
28 changed files with 452 additions and 325 deletions
|
@ -18,46 +18,45 @@ class WaylandEglWindowInterface;
|
|||
|
||||
class WaylandSurface : public IPlatformWindow
|
||||
{
|
||||
|
||||
public:
|
||||
WaylandSurface(mt::Window* window);
|
||||
|
||||
static void add(mt::Window* window, wl_compositor* compositor, xdg_wm_base* xdg_wm_base, std::shared_ptr<WaylandBuffer> buffer, WaylandEglInterface* eglInterface);
|
||||
|
||||
WaylandSurface(mt::Window* window, wl_compositor* compositor, xdg_wm_base* xdg_wm_base, std::shared_ptr<WaylandBuffer> buffer, WaylandEglInterface* eglInterface);
|
||||
|
||||
~WaylandSurface();
|
||||
|
||||
void initialize(wl_compositor* compositor, xdg_wm_base* xdg_wm_base, std::shared_ptr<WaylandBuffer> buffer, WaylandEglInterface* eglInterface);
|
||||
|
||||
void onConfigure(xdg_surface *xdg_surface, uint32_t serial);
|
||||
|
||||
void show();
|
||||
|
||||
void map();
|
||||
|
||||
void clear();
|
||||
|
||||
private:
|
||||
void initialize();
|
||||
|
||||
void paint(mt::Screen* screen) override;
|
||||
|
||||
void paintHardware();
|
||||
void paintSoftware();
|
||||
|
||||
|
||||
wl_buffer* drawFrame();
|
||||
|
||||
void show() const
|
||||
{
|
||||
map();
|
||||
}
|
||||
|
||||
void map() const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void clear() const
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
void paint(mt::Screen* screen) override;
|
||||
|
||||
mt::Window* mWindow{nullptr};
|
||||
|
||||
wl_compositor* mCompositor{nullptr};
|
||||
xdg_wm_base* mXdgWmBase{nullptr};
|
||||
std::shared_ptr<WaylandBuffer> mBuffer;
|
||||
std::unique_ptr<WaylandEglWindowInterface> mEglWindowInterface;
|
||||
|
||||
wl_surface* mSurface{nullptr};
|
||||
xdg_surface* mXdgSurface{nullptr};
|
||||
xdg_surface_listener mXdgSurfaceListener{nullptr};
|
||||
xdg_surface_listener mXdgSurfaceListener;
|
||||
|
||||
xdg_toplevel* mXdgTopLevel{nullptr};
|
||||
|
||||
std::shared_ptr<WaylandBuffer> mBuffer;
|
||||
std::unique_ptr<WaylandEglWindowInterface> mEglWindowInterface{nullptr};
|
||||
};
|
||||
|
||||
using WaylandSurfacePtr = std::unique_ptr<WaylandSurface>;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue