Allow linking widths and tangents to positions on a bline. It also now works with...
[synfig.git] / synfig-studio / trunk / src / gtkmm / renderer_ducks.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file renderer_ducks.h
3 **      \brief Template Header
4 **
5 **      $Id$
6 **
7 **      \legal
8 **      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9 **      Copyright (c) 2007 Chris Moore
10 **
11 **      This package is free software; you can redistribute it and/or
12 **      modify it under the terms of the GNU General Public License as
13 **      published by the Free Software Foundation; either version 2 of
14 **      the License, or (at your option) any later version.
15 **
16 **      This package is distributed in the hope that it will be useful,
17 **      but WITHOUT ANY WARRANTY; without even the implied warranty of
18 **      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 **      General Public License for more details.
20 **      \endlegal
21 */
22 /* ========================================================================= */
23
24 /* === S T A R T =========================================================== */
25
26 #ifndef __SYNFIG_RENDERER_DUCKS_H
27 #define __SYNFIG_RENDERER_DUCKS_H
28
29 /* === H E A D E R S ======================================================= */
30
31 #include "workarearenderer.h"
32 #include <vector>
33
34 /* === M A C R O S ========================================================= */
35
36 #define DUCK_COLOR_NOT_EDITABLE Gdk::Color("#cfcfcf")
37
38 #define DUCK_COLOR_ANGLE                Gdk::Color("#0000ff")
39 #define DUCK_COLOR_RADIUS               Gdk::Color("#00ffff")
40 #define DUCK_COLOR_TANGENT_1    Gdk::Color("#ffff00")
41 #define DUCK_COLOR_TANGENT_2    Gdk::Color("#ff0000")
42 #define DUCK_COLOR_VERTEX               Gdk::Color("#ff7f00")
43 #define DUCK_COLOR_WIDTH                Gdk::Color("#ff00ff")
44 #define DUCK_COLOR_OTHER                Gdk::Color("#00ff00")
45
46 #define DUCK_COLOR_OUTLINE              Gdk::Color("#000000") // the outline around each duck
47
48 #define DUCK_COLOR_BEZIER_1             Gdk::Color("#000000") // the 2 colors used to draw bezier curves
49 #define DUCK_COLOR_BEZIER_2             Gdk::Color("#afafaf")
50
51 #define DUCK_COLOR_BOX_1                Gdk::Color("#ffffff") // the 2 colors used to draw boxes
52 #define DUCK_COLOR_BOX_2                Gdk::Color("#000000")
53
54 #define DUCK_COLOR_SELECTED             Gdk::Color("#ff0000") // the color of the box drawn when a valuenode is selected
55
56 #define DUCK_COLOR_CONNECT_INSIDE       Gdk::Color("#9fefef") // the color of the inside of the line connecting a vertex duck to the tangent ducks
57 #define DUCK_COLOR_CONNECT_OUTSIDE      Gdk::Color("#000000") // the color of the outside of the line connecting a vertex duck to the tangent ducks
58
59 #define DUCK_COLOR_WIDTH_TEXT_1 Gdk::Color("#000000") // the color of the text's shadow when hovering over a width duck
60 #define DUCK_COLOR_WIDTH_TEXT_2 Gdk::Color("#ff00ff") // the color of the text when hovering over a width duck
61
62 /* === T Y P E D E F S ===================================================== */
63
64 /* === C L A S S E S & S T R U C T S ======================================= */
65
66 namespace studio {
67
68 class Renderer_Ducks : public studio::WorkAreaRenderer
69 {
70
71 public:
72         ~Renderer_Ducks();
73
74         void render_vfunc(const Glib::RefPtr<Gdk::Drawable>& drawable,const Gdk::Rectangle& expose_area );
75
76 protected:
77 //      bool get_enabled_vfunc()const;
78 };
79
80 }; // END of namespace studio
81
82 /* === E N D =============================================================== */
83
84 #endif