canvas HSV color serialization needs LocaleGuard
[ardour.git] / libs / canvas / canvas / flag.h
index 6664524a195298ac125febdb32c66ba217b7dd3b..ed7bc7cacba9346e1651b3dd4394aec9f65c4a0b 100644 (file)
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-#include "canvas/group.h"
+#include <pangomm/fontdescription.h>
+
+#include "canvas/visibility.h"
 #include "canvas/types.h"
+#include "canvas/container.h"
 
 namespace ArdourCanvas {
 
@@ -26,21 +29,28 @@ class Text;
 class Line;
 class Rectangle;
 
-class 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;
 };
-       
+
 }