Mercurial > hg > xmms-sid
annotate src/xs_curve.h @ 384:7e35b6059d79
Tabs
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 27 Dec 2005 10:33:00 +0000 |
parents | 58079c6180a0 |
children | 54d86ee98b98 |
rev | line source |
---|---|
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
1 #ifndef _XS_CURVE_H |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
2 #define _XS_CURVE_H |
358 | 3 |
4 #include <gdk/gdk.h> | |
5 #include <gtk/gtkdrawingarea.h> | |
6 | |
7 #ifdef __cplusplus | |
8 extern "C" { | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
9 #endif |
358 | 10 |
11 | |
374
58079c6180a0
More removal of original curve code.
Matti Hamalainen <ccr@tnsp.org>
parents:
370
diff
changeset
|
12 #define XS_TYPE_CURVE (xs_curve_get_type()) |
58079c6180a0
More removal of original curve code.
Matti Hamalainen <ccr@tnsp.org>
parents:
370
diff
changeset
|
13 #define XS_CURVE(obj) (GTK_CHECK_CAST ((obj), XS_TYPE_CURVE, XSCurve)) |
58079c6180a0
More removal of original curve code.
Matti Hamalainen <ccr@tnsp.org>
parents:
370
diff
changeset
|
14 #define XS_CURVE_CLASS(luokka) (GTK_CHECK_CLASS_CAST ((luokka), XS_TYPE_CURVE, XSCurveClass)) |
58079c6180a0
More removal of original curve code.
Matti Hamalainen <ccr@tnsp.org>
parents:
370
diff
changeset
|
15 #define XS_IS_CURVE(obj) (GTK_CHECK_TYPE ((obj), XS_TYPE_CURVE)) |
58079c6180a0
More removal of original curve code.
Matti Hamalainen <ccr@tnsp.org>
parents:
370
diff
changeset
|
16 #define XS_IS_CURVE_CLASS(luokka) (GTK_CHECK_CLASS_TYPE ((luokka), XS_TYPE_CURVE)) |
358 | 17 |
18 | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
19 typedef struct _XSCurve XSCurve; |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
20 typedef struct _XSCurveClass XSCurveClass; |
358 | 21 |
22 | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
23 struct _XSCurve |
358 | 24 { |
384 | 25 GtkDrawingArea graph; |
358 | 26 |
384 | 27 gfloat min_x; |
28 gfloat max_x; | |
29 gfloat min_y; | |
30 gfloat max_y; | |
31 GdkPixmap *pixmap; | |
32 gint height; /* (cached) graph height in pixels */ | |
33 gint grab_point; /* point currently grabbed */ | |
34 gint last; | |
358 | 35 |
384 | 36 /* (cached) curve points: */ |
37 gint num_points; | |
38 GdkPoint *point; | |
358 | 39 |
384 | 40 /* control points: */ |
41 gint num_ctlpoints; /* number of control points */ | |
42 gfloat (*ctlpoint)[2]; /* array of control points */ | |
358 | 43 }; |
44 | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
45 struct _XSCurveClass |
358 | 46 { |
384 | 47 GtkDrawingAreaClass parent_class; |
358 | 48 }; |
49 | |
50 | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
51 GtkType xs_curve_get_type (void); |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
52 GtkWidget* xs_curve_new (void); |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
53 void xs_curve_reset (XSCurve *curve); |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
54 void xs_curve_set_gamma (XSCurve *curve, gfloat gamma); |
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
55 void xs_curve_set_range (XSCurve *curve, |
358 | 56 gfloat min_x, gfloat max_x, |
57 gfloat min_y, gfloat max_y); | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
58 void xs_curve_get_vector (XSCurve *curve, |
358 | 59 int veclen, gfloat vector[]); |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
60 void xs_curve_set_vector (XSCurve *curve, |
358 | 61 int veclen, gfloat vector[]); |
62 | |
63 | |
64 #ifdef __cplusplus | |
65 } | |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
66 #endif |
358 | 67 |
370
df6f12a00305
Work on filter curve widget begins, based on GtkCurve widget from Gtk+ 1.2.10.
Matti Hamalainen <ccr@tnsp.org>
parents:
358
diff
changeset
|
68 #endif /* _XS_CURVE_H */ |