1 #ifndef SEEN_SP_COLOR_WHEEL_SELECTOR_H
2 #define SEEN_SP_COLOR_WHEEL_SELECTOR_H
4 #include <glib/gtypes.h>
5 #include <gtk/gtktooltips.h>
6 #include <gtk/gtkvbox.h>
8 #include "../color.h"
9 #include "sp-color-slider.h"
10 #include "sp-color-selector.h"
14 typedef struct _GtkHSV GtkHSV;
15 struct SPColorWheelSelector;
16 struct SPColorWheelSelectorClass;
18 class ColorWheelSelector: public ColorSelector
19 {
20 public:
21 ColorWheelSelector( SPColorSelector* csel );
22 virtual ~ColorWheelSelector();
24 virtual void init();
26 protected:
27 virtual void _colorChanged();
29 static void _adjustmentChanged ( GtkAdjustment *adjustment, SPColorWheelSelector *cs );
31 static void _sliderGrabbed( SPColorSlider *slider, SPColorWheelSelector *cs );
32 static void _sliderReleased( SPColorSlider *slider, SPColorWheelSelector *cs );
33 static void _sliderChanged( SPColorSlider *slider, SPColorWheelSelector *cs );
34 static void _wheelChanged( GtkHSV *hsv, SPColorWheelSelector *cs );
36 static void _fooChanged( GtkWidget foo, SPColorWheelSelector *cs );
38 void _recalcColor( gboolean changing );
40 gboolean _updating : 1;
41 gboolean _dragging : 1;
42 GtkAdjustment* _adj; /* Channel adjustment */
43 GtkWidget* _wheel;
44 GtkWidget* _slider;
45 GtkWidget* _sbtn; /* Spinbutton */
46 GtkWidget* _label; /* Label */
48 GtkTooltips* _tt; /* tooltip container */
50 private:
51 // By default, disallow copy constructor and assignment operator
52 ColorWheelSelector( const ColorWheelSelector& obj );
53 ColorWheelSelector& operator=( const ColorWheelSelector& obj );
54 };
58 #define SP_TYPE_COLOR_WHEEL_SELECTOR (sp_color_wheel_selector_get_type ())
59 #define SP_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelector))
60 #define SP_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_WHEEL_SELECTOR, SPColorWheelSelectorClass))
61 #define SP_IS_COLOR_WHEEL_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_WHEEL_SELECTOR))
62 #define SP_IS_COLOR_WHEEL_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_WHEEL_SELECTOR))
64 struct SPColorWheelSelector {
65 SPColorSelector parent;
66 };
68 struct SPColorWheelSelectorClass {
69 SPColorSelectorClass parent_class;
70 };
72 GType sp_color_wheel_selector_get_type (void);
74 GtkWidget *sp_color_wheel_selector_new (void);
78 #endif // SEEN_SP_COLOR_WHEEL_SELECTOR_H
80 /*
81 Local Variables:
82 mode:c++
83 c-file-style:"stroustrup"
84 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
85 indent-tabs-mode:nil
86 fill-column:99
87 End:
88 */
89 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :