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.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 gulong append(const Glib::RefPtr<Timeline>& parent, const Glib::RefPtr<Timeline>& timeline);
00122
00129 gulong 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(gulong id);
00159
00164 void remove_all();
00165
00166
00175 Glib::RefPtr<Timeline> get_timeline(gulong id);
00176
00185 Glib::RefPtr<const Timeline> get_timeline(gulong id) const;
00186
00187
00196 Glib::SListHandle<Glib::RefPtr<Timeline> > list_timelines();
00197
00206 Glib::SListHandle<Glib::RefPtr<const Timeline> > list_timelines() const;
00207
00208
00213 void start();
00214
00219 void pause();
00220
00225 void stop();
00226
00231 void rewind();
00232
00238 bool is_playing() const;
00239
00240 #ifdef GLIBMM_PROPERTIES_ENABLED
00241
00247 Glib::PropertyProxy<bool> property_loop() ;
00248 #endif //#GLIBMM_PROPERTIES_ENABLED
00249
00250 #ifdef GLIBMM_PROPERTIES_ENABLED
00251
00257 Glib::PropertyProxy_ReadOnly<bool> property_loop() const;
00258 #endif //#GLIBMM_PROPERTIES_ENABLED
00259
00260
00266 Glib::SignalProxy0< void > signal_completed();
00267
00268
00274 Glib::SignalProxy0< void > signal_paused();
00275
00276
00282 Glib::SignalProxy0< void > signal_started();
00283
00284
00290 Glib::SignalProxy1< void,const Glib::RefPtr<Timeline>& > signal_timeline_completed();
00291
00292
00298 Glib::SignalProxy1< void,const Glib::RefPtr<Timeline>& > signal_timeline_started();
00299
00300
00301 public:
00302
00303 public:
00304
00305 #ifdef GLIBMM_VFUNCS_ENABLED
00306 #endif //GLIBMM_VFUNCS_ENABLED
00307
00308 protected:
00309
00310 #ifdef GLIBMM_VFUNCS_ENABLED
00311 #endif //GLIBMM_VFUNCS_ENABLED
00312
00313
00314 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00315 virtual void on_completed();
00316 virtual void on_paused();
00317 virtual void on_started();
00318 virtual void on_timeline_completed(const Glib::RefPtr<Timeline>& timeline);
00319 virtual void on_timeline_started(const Glib::RefPtr<Timeline>& timeline);
00320 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00321
00322
00323 };
00324
00325 }
00326
00327
00328 namespace Glib
00329 {
00338 Glib::RefPtr<Clutter::Score> wrap(ClutterScore* object, bool take_copy = false);
00339 }
00340
00341
00342 #endif
00343