diff options
| author | MenTaLguY <mental@rydia.net> | 2006-01-16 02:36:01 +0000 |
|---|---|---|
| committer | mental <mental@users.sourceforge.net> | 2006-01-16 02:36:01 +0000 |
| commit | 179fa413b047bede6e32109e2ce82437c5fb8d34 (patch) | |
| tree | a5a6ac2c1708bd02288fbd8edb2ff500ff2e0916 /src/widgets/gradient-selector.h | |
| download | inkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.tar.gz inkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.zip | |
moving trunk for module inkscape
(bzr r1)
Diffstat (limited to 'src/widgets/gradient-selector.h')
| -rw-r--r-- | src/widgets/gradient-selector.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/widgets/gradient-selector.h b/src/widgets/gradient-selector.h new file mode 100644 index 000000000..6e3204422 --- /dev/null +++ b/src/widgets/gradient-selector.h @@ -0,0 +1,79 @@ +#ifndef __SP_GRADIENT_SELECTOR_H__ +#define __SP_GRADIENT_SELECTOR_H__ + +/* + * Gradient vector and position widget + * + * Authors: + * Lauris Kaplinski <lauris@kaplinski.com> + * + * Copyright (C) 2001-2002 Lauris Kaplinski + * Copyright (C) 2001 Ximian, Inc. + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include <glib.h> +#include "sp-gradient-spread.h" +#include "sp-gradient-units.h" +class SPGradient; + +#define SP_TYPE_GRADIENT_SELECTOR (sp_gradient_selector_get_type ()) +#define SP_GRADIENT_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelector)) +#define SP_GRADIENT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_GRADIENT_SELECTOR, SPGradientSelectorClass)) +#define SP_IS_GRADIENT_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_GRADIENT_SELECTOR)) +#define SP_IS_GRADIENT_SELECTOR_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_GRADIENT_SELECTOR)) + +#include <libnr/nr-forward.h> +#include <gtk/gtkvbox.h> +#include "../forward.h" +#include <sp-gradient.h> + +enum { + SP_GRADIENT_SELECTOR_MODE_LINEAR, + SP_GRADIENT_SELECTOR_MODE_RADIAL +}; + +struct SPGradientSelector { + GtkVBox vbox; + + guint mode : 1; + + SPGradientUnits gradientUnits : 1; + SPGradientSpread gradientSpread : 2; + + /* Vector selector */ + GtkWidget *vectors; + /* Editing buttons */ + GtkWidget *edit, *add; + /* Position widget */ + GtkWidget *position; + /* Spread selector */ + GtkWidget *spread; +}; + +struct SPGradientSelectorClass { + GtkVBoxClass parent_class; + + void (* grabbed) (SPGradientSelector *sel); + void (* dragged) (SPGradientSelector *sel); + void (* released) (SPGradientSelector *sel); + void (* changed) (SPGradientSelector *sel); +}; + +GtkType sp_gradient_selector_get_type (void); + +GtkWidget *sp_gradient_selector_new (void); + +void sp_gradient_selector_set_mode (SPGradientSelector *sel, guint mode); +void sp_gradient_selector_set_units (SPGradientSelector *sel, guint units); +void sp_gradient_selector_set_spread (SPGradientSelector *sel, guint spread); +void sp_gradient_selector_set_vector (SPGradientSelector *sel, SPDocument *doc, SPGradient *vector); +void sp_gradient_selector_set_bbox (SPGradientSelector *sel, gdouble x0, gdouble y0, gdouble x1, gdouble y1); + +SPGradientUnits sp_gradient_selector_get_units (SPGradientSelector *sel); +SPGradientSpread sp_gradient_selector_get_spread (SPGradientSelector *sel); + +SPGradient *sp_gradient_selector_get_vector (SPGradientSelector *sel); + +#endif |
