85 void init(
const QSize &pixelSize, qreal scale);
86 void resize(
const QSize &pixelSize);
90 xcb_window_t window()
const;
95 QPoint internalPosition()
const;
96 QPoint hostPosition()
const;
97 void setHostPosition(
const QPoint &pos);
99 void setWindowTitle(
const QString &title);
104 QPointF mapFromGlobal(
const QPointF &pos)
const;
106 bool updateCursorLayer()
override;
108 QRegion exposedArea()
const;
109 void addExposedArea(
const QRect &rect);
110 void clearExposedArea();
112 void updateEnabled(
bool enabled);
114 void handlePresentCompleteNotify(xcb_present_complete_notify_event_t *event);
115 void handlePresentIdleNotify(xcb_present_idle_notify_event_t *event);
116 void framePending(
const std::shared_ptr<OutputFrame> &frame);
119 void initXInputForWindow();
122 xcb_pixmap_t importShmBuffer(
const ShmAttributes *attributes);
124 xcb_window_t m_window = XCB_WINDOW_NONE;
125 xcb_present_event_t m_presentEvent = XCB_NONE;
126 std::unique_ptr<NETWinInfo> m_winInfo;
127 std::unique_ptr<RenderLoop> m_renderLoop;
128 std::unique_ptr<X11WindowedCursor> m_cursor;
129 std::unordered_map<GraphicsBuffer *, std::unique_ptr<X11WindowedBuffer>> m_buffers;
130 QPoint m_hostPosition;
131 QRegion m_exposedArea;
132 std::shared_ptr<OutputFrame> m_frame;