timeline.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_TIMELINE_H
00004 #define _CLUTTERMM_TIMELINE_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* Copyright (C) 2007 The cluttermm Development Team
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Library General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library General Public
00022  * License along with this library; if not, write to the Free
00023  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00024  */
00025 
00026 #include <glibmm/object.h>
00027 #include <cluttermm/types.h>
00028 
00029 
00030 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00031 typedef struct _ClutterTimeline ClutterTimeline;
00032 typedef struct _ClutterTimelineClass ClutterTimelineClass;
00033 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00034 
00035 
00036 namespace Clutter
00037 { class Timeline_Class; } // namespace Clutter
00038 namespace Clutter
00039 {
00040 
00046 enum TimelineDirection
00047 {
00048   TIMELINE_FORWARD,
00049   TIMELINE_BACKWARD
00050 };
00051 
00052 
00053 class Timeline : public Glib::Object
00054 {
00055   
00056 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00057 
00058 public:
00059   typedef Timeline CppObjectType;
00060   typedef Timeline_Class CppClassType;
00061   typedef ClutterTimeline BaseObjectType;
00062   typedef ClutterTimelineClass BaseClassType;
00063 
00064 private:  friend class Timeline_Class;
00065   static CppClassType timeline_class_;
00066 
00067 private:
00068   // noncopyable
00069   Timeline(const Timeline&);
00070   Timeline& operator=(const Timeline&);
00071 
00072 protected:
00073   explicit Timeline(const Glib::ConstructParams& construct_params);
00074   explicit Timeline(ClutterTimeline* castitem);
00075 
00076 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00077 
00078 public:
00079   virtual ~Timeline();
00080 
00081 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00082   static GType get_type()      G_GNUC_CONST;
00083   static GType get_base_type() G_GNUC_CONST;
00084 #endif
00085 
00087   ClutterTimeline*       gobj()       { return reinterpret_cast<ClutterTimeline*>(gobject_); }
00088 
00090   const ClutterTimeline* gobj() const { return reinterpret_cast<ClutterTimeline*>(gobject_); }
00091 
00093   ClutterTimeline* gobj_copy();
00094 
00095 private:
00096 
00097 
00098 protected:
00099   explicit Timeline(guint num_frames, guint fps);
00100   explicit Timeline(guint msecs);
00101 public:
00102   
00103   static Glib::RefPtr<Timeline> create(guint n_frames, guint fps);
00104 
00105   
00106   static Glib::RefPtr<Timeline> create(guint msecs);
00107 
00108   
00109   //We don't wrap this as a copy constructor because there is 
00110   //no way to use copy constructors with RefPtr:
00111   
00120   Glib::RefPtr<Timeline> clone() const;
00121 
00122   
00129   void set_duration(guint msecs);
00130   
00137   guint get_duration() const;
00138   
00142   void set_speed(guint fps);
00143   
00147   guint get_speed() const;
00148   
00151   void start();
00152   
00155   void pause();
00156   
00159   void stop();
00160   
00163   void rewind();
00164   
00168   void set_loop(bool loop = true);
00169   
00173   bool get_loop() const;
00174   
00178   void skip(guint n_frames);
00179   
00183   void advance(guint frame_num);
00184   
00188   int get_current_frame() const;
00189   
00202   guint get_delta(guint& msecs) const;
00203   
00207   void set_n_frames(guint n_frames);
00208   
00212   guint get_n_frames() const;
00213   
00217   bool is_playing() const;
00218   
00224   void set_delay(guint msecs);
00225   
00231   guint get_delay() const;
00232   
00238   double get_progress() const;
00239   
00245   Fixed get_progressx() const;
00246   
00253   void set_direction(TimelineDirection direction);
00254   
00261   TimelineDirection get_direction() const;
00262 
00263   #ifdef GLIBMM_PROPERTIES_ENABLED
00264 
00270   Glib::PropertyProxy<guint> property_delay() ;
00271 #endif //#GLIBMM_PROPERTIES_ENABLED
00272 
00273 #ifdef GLIBMM_PROPERTIES_ENABLED
00274 
00280   Glib::PropertyProxy_ReadOnly<guint> property_delay() const;
00281 #endif //#GLIBMM_PROPERTIES_ENABLED
00282 
00283   #ifdef GLIBMM_PROPERTIES_ENABLED
00284 
00290   Glib::PropertyProxy<guint> property_fps() ;
00291 #endif //#GLIBMM_PROPERTIES_ENABLED
00292 
00293 #ifdef GLIBMM_PROPERTIES_ENABLED
00294 
00300   Glib::PropertyProxy_ReadOnly<guint> property_fps() const;
00301 #endif //#GLIBMM_PROPERTIES_ENABLED
00302 
00303   #ifdef GLIBMM_PROPERTIES_ENABLED
00304 
00310   Glib::PropertyProxy<bool> property_loop() ;
00311 #endif //#GLIBMM_PROPERTIES_ENABLED
00312 
00313 #ifdef GLIBMM_PROPERTIES_ENABLED
00314 
00320   Glib::PropertyProxy_ReadOnly<bool> property_loop() const;
00321 #endif //#GLIBMM_PROPERTIES_ENABLED
00322 
00323   #ifdef GLIBMM_PROPERTIES_ENABLED
00324 
00330   Glib::PropertyProxy<guint> property_num_frames() ;
00331 #endif //#GLIBMM_PROPERTIES_ENABLED
00332 
00333 #ifdef GLIBMM_PROPERTIES_ENABLED
00334 
00340   Glib::PropertyProxy_ReadOnly<guint> property_num_frames() const;
00341 #endif //#GLIBMM_PROPERTIES_ENABLED
00342 
00343 
00349   Glib::SignalProxy0< void > signal_completed();
00350 
00351   
00357   Glib::SignalProxy1< void,gint > signal_new_frame();
00358 
00359   
00365   Glib::SignalProxy0< void > signal_paused();
00366 
00367   
00373   Glib::SignalProxy0< void > signal_started();
00374 
00375 
00376 public:
00377 
00378 public:
00379   //C++ methods used to invoke GTK+ virtual functions:
00380 #ifdef GLIBMM_VFUNCS_ENABLED
00381 #endif //GLIBMM_VFUNCS_ENABLED
00382 
00383 protected:
00384   //GTK+ Virtual Functions (override these to change behaviour):
00385 #ifdef GLIBMM_VFUNCS_ENABLED
00386 #endif //GLIBMM_VFUNCS_ENABLED
00387 
00388   //Default Signal Handlers::
00389 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00390   virtual void on_completed();
00391   virtual void on_new_frame(gint fram_num);
00392   virtual void on_paused();
00393   virtual void on_started();
00394 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00395 
00396 
00397 };
00398 
00399 } // namespace Clutter
00400 
00401 
00402 namespace Glib
00403 {
00412   Glib::RefPtr<Clutter::Timeline> wrap(ClutterTimeline* object, bool take_copy = false);
00413 }
00414 
00415 
00416 #endif /* _CLUTTERMM_TIMELINE_H */
00417 

Generated on Fri Jun 6 02:16:47 2008 for cluttermm by  doxygen 1.5.5