00001
00002
00003 #ifndef _GOOCANVASMM_ITEMSIMPLE_H
00004 #define _GOOCANVASMM_ITEMSIMPLE_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 <gdkmm/pixbuf.h>
00028 #include <cairomm/cairomm.h>
00029
00030 #include <goocanvasmm/item.h>
00031 #include <goocanvasmm/linedash.h>
00032 #include <goocanvasmm/style.h>
00033
00034
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _GooCanvasItemSimple GooCanvasItemSimple;
00037 typedef struct _GooCanvasItemSimpleClass GooCanvasItemSimpleClass;
00038 #endif
00039
00040
00041 namespace Goocanvas
00042 { class ItemSimple_Class; }
00043 namespace Goocanvas
00044 {
00045
00046
00047 class ItemSimple :
00048 public Glib::Object,
00049 public Goocanvas::Item
00050 {
00051
00052 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00053
00054 public:
00055 typedef ItemSimple CppObjectType;
00056 typedef ItemSimple_Class CppClassType;
00057 typedef GooCanvasItemSimple BaseObjectType;
00058 typedef GooCanvasItemSimpleClass BaseClassType;
00059
00060 private: friend class ItemSimple_Class;
00061 static CppClassType itemsimple_class_;
00062
00063 private:
00064
00065 ItemSimple(const ItemSimple&);
00066 ItemSimple& operator=(const ItemSimple&);
00067
00068 protected:
00069 explicit ItemSimple(const Glib::ConstructParams& construct_params);
00070 explicit ItemSimple(GooCanvasItemSimple* castitem);
00071
00072 #endif
00073
00074 public:
00075 virtual ~ItemSimple();
00076
00077 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00078 static GType get_type() G_GNUC_CONST;
00079 static GType get_base_type() G_GNUC_CONST;
00080 #endif
00081
00083 GooCanvasItemSimple* gobj() { return reinterpret_cast<GooCanvasItemSimple*>(gobject_); }
00084
00086 const GooCanvasItemSimple* gobj() const { return reinterpret_cast<GooCanvasItemSimple*>(gobject_); }
00087
00089 GooCanvasItemSimple* gobj_copy();
00090
00091 private:
00092
00093
00094 protected:
00095 ItemSimple();
00096
00097 public:
00098
00099 void set_model(const Glib::RefPtr<ItemModel>& model);
00100
00101
00102 void get_path_bounds(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds) const;
00103
00104 void user_bounds_to_device(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds);
00105
00106 void user_bounds_to_parent(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds);
00107
00108 bool check_in_path(double x, double y, const Cairo::RefPtr<Cairo::Context>& cr, PointerEvents pointer_events) const;
00109
00110 void paint_path(const Cairo::RefPtr<Cairo::Context>& cr);
00111
00112 void changed(bool recompute_bounds);
00113
00114 void check_style();
00115
00116 #ifdef GLIBMM_PROPERTIES_ENABLED
00117
00123 Glib::PropertyProxy<Glib::ustring> property_title() ;
00124 #endif //#GLIBMM_PROPERTIES_ENABLED
00125
00126 #ifdef GLIBMM_PROPERTIES_ENABLED
00127
00133 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_title() const;
00134 #endif //#GLIBMM_PROPERTIES_ENABLED
00135
00136 #ifdef GLIBMM_PROPERTIES_ENABLED
00137
00143 Glib::PropertyProxy<double> property_visibility_threshold() ;
00144 #endif //#GLIBMM_PROPERTIES_ENABLED
00145
00146 #ifdef GLIBMM_PROPERTIES_ENABLED
00147
00153 Glib::PropertyProxy_ReadOnly<double> property_visibility_threshold() const;
00154 #endif //#GLIBMM_PROPERTIES_ENABLED
00155
00156 #ifdef GLIBMM_PROPERTIES_ENABLED
00157
00163 Glib::PropertyProxy<ItemVisibility> property_visibility() ;
00164 #endif //#GLIBMM_PROPERTIES_ENABLED
00165
00166 #ifdef GLIBMM_PROPERTIES_ENABLED
00167
00173 Glib::PropertyProxy_ReadOnly<ItemVisibility> property_visibility() const;
00174 #endif //#GLIBMM_PROPERTIES_ENABLED
00175
00176 #ifdef GLIBMM_PROPERTIES_ENABLED
00177
00183 Glib::PropertyProxy<Glib::ustring> property_description() ;
00184 #endif //#GLIBMM_PROPERTIES_ENABLED
00185
00186 #ifdef GLIBMM_PROPERTIES_ENABLED
00187
00193 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_description() const;
00194 #endif //#GLIBMM_PROPERTIES_ENABLED
00195
00196 #ifdef GLIBMM_PROPERTIES_ENABLED
00197
00203 Glib::PropertyProxy<PointerEvents> property_pointer_events() ;
00204 #endif //#GLIBMM_PROPERTIES_ENABLED
00205
00206 #ifdef GLIBMM_PROPERTIES_ENABLED
00207
00213 Glib::PropertyProxy_ReadOnly<PointerEvents> property_pointer_events() const;
00214 #endif //#GLIBMM_PROPERTIES_ENABLED
00215
00216 #ifdef GLIBMM_PROPERTIES_ENABLED
00217
00223 Glib::PropertyProxy<Cairo::Matrix*> property_transform() ;
00224 #endif //#GLIBMM_PROPERTIES_ENABLED
00225
00226 #ifdef GLIBMM_PROPERTIES_ENABLED
00227
00233 Glib::PropertyProxy_ReadOnly<Cairo::Matrix*> property_transform() const;
00234 #endif //#GLIBMM_PROPERTIES_ENABLED
00235
00236
00237 #ifdef GLIBMM_PROPERTIES_ENABLED
00238
00244 Glib::PropertyProxy< Cairo::RefPtr<Cairo::Pattern> > property_stroke_pattern() ;
00245 #endif //#GLIBMM_PROPERTIES_ENABLED
00246
00247 #ifdef GLIBMM_PROPERTIES_ENABLED
00248
00254 Glib::PropertyProxy_ReadOnly< Cairo::RefPtr<Cairo::Pattern> > property_stroke_pattern() const;
00255 #endif //#GLIBMM_PROPERTIES_ENABLED
00256
00257 #ifdef GLIBMM_PROPERTIES_ENABLED
00258
00264 Glib::PropertyProxy< Cairo::RefPtr<Cairo::Pattern> > property_fill_pattern() ;
00265 #endif //#GLIBMM_PROPERTIES_ENABLED
00266
00267 #ifdef GLIBMM_PROPERTIES_ENABLED
00268
00274 Glib::PropertyProxy_ReadOnly< Cairo::RefPtr<Cairo::Pattern> > property_fill_pattern() const;
00275 #endif //#GLIBMM_PROPERTIES_ENABLED
00276
00277 #ifdef GLIBMM_PROPERTIES_ENABLED
00278
00284 Glib::PropertyProxy<Cairo::FillRule> property_fill_rule() ;
00285 #endif //#GLIBMM_PROPERTIES_ENABLED
00286
00287 #ifdef GLIBMM_PROPERTIES_ENABLED
00288
00294 Glib::PropertyProxy_ReadOnly<Cairo::FillRule> property_fill_rule() const;
00295 #endif //#GLIBMM_PROPERTIES_ENABLED
00296
00297 #ifdef GLIBMM_PROPERTIES_ENABLED
00298
00304 Glib::PropertyProxy<Cairo::Operator> property_operator() ;
00305 #endif //#GLIBMM_PROPERTIES_ENABLED
00306
00307 #ifdef GLIBMM_PROPERTIES_ENABLED
00308
00314 Glib::PropertyProxy_ReadOnly<Cairo::Operator> property_operator() const;
00315 #endif //#GLIBMM_PROPERTIES_ENABLED
00316
00317 #ifdef GLIBMM_PROPERTIES_ENABLED
00318
00324 Glib::PropertyProxy<Cairo::Antialias> property_antialias() ;
00325 #endif //#GLIBMM_PROPERTIES_ENABLED
00326
00327 #ifdef GLIBMM_PROPERTIES_ENABLED
00328
00334 Glib::PropertyProxy_ReadOnly<Cairo::Antialias> property_antialias() const;
00335 #endif //#GLIBMM_PROPERTIES_ENABLED
00336
00337
00338 #ifdef GLIBMM_PROPERTIES_ENABLED
00339
00345 Glib::PropertyProxy<Glib::ustring> property_font() ;
00346 #endif //#GLIBMM_PROPERTIES_ENABLED
00347
00348 #ifdef GLIBMM_PROPERTIES_ENABLED
00349
00355 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_font() const;
00356 #endif //#GLIBMM_PROPERTIES_ENABLED
00357
00358 #ifdef GLIBMM_PROPERTIES_ENABLED
00359
00365 Glib::PropertyProxy<Pango::FontDescription> property_font_desc() ;
00366 #endif //#GLIBMM_PROPERTIES_ENABLED
00367
00368 #ifdef GLIBMM_PROPERTIES_ENABLED
00369
00375 Glib::PropertyProxy_ReadOnly<Pango::FontDescription> property_font_desc() const;
00376 #endif //#GLIBMM_PROPERTIES_ENABLED
00377
00378 #ifdef GLIBMM_PROPERTIES_ENABLED
00379
00385 Glib::PropertyProxy<Cairo::HintMetrics> property_hint_metrics() ;
00386 #endif //#GLIBMM_PROPERTIES_ENABLED
00387
00388 #ifdef GLIBMM_PROPERTIES_ENABLED
00389
00395 Glib::PropertyProxy_ReadOnly<Cairo::HintMetrics> property_hint_metrics() const;
00396 #endif //#GLIBMM_PROPERTIES_ENABLED
00397
00398
00399 #ifdef GLIBMM_PROPERTIES_ENABLED
00400
00406 Glib::PropertyProxy<double> property_line_width() ;
00407 #endif //#GLIBMM_PROPERTIES_ENABLED
00408
00409 #ifdef GLIBMM_PROPERTIES_ENABLED
00410
00416 Glib::PropertyProxy_ReadOnly<double> property_line_width() const;
00417 #endif //#GLIBMM_PROPERTIES_ENABLED
00418
00419 #ifdef GLIBMM_PROPERTIES_ENABLED
00420
00426 Glib::PropertyProxy<Cairo::LineCap> property_line_cap() ;
00427 #endif //#GLIBMM_PROPERTIES_ENABLED
00428
00429 #ifdef GLIBMM_PROPERTIES_ENABLED
00430
00436 Glib::PropertyProxy_ReadOnly<Cairo::LineCap> property_line_cap() const;
00437 #endif //#GLIBMM_PROPERTIES_ENABLED
00438
00439 #ifdef GLIBMM_PROPERTIES_ENABLED
00440
00446 Glib::PropertyProxy<Cairo::LineJoin> property_line_join() ;
00447 #endif //#GLIBMM_PROPERTIES_ENABLED
00448
00449 #ifdef GLIBMM_PROPERTIES_ENABLED
00450
00456 Glib::PropertyProxy_ReadOnly<Cairo::LineJoin> property_line_join() const;
00457 #endif //#GLIBMM_PROPERTIES_ENABLED
00458
00459 #ifdef GLIBMM_PROPERTIES_ENABLED
00460
00466 Glib::PropertyProxy<double> property_line_join_miter_limit() ;
00467 #endif //#GLIBMM_PROPERTIES_ENABLED
00468
00469 #ifdef GLIBMM_PROPERTIES_ENABLED
00470
00476 Glib::PropertyProxy_ReadOnly<double> property_line_join_miter_limit() const;
00477 #endif //#GLIBMM_PROPERTIES_ENABLED
00478
00479 #ifdef GLIBMM_PROPERTIES_ENABLED
00480
00486 Glib::PropertyProxy<LineDash> property_line_dash() ;
00487 #endif //#GLIBMM_PROPERTIES_ENABLED
00488
00489 #ifdef GLIBMM_PROPERTIES_ENABLED
00490
00496 Glib::PropertyProxy_ReadOnly<LineDash> property_line_dash() const;
00497 #endif //#GLIBMM_PROPERTIES_ENABLED
00498
00499
00500 #ifdef GLIBMM_PROPERTIES_ENABLED
00501
00507 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_stroke_color() ;
00508 #endif //#GLIBMM_PROPERTIES_ENABLED
00509
00510
00511 #ifdef GLIBMM_PROPERTIES_ENABLED
00512
00518 Glib::PropertyProxy_WriteOnly<guint> property_stroke_color_rgba() ;
00519 #endif //#GLIBMM_PROPERTIES_ENABLED
00520
00521
00522 #ifdef GLIBMM_PROPERTIES_ENABLED
00523
00529 Glib::PropertyProxy_WriteOnly<Gdk::Pixbuf> property_stroke_pixbuf() ;
00530 #endif //#GLIBMM_PROPERTIES_ENABLED
00531
00532
00533 #ifdef GLIBMM_PROPERTIES_ENABLED
00534
00540 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_fill_color() ;
00541 #endif //#GLIBMM_PROPERTIES_ENABLED
00542
00543
00544 #ifdef GLIBMM_PROPERTIES_ENABLED
00545
00551 Glib::PropertyProxy_WriteOnly<guint> property_fill_color_rgba() ;
00552 #endif //#GLIBMM_PROPERTIES_ENABLED
00553
00554
00555 #ifdef GLIBMM_PROPERTIES_ENABLED
00556
00562 Glib::PropertyProxy_WriteOnly<Gdk::Pixbuf> property_fill_pixbuf() ;
00563 #endif //#GLIBMM_PROPERTIES_ENABLED
00564
00565
00566 #ifdef GLIBMM_PROPERTIES_ENABLED
00567
00573 Glib::PropertyProxy< Glib::RefPtr<Item> > property_parent() ;
00574 #endif //#GLIBMM_PROPERTIES_ENABLED
00575
00576 #ifdef GLIBMM_PROPERTIES_ENABLED
00577
00583 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Item> > property_parent() const;
00584 #endif //#GLIBMM_PROPERTIES_ENABLED
00585
00586 #ifdef GLIBMM_PROPERTIES_ENABLED
00587
00593 Glib::PropertyProxy<bool> property_can_focus() ;
00594 #endif //#GLIBMM_PROPERTIES_ENABLED
00595
00596 #ifdef GLIBMM_PROPERTIES_ENABLED
00597
00603 Glib::PropertyProxy_ReadOnly<bool> property_can_focus() const;
00604 #endif //#GLIBMM_PROPERTIES_ENABLED
00605
00606 #ifdef GLIBMM_PROPERTIES_ENABLED
00607
00613 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_clip_path() ;
00614 #endif //#GLIBMM_PROPERTIES_ENABLED
00615
00616
00617
00618
00619
00620 public:
00621
00622 public:
00623
00624 #ifdef GLIBMM_VFUNCS_ENABLED
00625 #endif //GLIBMM_VFUNCS_ENABLED
00626
00627 protected:
00628
00629 #ifdef GLIBMM_VFUNCS_ENABLED
00630 #endif //GLIBMM_VFUNCS_ENABLED
00631
00632
00633 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00634 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00635
00636
00637 };
00638
00639 }
00640
00641
00642 namespace Glib
00643 {
00652 Glib::RefPtr<Goocanvas::ItemSimple> wrap(GooCanvasItemSimple* object, bool take_copy = false);
00653 }
00654
00655
00656 #endif
00657