HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_playbar.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_playbar_h__
10 #define __HOM_playbar_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_ElemPtr.h"
15 #include "HOM_EnumModules.h"
16 #include "HOM_EnumValue.h"
17 #include "HOM_Errors.h"
18 
19 #include <map>
20 #include <vector>
21 
22 
23 class HOM_Pane;
24 class HOM_Vector2;
25 
26 SWIGOUT(%rename(playbar) HOM_playbar;)
28 {
29 public:
30  virtual ~HOM_playbar()
31  {}
32 
33  virtual std::string __repr__() = 0;
34 
35  virtual bool isPlaying() = 0;
36  virtual void play() = 0;
37  virtual void stop() = 0;
38  virtual void reverse() = 0;
39 
40  virtual void jumpToNextKeyframe() = 0;
41  virtual void jumpToPreviousKeyframe() = 0;
42 
43  virtual HOM_EnumValue &playMode() = 0;
44  virtual void setPlayMode(HOM_EnumValue &mode) = 0;
45 
46  virtual double frameIncrement() = 0;
47  virtual void setFrameIncrement(double increment) = 0;
48 
49  SWIGOUT(%newobject playbackRange;)
50  virtual HOM_Vector2 *playbackRange() = 0;
51  virtual void setPlaybackRange(double start, double end) = 0;
52 
53  virtual bool isRangeRestricted() = 0;
54  virtual void setRestrictRange(bool on) = 0;
55 
56  virtual bool usesIntegerFrames() = 0;
57  virtual void setUseIntegerFrames(bool on) = 0;
58 
59  virtual bool isRealTime() = 0;
60  virtual void setRealTime(bool on) = 0;
61 
62  virtual double realTimeFactor() = 0;
63  virtual void setRealTimeFactor(double factor) = 0;
64 
65  virtual bool isRealTimeSkipping() = 0;
66  virtual void setRealTimeSkipping(bool on) = 0;
67 
68  virtual bool isAudioShown() = 0;
69  virtual void showAudio(bool on) = 0;
70  virtual bool areKeysShown() = 0;
71  virtual void showKeys(bool on) = 0;
72  virtual bool isSimCacheShown() = 0;
73  virtual void showSimCache(bool on) = 0;
74  virtual bool isRangeSliderShown() = 0;
75  virtual void showRangeSlider(bool on) = 0;
76  virtual bool areTicksShown() = 0;
77  virtual void showTicks(bool on) = 0;
78 
79  virtual void moveToBottom() = 0;
80  virtual void moveToPane(HOM_Pane &pane) = 0;
81 
82  SWIGOUT(%ignore addOpaqueEventCallback;)
83  virtual void addOpaqueEventCallback(void *callback) = 0;
84  SWIGOUT(%ignore removeOpaqueEventCallback;)
85  virtual void removeOpaqueEventCallback(void *callback) = 0;
86  SWIGOUT(%ignore opaqueEventCallbacks;)
87  virtual std::vector<void *> opaqueEventCallbacks() = 0;
88  SWIGOUT(%ignore clearOpaqueEventCallbacks;)
89  virtual void clearOpaqueEventCallbacks() = 0;
90 
91 #ifdef SWIG
92 %extend
93 {
94  void addEventCallback(InterpreterObject callback)
95  { self->addOpaqueEventCallback(callback); }
96 
97  void removeEventCallback(InterpreterObject callback)
98  { self->removeOpaqueEventCallback(callback); }
99 
100  void clearEventCallbacks()
101  { self->clearOpaqueEventCallbacks(); }
102 
103  // Note that we return a vector of borrowed references because swig
104  // will increment the reference counts.
105  std::vector<InterpreterObject> eventCallbacks()
106  {
107  std::vector<void *> opaque_callbacks(self->opaqueEventCallbacks());
108 
109  std::vector<InterpreterObject> callbacks;
110  for (int i=0; i< opaque_callbacks.size(); ++i)
111  callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
112  return callbacks;
113  }
114 }
115 #endif
116 
117  virtual std::map<
119  std::vector< HOM_ElemPtr<HOM_BaseKeyframe> >
120  > selectedKeyframes() = 0;
121 
122  SWIGOUT(%newobject selectionRange;)
123  virtual HOM_Vector2 *selectionRange() = 0;
124 
125  virtual std::vector<HOM_ElemPtr<HOM_Vector2> > selectionRanges() = 0;
126 
127  SWIGOUT(%newobject timelineRange;)
128  virtual HOM_Vector2 *timelineRange() = 0;
129 
130  SWIGOUT(%newobject timeRange;)
131  virtual HOM_Vector2 *timeRange() = 0;
132  virtual void setTimeRange(double start, double end) = 0;
133 
134  SWIGOUT(%newobject frameRange;)
135  virtual HOM_Vector2 *frameRange() = 0;
136  virtual void setFrameRange(double start, double end) = 0;
137 };
138 
139 #endif
GLuint start
Definition: glcorearb.h:474
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:344
png_uint_32 i
Definition: png.h:2877
#define HOM_API
Definition: HOM_API.h:13
GLuint GLuint end
Definition: glcorearb.h:474
virtual ~HOM_playbar()
Definition: HOM_playbar.h:30
GLenum mode
Definition: glcorearb.h:98