This file is indexed.

/usr/include/Wt/WAnimation is in libwt-dev 3.3.6+dfsg-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2011 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WANIMATION_H_
#define WANIMATION_H_

#include <Wt/WGlobal>

namespace Wt {

/*! \class WAnimation Wt/WAnimation Wt/WAnimation
 *  \brief A value class that defines a transition effect.
 *
 * This class defines an animation used as a transition to show or
 * hide a widget.
 *
 * The animation can be defined as a motion effect (e.g. sliding in or
 * out), optionally combined with a fade effect. A timing function
 * defines how the effects(s) are animated during the total duration of
 * the animation.
 *
 * \sa WWidget::animateShow(), WWidget::animateHide(), WWidget::setHidden()
 */
class WT_API WAnimation
{
public:
  /*! \brief An enumeration describing an animation effect
   *
   * An animation effect can be the combination of a motion and an optional
   * fade effect, e.g:
   * \code
   *  SlideInFromRight
   *  SlideInFromTop | Fade
   * \endcode
   *
   * You can specify only one motion effect.
   *
   * \sa setEffects()
   */
  enum AnimationEffect {
    SlideInFromLeft = 0x1,   //!< Slides right to show, left to hide
    SlideInFromRight = 0x2,  //!< Slides left to show, right to hide
    SlideInFromBottom = 0x3, //!< Slides up to show, down to hide
    SlideInFromTop = 0x4,    //!< Slides down to show, up to hide
    Pop = 0x5,               //!< Pops up to show, pops away to hide
    Fade = 0x100             //!< Fade effect
  };

  /*! \brief A timing function
   *
   * The timing function defines how the animation effects are animated
   * during the total duration of the animation.
   */
  enum TimingFunction {
    Ease,        //!< Slow start and slow finish
    Linear,      //!< Linear throughout
    EaseIn,      //!< Slow start
    EaseOut,     //!< Slow finish
    EaseInOut,   //!< Slow start and even slower finish
    CubicBezier  //!< (Currently unsupported)
  };

  /*! \brief Default constructor.
   *
   * Creates an animation that actually represent <i>no</i> animation.
   * (effects() == 0).
   */
  WAnimation();

  /*! \brief Creates an animation.
   *
   * An animation is created with given effects, timing and duration.
   */
  WAnimation(WFlags<AnimationEffect> effects, TimingFunction timing = Linear,
	     int duration = 250);

#ifdef WT_TARGET_JAVA
  /*! \brief Creates an animation.
   *
   * An animation is created with one effect, timing and duration.
   */
  WAnimation(AnimationEffect effect, TimingFunction timing = Linear,
	     int duration = 250);

  /*! \brief Creates an animation.
   *
   * An animation is created with two effects (a motion and Fade).
   */
  WAnimation(AnimationEffect effect1, AnimationEffect effect2,
	     TimingFunction timing = Linear, int duration = 250);
  
  /*! \brief Clone method.
   *
   * Clones this animation object.
   */
  WAnimation clone() const;
#endif

  /*! \brief Sets the animation effects.
   *
   * A motion effect (\link WAnimation::SlideInFromLeft
   * SlideInFromLeft\endlink, \link WAnimation::SlideInFromRight
   * SlideInFromRight\endlink, \link WAnimation::SlideInFromBottom
   * SlideInFromBottom\endlink, \link WAnimation::SlideInFromTop
   * SlideInFromTop\endlink or \link WAnimation::Pop Pop\endlink) can be combined
   * with a fade effect (\link WAnimation::Fade Fade\endlink).
   *
   * When effects are 0, the animation does not actually specify an
   * animation, but instead an instant transition.
   */
  void setEffects(WFlags<AnimationEffect> effects);

  /*! \brief Returns animation effects.
   *
   * \sa setEffects()
   */
  WFlags<AnimationEffect> effects() const { return effects_; }

  /*! \brief Comparison operator.
   *
   * Returns \c true if the transitions are exactly the same.
   */
  bool operator==(const WAnimation& other) const;

  /*! \brief Comparison operator.
   *
   * Returns \c true if the transitions are different.
   */
  bool operator!=(const WAnimation& other) const;

  /*! \brief Sets the duration.
   *
   * The default animation duration is 250 ms.
   *
   * \sa duration()
   */
  void setDuration(int msecs);

  /*! \brief Returns the duration.
   *
   * \sa setDuration()
   */
  int duration() const { return duration_; }

  /*! \brief Sets a timing function.
   *
   * The default timinig function is WAnimation::Linear.
   */
  void setTimingFunction(TimingFunction function);

  /*! \brief Returns the timing function.
   *
   * \sa setTimingFunction()
   */
  TimingFunction timingFunction() const { return timing_; }

  /*
  void setTimingFunction(double x1, double y1, double x2, double y2);
  const double[] timingFunction();
  */

  /*! \brief Returns whether the animation is empty.
   *
   * An animation is empty (meaning the transition is instant), if the
   * duration is 0, or if no effects are defined.
   */
  bool empty() const;

private:
  WFlags<AnimationEffect> effects_;
  TimingFunction          timing_;
  int                     duration_;
};

W_DECLARE_OPERATORS_FOR_FLAGS(WAnimation::AnimationEffect)

}

#endif // WANIMATION_H_