actor.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_ACTOR_H
00004 #define _CLUTTERMM_ACTOR_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 Lesser General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2.1 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  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser 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 <glibmm/object.h>
00027 #include <pangomm/context.h>
00028 #include <pangomm/layout.h>
00029 #include <cluttermm/animation.h>
00030 #include <cluttermm/color.h>
00031 #include <cluttermm/scriptable.h>
00032 #include <cluttermm/shader.h>
00033 #include <cluttermm/types.h> // For Event*
00034 #include <clutter/clutter.h> // For ClutterActorBox
00035  
00036 
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038 typedef struct _ClutterActor ClutterActor;
00039 typedef struct _ClutterActorClass ClutterActorClass;
00040 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00041 
00042 
00043 namespace Clutter
00044 { class Actor_Class; } // namespace Clutter
00045 namespace Clutter
00046 {
00047 
00048 class Animation;
00049 
00050 class ActorBox
00051 {
00052   public:
00053 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00054   typedef ActorBox CppObjectType;
00055   typedef ClutterActorBox BaseObjectType;
00056 
00057   static GType get_type() G_GNUC_CONST;
00058 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00059 
00060   ActorBox();
00061 
00062   explicit ActorBox(const ClutterActorBox* gobject); // always takes a copy
00063 
00065   ClutterActorBox*       gobj()       { return &gobject_; }
00066 
00068   const ClutterActorBox* gobj() const { return &gobject_; }
00069 
00070 protected:
00071   ClutterActorBox gobject_;
00072 
00073 private:
00074   
00075 public:
00076   ActorBox(float x1, float y1, float x2, float y2);
00077 
00078    float get_x1() const;
00079     void set_x1(const float& value);
00080     float get_y1() const;
00081     void set_y1(const float& value);
00082     float get_x2() const;
00083     void set_x2(const float& value);
00084     float get_y2() const;
00085     void set_y2(const float& value);
00086  
00087 
00088 };
00089 
00103 enum ActorFlags
00104 {
00105   ACTOR_MAPPED = 1 << 1,
00106   ACTOR_REALIZED = 1 << 2,
00107   ACTOR_REACTIVE = 1 << 3,
00108   ACTOR_VISIBLE = 1 << 4
00109 };
00110 
00112 inline ActorFlags operator|(ActorFlags lhs, ActorFlags rhs)
00113   { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00114 
00116 inline ActorFlags operator&(ActorFlags lhs, ActorFlags rhs)
00117   { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00118 
00120 inline ActorFlags operator^(ActorFlags lhs, ActorFlags rhs)
00121   { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00122 
00124 inline ActorFlags operator~(ActorFlags flags)
00125   { return static_cast<ActorFlags>(~static_cast<unsigned>(flags)); }
00126 
00128 inline ActorFlags& operator|=(ActorFlags& lhs, ActorFlags rhs)
00129   { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00130 
00132 inline ActorFlags& operator&=(ActorFlags& lhs, ActorFlags rhs)
00133   { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00134 
00136 inline ActorFlags& operator^=(ActorFlags& lhs, ActorFlags rhs)
00137   { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00138 
00139 } // namespace Clutter
00140 
00141 
00142 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00143 namespace Glib
00144 {
00145 
00146 template <>
00147 class Value<Clutter::ActorFlags> : public Glib::Value_Flags<Clutter::ActorFlags>
00148 {
00149 public:
00150   static GType value_type() G_GNUC_CONST;
00151 };
00152 
00153 } // namespace Glib
00154 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00155 
00156 
00157 namespace Clutter
00158 {
00159 
00171 enum AllocationFlags
00172 {
00173   ALLOCATION_NONE = 0,
00174   ABSOLUTE_ORIGIN_CHANGED = 1 << 1
00175 };
00176 
00178 inline AllocationFlags operator|(AllocationFlags lhs, AllocationFlags rhs)
00179   { return static_cast<AllocationFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00180 
00182 inline AllocationFlags operator&(AllocationFlags lhs, AllocationFlags rhs)
00183   { return static_cast<AllocationFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00184 
00186 inline AllocationFlags operator^(AllocationFlags lhs, AllocationFlags rhs)
00187   { return static_cast<AllocationFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00188 
00190 inline AllocationFlags operator~(AllocationFlags flags)
00191   { return static_cast<AllocationFlags>(~static_cast<unsigned>(flags)); }
00192 
00194 inline AllocationFlags& operator|=(AllocationFlags& lhs, AllocationFlags rhs)
00195   { return (lhs = static_cast<AllocationFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00196 
00198 inline AllocationFlags& operator&=(AllocationFlags& lhs, AllocationFlags rhs)
00199   { return (lhs = static_cast<AllocationFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00200 
00202 inline AllocationFlags& operator^=(AllocationFlags& lhs, AllocationFlags rhs)
00203   { return (lhs = static_cast<AllocationFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00204 
00205 } // namespace Clutter
00206 
00207 
00208 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00209 namespace Glib
00210 {
00211 
00212 template <>
00213 class Value<Clutter::AllocationFlags> : public Glib::Value_Flags<Clutter::AllocationFlags>
00214 {
00215 public:
00216   static GType value_type() G_GNUC_CONST;
00217 };
00218 
00219 } // namespace Glib
00220 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00221 
00222 
00223 namespace Clutter
00224 {
00225 
00226 
00227 class Actor : public Glib::Object, public Scriptable
00228 {
00229   
00230 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00231 
00232 public:
00233   typedef Actor CppObjectType;
00234   typedef Actor_Class CppClassType;
00235   typedef ClutterActor BaseObjectType;
00236   typedef ClutterActorClass BaseClassType;
00237 
00238 private:  friend class Actor_Class;
00239   static CppClassType actor_class_;
00240 
00241 private:
00242   // noncopyable
00243   Actor(const Actor&);
00244   Actor& operator=(const Actor&);
00245 
00246 protected:
00247   explicit Actor(const Glib::ConstructParams& construct_params);
00248   explicit Actor(ClutterActor* castitem);
00249 
00250 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00251 
00252 public:
00253   virtual ~Actor();
00254 
00255 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00256   static GType get_type()      G_GNUC_CONST;
00257   static GType get_base_type() G_GNUC_CONST;
00258 #endif
00259 
00261   ClutterActor*       gobj()       { return reinterpret_cast<ClutterActor*>(gobject_); }
00262 
00264   const ClutterActor* gobj() const { return reinterpret_cast<ClutterActor*>(gobject_); }
00265 
00267   ClutterActor* gobj_copy();
00268 
00269 private:
00270 
00271   
00272 protected:
00273   Actor();
00274 
00275 public:
00276   //There is no create() because this is an abstract base class.
00277   //_WRAP_CREATE()
00278 
00279   void set_flags(ActorFlags flags);
00280   void unset_flags(ActorFlags flags);
00281    ActorFlags get_flags() const;
00282  
00283   bool is_mapped() const;
00284   bool is_realized() const;
00285   bool is_visible() const;
00286   bool is_reactive() const;
00287 
00288   
00298   void show();
00299   
00304   void show_all();
00305   
00315   void hide();
00316   
00321   void hide_all();
00322   
00338   void realize();
00339   
00368   void unrealize();
00369   
00377   void paint();
00378   
00392   void queue_redraw();
00393   
00402   void queue_relayout();
00403 
00404    
00405   //TODO: Check that we don't want to wrap this: _WRAP_METHOD(void destroy(), clutter_actor_destroy)
00406   //__IGNORE(clutter_actor_destroy)
00407 
00408   
00426   Glib::RefPtr<Pango::Context> get_pango_context();
00427   
00445   Glib::RefPtr<const Pango::Context> get_pango_context() const;
00446   
00457   Glib::RefPtr<Pango::Context> create_pango_context();
00458 
00459   
00475   Glib::RefPtr<Pango::Layout> create_pango_layout(const Glib::ustring& text);
00476 
00477   
00483   Glib::RefPtr<Actor> get_stage();
00484   
00490   Glib::RefPtr<const Actor> get_stage() const;
00491  
00492 
00499   void set_geometry(const Geometry& geometry);
00500   
00508   Geometry get_geometry() const;
00509   //_WRAP_METHOD(void get_coords(float *x_1, float *y_1, float *x_2, float *y_2) const, clutter_actor_get_coords)
00510   
00524   void set_size(float width, float height);
00525   
00538   void get_position(float& x, float& y);
00539   
00548   void set_position(float x, float y);
00549   //_WRAP_METHOD(void get_abs_position(float& x, float& y) const, clutter_actor_get_abs_position)
00550   
00556   float get_width() const;
00557   
00563   float get_height() const;
00564   
00573   void set_width(float width);
00574   
00583   void set_height(float height);
00584 
00585   
00594   void set_x(float x);
00595   
00601   float get_x() const;
00602   
00611   void set_y(float y);
00612   
00618   float get_y() const;
00619   
00625   void set_reactive(bool reactive = true);
00626   
00632   bool get_reactive() const;
00633 
00634   
00655   void set_rotation(RotateAxis axis, double angle, float x, float y, float z);
00656   
00667   void set_z_rotation_from_gravity(double angle, Gravity gravity);
00668   
00679   double get_rotation(RotateAxis axis, float& x, float& y, float& z) const;
00680   
00688   Gravity get_z_rotation_gravity() const;
00689   
00694   void set_opacity(guint8 opacity);
00695   
00703   guint8 get_opacity() const;
00704   
00709   void set_name(const gchar *name);
00710   
00715   Glib::ustring get_name() const;
00716   
00722   guint32 get_gid() const;
00723   
00734   void set_clip(float xoff, float yoff, float width, float height);
00735   
00744   void get_clip(float& xoff, float& yoff, float& width, float& height);
00745   
00748   void remove_clip();
00749   
00755   bool has_clip() const;
00756   
00764   void set_parent(const Glib::RefPtr<Actor>& parent);
00765   
00769   Glib::RefPtr<Actor> get_parent();
00770   
00774   Glib::RefPtr<const Actor> get_parent() const;
00775   
00786   void reparent(const Glib::RefPtr<Actor>& new_parent);
00787   
00796   void unparent();
00797   
00805   void raise(const Glib::RefPtr<Actor>& below);
00806   
00814   void lower(const Glib::RefPtr<Actor>& above);
00815   
00820   void raise_top ();
00821   
00826   void lower_bottom();
00827 
00828   
00835   Glib::RefPtr<Shader> get_shader();
00836   
00843   Glib::RefPtr<const Shader> get_shader() const;
00844   
00854   void set_shader(const Glib::RefPtr<Shader>& shader);
00855   
00864   template <class ParamType> void set_shader_param(const Glib::ustring& param, const ParamType& value);
00865   
00866   //_WRAP_METHOD_DOCS_ONLY(clutter_actor_get_paint_area)
00867   //ActorBox get_paint_area() const;
00868   
00874   bool is_rotated() const;
00875   
00881   bool is_scaled() const;
00882   
00905   void get_allocation_vertices(Vertex vertices[4]) const;
00906   
00929   void get_allocation_vertices(const Glib::RefPtr<Actor>& ancestor, Vertex vertices[4]) const;
00930   
00946   void get_abs_allocation_vertices(Vertex vertices[4]) const;
00947   
00963   ActorBox get_allocation_box() const;
00964  
00965 
00980   void allocate(const ActorBox& box, AllocationFlags absolute_origin_changed = ALLOCATION_NONE);
00981   
00998   void allocate(AllocationFlags absolute_origin_changed = ALLOCATION_NONE);
00999 
01000  
01016   void apply_relative_transform_to_point(const Glib::RefPtr<Actor>& ancestor, const Vertex& point, Vertex& vertex) const;
01017   
01040   void apply_relative_transform_to_point(const Vertex& point, Vertex& vertex) const;
01041 
01042  
01061   void get_preferred_size(float& min_width_p, float& min_height_p, float& natural_width_p, float& natural_height_p) const;
01062   
01079   void get_preferred_width(float for_height, float& min_width_p, float& natural_width_p) const;
01080   
01096   void get_preferred_height(float for_width, float& min_height_p, float& natural_height_p) const;
01097   
01109   guint8 get_paint_opacity() const;
01110   
01119   bool get_paint_visibility() const;
01120   
01134   void move_anchor_point_from_gravity(Gravity gravity);
01135   
01143   void move_anchor_point(float anchor_x, float anchor_y);
01144 
01145 
01152   bool get_fixed_position_set() const;
01153   
01160   void set_fixed_position_set(bool is_set);
01161   
01168   void get_transformed_position(float& x, float& y) const;
01169   
01194   void get_transformed_size(float& width, float& height) const;
01195   
01196   
01210   Geometry get_allocation_geometry() const;
01211 
01212   
01219   void set_depth(float depth);
01220   
01224   float get_depth() const;
01225   
01234   void set_scale(double scale_x, double scale_y);
01235   
01246   void set_scale_full(double scale_x, double scale_y, float center_x, float center_y);
01247   
01260   void set_scale_with_gravity(double scale_x, double scale_y, Gravity gravity);
01261   
01268   void get_scale(double& scale_x, double& scale_y) const;
01269   
01279   void get_scale_center(float& center_x, float& center_y) const;
01280   
01288   Gravity get_scale_gravity() const;
01289 
01290   //_WRAP_METHOD(void get_abs_size(float& width, float& height) const, clutter_actor_get_abs_size)
01291   
01306   void get_size(float& width, float& height) const;
01307   
01319   void move_by(float dx, float dy);
01320 
01321   
01330   void apply_transform_to_point(const Vertex& point, Vertex& vertex) const;
01331   
01355   void transform_stage_point(float x, float y, float& x_out, float& y_out) const;
01356 
01357   
01369   bool event(ClutterEvent* event, bool capture);
01370   
01378   static Glib::RefPtr<Actor> get_actor_by_gid(guint32 id);
01379 
01380   
01390   void set_anchor_point(float anchor_x, float anchor_y);
01391   
01398   void get_anchor_point(float& anchor_x, float& anchor_y) const;
01399   
01412   void set_anchor_point_from_gravity(ClutterGravity gravity);
01413   
01421   Gravity get_anchor_point_gravity();
01422 
01423   
01429   void grab_key_focus();
01430 
01431 // Animation API
01432   // Hand coded to use std::map instead of the 3 arguments used by C API
01433   
01434 
01435   //TODO: Documentation.
01436   Glib::RefPtr<Animation> animate(gulong mode, unsigned int duration, const std::map<std::string, Glib::ValueBase>& properties);
01437   Glib::RefPtr<Animation> animate(gulong mode, const Glib::RefPtr<Timeline>& timeline, const std::map<std::string, Glib::ValueBase>& properties);
01438   Glib::RefPtr<Animation> animate(const Glib::RefPtr<Alpha>& alpha, const std::map<std::string, Glib::ValueBase>& properties);
01439   
01440   
01447   Glib::RefPtr<Animation> get_animation();
01448   
01455   Glib::RefPtr<const Animation> get_animation() const;
01456 
01457 // signals
01458   
01464   Glib::SignalProxy1< bool,ButtonEvent* > signal_button_press_event();
01465 
01466   
01472   Glib::SignalProxy1< bool,ButtonEvent* > signal_button_release_event();
01473 
01474   
01480   Glib::SignalProxy1< bool,MotionEvent* > signal_motion_event();
01481 
01482   
01488   Glib::SignalProxy1< bool,CrossingEvent* > signal_leave_event();
01489 
01490   
01496   Glib::SignalProxy0< void > signal_show();
01497 
01498   
01504   Glib::SignalProxy0< void > signal_hide();
01505 
01506   
01512   Glib::SignalProxy0< void > signal_destroy();
01513 
01514   
01520   Glib::SignalProxy1< bool,KeyEvent* > signal_key_release_event();
01521 
01522   
01528   Glib::SignalProxy1< bool,CrossingEvent* > signal_enter_event();
01529 
01530   
01536   Glib::SignalProxy1< bool,Event* > signal_event();
01537 
01538   //_WRAP_SIGNAL(void focus_out(), "focus_out")
01539   //_WRAP_SIGNAL(void focus_in(), "focus_in")
01540  
01541 
01547   Glib::SignalProxy1< void,const Glib::RefPtr<Actor>& > signal_parent_set();
01548 
01549   
01555   Glib::SignalProxy1< bool,ScrollEvent* > signal_scroll_event();
01556 
01557   
01563   Glib::SignalProxy1< bool,KeyEvent* > signal_key_press_event();
01564 
01565   
01571   Glib::SignalProxy1< bool,Event* > signal_captured_event();
01572 
01573   
01579   Glib::SignalProxy0< void > signal_paint();
01580 
01581   
01587   Glib::SignalProxy1< void,const Glib::RefPtr<Actor>& > signal_queue_redaw();
01588 
01589   
01595   Glib::SignalProxy0< void > signal_realize();
01596 
01597   
01603   Glib::SignalProxy0< void > signal_unrealize();
01604 
01605 
01606   #ifdef GLIBMM_PROPERTIES_ENABLED
01607 
01613   Glib::PropertyProxy_ReadOnly<ActorBox> property_allocation() const;
01614 #endif //#GLIBMM_PROPERTIES_ENABLED
01615 
01616 
01617   #ifdef GLIBMM_PROPERTIES_ENABLED
01618 
01624   Glib::PropertyProxy<int> property_anchor_x() ;
01625 #endif //#GLIBMM_PROPERTIES_ENABLED
01626 
01627 #ifdef GLIBMM_PROPERTIES_ENABLED
01628 
01634   Glib::PropertyProxy_ReadOnly<int> property_anchor_x() const;
01635 #endif //#GLIBMM_PROPERTIES_ENABLED
01636 
01637   #ifdef GLIBMM_PROPERTIES_ENABLED
01638 
01644   Glib::PropertyProxy<int> property_anchor_y() ;
01645 #endif //#GLIBMM_PROPERTIES_ENABLED
01646 
01647 #ifdef GLIBMM_PROPERTIES_ENABLED
01648 
01654   Glib::PropertyProxy_ReadOnly<int> property_anchor_y() const;
01655 #endif //#GLIBMM_PROPERTIES_ENABLED
01656 
01657   #ifdef GLIBMM_PROPERTIES_ENABLED
01658 
01664   Glib::PropertyProxy<Geometry> property_clip() ;
01665 #endif //#GLIBMM_PROPERTIES_ENABLED
01666 
01667 #ifdef GLIBMM_PROPERTIES_ENABLED
01668 
01674   Glib::PropertyProxy_ReadOnly<Geometry> property_clip() const;
01675 #endif //#GLIBMM_PROPERTIES_ENABLED
01676 
01677   #ifdef GLIBMM_PROPERTIES_ENABLED
01678 
01684   Glib::PropertyProxy<int> property_depth() ;
01685 #endif //#GLIBMM_PROPERTIES_ENABLED
01686 
01687 #ifdef GLIBMM_PROPERTIES_ENABLED
01688 
01694   Glib::PropertyProxy_ReadOnly<int> property_depth() const;
01695 #endif //#GLIBMM_PROPERTIES_ENABLED
01696 
01697   #ifdef GLIBMM_PROPERTIES_ENABLED
01698 
01704   Glib::PropertyProxy<bool> property_fixed_position_set() ;
01705 #endif //#GLIBMM_PROPERTIES_ENABLED
01706 
01707 #ifdef GLIBMM_PROPERTIES_ENABLED
01708 
01714   Glib::PropertyProxy_ReadOnly<bool> property_fixed_position_set() const;
01715 #endif //#GLIBMM_PROPERTIES_ENABLED
01716 
01717   #ifdef GLIBMM_PROPERTIES_ENABLED
01718 
01724   Glib::PropertyProxy<float> property_fixed_x() ;
01725 #endif //#GLIBMM_PROPERTIES_ENABLED
01726 
01727 #ifdef GLIBMM_PROPERTIES_ENABLED
01728 
01734   Glib::PropertyProxy_ReadOnly<float> property_fixed_x() const;
01735 #endif //#GLIBMM_PROPERTIES_ENABLED
01736 
01737   #ifdef GLIBMM_PROPERTIES_ENABLED
01738 
01744   Glib::PropertyProxy<float> property_fixed_y() ;
01745 #endif //#GLIBMM_PROPERTIES_ENABLED
01746 
01747 #ifdef GLIBMM_PROPERTIES_ENABLED
01748 
01754   Glib::PropertyProxy_ReadOnly<float> property_fixed_y() const;
01755 #endif //#GLIBMM_PROPERTIES_ENABLED
01756 
01757   #ifdef GLIBMM_PROPERTIES_ENABLED
01758 
01764   Glib::PropertyProxy_ReadOnly<bool> property_has_clip() const;
01765 #endif //#GLIBMM_PROPERTIES_ENABLED
01766 
01767 
01768   #ifdef GLIBMM_PROPERTIES_ENABLED
01769 
01775   Glib::PropertyProxy<int> property_height() ;
01776 #endif //#GLIBMM_PROPERTIES_ENABLED
01777 
01778 #ifdef GLIBMM_PROPERTIES_ENABLED
01779 
01785   Glib::PropertyProxy_ReadOnly<int> property_height() const;
01786 #endif //#GLIBMM_PROPERTIES_ENABLED
01787 
01788   #ifdef GLIBMM_PROPERTIES_ENABLED
01789 
01795   Glib::PropertyProxy<float> property_min_height() ;
01796 #endif //#GLIBMM_PROPERTIES_ENABLED
01797 
01798 #ifdef GLIBMM_PROPERTIES_ENABLED
01799 
01805   Glib::PropertyProxy_ReadOnly<float> property_min_height() const;
01806 #endif //#GLIBMM_PROPERTIES_ENABLED
01807 
01808   #ifdef GLIBMM_PROPERTIES_ENABLED
01809 
01815   Glib::PropertyProxy<bool> property_min_height_set() ;
01816 #endif //#GLIBMM_PROPERTIES_ENABLED
01817 
01818 #ifdef GLIBMM_PROPERTIES_ENABLED
01819 
01825   Glib::PropertyProxy_ReadOnly<bool> property_min_height_set() const;
01826 #endif //#GLIBMM_PROPERTIES_ENABLED
01827 
01828   #ifdef GLIBMM_PROPERTIES_ENABLED
01829 
01835   Glib::PropertyProxy<float> property_min_width() ;
01836 #endif //#GLIBMM_PROPERTIES_ENABLED
01837 
01838 #ifdef GLIBMM_PROPERTIES_ENABLED
01839 
01845   Glib::PropertyProxy_ReadOnly<float> property_min_width() const;
01846 #endif //#GLIBMM_PROPERTIES_ENABLED
01847 
01848   #ifdef GLIBMM_PROPERTIES_ENABLED
01849 
01855   Glib::PropertyProxy<bool> property_min_width_set() ;
01856 #endif //#GLIBMM_PROPERTIES_ENABLED
01857 
01858 #ifdef GLIBMM_PROPERTIES_ENABLED
01859 
01865   Glib::PropertyProxy_ReadOnly<bool> property_min_width_set() const;
01866 #endif //#GLIBMM_PROPERTIES_ENABLED
01867 
01868   #ifdef GLIBMM_PROPERTIES_ENABLED
01869 
01875   Glib::PropertyProxy<guint8> property_opacity() ;
01876 #endif //#GLIBMM_PROPERTIES_ENABLED
01877 
01878 #ifdef GLIBMM_PROPERTIES_ENABLED
01879 
01885   Glib::PropertyProxy_ReadOnly<guint8> property_opacity() const;
01886 #endif //#GLIBMM_PROPERTIES_ENABLED
01887 
01888   #ifdef GLIBMM_PROPERTIES_ENABLED
01889 
01895   Glib::PropertyProxy<bool> property_reactive() ;
01896 #endif //#GLIBMM_PROPERTIES_ENABLED
01897 
01898 #ifdef GLIBMM_PROPERTIES_ENABLED
01899 
01905   Glib::PropertyProxy_ReadOnly<bool> property_reactive() const;
01906 #endif //#GLIBMM_PROPERTIES_ENABLED
01907 
01908   #ifdef GLIBMM_PROPERTIES_ENABLED
01909 
01915   Glib::PropertyProxy<RequestMode> property_request_mode() ;
01916 #endif //#GLIBMM_PROPERTIES_ENABLED
01917 
01918 #ifdef GLIBMM_PROPERTIES_ENABLED
01919 
01925   Glib::PropertyProxy_ReadOnly<RequestMode> property_request_mode() const;
01926 #endif //#GLIBMM_PROPERTIES_ENABLED
01927 
01928   #ifdef GLIBMM_PROPERTIES_ENABLED
01929 
01935   Glib::PropertyProxy<double> property_rotation_angle_x() ;
01936 #endif //#GLIBMM_PROPERTIES_ENABLED
01937 
01938 #ifdef GLIBMM_PROPERTIES_ENABLED
01939 
01945   Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_x() const;
01946 #endif //#GLIBMM_PROPERTIES_ENABLED
01947 
01948   #ifdef GLIBMM_PROPERTIES_ENABLED
01949 
01955   Glib::PropertyProxy<double> property_rotation_angle_y() ;
01956 #endif //#GLIBMM_PROPERTIES_ENABLED
01957 
01958 #ifdef GLIBMM_PROPERTIES_ENABLED
01959 
01965   Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_y() const;
01966 #endif //#GLIBMM_PROPERTIES_ENABLED
01967 
01968   #ifdef GLIBMM_PROPERTIES_ENABLED
01969 
01975   Glib::PropertyProxy<double> property_rotation_angle_z() ;
01976 #endif //#GLIBMM_PROPERTIES_ENABLED
01977 
01978 #ifdef GLIBMM_PROPERTIES_ENABLED
01979 
01985   Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_z() const;
01986 #endif //#GLIBMM_PROPERTIES_ENABLED
01987 
01988   #ifdef GLIBMM_PROPERTIES_ENABLED
01989 
01995   Glib::PropertyProxy<Vertex> property_rotation_center_x() ;
01996 #endif //#GLIBMM_PROPERTIES_ENABLED
01997 
01998 #ifdef GLIBMM_PROPERTIES_ENABLED
01999 
02005   Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_x() const;
02006 #endif //#GLIBMM_PROPERTIES_ENABLED
02007 
02008   #ifdef GLIBMM_PROPERTIES_ENABLED
02009 
02015   Glib::PropertyProxy<Vertex> property_rotation_center_y() ;
02016 #endif //#GLIBMM_PROPERTIES_ENABLED
02017 
02018 #ifdef GLIBMM_PROPERTIES_ENABLED
02019 
02025   Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_y() const;
02026 #endif //#GLIBMM_PROPERTIES_ENABLED
02027 
02028   #ifdef GLIBMM_PROPERTIES_ENABLED
02029 
02035   Glib::PropertyProxy<Vertex> property_rotation_center_z() ;
02036 #endif //#GLIBMM_PROPERTIES_ENABLED
02037 
02038 #ifdef GLIBMM_PROPERTIES_ENABLED
02039 
02045   Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_z() const;
02046 #endif //#GLIBMM_PROPERTIES_ENABLED
02047 
02048   #ifdef GLIBMM_PROPERTIES_ENABLED
02049 
02055   Glib::PropertyProxy<double> property_scale_x() ;
02056 #endif //#GLIBMM_PROPERTIES_ENABLED
02057 
02058 #ifdef GLIBMM_PROPERTIES_ENABLED
02059 
02065   Glib::PropertyProxy_ReadOnly<double> property_scale_x() const;
02066 #endif //#GLIBMM_PROPERTIES_ENABLED
02067 
02068   #ifdef GLIBMM_PROPERTIES_ENABLED
02069 
02075   Glib::PropertyProxy<double> property_scale_y() ;
02076 #endif //#GLIBMM_PROPERTIES_ENABLED
02077 
02078 #ifdef GLIBMM_PROPERTIES_ENABLED
02079 
02085   Glib::PropertyProxy_ReadOnly<double> property_scale_y() const;
02086 #endif //#GLIBMM_PROPERTIES_ENABLED
02087 
02088   #ifdef GLIBMM_PROPERTIES_ENABLED
02089 
02095   Glib::PropertyProxy<bool> property_show_on_set_parent() ;
02096 #endif //#GLIBMM_PROPERTIES_ENABLED
02097 
02098 #ifdef GLIBMM_PROPERTIES_ENABLED
02099 
02105   Glib::PropertyProxy_ReadOnly<bool> property_show_on_set_parent() const;
02106 #endif //#GLIBMM_PROPERTIES_ENABLED
02107 
02108   #ifdef GLIBMM_PROPERTIES_ENABLED
02109 
02115   Glib::PropertyProxy<bool> property_visible() ;
02116 #endif //#GLIBMM_PROPERTIES_ENABLED
02117 
02118 #ifdef GLIBMM_PROPERTIES_ENABLED
02119 
02125   Glib::PropertyProxy_ReadOnly<bool> property_visible() const;
02126 #endif //#GLIBMM_PROPERTIES_ENABLED
02127 
02128   #ifdef GLIBMM_PROPERTIES_ENABLED
02129 
02135   Glib::PropertyProxy<int> property_width() ;
02136 #endif //#GLIBMM_PROPERTIES_ENABLED
02137 
02138 #ifdef GLIBMM_PROPERTIES_ENABLED
02139 
02145   Glib::PropertyProxy_ReadOnly<int> property_width() const;
02146 #endif //#GLIBMM_PROPERTIES_ENABLED
02147 
02148   #ifdef GLIBMM_PROPERTIES_ENABLED
02149 
02155   Glib::PropertyProxy<int> property_x() ;
02156 #endif //#GLIBMM_PROPERTIES_ENABLED
02157 
02158 #ifdef GLIBMM_PROPERTIES_ENABLED
02159 
02165   Glib::PropertyProxy_ReadOnly<int> property_x() const;
02166 #endif //#GLIBMM_PROPERTIES_ENABLED
02167 
02168   #ifdef GLIBMM_PROPERTIES_ENABLED
02169 
02175   Glib::PropertyProxy<int> property_y() ;
02176 #endif //#GLIBMM_PROPERTIES_ENABLED
02177 
02178 #ifdef GLIBMM_PROPERTIES_ENABLED
02179 
02185   Glib::PropertyProxy_ReadOnly<int> property_y() const;
02186 #endif //#GLIBMM_PROPERTIES_ENABLED
02187 
02188 
02189 protected:
02190   
02198   void set_shader_param_value(const Glib::ustring& param, const Glib::ValueBase& value);
02199 
02200   #ifdef GLIBMM_VFUNCS_ENABLED
02201   virtual void show_all_vfunc();
02202 #endif //GLIBMM_VFUNCS_ENABLED
02203 
02204   #ifdef GLIBMM_VFUNCS_ENABLED
02205   virtual void hide_all_vfunc();
02206 #endif //GLIBMM_VFUNCS_ENABLED
02207 
02208 
02209   // TODO: I think we need to hand-code the vfuncs if we need to handle
02210   // the float* being NULL.
02211    
02212 
02213   #ifdef GLIBMM_VFUNCS_ENABLED
02214   virtual void pick_vfunc(const Color& color);
02215 #endif //GLIBMM_VFUNCS_ENABLED
02216 
02217   #ifdef GLIBMM_VFUNCS_ENABLED
02218   virtual void get_preferred_width_vfunc(float for_height, float& min_width_p, float& natural_width_p) const;
02219 #endif //GLIBMM_VFUNCS_ENABLED
02220 
02221   #ifdef GLIBMM_VFUNCS_ENABLED
02222   virtual void get_preferred_height_vfunc(float for_width, float& min_height_p, float& natural_height_p) const;
02223 #endif //GLIBMM_VFUNCS_ENABLED
02224 
02225   #ifdef GLIBMM_VFUNCS_ENABLED
02226   virtual void allocate_vfunc(const ActorBox& box, AllocationFlags absolute_origin_changed);
02227 #endif //GLIBMM_VFUNCS_ENABLED
02228 
02229 
02230 public:
02231 
02232 public:
02233   //C++ methods used to invoke GTK+ virtual functions:
02234 #ifdef GLIBMM_VFUNCS_ENABLED
02235 #endif //GLIBMM_VFUNCS_ENABLED
02236 
02237 protected:
02238   //GTK+ Virtual Functions (override these to change behaviour):
02239 #ifdef GLIBMM_VFUNCS_ENABLED
02240 #endif //GLIBMM_VFUNCS_ENABLED
02241 
02242   //Default Signal Handlers::
02243 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
02244   virtual bool on_button_press_event(ButtonEvent* event);
02245   virtual bool on_button_release_event(ButtonEvent* event);
02246   virtual bool on_motion_event(MotionEvent* event);
02247   virtual bool on_leave_event(CrossingEvent* event);
02248   virtual void on_show();
02249   virtual void on_hide();
02250   virtual void on_destroy();
02251   virtual bool on_key_release_event(KeyEvent* event);
02252   virtual bool on_enter_event(CrossingEvent* event);
02253   virtual bool on_event(Event* event);
02254   virtual void on_parent_set(const Glib::RefPtr<Actor>& old_parent);
02255   virtual bool on_scroll_event(ScrollEvent* event);
02256   virtual bool on_key_press_event(KeyEvent* event);
02257   virtual bool on_captured_event(Event* event);
02258   virtual void on_paint();
02259   virtual void on_queue_redaw(const Glib::RefPtr<Actor>& origin);
02260   virtual void on_realize();
02261   virtual void on_unrealize();
02262 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
02263 
02264 
02265 };
02266 
02267 #ifndef DOXYGEN_SHOULD_SKIP_THIS
02268 template <class ParamType>
02269 void Actor::set_shader_param(const Glib::ustring& param, const ParamType& value)
02270 {
02271   Glib::Value<ParamType> param_value;
02272   param_value.init(Glib::Value<ParamType>::value_type());
02273 
02274   param_value.set(value);
02275   this->set_shader_param_value(param, param_value);
02276 }
02277 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
02278 
02279 } // namespace Clutter
02280 
02281 
02282 namespace Glib
02283 {
02284 
02289 Clutter::ActorBox& wrap(ClutterActorBox* object);
02290 
02295 const Clutter::ActorBox& wrap(const ClutterActorBox* object);
02296 
02297 #ifndef DOXYGEN_SHOULD_SKIP_THIS
02298 template <>
02299 class Value<Clutter::ActorBox> : public Glib::Value_Boxed<Clutter::ActorBox>
02300 {};
02301 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
02302 
02303 } // namespace Glib
02304 
02305 
02306 namespace Glib
02307 {
02316   Glib::RefPtr<Clutter::Actor> wrap(ClutterActor* object, bool take_copy = false);
02317 }
02318 
02319 
02320 #endif /* _CLUTTERMM_ACTOR_H */
02321 

Generated on 7 Sep 2009 for cluttermm by  doxygen 1.6.1