source: synfigstudio/trunk/fuentes/src/gui/widgets/widget_curves.h @ 481

Last change on this file since 481 was 481, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 2.4 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file widgets/widget_curves.h
3**      \brief Template Header
4**
5**      $Id$
6**
7**      \legal
8**      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9**
10**      This package is free software; you can redistribute it and/or
11**      modify it under the terms of the GNU General Public License as
12**      published by the Free Software Foundation; either version 2 of
13**      the License, or (at your option) any later version.
14**
15**      This package is distributed in the hope that it will be useful,
16**      but WITHOUT ANY WARRANTY; without even the implied warranty of
17**      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18**      General Public License for more details.
19**      \endlegal
20*/
21/* ========================================================================= */
22
23/* === S T A R T =========================================================== */
24
25#ifndef __SYNFIG_STUDIO_WIDGET_CURVES_H
26#define __SYNFIG_STUDIO_WIDGET_CURVES_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 <gtkmm/layout.h>
36#include <synfig/color.h>
37#include <synfigapp/value_desc.h>
38#include <list>
39
40/* === M A C R O S ========================================================= */
41
42/* === T Y P E D E F S ===================================================== */
43
44/* === C L A S S E S & S T R U C T S ======================================= */
45
46namespace studio {
47
48class Widget_Curves : public Gtk::DrawingArea
49{
50        struct Channel;
51        struct CurveStruct;
52
53        Glib::RefPtr<Gtk::Adjustment> time_adjustment_;
54        Glib::RefPtr<Gtk::Adjustment> range_adjustment_;
55
56        std::list<CurveStruct> curve_list_;
57
58public:
59
60        Widget_Curves();
61        ~Widget_Curves();
62
63        void set_value_descs(std::list<synfigapp::ValueDesc> value_descs);
64        void clear();
65        void refresh();
66
67        Glib::RefPtr<Gtk::Adjustment> get_range_adjustment() { return range_adjustment_; }
68        Glib::RefPtr<Gtk::Adjustment> get_time_adjustment() { return time_adjustment_; }
69        void set_time_adjustment(const Glib::RefPtr<Gtk::Adjustment>&);
70
71private:
72        bool on_draw(const Cairo::RefPtr<Cairo::Context> &cr);
73        bool on_event(GdkEvent *event);
74
75}; // END of class Widget_Curves
76
77}; // END of namespace studio
78
79/* === E N D =============================================================== */
80
81#endif
Note: See TracBrowser for help on using the repository browser.