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 <cluttermm/color.h>
00028 #include <cluttermm/scriptable.h>
00029 #include <cluttermm/shader.h>
00030 #include <cluttermm/types.h>
00031 #include <clutter/clutter.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _ClutterActor ClutterActor;
00036 typedef struct _ClutterActorClass ClutterActorClass;
00037 #endif
00038
00039
00040 namespace Clutter
00041 { class Actor_Class; }
00042 namespace Clutter
00043 {
00044
00045 class ActorBox
00046 {
00047 public:
00048 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00049 typedef ActorBox CppObjectType;
00050 typedef ClutterActorBox BaseObjectType;
00051
00052 static GType get_type() G_GNUC_CONST;
00053 #endif
00054
00055 ActorBox();
00056
00057 explicit ActorBox(const ClutterActorBox* gobject);
00058
00060 ClutterActorBox* gobj() { return &gobject_; }
00061
00063 const ClutterActorBox* gobj() const { return &gobject_; }
00064
00065 protected:
00066 ClutterActorBox gobject_;
00067
00068 private:
00069
00070 public:
00071 ActorBox(Unit x1, Unit y1, Unit x2, Unit y2);
00072
00073 Unit get_x1() const;
00074 void set_x1(const Unit& value);
00075 Unit get_y1() const;
00076 void set_y1(const Unit& value);
00077 Unit get_x2() const;
00078 void set_x2(const Unit& value);
00079 Unit get_y2() const;
00080 void set_y2(const Unit& value);
00081
00082
00083 };
00084
00098 enum ActorFlags
00099 {
00100 ACTOR_MAPPED = 1 << 1,
00101 ACTOR_REALIZED = 1 << 2,
00102 ACTOR_REACTIVE = 1 << 3
00103 };
00104
00106 inline ActorFlags operator|(ActorFlags lhs, ActorFlags rhs)
00107 { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00108
00110 inline ActorFlags operator&(ActorFlags lhs, ActorFlags rhs)
00111 { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00112
00114 inline ActorFlags operator^(ActorFlags lhs, ActorFlags rhs)
00115 { return static_cast<ActorFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00116
00118 inline ActorFlags operator~(ActorFlags flags)
00119 { return static_cast<ActorFlags>(~static_cast<unsigned>(flags)); }
00120
00122 inline ActorFlags& operator|=(ActorFlags& lhs, ActorFlags rhs)
00123 { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00124
00126 inline ActorFlags& operator&=(ActorFlags& lhs, ActorFlags rhs)
00127 { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00128
00130 inline ActorFlags& operator^=(ActorFlags& lhs, ActorFlags rhs)
00131 { return (lhs = static_cast<ActorFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00132
00133 }
00134
00135
00136 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00137 namespace Glib
00138 {
00139
00140 template <>
00141 class Value<Clutter::ActorFlags> : public Glib::Value_Flags<Clutter::ActorFlags>
00142 {
00143 public:
00144 static GType value_type() G_GNUC_CONST;
00145 };
00146
00147 }
00148 #endif
00149
00150
00151 namespace Clutter
00152 {
00153
00154
00155 class Actor : public Glib::Object, public Scriptable
00156 {
00157
00158 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00159
00160 public:
00161 typedef Actor CppObjectType;
00162 typedef Actor_Class CppClassType;
00163 typedef ClutterActor BaseObjectType;
00164 typedef ClutterActorClass BaseClassType;
00165
00166 private: friend class Actor_Class;
00167 static CppClassType actor_class_;
00168
00169 private:
00170
00171 Actor(const Actor&);
00172 Actor& operator=(const Actor&);
00173
00174 protected:
00175 explicit Actor(const Glib::ConstructParams& construct_params);
00176 explicit Actor(ClutterActor* castitem);
00177
00178 #endif
00179
00180 public:
00181 virtual ~Actor();
00182
00183 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00184 static GType get_type() G_GNUC_CONST;
00185 static GType get_base_type() G_GNUC_CONST;
00186 #endif
00187
00189 ClutterActor* gobj() { return reinterpret_cast<ClutterActor*>(gobject_); }
00190
00192 const ClutterActor* gobj() const { return reinterpret_cast<ClutterActor*>(gobject_); }
00193
00195 ClutterActor* gobj_copy();
00196
00197 private:
00198
00199
00200 protected:
00201 Actor();
00202
00203 public:
00204
00205
00206
00207 void set_flags(ActorFlags flags);
00208 void unset_flags(ActorFlags flags);
00209 ActorFlags get_flags() const;
00210
00211 bool is_mapped() const;
00212 bool is_realized() const;
00213 bool is_visible() const;
00214 bool is_reactive() const;
00215
00216
00226 void show();
00227
00232 void show_all();
00233
00243 void hide();
00244
00249 void hide_all();
00250
00254 void realize();
00255
00259 void unrealize();
00260
00266 void paint();
00267
00275 void queue_redraw();
00276
00285 void queue_relayout();
00286
00287
00288
00289
00290
00296 Glib::RefPtr<Actor> get_stage();
00297
00303 Glib::RefPtr<const Actor> get_stage() const;
00304
00305
00312 void set_geometry(const Geometry& geometry);
00313
00321 Geometry get_geometry() const;
00322
00323
00337 void set_size(int width, int height);
00338
00349 void set_sizeu(Unit width, Unit height);
00350
00363 void get_position(int& x, int& y);
00364
00377 void get_positionu(Unit& x, Unit& y);
00378
00387 void set_position(int x, int y);
00388
00399 void set_positionu(Unit x, Unit y);
00400
00401
00420 guint get_width() const;
00421
00442 Unit get_widthu() const;
00443
00462 guint get_height() const;
00463
00484 Unit get_heightu() const;
00485
00493 void set_width(guint width);
00494
00502 void set_widthu(Unit width);
00503
00511 void set_height(guint height);
00512
00520 void set_heightu(Unit height);
00521
00522
00530 void set_x(int x);
00531
00539 void set_xu(Unit x);
00540
00558 int get_x() const;
00559
00579 Unit get_xu() const;
00580
00588 void set_y(int y);
00589
00597 void set_yu(Unit y);
00598
00616 int get_y() const;
00617
00637 Unit get_yu() const;
00638
00644 void set_reactive(bool reactive = true);
00645
00651 bool get_reactive() const;
00652
00653
00674 void set_rotation(RotateAxis axis, double angle, int x, int y, int z);
00675
00687 void set_rotationx(RotateAxis axis, Fixed angle, int x, int y, int z);
00688
00700 void set_rotationu(RotateAxis axis, double angle, Unit x, Unit y, Unit z);
00701
00715 double get_rotation(RotateAxis axis, int& x, int& y, int& z) const;
00716
00729 Fixed get_rotationx(RotateAxis axis, int& x, int& y, int& z) const;
00730
00746 double get_rotationu(RotateAxis axis, Unit& x, Unit& y, Unit& z) const;
00747
00752 void set_opacity (guint8 opacity);
00753
00761 guint8 get_opacity() const;
00762
00767 void set_name(const gchar *name);
00768
00773 Glib::ustring get_name() const;
00774
00780 guint32 get_gid() const;
00781
00790 void set_clip(int xoff, int yoff, int width, int height);
00791
00800 void get_clip(int& xoff, int& yoff, int& width, int& height);
00801
00814 void set_clipu(Unit xoff, Unit yoff, Unit width, Unit height);
00815
00826 void get_clipu(Unit& xoff, Unit& yoff, Unit& width, Unit& height);
00827
00830 void remove_clip();
00831
00837 bool has_clip() const;
00838
00846 void set_parent(const Glib::RefPtr<Actor>& parent);
00847
00851 Glib::RefPtr<Actor> get_parent();
00852
00856 Glib::RefPtr<const Actor> get_parent() const;
00857
00865 void reparent(const Glib::RefPtr<Actor>& new_parent);
00866
00873 void unparent();
00874
00880 void raise(const Glib::RefPtr<Actor>& below);
00881
00886 void lower(const Glib::RefPtr<Actor>& above);
00887
00890 void raise_top ();
00891
00894 void lower_bottom();
00895
00896
00903 Glib::RefPtr<Shader> get_shader();
00904
00911 Glib::RefPtr<const Shader> get_shader() const;
00912
00921 void set_shader(const Glib::RefPtr<Shader>& shader);
00922
00931 template <class ParamType> void set_shader_param(const Glib::ustring& param, const ParamType& value);
00932
00933
00934
00940 bool is_rotated() const;
00941
00947 bool is_scaled() const;
00948
00971 void get_allocation_vertices(Vertex vertices[4]) const;
00972
00995 void get_allocation_vertices(const Glib::RefPtr<Actor>& ancestor, Vertex vertices[4]) const;
00996
01012 void get_abs_allocation_vertices(Vertex vertices[4]) const;
01013
01029 ActorBox get_allocation_box() const;
01030
01031
01047 void allocate(const ActorBox& box, bool absolute_origin_changed);
01048
01049
01065 void apply_relative_transform_to_point(const Glib::RefPtr<Actor>& ancestor, const Vertex& point, Vertex& vertex) const;
01066
01089 void apply_relative_transform_to_point(const Vertex& point, Vertex& vertex) const;
01090
01091
01110 void get_preferred_size(Unit& min_width_p, Unit& min_height_p, Unit& natural_width_p, Unit& natural_height_p) const;
01111
01128 void get_preferred_width(Unit for_height, Unit& min_width_p, Unit& natural_width_p) const;
01129
01145 void get_preferred_height(Unit for_width, Unit& min_height_p, Unit& natural_height_p) const;
01146
01158 guint8 get_paint_opacity() const;
01159
01167 void move_anchor_point_from_gravity(Gravity gravity);
01168
01177 void move_anchor_point(int anchor_x, int anchor_y);
01178
01186 void move_anchor_pointu(Unit anchor_x, Unit anchor_y);
01187
01188
01195 bool get_fixed_position_set() const;
01196
01203 void set_fixed_position_set(bool is_set);
01204
01212 void get_transformed_position(int& x, int& y) const;
01213
01221 void get_transformed_positionu(Unit& x, Unit& y) const;
01222
01230 void get_transformed_size(guint& width, guint& height) const;
01231
01249 void get_transformed_sizeu(Unit& width, Unit& height) const;
01250
01266 void get_allocation_coords(int& x1, int& y1, int& x2, int& y2) const;
01267
01281 Geometry get_allocation_geometry() const;
01282
01283
01288 void set_depth(int depth);
01289
01294 void set_depthu(Unit depth);
01295
01299 int get_depth() const;
01300
01306 Unit get_depthu() const;
01307
01315 void set_scalex(Fixed scale_x, Fixed scale_y);
01316
01324 void set_scale(double scale_x, double scale_y);
01325
01334 void get_scalex(Fixed& scale_x, Fixed& scale_y) const;
01335
01342 void get_scale(double& scale_x, double& scale_y) const;
01343
01344
01345
01360 void get_size(guint& width, guint& height) const;
01361
01376 void get_sizeu(Unit& width, Unit& height) const;
01377
01388 void move_by(int dx, int dy);
01389
01400 void move_byu(Unit dx, Unit dy);
01401
01402
01411 void apply_transform_to_point(const Vertex& point, Vertex& vertex) const;
01412
01437 void transform_stage_point(Unit x, Unit y, Unit& x_out, Unit& y_out) const;
01438
01439
01451 bool event(ClutterEvent* event, bool capture);
01452
01460 static Glib::RefPtr<Actor> get_actor_by_gid(guint32 id);
01461
01462
01472 void set_anchor_point(int anchor_x, int anchor_y);
01473
01480 void get_anchor_point(int& anchor_x, int& anchor_y) const;
01481
01491 void set_anchor_pointu(Unit anchor_x, Unit anchor_y);
01492
01499 void get_anchor_pointu(Unit& anchor_x, Unit& anchor_y);
01500
01507 void set_anchor_point_from_gravity(ClutterGravity gravity);
01508
01509
01510
01524 void pick(const Color& color);
01525
01532 bool should_pick_paint() const;
01533
01534
01535
01541 Glib::SignalProxy1< bool,ButtonEvent* > signal_button_press_event();
01542
01543
01549 Glib::SignalProxy1< bool,ButtonEvent* > signal_button_release_event();
01550
01551
01557 Glib::SignalProxy1< bool,MotionEvent* > signal_motion_event();
01558
01559
01565 Glib::SignalProxy1< bool,CrossingEvent* > signal_leave_event();
01566
01567
01573 Glib::SignalProxy0< void > signal_show();
01574
01575
01581 Glib::SignalProxy0< void > signal_hide();
01582
01583
01589 Glib::SignalProxy0< void > signal_destroy();
01590
01591
01597 Glib::SignalProxy1< bool,KeyEvent* > signal_key_release_event();
01598
01599
01605 Glib::SignalProxy1< bool,CrossingEvent* > signal_enter_event();
01606
01607
01613 Glib::SignalProxy1< bool,Event* > signal_event();
01614
01615
01621 Glib::SignalProxy0< void > signal_focus_out();
01622
01623
01629 Glib::SignalProxy0< void > signal_focus_in();
01630
01631
01637 Glib::SignalProxy1< void,const Glib::RefPtr<Actor>& > signal_parent_set();
01638
01639
01645 Glib::SignalProxy1< bool,ScrollEvent* > signal_scroll_event();
01646
01647
01653 Glib::SignalProxy1< bool,KeyEvent* > signal_key_press_event();
01654
01655
01661 Glib::SignalProxy1< bool,Event* > signal_captured_event();
01662
01663
01669 Glib::SignalProxy0< void > signal_paint();
01670
01671
01677 Glib::SignalProxy0< void > signal_realize();
01678
01679
01685 Glib::SignalProxy0< void > signal_unrealize();
01686
01687
01688 #ifdef GLIBMM_PROPERTIES_ENABLED
01689
01695 Glib::PropertyProxy_ReadOnly<ActorBox> property_allocation() const;
01696 #endif //#GLIBMM_PROPERTIES_ENABLED
01697
01698
01699 #ifdef GLIBMM_PROPERTIES_ENABLED
01700
01706 Glib::PropertyProxy<int> property_anchor_x() ;
01707 #endif //#GLIBMM_PROPERTIES_ENABLED
01708
01709 #ifdef GLIBMM_PROPERTIES_ENABLED
01710
01716 Glib::PropertyProxy_ReadOnly<int> property_anchor_x() const;
01717 #endif //#GLIBMM_PROPERTIES_ENABLED
01718
01719 #ifdef GLIBMM_PROPERTIES_ENABLED
01720
01726 Glib::PropertyProxy<int> property_anchor_y() ;
01727 #endif //#GLIBMM_PROPERTIES_ENABLED
01728
01729 #ifdef GLIBMM_PROPERTIES_ENABLED
01730
01736 Glib::PropertyProxy_ReadOnly<int> property_anchor_y() const;
01737 #endif //#GLIBMM_PROPERTIES_ENABLED
01738
01739 #ifdef GLIBMM_PROPERTIES_ENABLED
01740
01746 Glib::PropertyProxy<Geometry> property_clip() ;
01747 #endif //#GLIBMM_PROPERTIES_ENABLED
01748
01749 #ifdef GLIBMM_PROPERTIES_ENABLED
01750
01756 Glib::PropertyProxy_ReadOnly<Geometry> property_clip() const;
01757 #endif //#GLIBMM_PROPERTIES_ENABLED
01758
01759 #ifdef GLIBMM_PROPERTIES_ENABLED
01760
01766 Glib::PropertyProxy<int> property_depth() ;
01767 #endif //#GLIBMM_PROPERTIES_ENABLED
01768
01769 #ifdef GLIBMM_PROPERTIES_ENABLED
01770
01776 Glib::PropertyProxy_ReadOnly<int> property_depth() const;
01777 #endif //#GLIBMM_PROPERTIES_ENABLED
01778
01779 #ifdef GLIBMM_PROPERTIES_ENABLED
01780
01786 Glib::PropertyProxy<bool> property_fixed_position_set() ;
01787 #endif //#GLIBMM_PROPERTIES_ENABLED
01788
01789 #ifdef GLIBMM_PROPERTIES_ENABLED
01790
01796 Glib::PropertyProxy_ReadOnly<bool> property_fixed_position_set() const;
01797 #endif //#GLIBMM_PROPERTIES_ENABLED
01798
01799 #ifdef GLIBMM_PROPERTIES_ENABLED
01800
01806 Glib::PropertyProxy<Unit> property_fixed_x() ;
01807 #endif //#GLIBMM_PROPERTIES_ENABLED
01808
01809 #ifdef GLIBMM_PROPERTIES_ENABLED
01810
01816 Glib::PropertyProxy_ReadOnly<Unit> property_fixed_x() const;
01817 #endif //#GLIBMM_PROPERTIES_ENABLED
01818
01819 #ifdef GLIBMM_PROPERTIES_ENABLED
01820
01826 Glib::PropertyProxy<Unit> property_fixed_y() ;
01827 #endif //#GLIBMM_PROPERTIES_ENABLED
01828
01829 #ifdef GLIBMM_PROPERTIES_ENABLED
01830
01836 Glib::PropertyProxy_ReadOnly<Unit> property_fixed_y() const;
01837 #endif //#GLIBMM_PROPERTIES_ENABLED
01838
01839 #ifdef GLIBMM_PROPERTIES_ENABLED
01840
01846 Glib::PropertyProxy_ReadOnly<bool> property_has_clip() const;
01847 #endif //#GLIBMM_PROPERTIES_ENABLED
01848
01849
01850 #ifdef GLIBMM_PROPERTIES_ENABLED
01851
01857 Glib::PropertyProxy<int> property_height() ;
01858 #endif //#GLIBMM_PROPERTIES_ENABLED
01859
01860 #ifdef GLIBMM_PROPERTIES_ENABLED
01861
01867 Glib::PropertyProxy_ReadOnly<int> property_height() const;
01868 #endif //#GLIBMM_PROPERTIES_ENABLED
01869
01870 #ifdef GLIBMM_PROPERTIES_ENABLED
01871
01877 Glib::PropertyProxy<Unit> property_min_height() ;
01878 #endif //#GLIBMM_PROPERTIES_ENABLED
01879
01880 #ifdef GLIBMM_PROPERTIES_ENABLED
01881
01887 Glib::PropertyProxy_ReadOnly<Unit> property_min_height() const;
01888 #endif //#GLIBMM_PROPERTIES_ENABLED
01889
01890 #ifdef GLIBMM_PROPERTIES_ENABLED
01891
01897 Glib::PropertyProxy<bool> property_min_height_set() ;
01898 #endif //#GLIBMM_PROPERTIES_ENABLED
01899
01900 #ifdef GLIBMM_PROPERTIES_ENABLED
01901
01907 Glib::PropertyProxy_ReadOnly<bool> property_min_height_set() const;
01908 #endif //#GLIBMM_PROPERTIES_ENABLED
01909
01910 #ifdef GLIBMM_PROPERTIES_ENABLED
01911
01917 Glib::PropertyProxy<Unit> property_min_width() ;
01918 #endif //#GLIBMM_PROPERTIES_ENABLED
01919
01920 #ifdef GLIBMM_PROPERTIES_ENABLED
01921
01927 Glib::PropertyProxy_ReadOnly<Unit> property_min_width() const;
01928 #endif //#GLIBMM_PROPERTIES_ENABLED
01929
01930 #ifdef GLIBMM_PROPERTIES_ENABLED
01931
01937 Glib::PropertyProxy<bool> property_min_width_set() ;
01938 #endif //#GLIBMM_PROPERTIES_ENABLED
01939
01940 #ifdef GLIBMM_PROPERTIES_ENABLED
01941
01947 Glib::PropertyProxy_ReadOnly<bool> property_min_width_set() const;
01948 #endif //#GLIBMM_PROPERTIES_ENABLED
01949
01950 #ifdef GLIBMM_PROPERTIES_ENABLED
01951
01957 Glib::PropertyProxy<guint8> property_opacity() ;
01958 #endif //#GLIBMM_PROPERTIES_ENABLED
01959
01960 #ifdef GLIBMM_PROPERTIES_ENABLED
01961
01967 Glib::PropertyProxy_ReadOnly<guint8> property_opacity() const;
01968 #endif //#GLIBMM_PROPERTIES_ENABLED
01969
01970 #ifdef GLIBMM_PROPERTIES_ENABLED
01971
01977 Glib::PropertyProxy<bool> property_reactive() ;
01978 #endif //#GLIBMM_PROPERTIES_ENABLED
01979
01980 #ifdef GLIBMM_PROPERTIES_ENABLED
01981
01987 Glib::PropertyProxy_ReadOnly<bool> property_reactive() const;
01988 #endif //#GLIBMM_PROPERTIES_ENABLED
01989
01990 #ifdef GLIBMM_PROPERTIES_ENABLED
01991
01997 Glib::PropertyProxy<RequestMode> property_request_mode() ;
01998 #endif //#GLIBMM_PROPERTIES_ENABLED
01999
02000 #ifdef GLIBMM_PROPERTIES_ENABLED
02001
02007 Glib::PropertyProxy_ReadOnly<RequestMode> property_request_mode() const;
02008 #endif //#GLIBMM_PROPERTIES_ENABLED
02009
02010 #ifdef GLIBMM_PROPERTIES_ENABLED
02011
02017 Glib::PropertyProxy<double> property_rotation_angle_x() ;
02018 #endif //#GLIBMM_PROPERTIES_ENABLED
02019
02020 #ifdef GLIBMM_PROPERTIES_ENABLED
02021
02027 Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_x() const;
02028 #endif //#GLIBMM_PROPERTIES_ENABLED
02029
02030 #ifdef GLIBMM_PROPERTIES_ENABLED
02031
02037 Glib::PropertyProxy<double> property_rotation_angle_y() ;
02038 #endif //#GLIBMM_PROPERTIES_ENABLED
02039
02040 #ifdef GLIBMM_PROPERTIES_ENABLED
02041
02047 Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_y() const;
02048 #endif //#GLIBMM_PROPERTIES_ENABLED
02049
02050 #ifdef GLIBMM_PROPERTIES_ENABLED
02051
02057 Glib::PropertyProxy<double> property_rotation_angle_z() ;
02058 #endif //#GLIBMM_PROPERTIES_ENABLED
02059
02060 #ifdef GLIBMM_PROPERTIES_ENABLED
02061
02067 Glib::PropertyProxy_ReadOnly<double> property_rotation_angle_z() const;
02068 #endif //#GLIBMM_PROPERTIES_ENABLED
02069
02070 #ifdef GLIBMM_PROPERTIES_ENABLED
02071
02077 Glib::PropertyProxy<Vertex> property_rotation_center_x() ;
02078 #endif //#GLIBMM_PROPERTIES_ENABLED
02079
02080 #ifdef GLIBMM_PROPERTIES_ENABLED
02081
02087 Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_x() const;
02088 #endif //#GLIBMM_PROPERTIES_ENABLED
02089
02090 #ifdef GLIBMM_PROPERTIES_ENABLED
02091
02097 Glib::PropertyProxy<Vertex> property_rotation_center_y() ;
02098 #endif //#GLIBMM_PROPERTIES_ENABLED
02099
02100 #ifdef GLIBMM_PROPERTIES_ENABLED
02101
02107 Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_y() const;
02108 #endif //#GLIBMM_PROPERTIES_ENABLED
02109
02110 #ifdef GLIBMM_PROPERTIES_ENABLED
02111
02117 Glib::PropertyProxy<Vertex> property_rotation_center_z() ;
02118 #endif //#GLIBMM_PROPERTIES_ENABLED
02119
02120 #ifdef GLIBMM_PROPERTIES_ENABLED
02121
02127 Glib::PropertyProxy_ReadOnly<Vertex> property_rotation_center_z() const;
02128 #endif //#GLIBMM_PROPERTIES_ENABLED
02129
02130 #ifdef GLIBMM_PROPERTIES_ENABLED
02131
02137 Glib::PropertyProxy<double> property_scale_x() ;
02138 #endif //#GLIBMM_PROPERTIES_ENABLED
02139
02140 #ifdef GLIBMM_PROPERTIES_ENABLED
02141
02147 Glib::PropertyProxy_ReadOnly<double> property_scale_x() const;
02148 #endif //#GLIBMM_PROPERTIES_ENABLED
02149
02150 #ifdef GLIBMM_PROPERTIES_ENABLED
02151
02157 Glib::PropertyProxy<double> property_scale_y() ;
02158 #endif //#GLIBMM_PROPERTIES_ENABLED
02159
02160 #ifdef GLIBMM_PROPERTIES_ENABLED
02161
02167 Glib::PropertyProxy_ReadOnly<double> property_scale_y() const;
02168 #endif //#GLIBMM_PROPERTIES_ENABLED
02169
02170 #ifdef GLIBMM_PROPERTIES_ENABLED
02171
02177 Glib::PropertyProxy<bool> property_show_on_set_parent() ;
02178 #endif //#GLIBMM_PROPERTIES_ENABLED
02179
02180 #ifdef GLIBMM_PROPERTIES_ENABLED
02181
02187 Glib::PropertyProxy_ReadOnly<bool> property_show_on_set_parent() const;
02188 #endif //#GLIBMM_PROPERTIES_ENABLED
02189
02190 #ifdef GLIBMM_PROPERTIES_ENABLED
02191
02197 Glib::PropertyProxy<bool> property_visible() ;
02198 #endif //#GLIBMM_PROPERTIES_ENABLED
02199
02200 #ifdef GLIBMM_PROPERTIES_ENABLED
02201
02207 Glib::PropertyProxy_ReadOnly<bool> property_visible() const;
02208 #endif //#GLIBMM_PROPERTIES_ENABLED
02209
02210 #ifdef GLIBMM_PROPERTIES_ENABLED
02211
02217 Glib::PropertyProxy<int> property_width() ;
02218 #endif //#GLIBMM_PROPERTIES_ENABLED
02219
02220 #ifdef GLIBMM_PROPERTIES_ENABLED
02221
02227 Glib::PropertyProxy_ReadOnly<int> property_width() const;
02228 #endif //#GLIBMM_PROPERTIES_ENABLED
02229
02230 #ifdef GLIBMM_PROPERTIES_ENABLED
02231
02237 Glib::PropertyProxy<int> property_x() ;
02238 #endif //#GLIBMM_PROPERTIES_ENABLED
02239
02240 #ifdef GLIBMM_PROPERTIES_ENABLED
02241
02247 Glib::PropertyProxy_ReadOnly<int> property_x() const;
02248 #endif //#GLIBMM_PROPERTIES_ENABLED
02249
02250 #ifdef GLIBMM_PROPERTIES_ENABLED
02251
02257 Glib::PropertyProxy<int> property_y() ;
02258 #endif //#GLIBMM_PROPERTIES_ENABLED
02259
02260 #ifdef GLIBMM_PROPERTIES_ENABLED
02261
02267 Glib::PropertyProxy_ReadOnly<int> property_y() const;
02268 #endif //#GLIBMM_PROPERTIES_ENABLED
02269
02270
02271 protected:
02272
02280 void set_shader_param_value(const Glib::ustring& param, float value);
02281
02282 #ifdef GLIBMM_VFUNCS_ENABLED
02283 virtual void show_all_vfunc();
02284 #endif //GLIBMM_VFUNCS_ENABLED
02285
02286 #ifdef GLIBMM_VFUNCS_ENABLED
02287 virtual void hide_all_vfunc();
02288 #endif //GLIBMM_VFUNCS_ENABLED
02289
02290
02291
02292
02293
02294
02295 #ifdef GLIBMM_VFUNCS_ENABLED
02296 virtual void pick_vfunc(const Color& color);
02297 #endif //GLIBMM_VFUNCS_ENABLED
02298
02299 #ifdef GLIBMM_VFUNCS_ENABLED
02300 virtual void get_preferred_width_vfunc(Unit for_height, Unit& min_width_p, Unit& natural_width_p) const;
02301 #endif //GLIBMM_VFUNCS_ENABLED
02302
02303 #ifdef GLIBMM_VFUNCS_ENABLED
02304 virtual void get_preferred_height_vfunc(Unit for_width, Unit& min_height_p, Unit& natural_height_p) const;
02305 #endif //GLIBMM_VFUNCS_ENABLED
02306
02307 #ifdef GLIBMM_VFUNCS_ENABLED
02308 virtual void allocate_vfunc(const ActorBox& box, bool absolute_origin_changed);
02309 #endif //GLIBMM_VFUNCS_ENABLED
02310
02311
02312 public:
02313
02314 public:
02315
02316 #ifdef GLIBMM_VFUNCS_ENABLED
02317 #endif //GLIBMM_VFUNCS_ENABLED
02318
02319 protected:
02320
02321 #ifdef GLIBMM_VFUNCS_ENABLED
02322 #endif //GLIBMM_VFUNCS_ENABLED
02323
02324
02325 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
02326 virtual bool on_button_press_event(ButtonEvent* event);
02327 virtual bool on_button_release_event(ButtonEvent* event);
02328 virtual bool on_motion_event(MotionEvent* event);
02329 virtual bool on_leave_event(CrossingEvent* event);
02330 virtual void on_show();
02331 virtual void on_hide();
02332 virtual void on_destroy();
02333 virtual bool on_key_release_event(KeyEvent* event);
02334 virtual bool on_enter_event(CrossingEvent* event);
02335 virtual bool on_event(Event* event);
02336 virtual void on_focus_out();
02337 virtual void on_focus_in();
02338 virtual void on_parent_set(const Glib::RefPtr<Actor>& old_parent);
02339 virtual bool on_scroll_event(ScrollEvent* event);
02340 virtual bool on_key_press_event(KeyEvent* event);
02341 virtual bool on_captured_event(Event* event);
02342 virtual void on_paint();
02343 virtual void on_realize();
02344 virtual void on_unrealize();
02345 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
02346
02347
02348 };
02349
02350 #ifndef DOXYGEN_SHOULD_SKIP_THIS
02351 template <class ParamType>
02352 void Actor::set_shader_param(const Glib::ustring& param, const ParamType& value)
02353 {
02354 Glib::Value<ParamType> param_value;
02355 param_value.init(Glib::Value<ParamType>::value_type());
02356
02357 param_value.set(value);
02358 this->set_shader_param_value(param, param_value);
02359 }
02360 #endif
02361
02362 }
02363
02364
02365 namespace Glib
02366 {
02367
02372 Clutter::ActorBox& wrap(ClutterActorBox* object);
02373
02378 const Clutter::ActorBox& wrap(const ClutterActorBox* object);
02379
02380 #ifndef DOXYGEN_SHOULD_SKIP_THIS
02381 template <>
02382 class Value<Clutter::ActorBox> : public Glib::Value_Boxed<Clutter::ActorBox>
02383 {};
02384 #endif
02385
02386 }
02387
02388
02389 namespace Glib
02390 {
02399 Glib::RefPtr<Clutter::Actor> wrap(ClutterActor* object, bool take_copy = false);
02400 }
02401
02402
02403 #endif
02404