Ardour  9.0-pre0-582-g084a23a80d
outline.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Carl Hetherington <carl@carlh.net>
3  * Copyright (C) 2013-2014 Paul Davis <paul@linuxaudiosystems.com>
4  * Copyright (C) 2015-2017 Robin Gareus <robin@gareus.org>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20 
21 #ifndef __CANVAS_OUTLINE_H__
22 #define __CANVAS_OUTLINE_H__
23 
24 #include <stdint.h>
25 
26 #include "canvas/visibility.h"
27 #include "canvas/types.h"
28 
29 namespace ArdourCanvas {
30 
31 class Item;
32 
34 {
35 public:
36  Outline (Item& self);
37  Outline (const Outline&) = delete;
38  Outline& operator= (const Outline&) = delete;
39  virtual ~Outline() {}
40 
42  return _outline_color;
43  }
44 
46 
48  return _outline_width;
49  }
50 
51  virtual void set_outline_width (Distance);
52 
53  bool outline () const {
54  return _outline;
55  }
56 
57  virtual void set_outline (bool);
58 
59 protected:
60 
61  void setup_outline_context (Cairo::RefPtr<Cairo::Context>) const;
62 
66  bool _outline;
67 };
68 
69 }
70 
71 #endif
#define LIBCANVAS_API
virtual void set_outline_width(Distance)
void setup_outline_context(Cairo::RefPtr< Cairo::Context >) const
Gtkmm2ext::Color _outline_color
Definition: outline.h:64
Distance _outline_width
Definition: outline.h:65
virtual void set_outline(bool)
Distance outline_width() const
Definition: outline.h:47
bool outline() const
Definition: outline.h:53
virtual ~Outline()
Definition: outline.h:39
Gtkmm2ext::Color outline_color() const
Definition: outline.h:41
Outline(const Outline &)=delete
virtual void set_outline_color(Gtkmm2ext::Color)
uint32_t Color
Definition: colors.h:33