X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Foutline.h;h=38f8eb2e32ca00f046f2d00085028d3e264ec08a;hb=d92686afb4105b84b014372b6feb0ccc454a5171;hp=d97c3e023f30c0f461a890a74497442b690809bc;hpb=37dd7e952bd084cd35a4c4f67949890ee3e7c152;p=ardour.git diff --git a/libs/canvas/canvas/outline.h b/libs/canvas/canvas/outline.h index d97c3e023f..38f8eb2e32 100644 --- a/libs/canvas/canvas/outline.h +++ b/libs/canvas/canvas/outline.h @@ -21,16 +21,21 @@ #define __CANVAS_OUTLINE_H__ #include + +#include + +#include "canvas/visibility.h" #include "canvas/types.h" -#include "canvas/item.h" namespace ArdourCanvas { -class Outline : virtual public Item +class Item; + +class LIBCANVAS_API Outline : public boost::noncopyable { public: - Outline (Group *); - virtual ~Outline () {} + Outline (Item& self); + virtual ~Outline() {} Color outline_color () const { return _outline_color; @@ -41,48 +46,23 @@ public: Distance outline_width () const { return _outline_width; } - + virtual void set_outline_width (Distance); bool outline () const { return _outline; } - void set_outline (bool); - -#ifdef CANVAS_COMPATIBILITY - int& property_first_arrowhead () { - return _foo_int; - } - int& property_last_arrowhead () { - return _foo_int; - } - int& property_arrow_shape_a () { - return _foo_int; - } - int& property_arrow_shape_b () { - return _foo_int; - } - int& property_arrow_shape_c () { - return _foo_int; - } - bool& property_draw () { - return _foo_bool; - } -#endif + virtual void set_outline (bool); protected: void setup_outline_context (Cairo::RefPtr) const; - - Color _outline_color; - Distance _outline_width; - bool _outline; -#ifdef CANVAS_COMPATIBILITY - int _foo_int; - bool _foo_bool; -#endif + Item& _self; + Color _outline_color; + Distance _outline_width; + bool _outline; }; }