KWin
Loading...
Searching...
No Matches
Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
KWin::InvertEffect Class Reference

#include <invert.h>

Inheritance diagram for KWin::InvertEffect:
KWin::OffscreenEffect KWin::Effect

Public Slots

void toggleScreenInversion ()
 
void toggleWindow ()
 
void slotWindowAdded (KWin::EffectWindow *w)
 
void slotWindowClosed (KWin::EffectWindow *w)
 
- Public Slots inherited from KWin::Effect
virtual bool borderActivated (ElectricBorder border)
 

Public Member Functions

 InvertEffect ()
 
 ~InvertEffect () override
 
bool isActive () const override
 
bool provides (Feature) override
 
int requestedEffectChainPosition () const override
 
- Public Member Functions inherited from KWin::OffscreenEffect
 OffscreenEffect (QObject *parent=nullptr)
 
 ~OffscreenEffect () override
 
- Public Member Functions inherited from KWin::Effect
 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 &region, 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 &parameter) 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 Public Member Functions inherited from KWin::OffscreenEffect
static bool supported ()
 
- Static Public Member Functions inherited from KWin::Effect
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 &region, EffectWindow *w, const QRect &r, Qt::AspectRatioMode aspect)
 

Protected Member Functions

bool loadData ()
 
- Protected Member Functions inherited from KWin::OffscreenEffect
void drawWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *window, int mask, const QRegion &region, 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

- Public Types inherited from KWin::Effect
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 }
 

Detailed Description

Inverts desktop's colors

Definition at line 23 of file invert.h.

Constructor & Destructor Documentation

◆ InvertEffect()

KWin::InvertEffect::InvertEffect ( )

Definition at line 35 of file invert.cpp.

◆ ~InvertEffect()

KWin::InvertEffect::~InvertEffect ( )
overridedefault

Member Function Documentation

◆ isActive()

bool KWin::InvertEffect::isActive ( ) const
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.

Since
4.8

Reimplemented from KWin::Effect.

Definition at line 153 of file invert.cpp.

◆ loadData()

bool KWin::InvertEffect::loadData ( )
protected

Definition at line 93 of file invert.cpp.

◆ provides()

bool KWin::InvertEffect::provides ( Feature )
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.

◆ requestedEffectChainPosition()

int KWin::InvertEffect::requestedEffectChainPosition ( ) const
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.

Since
5.0

Reimplemented from KWin::Effect.

Definition at line 58 of file invert.h.

◆ slotWindowAdded

void KWin::InvertEffect::slotWindowAdded ( KWin::EffectWindow * w)
slot

Definition at line 107 of file invert.cpp.

◆ slotWindowClosed

void KWin::InvertEffect::slotWindowClosed ( KWin::EffectWindow * w)
slot

Definition at line 114 of file invert.cpp.

◆ supported()

bool KWin::InvertEffect::supported ( )
static

Definition at line 68 of file invert.cpp.

◆ toggleScreenInversion

void KWin::InvertEffect::toggleScreenInversion ( )
slot

Definition at line 119 of file invert.cpp.

◆ toggleWindow

void KWin::InvertEffect::toggleWindow ( )
slot

Definition at line 135 of file invert.cpp.


The documentation for this class was generated from the following files: