behaviour-path.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_BEHAVIOUR_PATH_H
00004 #define _CLUTTERMM_BEHAVIOUR_PATH_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 <cluttermm/behaviour.h>
00027 #include <cluttermm/scriptable.h>
00028 #include <cluttermm/alpha.h>
00029 #include <cluttermm/path.h>
00030 #include <cluttermm/types.h>
00031
00032
00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00034 typedef struct _ClutterBehaviourPath ClutterBehaviourPath;
00035 typedef struct _ClutterBehaviourPathClass ClutterBehaviourPathClass;
00036 #endif
00037
00038
00039 namespace Clutter
00040 { class BehaviourPath_Class; }
00041 namespace Clutter
00042 {
00043
00044
00045 class BehaviourPath
00046 : public Behaviour,
00047 public Scriptable
00048 {
00049
00050 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00051
00052 public:
00053 typedef BehaviourPath CppObjectType;
00054 typedef BehaviourPath_Class CppClassType;
00055 typedef ClutterBehaviourPath BaseObjectType;
00056 typedef ClutterBehaviourPathClass BaseClassType;
00057
00058 private: friend class BehaviourPath_Class;
00059 static CppClassType behaviourpath_class_;
00060
00061 private:
00062
00063 BehaviourPath(const BehaviourPath&);
00064 BehaviourPath& operator=(const BehaviourPath&);
00065
00066 protected:
00067 explicit BehaviourPath(const Glib::ConstructParams& construct_params);
00068 explicit BehaviourPath(ClutterBehaviourPath* castitem);
00069
00070 #endif
00071
00072 public:
00073 virtual ~BehaviourPath();
00074
00075 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00076 static GType get_type() G_GNUC_CONST;
00077 static GType get_base_type() G_GNUC_CONST;
00078 #endif
00079
00081 ClutterBehaviourPath* gobj() { return reinterpret_cast<ClutterBehaviourPath*>(gobject_); }
00082
00084 const ClutterBehaviourPath* gobj() const { return reinterpret_cast<ClutterBehaviourPath*>(gobject_); }
00085
00087 ClutterBehaviourPath* gobj_copy();
00088
00089 private:
00090
00091
00092 protected:
00093 explicit BehaviourPath(const Glib::RefPtr<Alpha>& alpha, const Glib::RefPtr<Path>& path);
00094
00095 public:
00096
00097 static Glib::RefPtr<BehaviourPath> create(const Glib::RefPtr<Alpha>& alpha, const Glib::RefPtr<Path>& path);
00098
00099
00100 static Glib::RefPtr<BehaviourPath> create_with_knots(const Glib::RefPtr<Alpha>& alpha,
00101 const Glib::ArrayHandle<Knot>& knots);
00102 static Glib::RefPtr<BehaviourPath> create_with_description(const Glib::RefPtr<Alpha>& alpha,
00103 const Glib::ustring& description);
00104
00105
00113 void set_path(const Glib::RefPtr<Path>& path);
00114
00120 Glib::RefPtr<Path> get_path();
00121
00127 Glib::RefPtr<const Path> get_path() const;
00128
00129
00135 Glib::SignalProxy1< void,guint > signal_knot_reached();
00136
00137
00138 public:
00139
00140 public:
00141
00142 #ifdef GLIBMM_VFUNCS_ENABLED
00143 #endif //GLIBMM_VFUNCS_ENABLED
00144
00145 protected:
00146
00147 #ifdef GLIBMM_VFUNCS_ENABLED
00148 #endif //GLIBMM_VFUNCS_ENABLED
00149
00150
00151 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00152 virtual void on_knot_reached(guint knot_num);
00153 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00154
00155
00156 };
00157
00158 }
00159
00160
00161 namespace Glib
00162 {
00171 Glib::RefPtr<Clutter::BehaviourPath> wrap(ClutterBehaviourPath* object, bool take_copy = false);
00172 }
00173
00174
00175 #endif
00176