- Main Page
- Related Pages
- Namespaces
- Classes
- Files

# widget_gradient.h

Go to the documentation of this file.

    00001 /* === S Y N F I G ========================================================= */
    00021 /* ========================================================================= */
    00022
    00023 /* === S T A R T =========================================================== */
    00024
    00025 #ifndef __SYNFIG_STUDIO_WIDGET_GRADIENT_H
    00026 #define __SYNFIG_STUDIO_WIDGET_GRADIENT_H
    00027
    00028 /* === H E A D E R S ======================================================= */
    00029
    00030 #include <gtkmm/drawingarea.h>
    00031 #include <synfig/gradient.h>
    00032
    00033 /* === M A C R O S ========================================================= */
    00034
    00035 /* === T Y P E D E F S ===================================================== */
    00036
    00037 /* === C L A S S E S & S T R U C T S ======================================= */
    00038
    00039 namespace studio {
    00040
    00041 void render_gradient_to_window(const Glib::RefPtr<Gdk::Drawable>& window,const Gdk::Rectangle& ca,const synfig::Gradient &gradient);
    00042
    00043 class Widget_Gradient : public Gtk::DrawingArea
    00044 {
    00045     sigc::signal<void> signal_value_changed_;
    00046     sigc::signal<void> signal_clicked_;
    00047
    00048     sigc::signal<void,synfig::Gradient::CPoint> signal_cpoint_selected_;
    00049
    00050     synfig::Gradient gradient_;
    00051
    00052     bool editable_;
    00053
    00054     bool changed_;
    00055
    00056     synfig::Gradient::CPoint    selected_cpoint;
    00057
    00058     void popup_menu(float x);
    00059
    00060     void insert_cpoint(float x);
    00061
    00062     void remove_cpoint(float x);
    00063
    00064 public:
    00065
    00066     Widget_Gradient();
    00067
    00068     ~Widget_Gradient();
    00069
    00070     sigc::signal<void>& signal_value_changed() { return signal_value_changed_; }
    00071     sigc::signal<void>& signal_clicked() { return signal_clicked_; }
    00072
    00073     sigc::signal<void,synfig::Gradient::CPoint>& signal_cpoint_selected() { return signal_cpoint_selected_; }
    00074
    00075     void set_value(const synfig::Gradient& x);
    00076
    00077     const synfig::Gradient& get_value()const { return gradient_; }
    00078
    00079     void set_editable(bool x=true) { editable_=x; }
    00080
    00081     bool get_editable()const { return editable_; }
    00082
    00083
    00084
    00085     void set_selected_cpoint(const synfig::Gradient::CPoint &x);
    00086
    00087     const synfig::Gradient::CPoint& get_selected_cpoint() { return selected_cpoint; }
    00088
    00089     void update_cpoint(const synfig::Gradient::CPoint &x);
    00090
    00091
    00092
    00093     bool redraw(GdkEventExpose*bleh=NULL);
    00094
    00095     bool on_event(GdkEvent *event);
    00096 }; // END of class BlackLevelSelector
    00097
    00098 }; // END of namespace studio
    00099
    00100 /* === E N D =============================================================== */
    00101
    00102 #endif