KWin
Loading...
Searching...
No Matches
snaphelper.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2009 Lucas Murray <lmurray@undefinedfire.com>
6 SPDX-FileCopyrightText: 2018 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10
11#pragma once
12
13#include "effect/effect.h"
14#include "effect/timeline.h"
15
16namespace KWin
17{
18
20{
21 Q_OBJECT
22
23public:
25 ~SnapHelperEffect() override;
26
27 void reconfigure(ReconfigureFlags flags) override;
28
29 void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override;
30 void paintScreen(const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region, Output *screen) override;
31 void postPaintScreen() override;
32
33 bool isActive() const override;
34
35private Q_SLOTS:
36 void slotWindowAdded(EffectWindow *w);
37 void slotWindowClosed(EffectWindow *w);
38 void slotWindowStartUserMovedResized(EffectWindow *w);
39 void slotWindowFinishUserMovedResized(EffectWindow *w);
40 void slotWindowFrameGeometryChanged(EffectWindow *w, const QRectF &old);
41
42private:
43 QRectF m_geometry;
44 EffectWindow *m_window = nullptr;
45
46 struct Animation
47 {
48 bool active = false;
49 TimeLine timeLine;
50 };
51
52 Animation m_animation;
53};
54
55} // namespace KWin
Base class for all KWin effects.
Definition effect.h:535
Representation of a window used by/for Effect classes.
void prePaintScreen(ScreenPrePaintData &data, std::chrono::milliseconds presentTime) override
void reconfigure(ReconfigureFlags flags) override
bool isActive() const override
void postPaintScreen() override
~SnapHelperEffect() override
void paintScreen(const RenderTarget &renderTarget, const RenderViewport &viewport, int mask, const QRegion &region, Output *screen) override