KWin
|
#include <invert.h>
Public Slots | |
void | toggleScreenInversion () |
void | toggleWindow () |
void | slotWindowAdded (KWin::EffectWindow *w) |
void | slotWindowClosed (KWin::EffectWindow *w) |
![]() | |
virtual bool | borderActivated (ElectricBorder border) |
Public Member Functions | |
InvertEffect () | |
~InvertEffect () override | |
bool | isActive () const override |
bool | provides (Feature) override |
int | requestedEffectChainPosition () const override |
![]() | |
OffscreenEffect (QObject *parent=nullptr) | |
~OffscreenEffect () override | |
![]() | |
Effect (QObject *parent=nullptr) | |
~Effect () override | |
virtual void | reconfigure (ReconfigureFlags flags) |
virtual void | prePaintScreen (ScreenPrePaintData &data, std::chrono::milliseconds presentTime) |
virtual void | paintScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion ®ion, Output *screen) |
virtual void | postPaintScreen () |
virtual void | prePaintWindow (EffectWindow *w, WindowPrePaintData &data, std::chrono::milliseconds presentTime) |
virtual void | paintWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, QRegion region, WindowPaintData &data) |
virtual void | postPaintWindow (EffectWindow *w) |
virtual bool | perform (Feature feature, const QVariantList &arguments) |
virtual void | windowInputMouseEvent (QEvent *e) |
virtual void | grabbedKeyboardEvent (QKeyEvent *e) |
virtual QString | debug (const QString ¶meter) const |
virtual bool | touchDown (qint32 id, const QPointF &pos, std::chrono::microseconds time) |
virtual bool | touchMotion (qint32 id, const QPointF &pos, std::chrono::microseconds time) |
virtual bool | touchUp (qint32 id, std::chrono::microseconds time) |
virtual bool | tabletToolEvent (QTabletEvent *event) |
virtual bool | tabletToolButtonEvent (uint button, bool pressed, quint64 tabletToolId) |
virtual bool | tabletPadButtonEvent (uint button, bool pressed, void *tabletPadId) |
virtual bool | tabletPadStripEvent (int number, int position, bool isFinger, void *tabletPadId) |
virtual bool | tabletPadRingEvent (int number, int position, bool isFinger, void *tabletPadId) |
template<typename T > | |
int | animationTime (int defaultDuration) |
virtual bool | blocksDirectScanout () const |
Static Public Member Functions | |
static bool | supported () |
![]() | |
static bool | supported () |
![]() | |
static QPointF | cursorPos () |
static double | animationTime (const KConfigGroup &cfg, const QString &key, int defaultTime) |
static double | animationTime (int defaultTime) |
static double | interpolate (double x, double y, double a) |
static void | setPositionTransformations (WindowPaintData &data, QRect ®ion, EffectWindow *w, const QRect &r, Qt::AspectRatioMode aspect) |
Protected Member Functions | |
bool | loadData () |
![]() | |
void | drawWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *window, int mask, const QRegion ®ion, WindowPaintData &data) override |
void | redirect (EffectWindow *window) |
void | unredirect (EffectWindow *window) |
virtual void | apply (EffectWindow *window, int mask, WindowPaintData &data, WindowQuadList &quads) |
void | setShader (EffectWindow *window, GLShader *shader) |
void | setVertexSnappingMode (RenderGeometry::VertexSnappingMode mode) |
Additional Inherited Members | |
![]() | |
enum | { PAINT_WINDOW_OPAQUE = 1 << 0 , PAINT_WINDOW_TRANSLUCENT = 1 << 1 , PAINT_WINDOW_TRANSFORMED = 1 << 2 , PAINT_SCREEN_REGION = 1 << 3 , PAINT_SCREEN_TRANSFORMED = 1 << 4 , PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS = 1 << 5 , PAINT_SCREEN_BACKGROUND_FIRST = 1 << 6 } |
enum | Feature { Nothing = 0 , ScreenInversion , Blur , Contrast , HighlightWindows } |
enum | ReconfigureFlag { ReconfigureAll = 1 << 0 } |
KWin::InvertEffect::InvertEffect | ( | ) |
Definition at line 35 of file invert.cpp.
|
overridedefault |
|
overridevirtual |
Overwrite this method to indicate whether your effect will be doing something in the next frame to be rendered. If the method returns false
the effect will be excluded from the chained methods in the next rendered frame.
This method is called always directly before the paint loop begins. So it is totally fine to e.g. react on a window event, issue a repaint to trigger an animation and change a flag to indicate that this method returns true
.
As the method is called each frame, you should not perform complex calculations. Best use just a boolean flag.
The default implementation of this method returns true
.
Reimplemented from KWin::Effect.
Definition at line 153 of file invert.cpp.
|
protected |
Definition at line 93 of file invert.cpp.
|
overridevirtual |
Called on Transparent resizes. return true if your effect substitutes questioned feature
Reimplemented from KWin::Effect.
Definition at line 158 of file invert.cpp.
|
inlineoverridevirtual |
Reimplement this method to indicate where in the Effect chain the Effect should be placed.
A low number indicates early chain position, thus before other Effects got called, a high number indicates a late position. The returned number should be in the interval [0, 100]. The default value is 0.
In KWin4 this information was provided in the Effect's desktop file as property X-KDE-Ordering. In the case of Scripted Effects this property is still used.
Reimplemented from KWin::Effect.
|
slot |
Definition at line 107 of file invert.cpp.
|
slot |
Definition at line 114 of file invert.cpp.
|
static |
Definition at line 68 of file invert.cpp.
|
slot |
Definition at line 119 of file invert.cpp.
|
slot |
Definition at line 135 of file invert.cpp.