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 Lesser General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2.1 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  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser 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 } // namespace Clutter
00053 
00054 
00055 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00056 namespace Glib
00057 {
00058 
00059 template <>
00060 class Value<Clutter::TimelineDirection> : public Glib::Value_Enum<Clutter::TimelineDirection>
00061 {
00062 public:
00063   static GType value_type() G_GNUC_CONST;
00064 };
00065 
00066 } // namespace Glib
00067 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00068 
00069 
00070 namespace Clutter
00071 {
00072 
00073 
00074 class Timeline : public Glib::Object
00075 {
00076   
00077 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00078 
00079 public:
00080   typedef Timeline CppObjectType;
00081   typedef Timeline_Class CppClassType;
00082   typedef ClutterTimeline BaseObjectType;
00083   typedef ClutterTimelineClass BaseClassType;
00084 
00085 private:  friend class Timeline_Class;
00086   static CppClassType timeline_class_;
00087 
00088 private:
00089   // noncopyable
00090   Timeline(const Timeline&);
00091   Timeline& operator=(const Timeline&);
00092 
00093 protected:
00094   explicit Timeline(const Glib::ConstructParams& construct_params);
00095   explicit Timeline(ClutterTimeline* castitem);
00096 
00097 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00098 
00099 public:
00100   virtual ~Timeline();
00101 
00102 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00103   static GType get_type()      G_GNUC_CONST;
00104   static GType get_base_type() G_GNUC_CONST;
00105 #endif
00106 
00108   ClutterTimeline*       gobj()       { return reinterpret_cast<ClutterTimeline*>(gobject_); }
00109 
00111   const ClutterTimeline* gobj() const { return reinterpret_cast<ClutterTimeline*>(gobject_); }
00112 
00114   ClutterTimeline* gobj_copy();
00115 
00116 private:
00117 
00118 
00119 protected:
00120   explicit Timeline(guint num_frames, guint fps);
00121 public:
00122   
00123   static Glib::RefPtr<Timeline> create(guint n_frames, guint fps);
00124 
00125   
00126   //We don't wrap this as a copy constructor because there is 
00127   //no way to use copy constructors with RefPtr:
00128   
00137   Glib::RefPtr<Timeline> clone() const;
00138 
00139   
00146   void set_duration(guint msecs);
00147   
00154   guint get_duration() const;
00155   //gtkmmproc error: clutter_timeline_set_speed : method defs lookup failed (1)
00156   //gtkmmproc error: clutter_timeline_get_speed : method defs lookup failed (1)
00157   
00160   void start();
00161   
00164   void pause();
00165   
00168   void stop();
00169   
00174   void rewind();
00175   
00179   void set_loop(bool loop = true);
00180   
00184   bool get_loop() const;
00185   
00189   void skip(guint n_frames);
00190   
00200   void advance(guint frame_num);
00201   //gtkmmproc error: clutter_timeline_get_current_frame : method defs lookup failed (1)
00202   
00214   guint get_delta() const;
00215   //gtkmmproc error: clutter_timeline_set_n_frames : method defs lookup failed (1)
00216   //gtkmmproc error: clutter_timeline_get_n_frames : method defs lookup failed (1)
00217   
00221   bool is_playing() const;
00222   
00228   void set_delay(guint msecs);
00229   
00235   guint get_delay() const;
00236   
00242   double get_progress() const;
00243   //gtkmmproc error: clutter_timeline_get_progressx : method defs lookup failed (1)
00244   
00251   void set_direction(TimelineDirection direction);
00252   
00259   TimelineDirection get_direction() const;
00260 
00261   
00274   Glib::StringArrayHandle list_markers(gint frame_num) const;
00275   
00290   void add_marker_at_time(const Glib::ustring& marker_name, guint msecs);
00291   //gtkmmproc error: clutter_timeline_add_marker_at_frame : method defs lookup failed (1)
00292   
00299   bool has_marker(const Glib::ustring& marker_name);
00300   
00306   void remove_marker(const Glib::ustring& marker_name);
00307   
00318   void advance_to_marker(const Glib::ustring& marker_name);
00319 
00320   #ifdef GLIBMM_PROPERTIES_ENABLED
00321 
00327   Glib::PropertyProxy<guint> property_delay() ;
00328 #endif //#GLIBMM_PROPERTIES_ENABLED
00329 
00330 #ifdef GLIBMM_PROPERTIES_ENABLED
00331 
00337   Glib::PropertyProxy_ReadOnly<guint> property_delay() const;
00338 #endif //#GLIBMM_PROPERTIES_ENABLED
00339 
00340   #ifdef GLIBMM_PROPERTIES_ENABLED
00341 
00347   Glib::PropertyProxy<TimelineDirection> property_direction() ;
00348 #endif //#GLIBMM_PROPERTIES_ENABLED
00349 
00350 #ifdef GLIBMM_PROPERTIES_ENABLED
00351 
00357   Glib::PropertyProxy_ReadOnly<TimelineDirection> property_direction() const;
00358 #endif //#GLIBMM_PROPERTIES_ENABLED
00359 
00360   #ifdef GLIBMM_PROPERTIES_ENABLED
00361 
00367   Glib::PropertyProxy<guint> property_duration() ;
00368 #endif //#GLIBMM_PROPERTIES_ENABLED
00369 
00370 #ifdef GLIBMM_PROPERTIES_ENABLED
00371 
00377   Glib::PropertyProxy_ReadOnly<guint> property_duration() const;
00378 #endif //#GLIBMM_PROPERTIES_ENABLED
00379 
00380   #ifdef GLIBMM_PROPERTIES_ENABLED
00381 
00387   Glib::PropertyProxy<guint> property_fps() ;
00388 #endif //#GLIBMM_PROPERTIES_ENABLED
00389 
00390 #ifdef GLIBMM_PROPERTIES_ENABLED
00391 
00397   Glib::PropertyProxy_ReadOnly<guint> property_fps() const;
00398 #endif //#GLIBMM_PROPERTIES_ENABLED
00399 
00400   #ifdef GLIBMM_PROPERTIES_ENABLED
00401 
00407   Glib::PropertyProxy<bool> property_loop() ;
00408 #endif //#GLIBMM_PROPERTIES_ENABLED
00409 
00410 #ifdef GLIBMM_PROPERTIES_ENABLED
00411 
00417   Glib::PropertyProxy_ReadOnly<bool> property_loop() const;
00418 #endif //#GLIBMM_PROPERTIES_ENABLED
00419 
00420   #ifdef GLIBMM_PROPERTIES_ENABLED
00421 
00427   Glib::PropertyProxy<guint> property_num_frames() ;
00428 #endif //#GLIBMM_PROPERTIES_ENABLED
00429 
00430 #ifdef GLIBMM_PROPERTIES_ENABLED
00431 
00437   Glib::PropertyProxy_ReadOnly<guint> property_num_frames() const;
00438 #endif //#GLIBMM_PROPERTIES_ENABLED
00439 
00440 
00446   Glib::SignalProxy0< void > signal_completed();
00447 
00448   
00454   Glib::SignalProxy1< void,gint > signal_new_frame();
00455 
00456   
00462   Glib::SignalProxy0< void > signal_paused();
00463 
00464   
00470   Glib::SignalProxy0< void > signal_started();
00471 
00472 
00473   // TODO: This signal is detailed, though I don't think we can wrap the
00474   // detail in Glibmm yet. armin.
00475  
00476 
00482   Glib::SignalProxy2< void,const Glib::ustring&,int > signal_marker_reached();
00483 
00484 
00485 public:
00486 
00487 public:
00488   //C++ methods used to invoke GTK+ virtual functions:
00489 #ifdef GLIBMM_VFUNCS_ENABLED
00490 #endif //GLIBMM_VFUNCS_ENABLED
00491 
00492 protected:
00493   //GTK+ Virtual Functions (override these to change behaviour):
00494 #ifdef GLIBMM_VFUNCS_ENABLED
00495 #endif //GLIBMM_VFUNCS_ENABLED
00496 
00497   //Default Signal Handlers::
00498 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00499   virtual void on_completed();
00500   virtual void on_new_frame(gint fram_num);
00501   virtual void on_paused();
00502   virtual void on_started();
00503   virtual void on_marker_reached(const Glib::ustring& marker_name, int frame_num);
00504 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00505 
00506 
00507 };
00508 
00509 } // namespace Clutter
00510 
00511 
00512 namespace Glib
00513 {
00522   Glib::RefPtr<Clutter::Timeline> wrap(ClutterTimeline* object, bool take_copy = false);
00523 }
00524 
00525 
00526 #endif /* _CLUTTERMM_TIMELINE_H */
00527 

Generated on 26 Feb 2010 for cluttermm by  doxygen 1.6.1