canvas HSV color serialization needs LocaleGuard
[ardour.git] / libs / canvas / canvas / flag.h
index 0975d9373ed4f50e675f137e505e83f6da6d1097..ed7bc7cacba9346e1651b3dd4394aec9f65c4a0b 100644 (file)
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
+#include <pangomm/fontdescription.h>
+
 #include "canvas/visibility.h"
-#include "canvas/group.h"
 #include "canvas/types.h"
+#include "canvas/container.h"
 
 namespace ArdourCanvas {
 
@@ -27,23 +29,28 @@ class Text;
 class Line;
 class Rectangle;
 
-class LIBCANVAS_API Flag : public Group
+class LIBCANVAS_API Flag : public Container
 {
 public:
-       Flag (Group *, Distance, Color, Color, Duple);
+       Flag (Canvas *, Distance, Color, Color, Duple, bool invert=false);
+       Flag (Item*, Distance, Color, Color, Duple, bool invert=false);
 
        void set_text (std::string const &);
        void set_height (Distance);
 
+       void set_font_description (Pango::FontDescription);
+
         bool covers (Duple const &) const;
-       
+
 private:
-       Distance _height;
+       void setup (Distance height, Duple position);
+
        Color _outline_color;
        Color _fill_color;
        Text* _text;
        Line* _line;
        Rectangle* _rectangle;
+       bool _invert;
 };
-       
+
 }