canvas HSV color serialization needs LocaleGuard
[ardour.git] / libs / canvas / canvas / outline.h
index 972c07b11c3d8369832b04368d58a210e7c877a6..38f8eb2e32ca00f046f2d00085028d3e264ec08a 100644 (file)
 
 #include <stdint.h>
 
+#include <boost/noncopyable.hpp>
+
 #include "canvas/visibility.h"
 #include "canvas/types.h"
-#include "canvas/item.h"
 
 namespace ArdourCanvas {
 
-class LIBCANVAS_API 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;
@@ -43,7 +46,7 @@ public:
        Distance outline_width () const {
                return _outline_width;
        }
-       
+
        virtual void set_outline_width (Distance);
 
        bool outline () const {
@@ -55,10 +58,11 @@ public:
 protected:
 
        void setup_outline_context (Cairo::RefPtr<Cairo::Context>) const;
-       
-       Color _outline_color;
+
+       Item&    _self;
+       Color    _outline_color;
        Distance _outline_width;
-       bool _outline;
+       bool     _outline;
 };
 
 }