00001
00002
00003 #ifndef _CLUTTERMM_ACTOR_H
00004 #define _CLUTTERMM_ACTOR_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 <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>
00034 #include <clutter/clutter.h>
00035
00036
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038 typedef struct _ClutterActor ClutterActor;
00039 typedef struct _ClutterActorClass ClutterActorClass;
00040 #endif
00041
00042
00043 namespace Clutter
00044 { class Actor_Class; }
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
00059
00060 ActorBox();
00061
00062 explicit ActorBox(const ClutterActorBox* gobject);
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 }
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 }
00154 #endif
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 }
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 }
00220 #endif
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
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
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
00277
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
00406
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
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
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
00867
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
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
01432
01433
01434
01435
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
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
01539
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
02210
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
02234 #ifdef GLIBMM_VFUNCS_ENABLED
02235 #endif //GLIBMM_VFUNCS_ENABLED
02236
02237 protected:
02238
02239 #ifdef GLIBMM_VFUNCS_ENABLED
02240 #endif //GLIBMM_VFUNCS_ENABLED
02241
02242
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
02278
02279 }
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
02302
02303 }
02304
02305
02306 namespace Glib
02307 {
02316 Glib::RefPtr<Clutter::Actor> wrap(ClutterActor* object, bool take_copy = false);
02317 }
02318
02319
02320 #endif
02321