effecttemplate.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_EFFECTTEMPLATE_H
00004 #define _CLUTTERMM_EFFECTTEMPLATE_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 Library General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2 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  * Library General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Library 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 <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 /* DOXYGEN_SHOULD_SKIP_THIS */
00034 
00035 
00036 namespace Clutter
00037 { class EffectTemplate_Class; } // namespace Clutter
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   // noncopyable
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 /* DOXYGEN_SHOULD_SKIP_THIS */
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, const SlotEffectCompleteFunc& func);
00137 
00138   
00153   Glib::RefPtr<Timeline> depth(const Glib::RefPtr<Actor>& actor, int depth_end, const SlotEffectCompleteFunc& func);
00154 
00155   
00172   Glib::RefPtr<Timeline> move(const Glib::RefPtr<Actor>& actor, int x, int y, const SlotEffectCompleteFunc& func);
00173 
00174   // TODO: Use C++ container for knots
00175   
00191   Glib::RefPtr<Timeline> path(const Glib::RefPtr<Actor>& actor, const ClutterKnot* knots, guint n_knots, const SlotEffectCompleteFunc& func);
00192 
00193   
00209   Glib::RefPtr<Timeline> scale(const Glib::RefPtr<Actor>& actor, double x_scale_end, double y_scale_end, const SlotEffectCompleteFunc& func);
00210 
00211   
00230   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, const SlotEffectCompleteFunc& func);
00231 
00232   #ifdef GLIBMM_PROPERTIES_ENABLED
00233 
00239   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Timeline> > property_timeline() const;
00240 #endif //#GLIBMM_PROPERTIES_ENABLED
00241 
00242 
00243   #ifdef GLIBMM_PROPERTIES_ENABLED
00244 
00250   Glib::PropertyProxy<bool> property_clone() ;
00251 #endif //#GLIBMM_PROPERTIES_ENABLED
00252 
00253 #ifdef GLIBMM_PROPERTIES_ENABLED
00254 
00260   Glib::PropertyProxy_ReadOnly<bool> property_clone() const;
00261 #endif //#GLIBMM_PROPERTIES_ENABLED
00262 
00263 
00264 public:
00265 
00266 public:
00267   //C++ methods used to invoke GTK+ virtual functions:
00268 #ifdef GLIBMM_VFUNCS_ENABLED
00269 #endif //GLIBMM_VFUNCS_ENABLED
00270 
00271 protected:
00272   //GTK+ Virtual Functions (override these to change behaviour):
00273 #ifdef GLIBMM_VFUNCS_ENABLED
00274 #endif //GLIBMM_VFUNCS_ENABLED
00275 
00276   //Default Signal Handlers::
00277 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00278 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00279 
00280 
00281 };
00282 
00283 } // namespace Clutter
00284 
00285 //vim: ts=2,sw=2
00286 
00287 
00288 namespace Glib
00289 {
00298   Glib::RefPtr<Clutter::EffectTemplate> wrap(ClutterEffectTemplate* object, bool take_copy = false);
00299 }
00300 
00301 
00302 #endif /* _CLUTTERMM_EFFECTTEMPLATE_H */
00303 

Generated on Tue Aug 12 00:05:40 2008 for cluttermm by  doxygen 1.5.4