59 return m_output ? m_output->
scale() : 1.0;
68 : m_renderer(std::move(renderer))
93 for (
const auto &delegate : std::as_const(
m_delegates)) {
94 const QRect viewport = delegate->viewport();
95 QRegion dirtyRegion = region & viewport;
96 dirtyRegion.translate(-viewport.topLeft());
97 if (!dirtyRegion.isEmpty()) {
98 delegate->layer()->addRepaint(dirtyRegion);
148#include "moc_scene.cpp"
SurfaceItem * scanoutCandidate() const override
~SceneDelegate() override
void paint(const RenderTarget &renderTarget, const QRegion ®ion) override
void postPaint() override
QRegion prePaint() override
void frame(OutputFrame *frame) override
SceneDelegate(Scene *scene, Output *output)
virtual void frame(SceneDelegate *delegate, OutputFrame *frame)
void setGeometry(const QRect &rect)
Scene(std::unique_ptr< ItemRenderer > &&renderer)
QList< SceneDelegate * > delegates() const
virtual void paint(const RenderTarget &renderTarget, const QRegion ®ion)=0
virtual SurfaceItem * scanoutCandidate() const
virtual QRegion damage() const
virtual void postPaint()=0
void addDelegate(SceneDelegate *delegate)
QList< SceneDelegate * > m_delegates
std::unique_ptr< ItemRenderer > m_renderer
void removeDelegate(SceneDelegate *delegate)
void addRepaint(const QRegion ®ion)
ItemRenderer * renderer() const
virtual QRegion prePaint(SceneDelegate *delegate)=0
void delegateRemoved(SceneDelegate *delegate)
KWIN_EXPORT QRect infiniteRegion()