synfig-studio  1.0.3
widget_color.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
21 /* ========================================================================= */
22 
23 /* === S T A R T =========================================================== */
24 
25 #ifndef __SYNFIG_STUDIO_WIDGET_COLOR_H
26 #define __SYNFIG_STUDIO_WIDGET_COLOR_H
27 
28 /* === H E A D E R S ======================================================= */
29 
30 #include <gtkmm/box.h>
31 #include <gtkmm/table.h>
32 #include <gtkmm/spinbutton.h>
33 #include <gtkmm/adjustment.h>
34 #include <gtkmm/drawingarea.h>
35 #include <synfig/color.h>
36 
37 /* === M A C R O S ========================================================= */
38 
39 /* === T Y P E D E F S ===================================================== */
40 
41 /* === C L A S S E S & S T R U C T S ======================================= */
42 
43 namespace studio {
44 
45 
46 synfig::Color colorconv_apply_gamma(const synfig::Color &c);
47 
48 void render_color_to_window(const Cairo::RefPtr<Cairo::Context> &cr, const Gdk::Rectangle &ca, const synfig::Color &color);
49 
50 class Widget_Color : public Gtk::DrawingArea
51 {
52  synfig::Color color;
53 
54  sigc::signal<void> signal_activate_;
55  sigc::signal<void> signal_middle_click_;
56  sigc::signal<void> signal_right_click_;
57 
58 protected:
59 
60 public:
61  sigc::signal<void>& signal_activate() { return signal_activate_; }
62  sigc::signal<void>& signal_clicked() { return signal_activate_; }
63  sigc::signal<void>& signal_middle_click() { return signal_middle_click_; }
64  sigc::signal<void>& signal_right_click() { return signal_right_click_; }
65 
66  void set_value(const synfig::Color &data);
67  const synfig::Color &get_value();
68  Widget_Color();
69  ~Widget_Color();
70 private:
71  bool on_draw(const Cairo::RefPtr<Cairo::Context> &cr);
72  bool on_event(GdkEvent *event);
73 
74 }; // END of class Widget_Color
75 
76 }; // END of namespace studio
77 
78 /* === E N D =============================================================== */
79 
80 #endif