1
/********************************************************************
2
KWin - the KDE window manager
3
This file is part of the KDE project.
5
Copyright (C) 2006 Lubos Lunak <l.lunak@kde.org>
6
Copyright (C) 2010 Sebastian Sauer <sebsauer@kdab.com>
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
18
You should have received a copy of the GNU General Public License
19
along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*********************************************************************/
25
#include <kwineffects.h>
26
#include <QtCore/QTime>
27
#include <QtCore/QTimeLine>
41
virtual ~ZoomEffect();
42
virtual void reconfigure(ReconfigureFlags flags);
43
virtual void prePaintScreen(ScreenPrePaintData& data, int time);
44
virtual void paintScreen(int mask, QRegion region, ScreenPaintData& data);
45
virtual void postPaintScreen();
54
void moveMouseToFocus();
55
void moveMouseToCenter();
56
void timelineFrameChanged(int frame);
57
void focusChanged(int px, int py, int rx, int ry, int rwidth, int rheight);
58
void slotMouseChanged(const QPoint& pos, const QPoint& old,
59
Qt::MouseButtons buttons, Qt::MouseButtons oldbuttons,
60
Qt::KeyboardModifiers modifiers, Qt::KeyboardModifiers oldmodifiers);
64
void recreateTexture();
65
void moveZoom(int x, int y);
69
bool polling; // Mouse polling
71
enum MouseTrackingType { MouseTrackingProportional = 0, MouseTrackingCentred = 1, MouseTrackingPush = 2, MouseTrackingDisabled = 3 };
72
MouseTrackingType mouseTracking;
73
bool enableFocusTracking;
75
enum MousePointerType { MousePointerScale = 0, MousePointerKeep = 1, MousePointerHide = 2 };
76
MousePointerType mousePointer;
84
XRenderPicture* xrenderPicture;