score.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_SCORE_H
00004 #define _CLUTTERMM_SCORE_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <glibmm/object.h>
00027 #include <cluttermm/timeline.h>
00028 #include <clutter/clutter-score.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _ClutterScore ClutterScore;
00033 typedef struct _ClutterScoreClass ClutterScoreClass;
00034 #endif
00035
00036
00037 namespace Clutter
00038 { class Score_Class; }
00039 namespace Clutter
00040 {
00041
00042
00043 class Score : public Glib::Object
00044 {
00045
00046 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00047
00048 public:
00049 typedef Score CppObjectType;
00050 typedef Score_Class CppClassType;
00051 typedef ClutterScore BaseObjectType;
00052 typedef ClutterScoreClass BaseClassType;
00053
00054 private: friend class Score_Class;
00055 static CppClassType score_class_;
00056
00057 private:
00058
00059 Score(const Score&);
00060 Score& operator=(const Score&);
00061
00062 protected:
00063 explicit Score(const Glib::ConstructParams& construct_params);
00064 explicit Score(ClutterScore* castitem);
00065
00066 #endif
00067
00068 public:
00069 virtual ~Score();
00070
00071 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00072 static GType get_type() G_GNUC_CONST;
00073 static GType get_base_type() G_GNUC_CONST;
00074 #endif
00075
00077 ClutterScore* gobj() { return reinterpret_cast<ClutterScore*>(gobject_); }
00078
00080 const ClutterScore* gobj() const { return reinterpret_cast<ClutterScore*>(gobject_); }
00081
00083 ClutterScore* gobj_copy();
00084
00085 private:
00086
00087
00088 protected:
00089 Score();
00090
00091 public:
00092
00093 static Glib::RefPtr<Score> create();
00094
00095
00102 void set_loop(bool loop = true);
00103
00109 bool get_loop() const;
00110
00111
00121 guint append(const Glib::RefPtr<Timeline>& parent, const Glib::RefPtr<Timeline>& timeline);
00122
00129 guint append(const Glib::RefPtr<Timeline>& timeline);
00130
00131
00148 void append_at_marker(const Glib::RefPtr<Timeline>& parent, const Glib::ustring& marker_name, const Glib::RefPtr<Timeline>& timeline);
00149
00150
00158 void remove(guint id);
00159
00164 void remove_all();
00165
00166
00174 Glib::RefPtr<Timeline> get_timeline(guint id);
00175
00183 Glib::RefPtr<const Timeline> get_timeline(guint id) const;
00184
00185
00194 Glib::SListHandle<Glib::RefPtr<Timeline> > list_timelines();
00195
00204 Glib::SListHandle<Glib::RefPtr<const Timeline> > list_timelines() const;
00205
00206
00211 void start();
00212
00217 void pause();
00218
00223 void stop();
00224
00229 void rewind();
00230
00236 bool is_playing() const;
00237
00238 #ifdef GLIBMM_PROPERTIES_ENABLED
00239
00245 Glib::PropertyProxy<bool> property_loop() ;
00246 #endif //#GLIBMM_PROPERTIES_ENABLED
00247
00248 #ifdef GLIBMM_PROPERTIES_ENABLED
00249
00255 Glib::PropertyProxy_ReadOnly<bool> property_loop() const;
00256 #endif //#GLIBMM_PROPERTIES_ENABLED
00257
00258
00264 Glib::SignalProxy0< void > signal_completed();
00265
00266
00272 Glib::SignalProxy0< void > signal_paused();
00273
00274
00280 Glib::SignalProxy0< void > signal_started();
00281
00282
00288 Glib::SignalProxy1< void,const Glib::RefPtr<Timeline>& > signal_timeline_completed();
00289
00290
00296 Glib::SignalProxy1< void,const Glib::RefPtr<Timeline>& > signal_timeline_started();
00297
00298
00299 public:
00300
00301 public:
00302
00303 #ifdef GLIBMM_VFUNCS_ENABLED
00304 #endif //GLIBMM_VFUNCS_ENABLED
00305
00306 protected:
00307
00308 #ifdef GLIBMM_VFUNCS_ENABLED
00309 #endif //GLIBMM_VFUNCS_ENABLED
00310
00311
00312 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00313 virtual void on_completed();
00314 virtual void on_paused();
00315 virtual void on_started();
00316 virtual void on_timeline_completed(const Glib::RefPtr<Timeline>& timeline);
00317 virtual void on_timeline_started(const Glib::RefPtr<Timeline>& timeline);
00318 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00319
00320
00321 };
00322
00323 }
00324
00325
00326 namespace Glib
00327 {
00336 Glib::RefPtr<Clutter::Score> wrap(ClutterScore* object, bool take_copy = false);
00337 }
00338
00339
00340 #endif
00341