diff --git a/effects.cpp b/effects.cpp index a8cb3d1597..4f55799b5c 100644 --- a/effects.cpp +++ b/effects.cpp @@ -1356,21 +1356,6 @@ void EffectWindowImpl::disablePainting(int reason) sceneWindow()->disablePainting(reason); } -void EffectWindowImpl::addRepaint(const QRect& r) -{ - toplevel->addRepaint(r); -} - -void EffectWindowImpl::addRepaint(int x, int y, int w, int h) -{ - toplevel->addRepaint(x, y, w, h); -} - -void EffectWindowImpl::addRepaintFull() -{ - toplevel->addRepaintFull(); -} - const EffectWindowGroup* EffectWindowImpl::group() const { if (Client* c = dynamic_cast< Client* >(toplevel)) diff --git a/effects.h b/effects.h index ed8db99713..28ab72c303 100644 --- a/effects.h +++ b/effects.h @@ -234,9 +234,6 @@ public: virtual void enablePainting(int reason); virtual void disablePainting(int reason); virtual bool isPaintingEnabled(); - virtual void addRepaint(const QRect& r); - virtual void addRepaint(int x, int y, int w, int h); - virtual void addRepaintFull(); virtual void refWindow(); virtual void unrefWindow(); diff --git a/libkwineffects/kwineffects.cpp b/libkwineffects/kwineffects.cpp index 2f95b89516..3f29062a17 100644 --- a/libkwineffects/kwineffects.cpp +++ b/libkwineffects/kwineffects.cpp @@ -403,6 +403,21 @@ void EffectWindow::closeWindow() const QMetaObject::invokeMethod(parent(), "closeWindow"); } +void EffectWindow::addRepaint(int x, int y, int w, int h) +{ + QMetaObject::invokeMethod(parent(), "addRepaint", Q_ARG(int, x), Q_ARG(int, y), Q_ARG(int, w), Q_ARG(int, h)); +} + +void EffectWindow::addRepaint(const QRect &r) +{ + QMetaObject::invokeMethod(parent(), "addRepaint", Q_ARG(const QRect&, r)); +} + +void EffectWindow::addRepaintFull() +{ + QMetaObject::invokeMethod(parent(), "addRepaintFull"); +} + bool EffectWindow::isOnCurrentActivity() const { return isOnActivity(effects->currentActivity()); diff --git a/libkwineffects/kwineffects.h b/libkwineffects/kwineffects.h index 63f1a6edb2..491ec58506 100644 --- a/libkwineffects/kwineffects.h +++ b/libkwineffects/kwineffects.h @@ -1093,9 +1093,9 @@ public: virtual void enablePainting(int reason) = 0; virtual void disablePainting(int reason) = 0; virtual bool isPaintingEnabled() = 0; - virtual void addRepaint(const QRect& r) = 0; - virtual void addRepaint(int x, int y, int w, int h) = 0; - virtual void addRepaintFull() = 0; + void addRepaint(const QRect& r); + void addRepaint(int x, int y, int w, int h); + void addRepaintFull(); virtual void refWindow() = 0; virtual void unrefWindow() = 0; diff --git a/toplevel.h b/toplevel.h index 8edf7990fd..ff9933563b 100644 --- a/toplevel.h +++ b/toplevel.h @@ -232,10 +232,10 @@ public: bool updateUnredirectedState(); bool unredirected() const; void suspendUnredirect(bool suspend); - void addRepaint(const QRect& r); - void addRepaint(const QRegion& r); - void addRepaint(int x, int y, int w, int h); - virtual void addRepaintFull(); + Q_INVOKABLE void addRepaint(const QRect& r); + Q_INVOKABLE void addRepaint(const QRegion& r); + Q_INVOKABLE void addRepaint(int x, int y, int w, int h); + Q_INVOKABLE virtual void addRepaintFull(); // these call workspace->addRepaint(), but first transform the damage if needed void addWorkspaceRepaint(const QRect& r); void addWorkspaceRepaint(int x, int y, int w, int h);