Mercurial > hg > xmms-sid
view src/xs_curve.h @ 957:0e60e5d56fdd
Change how the backend emulator library is initialized for libSIDPlay2 and
FP, as it seems the engine configuration has some persistence despite
reconfiguration between loaded files if same engine object is retained. This
caused, for example, 2SID stereo tunes being played "mono" if played after a
normal 1-SID tune. Duh.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 20 Nov 2012 22:13:48 +0200 |
parents | b5b6b13a6d85 |
children |
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 /* Macros for type-classing this GtkWidget/object */ #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)) /* Structures */ typedef struct _XSCurve XSCurve; typedef struct _XSCurveClass XSCurveClass; typedef struct { gfloat x,y; } xs_point_t; typedef struct { gint x, y; } xs_int_point_t; struct _XSCurve { GtkDrawingArea graph; gint cursor_type; gfloat min_x; gfloat max_x; gfloat min_y; gfloat max_y; GdkPixmap *pixmap; gint grab_point; /* point currently grabbed */ /* control points */ gint nctlpoints; /* number of control points */ xs_point_t *ctlpoints; /* array of control points */ }; struct _XSCurveClass { GtkDrawingAreaClass parent_class; }; GtkType xs_curve_get_type (void); GtkWidget* xs_curve_new (void); void xs_curve_reset (XSCurve *curve); void xs_curve_set_range (XSCurve *curve, gfloat min_x, gfloat min_y, gfloat max_x, gfloat max_y); gboolean xs_curve_realloc_data (XSCurve *curve, gint npoints); void xs_curve_get_data (XSCurve *curve, xs_point_t ***points, gint **npoints); gboolean xs_curve_set_points (XSCurve *curve, xs_int_point_t *points, gint npoints); gboolean xs_curve_get_points (XSCurve *curve, xs_int_point_t **points, gint *npoints); #ifdef __cplusplus } #endif #endif /* XS_CURVE_H */