effecttemplate.h
Go to the documentation of this file.00001
00002
00003 #ifndef _CLUTTERMM_EFFECTTEMPLATE_H
00004 #define _CLUTTERMM_EFFECTTEMPLATE_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/alpha.h>
00027 #include <cluttermm/actor.h>
00028
00029
00030 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00031 typedef struct _ClutterEffectTemplate ClutterEffectTemplate;
00032 typedef struct _ClutterEffectTemplateClass ClutterEffectTemplateClass;
00033 #endif
00034
00035
00036 namespace Clutter
00037 { class EffectTemplate_Class; }
00038 namespace Clutter
00039 {
00040
00041
00042 class EffectTemplate :
00043 public Glib::Object
00044 {
00045
00046 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00047
00048 public:
00049 typedef EffectTemplate CppObjectType;
00050 typedef EffectTemplate_Class CppClassType;
00051 typedef ClutterEffectTemplate BaseObjectType;
00052 typedef ClutterEffectTemplateClass BaseClassType;
00053
00054 private: friend class EffectTemplate_Class;
00055 static CppClassType effecttemplate_class_;
00056
00057 private:
00058
00059 EffectTemplate(const EffectTemplate&);
00060 EffectTemplate& operator=(const EffectTemplate&);
00061
00062 protected:
00063 explicit EffectTemplate(const Glib::ConstructParams& construct_params);
00064 explicit EffectTemplate(ClutterEffectTemplate* castitem);
00065
00066 #endif
00067
00068 public:
00069 virtual ~EffectTemplate();
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 ClutterEffectTemplate* gobj() { return reinterpret_cast<ClutterEffectTemplate*>(gobject_); }
00078
00080 const ClutterEffectTemplate* gobj() const { return reinterpret_cast<ClutterEffectTemplate*>(gobject_); }
00081
00083 ClutterEffectTemplate* gobj_copy();
00084
00085 private:
00086
00087
00088 public:
00089 typedef sigc::slot<guint32, const Glib::RefPtr<Alpha>&> SlotAlphaFunc;
00090 typedef sigc::slot<void, const Glib::RefPtr<Actor>&> SlotEffectCompleteFunc;
00091
00092 protected:
00093 EffectTemplate(const Glib::RefPtr<Timeline>& timeline, const SlotAlphaFunc& alpha_func);
00094 EffectTemplate(guint msecs, const SlotAlphaFunc& alpha_func);
00095
00096
00097 public:
00098
00099 static Glib::RefPtr<EffectTemplate> create(const Glib::RefPtr<Timeline>& timeline, const SlotAlphaFunc& alpha_func);
00100
00101
00102 static Glib::RefPtr<EffectTemplate> create(guint msecs, const SlotAlphaFunc& alpha_func);
00103
00104
00111 void set_timeline_clone(bool setting);
00112
00119 bool get_timeline_clone() const;
00120
00121
00136 Glib::RefPtr<Timeline> fade(const Glib::RefPtr<Actor>& actor, guint8 opacity_end,
00137 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00138
00139
00154 Glib::RefPtr<Timeline> depth(const Glib::RefPtr<Actor>& actor, int depth_end,
00155 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00156
00157
00174 Glib::RefPtr<Timeline> move(const Glib::RefPtr<Actor>& actor, int x, int y,
00175 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00176
00177
00193 Glib::RefPtr<Timeline> path(const Glib::RefPtr<Actor>& actor, const Glib::ArrayHandle<Knot>& knots,
00194 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00195
00196
00212 Glib::RefPtr<Timeline> scale(const Glib::RefPtr<Actor>& actor, double x_scale_end, double y_scale_end,
00213 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00214
00215
00234 Glib::RefPtr<Timeline> rotate(const Glib::RefPtr<Actor>& actor, RotateAxis axis, double angle_end, int center_x, int center_y, int center_z, RotateDirection direction,
00235 const SlotEffectCompleteFunc& func = SlotEffectCompleteFunc());
00236
00237 #ifdef GLIBMM_PROPERTIES_ENABLED
00238
00244 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Timeline> > property_timeline() const;
00245 #endif //#GLIBMM_PROPERTIES_ENABLED
00246
00247
00248 #ifdef GLIBMM_PROPERTIES_ENABLED
00249
00255 Glib::PropertyProxy<bool> property_clone() ;
00256 #endif //#GLIBMM_PROPERTIES_ENABLED
00257
00258 #ifdef GLIBMM_PROPERTIES_ENABLED
00259
00265 Glib::PropertyProxy_ReadOnly<bool> property_clone() const;
00266 #endif //#GLIBMM_PROPERTIES_ENABLED
00267
00268
00269 public:
00270
00271 public:
00272
00273 #ifdef GLIBMM_VFUNCS_ENABLED
00274 #endif //GLIBMM_VFUNCS_ENABLED
00275
00276 protected:
00277
00278 #ifdef GLIBMM_VFUNCS_ENABLED
00279 #endif //GLIBMM_VFUNCS_ENABLED
00280
00281
00282 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00283 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00284
00285
00286 };
00287
00288 }
00289
00290
00291 namespace Glib
00292 {
00301 Glib::RefPtr<Clutter::EffectTemplate> wrap(ClutterEffectTemplate* object, bool take_copy = false);
00302 }
00303
00304
00305 #endif
00306