itemsimple.h
Go to the documentation of this file.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
00103 void set_model(const Glib::RefPtr<ItemModel>& model);
00104
00105
00119 void get_path_bounds(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds) const;
00120
00128 void user_bounds_to_device(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds);
00129
00139 void user_bounds_to_parent(const Cairo::RefPtr<Cairo::Context>& context, Bounds& bounds);
00140
00151 bool check_in_path(double x, double y, const Cairo::RefPtr<Cairo::Context>& cr, PointerEvents pointer_events) const;
00152
00158 void paint_path(const Cairo::RefPtr<Cairo::Context>& cr);
00159
00166 void changed(bool recompute_bounds);
00167
00175 void check_style();
00176
00180 double get_line_width() const;
00181
00182 #ifdef GLIBMM_PROPERTIES_ENABLED
00183
00189 Glib::PropertyProxy<Glib::ustring> property_title() ;
00190 #endif //#GLIBMM_PROPERTIES_ENABLED
00191
00192 #ifdef GLIBMM_PROPERTIES_ENABLED
00193
00199 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_title() const;
00200 #endif //#GLIBMM_PROPERTIES_ENABLED
00201
00202 #ifdef GLIBMM_PROPERTIES_ENABLED
00203
00209 Glib::PropertyProxy<double> property_visibility_threshold() ;
00210 #endif //#GLIBMM_PROPERTIES_ENABLED
00211
00212 #ifdef GLIBMM_PROPERTIES_ENABLED
00213
00219 Glib::PropertyProxy_ReadOnly<double> property_visibility_threshold() const;
00220 #endif //#GLIBMM_PROPERTIES_ENABLED
00221
00222 #ifdef GLIBMM_PROPERTIES_ENABLED
00223
00229 Glib::PropertyProxy<ItemVisibility> property_visibility() ;
00230 #endif //#GLIBMM_PROPERTIES_ENABLED
00231
00232 #ifdef GLIBMM_PROPERTIES_ENABLED
00233
00239 Glib::PropertyProxy_ReadOnly<ItemVisibility> property_visibility() const;
00240 #endif //#GLIBMM_PROPERTIES_ENABLED
00241
00242 #ifdef GLIBMM_PROPERTIES_ENABLED
00243
00249 Glib::PropertyProxy<Glib::ustring> property_description() ;
00250 #endif //#GLIBMM_PROPERTIES_ENABLED
00251
00252 #ifdef GLIBMM_PROPERTIES_ENABLED
00253
00259 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_description() const;
00260 #endif //#GLIBMM_PROPERTIES_ENABLED
00261
00262 #ifdef GLIBMM_PROPERTIES_ENABLED
00263
00269 Glib::PropertyProxy<PointerEvents> property_pointer_events() ;
00270 #endif //#GLIBMM_PROPERTIES_ENABLED
00271
00272 #ifdef GLIBMM_PROPERTIES_ENABLED
00273
00279 Glib::PropertyProxy_ReadOnly<PointerEvents> property_pointer_events() const;
00280 #endif //#GLIBMM_PROPERTIES_ENABLED
00281
00282 #ifdef GLIBMM_PROPERTIES_ENABLED
00283
00289 Glib::PropertyProxy<Cairo::Matrix*> property_transform() ;
00290 #endif //#GLIBMM_PROPERTIES_ENABLED
00291
00292 #ifdef GLIBMM_PROPERTIES_ENABLED
00293
00299 Glib::PropertyProxy_ReadOnly<Cairo::Matrix*> property_transform() const;
00300 #endif //#GLIBMM_PROPERTIES_ENABLED
00301
00302
00303 #ifdef GLIBMM_PROPERTIES_ENABLED
00304
00310 Glib::PropertyProxy< Cairo::RefPtr<Cairo::Pattern> > property_stroke_pattern() ;
00311 #endif //#GLIBMM_PROPERTIES_ENABLED
00312
00313 #ifdef GLIBMM_PROPERTIES_ENABLED
00314
00320 Glib::PropertyProxy_ReadOnly< Cairo::RefPtr<Cairo::Pattern> > property_stroke_pattern() const;
00321 #endif //#GLIBMM_PROPERTIES_ENABLED
00322
00323 #ifdef GLIBMM_PROPERTIES_ENABLED
00324
00330 Glib::PropertyProxy< Cairo::RefPtr<Cairo::Pattern> > property_fill_pattern() ;
00331 #endif //#GLIBMM_PROPERTIES_ENABLED
00332
00333 #ifdef GLIBMM_PROPERTIES_ENABLED
00334
00340 Glib::PropertyProxy_ReadOnly< Cairo::RefPtr<Cairo::Pattern> > property_fill_pattern() const;
00341 #endif //#GLIBMM_PROPERTIES_ENABLED
00342
00343 #ifdef GLIBMM_PROPERTIES_ENABLED
00344
00350 Glib::PropertyProxy<Cairo::FillRule> property_fill_rule() ;
00351 #endif //#GLIBMM_PROPERTIES_ENABLED
00352
00353 #ifdef GLIBMM_PROPERTIES_ENABLED
00354
00360 Glib::PropertyProxy_ReadOnly<Cairo::FillRule> property_fill_rule() const;
00361 #endif //#GLIBMM_PROPERTIES_ENABLED
00362
00363 #ifdef GLIBMM_PROPERTIES_ENABLED
00364
00370 Glib::PropertyProxy<Cairo::Operator> property_operator() ;
00371 #endif //#GLIBMM_PROPERTIES_ENABLED
00372
00373 #ifdef GLIBMM_PROPERTIES_ENABLED
00374
00380 Glib::PropertyProxy_ReadOnly<Cairo::Operator> property_operator() const;
00381 #endif //#GLIBMM_PROPERTIES_ENABLED
00382
00383 #ifdef GLIBMM_PROPERTIES_ENABLED
00384
00390 Glib::PropertyProxy<Cairo::Antialias> property_antialias() ;
00391 #endif //#GLIBMM_PROPERTIES_ENABLED
00392
00393 #ifdef GLIBMM_PROPERTIES_ENABLED
00394
00400 Glib::PropertyProxy_ReadOnly<Cairo::Antialias> property_antialias() const;
00401 #endif //#GLIBMM_PROPERTIES_ENABLED
00402
00403
00404 #ifdef GLIBMM_PROPERTIES_ENABLED
00405
00411 Glib::PropertyProxy<Glib::ustring> property_font() ;
00412 #endif //#GLIBMM_PROPERTIES_ENABLED
00413
00414 #ifdef GLIBMM_PROPERTIES_ENABLED
00415
00421 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_font() const;
00422 #endif //#GLIBMM_PROPERTIES_ENABLED
00423
00424 #ifdef GLIBMM_PROPERTIES_ENABLED
00425
00431 Glib::PropertyProxy<Pango::FontDescription> property_font_desc() ;
00432 #endif //#GLIBMM_PROPERTIES_ENABLED
00433
00434 #ifdef GLIBMM_PROPERTIES_ENABLED
00435
00441 Glib::PropertyProxy_ReadOnly<Pango::FontDescription> property_font_desc() const;
00442 #endif //#GLIBMM_PROPERTIES_ENABLED
00443
00444 #ifdef GLIBMM_PROPERTIES_ENABLED
00445
00451 Glib::PropertyProxy<Cairo::HintMetrics> property_hint_metrics() ;
00452 #endif //#GLIBMM_PROPERTIES_ENABLED
00453
00454 #ifdef GLIBMM_PROPERTIES_ENABLED
00455
00461 Glib::PropertyProxy_ReadOnly<Cairo::HintMetrics> property_hint_metrics() const;
00462 #endif //#GLIBMM_PROPERTIES_ENABLED
00463
00464
00465 #ifdef GLIBMM_PROPERTIES_ENABLED
00466
00472 Glib::PropertyProxy<double> property_line_width() ;
00473 #endif //#GLIBMM_PROPERTIES_ENABLED
00474
00475 #ifdef GLIBMM_PROPERTIES_ENABLED
00476
00482 Glib::PropertyProxy_ReadOnly<double> property_line_width() const;
00483 #endif //#GLIBMM_PROPERTIES_ENABLED
00484
00485 #ifdef GLIBMM_PROPERTIES_ENABLED
00486
00492 Glib::PropertyProxy<Cairo::LineCap> property_line_cap() ;
00493 #endif //#GLIBMM_PROPERTIES_ENABLED
00494
00495 #ifdef GLIBMM_PROPERTIES_ENABLED
00496
00502 Glib::PropertyProxy_ReadOnly<Cairo::LineCap> property_line_cap() const;
00503 #endif //#GLIBMM_PROPERTIES_ENABLED
00504
00505 #ifdef GLIBMM_PROPERTIES_ENABLED
00506
00512 Glib::PropertyProxy<Cairo::LineJoin> property_line_join() ;
00513 #endif //#GLIBMM_PROPERTIES_ENABLED
00514
00515 #ifdef GLIBMM_PROPERTIES_ENABLED
00516
00522 Glib::PropertyProxy_ReadOnly<Cairo::LineJoin> property_line_join() const;
00523 #endif //#GLIBMM_PROPERTIES_ENABLED
00524
00525 #ifdef GLIBMM_PROPERTIES_ENABLED
00526
00532 Glib::PropertyProxy<double> property_line_join_miter_limit() ;
00533 #endif //#GLIBMM_PROPERTIES_ENABLED
00534
00535 #ifdef GLIBMM_PROPERTIES_ENABLED
00536
00542 Glib::PropertyProxy_ReadOnly<double> property_line_join_miter_limit() const;
00543 #endif //#GLIBMM_PROPERTIES_ENABLED
00544
00545 #ifdef GLIBMM_PROPERTIES_ENABLED
00546
00552 Glib::PropertyProxy<LineDash> property_line_dash() ;
00553 #endif //#GLIBMM_PROPERTIES_ENABLED
00554
00555 #ifdef GLIBMM_PROPERTIES_ENABLED
00556
00562 Glib::PropertyProxy_ReadOnly<LineDash> property_line_dash() const;
00563 #endif //#GLIBMM_PROPERTIES_ENABLED
00564
00565
00566 #ifdef GLIBMM_PROPERTIES_ENABLED
00567
00573 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_stroke_color() ;
00574 #endif //#GLIBMM_PROPERTIES_ENABLED
00575
00576
00577 #ifdef GLIBMM_PROPERTIES_ENABLED
00578
00584 Glib::PropertyProxy<guint> property_stroke_color_rgba() ;
00585 #endif //#GLIBMM_PROPERTIES_ENABLED
00586
00587 #ifdef GLIBMM_PROPERTIES_ENABLED
00588
00594 Glib::PropertyProxy_ReadOnly<guint> property_stroke_color_rgba() const;
00595 #endif //#GLIBMM_PROPERTIES_ENABLED
00596
00597 #ifdef GLIBMM_PROPERTIES_ENABLED
00598
00604 Glib::PropertyProxy_WriteOnly<Gdk::Pixbuf> property_stroke_pixbuf() ;
00605 #endif //#GLIBMM_PROPERTIES_ENABLED
00606
00607
00608 #ifdef GLIBMM_PROPERTIES_ENABLED
00609
00615 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_fill_color() ;
00616 #endif //#GLIBMM_PROPERTIES_ENABLED
00617
00618
00619 #ifdef GLIBMM_PROPERTIES_ENABLED
00620
00626 Glib::PropertyProxy<guint> property_fill_color_rgba() ;
00627 #endif //#GLIBMM_PROPERTIES_ENABLED
00628
00629 #ifdef GLIBMM_PROPERTIES_ENABLED
00630
00636 Glib::PropertyProxy_ReadOnly<guint> property_fill_color_rgba() const;
00637 #endif //#GLIBMM_PROPERTIES_ENABLED
00638
00639 #ifdef GLIBMM_PROPERTIES_ENABLED
00640
00646 Glib::PropertyProxy_WriteOnly<Gdk::Pixbuf> property_fill_pixbuf() ;
00647 #endif //#GLIBMM_PROPERTIES_ENABLED
00648
00649
00650 #ifdef GLIBMM_PROPERTIES_ENABLED
00651
00657 Glib::PropertyProxy< Glib::RefPtr<Item> > property_parent() ;
00658 #endif //#GLIBMM_PROPERTIES_ENABLED
00659
00660 #ifdef GLIBMM_PROPERTIES_ENABLED
00661
00667 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Item> > property_parent() const;
00668 #endif //#GLIBMM_PROPERTIES_ENABLED
00669
00670 #ifdef GLIBMM_PROPERTIES_ENABLED
00671
00677 Glib::PropertyProxy<bool> property_can_focus() ;
00678 #endif //#GLIBMM_PROPERTIES_ENABLED
00679
00680 #ifdef GLIBMM_PROPERTIES_ENABLED
00681
00687 Glib::PropertyProxy_ReadOnly<bool> property_can_focus() const;
00688 #endif //#GLIBMM_PROPERTIES_ENABLED
00689
00690 #ifdef GLIBMM_PROPERTIES_ENABLED
00691
00697 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_clip_path() ;
00698 #endif //#GLIBMM_PROPERTIES_ENABLED
00699
00700
00701 #ifdef GLIBMM_PROPERTIES_ENABLED
00702
00708 Glib::PropertyProxy<Cairo::FillRule> property_clip_fill_rule() ;
00709 #endif //#GLIBMM_PROPERTIES_ENABLED
00710
00711 #ifdef GLIBMM_PROPERTIES_ENABLED
00712
00718 Glib::PropertyProxy_ReadOnly<Cairo::FillRule> property_clip_fill_rule() const;
00719 #endif //#GLIBMM_PROPERTIES_ENABLED
00720
00721
00722 Bounds get_bounds() const;
00723 void set_bounds(const Bounds& value);
00724
00725 protected:
00726
00727
00728 #ifdef GLIBMM_VFUNCS_ENABLED
00729 virtual void simple_create_path_vfunc(const Cairo::RefPtr<Cairo::Context>& cr);
00730 #endif //GLIBMM_VFUNCS_ENABLED
00731
00732 #ifdef GLIBMM_VFUNCS_ENABLED
00733 virtual void simple_update_vfunc(const Cairo::RefPtr<Cairo::Context>& cr);
00734 #endif //GLIBMM_VFUNCS_ENABLED
00735
00736 #ifdef GLIBMM_VFUNCS_ENABLED
00737 virtual void simple_paint_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, const Bounds& bounds);
00738 #endif //GLIBMM_VFUNCS_ENABLED
00739
00740 #ifdef GLIBMM_VFUNCS_ENABLED
00741 virtual bool simple_is_item_at_vfunc(double x, double y, const Cairo::RefPtr<Cairo::Context>& cr, bool is_pointer_event);
00742 #endif //GLIBMM_VFUNCS_ENABLED
00743
00744 bool get_need_update() const;
00745 void set_need_update(const bool& value);
00746 bool get_need_entire_subtree_update() const;
00747 void set_need_entire_subtree_update(const bool& value);
00748
00749
00750 public:
00751
00752 public:
00753
00754 #ifdef GLIBMM_VFUNCS_ENABLED
00755 #endif //GLIBMM_VFUNCS_ENABLED
00756
00757 protected:
00758
00759 #ifdef GLIBMM_VFUNCS_ENABLED
00760 #endif //GLIBMM_VFUNCS_ENABLED
00761
00762
00763 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00764 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00765
00766
00767 };
00768
00769 }
00770
00771
00772 namespace Glib
00773 {
00782 Glib::RefPtr<Goocanvas::ItemSimple> wrap(GooCanvasItemSimple* object, bool take_copy = false);
00783 }
00784
00785
00786 #endif
00787