24class GraphicsBufferAllocator;
25class QPainterSwapchainSlot;
26class QPainterSwapchain;
27class X11WindowedBackend;
28class X11WindowedOutput;
29class X11WindowedQPainterBackend;
37 std::optional<OutputLayerBeginFrameInfo>
beginFrame()
override;
38 bool endFrame(
const QRegion &renderedRegion,
const QRegion &damagedRegion)
override;
46 std::unique_ptr<QPainterSwapchain> m_swapchain;
47 std::shared_ptr<QPainterSwapchainSlot> m_current;
48 std::chrono::steady_clock::time_point m_renderStart;
49 std::chrono::nanoseconds m_renderTime;
59 std::optional<OutputLayerBeginFrameInfo>
beginFrame()
override;
60 bool endFrame(
const QRegion &renderedRegion,
const QRegion &damagedRegion)
override;
66 std::chrono::steady_clock::time_point m_renderStart;
67 std::chrono::nanoseconds m_renderTime;
79 void present(
Output *output,
const std::shared_ptr<OutputFrame> &frame)
override;
84 void addOutput(
Output *output);
85 void removeOutput(
Output *output);
89 std::unique_ptr<X11WindowedQPainterPrimaryLayer> primaryLayer;
90 std::unique_ptr<X11WindowedQPainterCursorLayer> cursorLayer;
94 std::unique_ptr<GraphicsBufferAllocator> m_allocator;
95 std::map<Output *, Layers> m_outputs;
~X11WindowedQPainterBackend() override
GraphicsBufferAllocator * graphicsBufferAllocator() const override
OutputLayer * cursorLayer(Output *output) override
void present(Output *output, const std::shared_ptr< OutputFrame > &frame) override
OutputLayer * primaryLayer(Output *output) override
X11WindowedQPainterBackend(X11WindowedBackend *backend)
bool endFrame(const QRegion &renderedRegion, const QRegion &damagedRegion) override
std::chrono::nanoseconds queryRenderTime() const override
X11WindowedQPainterCursorLayer(X11WindowedOutput *output)
std::optional< OutputLayerBeginFrameInfo > beginFrame() override
bool endFrame(const QRegion &renderedRegion, const QRegion &damagedRegion) override
std::optional< OutputLayerBeginFrameInfo > beginFrame() override
~X11WindowedQPainterPrimaryLayer() override
X11WindowedQPainterPrimaryLayer(X11WindowedOutput *output, X11WindowedQPainterBackend *backend)
std::chrono::nanoseconds queryRenderTime() const override