1
#ifndef ANIMATION_ZOOM_H
2
#define ANIMATION_ZOOM_H
7
virtual public TransformAnim
10
ZoomAnim (CompWindow *w,
11
WindowEvent curWindowEvent,
13
const AnimEffect info,
14
const CompRect &icon);
17
void step () { TransformAnim::step (); }
18
void adjustDuration ();
19
float getFadeProgress ();
20
bool updateBBUsed () { return true; }
21
void updateBB (CompOutput &output) { TransformAnim::updateBB (output); }
22
void applyTransform ();
24
float getActualProgress ();
26
virtual float getSpringiness ();
27
virtual bool isZoomFromCenter ();
28
virtual bool zoomToIcon () { return true; }
29
virtual bool hasExtraTransform () { return false; }
30
virtual void applyExtraTransform (float progress) {}
31
virtual bool shouldAvoidParallelogramLook () { return false; }
32
virtual bool scaleAroundIcon ();
33
virtual bool neverSpringy () { return false; }
34
void getZoomProgress (float *moveProgress,
38
static const float kDurationFactor;
39
static const float kSpringyDurationFactor;
40
static const float kNonspringyDurationFactor;
43
void getCenterScaleFull (Point *pCurCenter, Point *pCurScale,
44
Point *pWinCenter, Point *pIconCenter,
45
float *pMoveProgress);
46
void getCenterScale (Point *pCurCenter, Point *pCurScale);
50
public GridTransformAnim,
54
GridZoomAnim (CompWindow *w,
55
WindowEvent curWindowEvent,
57
const AnimEffect info,
58
const CompRect &icon);
59
void init () { GridTransformAnim::init (); }
60
void step () { ZoomAnim::step (); }
61
void updateTransform (GLMatrix &wTransform)
62
{ GridTransformAnim::updateTransform (wTransform); }
63
void updateBB (CompOutput &output) { GridTransformAnim::updateBB (output); }
64
bool updateBBUsed () { return true; }
65
bool neverSpringy () { return true; }
66
float getSpringiness () { return 0; }
67
bool scaleAroundIcon () { return false; }
68
void adjustDuration ();