KWin
Loading...
Searching...
No Matches
Public Member Functions | Properties | List of all members
KWin::ZoomEffect Class Reference

#include <zoom.h>

Inheritance diagram for KWin::ZoomEffect:
KWin::Effect

Public Member Functions

 ZoomEffect ()
 
 ~ZoomEffect () override
 
void reconfigure (ReconfigureFlags flags) override
 
void prePaintScreen (ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override
 
void paintScreen (const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region, Output *screen) override
 
void postPaintScreen () override
 
bool isActive () const override
 
int requestedEffectChainPosition () const override
 
qreal configuredZoomFactor () const
 
int configuredMousePointer () const
 
int configuredMouseTracking () const
 
bool isFocusTrackingEnabled () const
 
bool isTextCaretTrackingEnabled () const
 
int configuredFocusDelay () const
 
qreal configuredMoveFactor () const
 
qreal targetZoom () const
 
- Public Member Functions inherited from KWin::Effect
 Effect (QObject *parent=nullptr)
 
 ~Effect () override
 
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 provides (Feature)
 
virtual bool perform (Feature feature, const QVariantList &arguments)
 
virtual void drawWindow (const RenderTarget &renderTarget, const RenderViewport &viewport, EffectWindow *w, int mask, const QRegion &region, WindowPaintData &data)
 
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
 

Properties

qreal zoomFactor
 
int mousePointer
 
int mouseTracking
 
bool focusTrackingEnabled
 
bool textCaretTrackingEnabled
 
int focusDelay
 
qreal moveFactor
 
qreal targetZoom
 

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 }
 
- Public Slots inherited from KWin::Effect
virtual bool borderActivated (ElectricBorder border)
 
- 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)
 

Detailed Description

Definition at line 30 of file zoom.h.

Constructor & Destructor Documentation

◆ ZoomEffect()

KWin::ZoomEffect::ZoomEffect ( )

Definition at line 35 of file zoom.cpp.

◆ ~ZoomEffect()

KWin::ZoomEffect::~ZoomEffect ( )
override

Definition at line 133 of file zoom.cpp.

Member Function Documentation

◆ configuredFocusDelay()

int KWin::ZoomEffect::configuredFocusDelay ( ) const

Definition at line 612 of file zoom.cpp.

◆ configuredMousePointer()

int KWin::ZoomEffect::configuredMousePointer ( ) const

Definition at line 602 of file zoom.cpp.

◆ configuredMouseTracking()

int KWin::ZoomEffect::configuredMouseTracking ( ) const

Definition at line 607 of file zoom.cpp.

◆ configuredMoveFactor()

qreal KWin::ZoomEffect::configuredMoveFactor ( ) const

Definition at line 617 of file zoom.cpp.

◆ configuredZoomFactor()

qreal KWin::ZoomEffect::configuredZoomFactor ( ) const

Definition at line 597 of file zoom.cpp.

◆ isActive()

bool KWin::ZoomEffect::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 587 of file zoom.cpp.

◆ isFocusTrackingEnabled()

bool KWin::ZoomEffect::isFocusTrackingEnabled ( ) const

Definition at line 142 of file zoom.cpp.

◆ isTextCaretTrackingEnabled()

bool KWin::ZoomEffect::isTextCaretTrackingEnabled ( ) const

Definition at line 151 of file zoom.cpp.

◆ paintScreen()

void KWin::ZoomEffect::paintScreen ( const RenderTarget & renderTarget,
const RenderViewport & viewport,
int mask,
const QRegion & region,
Output * screen )
overridevirtual

In this method you can:

  • paint something on top of the windows (by painting after calling effects->paintScreen())
  • paint multiple desktops and/or multiple copies of the same desktop by calling effects->paintScreen() multiple times

In OpenGL based compositing, the frameworks ensures that the context is current when this method is invoked.

Reimplemented from KWin::Effect.

Definition at line 294 of file zoom.cpp.

◆ postPaintScreen()

void KWin::ZoomEffect::postPaintScreen ( )
overridevirtual

Called after all the painting has been finished. In this method you can:

  • schedule next repaint in case of animations You shouldn't paint anything here.

In OpenGL based compositing, the frameworks ensures that the context is current when this method is invoked.

Reimplemented from KWin::Effect.

Definition at line 417 of file zoom.cpp.

◆ prePaintScreen()

void KWin::ZoomEffect::prePaintScreen ( ScreenPrePaintData & data,
std::chrono::milliseconds presentTime )
overridevirtual

Called before starting to paint the screen. In this method you can:

  • set whether the windows or the entire screen will be transformed
  • change the region of the screen that will be painted
  • do various housekeeping tasks such as initing your effect's variables for the upcoming paint pass or updating animation's progress

presentTime specifies the expected monotonic time when the rendered frame will be displayed on the screen.

Reimplemented from KWin::Effect.

Definition at line 245 of file zoom.cpp.

◆ reconfigure()

void KWin::ZoomEffect::reconfigure ( ReconfigureFlags flags)
overridevirtual

Called when configuration changes (either the effect's or KWin's global).

In OpenGL based compositing, the frameworks ensures that the context is current when the Effect is reconfigured. If this method is called from within the Effect it is required to ensure that the context is current if the implementation does OpenGL calls.

Reimplemented from KWin::Effect.

Definition at line 212 of file zoom.cpp.

◆ requestedEffectChainPosition()

int KWin::ZoomEffect::requestedEffectChainPosition ( ) const
overridevirtual

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 592 of file zoom.cpp.

◆ targetZoom()

qreal KWin::ZoomEffect::targetZoom ( ) const

Definition at line 622 of file zoom.cpp.

Property Documentation

◆ focusDelay

int KWin::ZoomEffect::focusDelay
read

Definition at line 39 of file zoom.h.

◆ focusTrackingEnabled

bool KWin::ZoomEffect::focusTrackingEnabled
read

Definition at line 37 of file zoom.h.

◆ mousePointer

int KWin::ZoomEffect::mousePointer
read

Definition at line 35 of file zoom.h.

◆ mouseTracking

int KWin::ZoomEffect::mouseTracking
read

Definition at line 36 of file zoom.h.

◆ moveFactor

qreal KWin::ZoomEffect::moveFactor
read

Definition at line 40 of file zoom.h.

◆ targetZoom

qreal KWin::ZoomEffect::targetZoom
read

Definition at line 41 of file zoom.h.

◆ textCaretTrackingEnabled

bool KWin::ZoomEffect::textCaretTrackingEnabled
read

Definition at line 38 of file zoom.h.

◆ zoomFactor

qreal KWin::ZoomEffect::zoomFactor
read

Definition at line 34 of file zoom.h.


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