Code

Store cached icons to disk between runs, and invalidate/purge as needed.
[inkscape.git] / src / widgets / sp-color-slider.h
1 #ifndef __SP_COLOR_SLIDER_H__
2 #define __SP_COLOR_SLIDER_H__
4 /*
5  * A slider with colored background
6  *
7  * Author:
8  *   Lauris Kaplinski <lauris@kaplinski.com>
9  *
10  * Copyright (C) 2001-2002 Lauris Kaplinski
11  *
12  * This code is in public domain
13  */
15 #include <gtk/gtkwidget.h>
17 #include <glib.h>
21 struct SPColorSlider;
22 struct SPColorSliderClass;
24 #define SP_TYPE_COLOR_SLIDER (sp_color_slider_get_type ())
25 #define SP_COLOR_SLIDER(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_SLIDER, SPColorSlider))
26 #define SP_COLOR_SLIDER_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_SLIDER, SPColorSliderClass))
27 #define SP_IS_COLOR_SLIDER(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_SLIDER))
28 #define SP_IS_COLOR_SLIDER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_SLIDER))
30 struct SPColorSlider {
31         GtkWidget widget;
33         guint dragging : 1;
35         GtkAdjustment *adjustment;
37         gfloat value;
38         gfloat oldvalue;
39         guchar c0[4], cm[4], c1[4];
40         guchar b0, b1;
41         guchar bmask;
43         gint mapsize;
44         guchar *map;
45 };
47 struct SPColorSliderClass {
48         GtkWidgetClass parent_class;
50         void (* grabbed) (SPColorSlider *slider);
51         void (* dragged) (SPColorSlider *slider);
52         void (* released) (SPColorSlider *slider);
53         void (* changed) (SPColorSlider *slider);
54 };
56 GtkType sp_color_slider_get_type (void);
58 GtkWidget *sp_color_slider_new (GtkAdjustment *adjustment);
60 void sp_color_slider_set_adjustment (SPColorSlider *slider, GtkAdjustment *adjustment);
61 void sp_color_slider_set_colors (SPColorSlider *slider, guint32 start, guint32 mid, guint32 end);
62 void sp_color_slider_set_map (SPColorSlider *slider, const guchar *map);
63 void sp_color_slider_set_background (SPColorSlider *slider, guint dark, guint light, guint size);
67 #endif