#pragma once #include #include #include class XcbGlInterface; class XcbGlWindowInterface { public: XcbGlWindowInterface(XcbGlInterface* glInterface); ~XcbGlWindowInterface(); bool initialize(xcb_window_t window); void afterPaint(); void resizeViewPort(unsigned width, unsigned height); private: void destroyWindow(); void swapBuffers(); XcbGlInterface* mGlInterface{nullptr}; GLXDrawable mDrawable; GLXWindow mWindow; }; using XcbGlWindowInterfacePtr = std::unique_ptr;