1
#ifndef ANIMATION_WINDOW_H
2
#define ANIMATION_WINDOW_H
5
public PluginClassHandler<AnimWindow, CompWindow, ANIMATION_ABI>
7
friend class PrivateAnimScreen;
8
friend class PrivateAnimWindow;
9
friend class AnimScreen;
10
friend class Animation;
13
AnimWindow (CompWindow *);
17
CompRegion &stepRegion ();
18
void resetStepRegionWithBB ();
20
void expandBBWithWindow ();
21
void expandBBWithScreen ();
22
void expandBBWithBox (Box &source);
23
void expandBBWithPoint (float fx, float fy);
24
void expandBBWithPoint2DTransform (GLVector &coords,
25
GLMatrix &transformMat);
26
bool expandBBWithPoints3DTransform (CompOutput &output,
29
GridAnim::GridModel::GridObject *objects,
30
unsigned int nPoints);
32
inline bool savedRectsValid () { return mSavedRectsValid; }
33
inline CompRect & saveWinRect () { return mSavedWinRect; }
34
inline CompRect & savedInRect () { return mSavedInRect; }
35
inline CompRect & savedOutRect () { return mSavedOutRect; }
36
inline CompWindowExtents & savedOutExtents () { return mSavedOutExtents; }
38
Animation *curAnimation ();
39
void createFocusAnimation (AnimEffect effect, int duration = 0);
41
void postAnimationCleanUp ();
43
// TODO: Group persistent data for a plugin and allow a plugin to only
44
// delete its own data.
45
void deletePersistentData (const char *name);
47
/// A "string -> persistent data" map for animations that require such data,
48
/// like some focus animations.
49
PersistentDataMap persistentData;
51
CompWindow *mWindow; ///< Window being animated. // TODO move to private:
53
PrivateAnimWindow *priv;
56
bool mSavedRectsValid;
57
CompRect mSavedWinRect; ///< Saved window contents geometry
58
CompRect mSavedInRect; ///< Saved window input geometry
59
CompRect mSavedOutRect; ///< Saved window output geometry
60
CompWindowExtents mSavedOutExtents; ///< Saved window output extents
62
CompOption::Value &pluginOptVal (ExtensionPluginInfo *pluginInfo,
63
unsigned int optionId,