X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fcanvas%2Fcanvas%2Foutline.h;h=38f8eb2e32ca00f046f2d00085028d3e264ec08a;hb=58c1ff368c0326902a12a179c750e340d5c89e33;hp=52b1f010610031d3ff17b5aa98107b918544fdc1;hpb=44564654fd825f198946d0f189421f9e569f68a6;p=ardour.git diff --git a/libs/canvas/canvas/outline.h b/libs/canvas/canvas/outline.h index 52b1f01061..38f8eb2e32 100644 --- a/libs/canvas/canvas/outline.h +++ b/libs/canvas/canvas/outline.h @@ -1,21 +1,42 @@ +/* + Copyright (C) 2011-2013 Paul Davis + Author: Carl Hetherington + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + #ifndef __CANVAS_OUTLINE_H__ #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() {} - void add_outline_state (XMLNode *) const; - void set_outline_state (XMLNode const *); - Color outline_color () const { return _outline_color; } @@ -25,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; }; }