Mercurial > hg > xmms-sid
view src/xs_curve.h @ 370:df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 09 Nov 2005 05:52:01 +0000 |
parents | 4f247b19c9ea |
children | 58079c6180a0 |
line wrap: on
line source
#ifndef _XS_CURVE_H #define _XS_CURVE_H #include <gdk/gdk.h> #include <gtk/gtkdrawingarea.h> #ifdef __cplusplus extern "C" { #endif #define XS_TYPE_CURVE (xs_curve_get_type ()) #define XS_CURVE(obj) (GTK_CHECK_CAST ((obj), XS_TYPE_CURVE, XSCurve)) #define XS_CURVE_CLASS(luokka) (GTK_CHECK_CLASS_CAST ((luokka), XS_TYPE_CURVE, XSCurveClass)) #define XS_IS_CURVE(obj) (GTK_CHECK_TYPE ((obj), XS_TYPE_CURVE)) #define XS_IS_CURVE_CLASS(luokka) (GTK_CHECK_CLASS_TYPE ((luokka), XS_TYPE_CURVE)) typedef struct _XSCurve XSCurve; typedef struct _XSCurveClass XSCurveClass; struct _XSCurve { GtkDrawingArea graph; gint cursor_type; gfloat min_x; gfloat max_x; gfloat min_y; gfloat max_y; GdkPixmap *pixmap; GtkCurveType curve_type; gint height; /* (cached) graph height in pixels */ gint grab_point; /* point currently grabbed */ gint last; /* (cached) curve points: */ gint num_points; GdkPoint *point; /* control points: */ gint num_ctlpoints; /* number of control points */ gfloat (*ctlpoint)[2]; /* array of control points */ }; struct _XSCurveClass { GtkDrawingAreaClass parent_class; void (* curve_type_changed) (XSCurve *curve); }; GtkType xs_curve_get_type (void); GtkWidget* xs_curve_new (void); void xs_curve_reset (XSCurve *curve); void xs_curve_set_gamma (XSCurve *curve, gfloat gamma); void xs_curve_set_range (XSCurve *curve, gfloat min_x, gfloat max_x, gfloat min_y, gfloat max_y); void xs_curve_get_vector (XSCurve *curve, int veclen, gfloat vector[]); void xs_curve_set_vector (XSCurve *curve, int veclen, gfloat vector[]); void xs_curve_set_curve_type (XSCurve *curve, GtkCurveType type); #ifdef __cplusplus } #endif #endif /* _XS_CURVE_H */