Mercurial > hg > xmms-sid
annotate 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 |
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 | |
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
|
12 #define XS_TYPE_CURVE (xs_curve_get_type ()) |
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
|
13 #define XS_CURVE(obj) (GTK_CHECK_CAST ((obj), XS_TYPE_CURVE, 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
|
14 #define XS_CURVE_CLASS(luokka) (GTK_CHECK_CLASS_CAST ((luokka), XS_TYPE_CURVE, XSCurveClass)) |
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
|
15 #define XS_IS_CURVE(obj) (GTK_CHECK_TYPE ((obj), XS_TYPE_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
|
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 { |
25 GtkDrawingArea graph; | |
26 | |
27 gint cursor_type; | |
28 gfloat min_x; | |
29 gfloat max_x; | |
30 gfloat min_y; | |
31 gfloat max_y; | |
32 GdkPixmap *pixmap; | |
33 GtkCurveType curve_type; | |
34 gint height; /* (cached) graph height in pixels */ | |
35 gint grab_point; /* point currently grabbed */ | |
36 gint last; | |
37 | |
38 /* (cached) curve points: */ | |
39 gint num_points; | |
40 GdkPoint *point; | |
41 | |
42 /* control points: */ | |
43 gint num_ctlpoints; /* number of control points */ | |
44 gfloat (*ctlpoint)[2]; /* array of control points */ | |
45 }; | |
46 | |
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
|
47 struct _XSCurveClass |
358 | 48 { |
49 GtkDrawingAreaClass parent_class; | |
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 void (* curve_type_changed) (XSCurve *curve); |
358 | 52 }; |
53 | |
54 | |
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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 void xs_curve_set_range (XSCurve *curve, |
358 | 60 gfloat min_x, gfloat max_x, |
61 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
|
62 void xs_curve_get_vector (XSCurve *curve, |
358 | 63 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
|
64 void xs_curve_set_vector (XSCurve *curve, |
358 | 65 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
|
66 void xs_curve_set_curve_type (XSCurve *curve, GtkCurveType type); |
358 | 67 |
68 | |
69 #ifdef __cplusplus | |
70 } | |
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
|
71 #endif |
358 | 72 |
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
|
73 #endif /* _XS_CURVE_H */ |