behaviour-bspline.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_BEHAVIOUR_BSPLINE_H
00004 #define _CLUTTERMM_BEHAVIOUR_BSPLINE_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/behaviour.h>
00027 #include <cluttermm/alpha.h>
00028 #include <cluttermm/scriptable.h>
00029 #include <cluttermm/types.h>
00030  
00031 
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _ClutterBehaviourBspline ClutterBehaviourBspline;
00034 typedef struct _ClutterBehaviourBsplineClass ClutterBehaviourBsplineClass;
00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Clutter
00039 { class BehaviourBspline_Class; } // namespace Clutter
00040 namespace Clutter
00041 {
00042 
00043 
00044 class BehaviourBspline
00045 : public Behaviour,
00046   public Scriptable
00047 {
00048   
00049 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00050 
00051 public:
00052   typedef BehaviourBspline CppObjectType;
00053   typedef BehaviourBspline_Class CppClassType;
00054   typedef ClutterBehaviourBspline BaseObjectType;
00055   typedef ClutterBehaviourBsplineClass BaseClassType;
00056 
00057 private:  friend class BehaviourBspline_Class;
00058   static CppClassType behaviourbspline_class_;
00059 
00060 private:
00061   // noncopyable
00062   BehaviourBspline(const BehaviourBspline&);
00063   BehaviourBspline& operator=(const BehaviourBspline&);
00064 
00065 protected:
00066   explicit BehaviourBspline(const Glib::ConstructParams& construct_params);
00067   explicit BehaviourBspline(ClutterBehaviourBspline* castitem);
00068 
00069 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00070 
00071 public:
00072   virtual ~BehaviourBspline();
00073 
00074 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00075   static GType get_type()      G_GNUC_CONST;
00076   static GType get_base_type() G_GNUC_CONST;
00077 #endif
00078 
00080   ClutterBehaviourBspline*       gobj()       { return reinterpret_cast<ClutterBehaviourBspline*>(gobject_); }
00081 
00083   const ClutterBehaviourBspline* gobj() const { return reinterpret_cast<ClutterBehaviourBspline*>(gobject_); }
00084 
00086   ClutterBehaviourBspline* gobj_copy();
00087 
00088 private:
00089 
00090   
00091 protected:
00092   BehaviourBspline(const Glib::RefPtr<Alpha>& alpha, const Glib::ArrayHandle<Knot>& knots);
00093   
00094 
00095   // We don't wrap the vararg functions:
00096   
00097 
00098 public:
00099   
00100   static Glib::RefPtr<BehaviourBspline> create(const Glib::RefPtr<Alpha>& alpha, const Glib::ArrayHandle<Knot>& knots);
00101 
00102 
00111   void append_knot(const Knot& knot);
00112   
00120   void truncate(guint offset);
00121   
00128   void join(const Glib::RefPtr<const BehaviourBspline>& bs2);
00129   // TODO: is this cast ok?
00130  
00131 
00141   Glib::RefPtr<BehaviourBspline> split(guint offset);
00142   
00147   void clear();
00148   
00156   void adjust(guint offset, Knot& knot);
00157   
00165   void set_origin(Knot& knot);
00166   Knot get_origin() const;
00167   
00168 
00174   Glib::SignalProxy1< void,const Knot& > signal_knot_reached();
00175 
00176 
00177 public:
00178 
00179 public:
00180   //C++ methods used to invoke GTK+ virtual functions:
00181 #ifdef GLIBMM_VFUNCS_ENABLED
00182 #endif //GLIBMM_VFUNCS_ENABLED
00183 
00184 protected:
00185   //GTK+ Virtual Functions (override these to change behaviour):
00186 #ifdef GLIBMM_VFUNCS_ENABLED
00187 #endif //GLIBMM_VFUNCS_ENABLED
00188 
00189   //Default Signal Handlers::
00190 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00191   virtual void on_knot_reached(const Knot& knot);
00192 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00193 
00194 
00195 };
00196 
00197 } // namespace Clutter
00198 
00199 
00200 namespace Glib
00201 {
00210   Glib::RefPtr<Clutter::BehaviourBspline> wrap(ClutterBehaviourBspline* object, bool take_copy = false);
00211 }
00212 
00213 
00214 #endif /* _CLUTTERMM_BEHAVIOUR_BSPLINE_H */
00215 

Generated on Tue Feb 24 03:45:09 2009 for cluttermm by  doxygen 1.5.8