#include <libgnomecanvas/libgnomecanvas.h>
-BEGIN_GNOME_CANVAS_DECLS
+G_BEGIN_DECLS
/* Wave viewer item for canvas.
*/
-#define GNOME_CANVAS_TYPE_CANVAS_WAVEVIEW (gnome_canvas_waveview_get_type ())
-#define GNOME_CANVAS_WAVEVIEW(obj) (GTK_CHECK_CAST ((obj), GNOME_CANVAS_TYPE_CANVAS_WAVEVIEW, GnomeCanvasWaveView))
-#define GNOME_CANVAS_WAVEVIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_CANVAS_TYPE_CANVAS_WAVEVIEW, GnomeCanvasWaveViewClass))
-#define GNOME_CANVAS_IS_CANVAS_WAVEVIEW(obj) (GTK_CHECK_TYPE ((obj), GNOME_CANVAS_TYPE_CANVAS_WAVEVIEW))
-#define GNOME_CANVAS_IS_CANVAS_WAVEVIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_CANVAS_TYPE_CANVAS_WAVEVIEW))
+#define GNOME_TYPE_CANVAS_WAVEVIEW (gnome_canvas_waveview_get_type ())
+#define GNOME_CANVAS_WAVEVIEW(obj) (GTK_CHECK_CAST ((obj), GNOME_TYPE_CANVAS_WAVEVIEW, GnomeCanvasWaveView))
+#define GNOME_CANVAS_WAVEVIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_TYPE_CANVAS_WAVEVIEW, GnomeCanvasWaveViewClass))
+#define GNOME_IS_CANVAS_WAVEVIEW(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_CANVAS_WAVEVIEW))
+#define GNOME_IS_CANVAS_WAVEVIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_CANVAS_WAVEVIEW))
+#define GNOME_CANVAS_WAVEVIEW_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GNOME_TYPE_CANVAS_WAVEVIEW, GnomeCanvasWaveViewClass))
typedef struct _GnomeCanvasWaveView GnomeCanvasWaveView;
typedef struct _GnomeCanvasWaveViewClass GnomeCanvasWaveViewClass;
struct _GnomeCanvasWaveViewCache
{
GnomeCanvasWaveViewCacheEntry* data;
- gint32 allocated;
- gint32 data_size;
- gulong start;
- gulong end;
+ guint32 allocated;
+ guint64 data_size;
+ gulong start;
+ gulong end;
};
GnomeCanvasWaveViewCache* gnome_canvas_waveview_cache_new ();
guint32 channel;
void (*peak_function)(void*,gulong,gulong,gulong,gpointer,guint32,double);
gulong (*length_function)(void *);
- gulong (*sourcefile_length_function)(void*);
- void (*gain_curve_function)(void *arg, double start, double end, float* vector, guint32 veclen);
+ gulong (*sourcefile_length_function)(void*,double);
+ void (*gain_curve_function)(void *arg, double start, double end, float* vector, gint64 veclen);
void *gain_src;
- /* x-axis: samples per canvas unit. */
+ /** x-axis: samples per canvas unit. */
double samples_per_unit;
- /* y-axis: amplitude_above_axis.
+ /** y-axis: amplitude_above_axis.
*
* the default is that an (scaled, normalized -1.0 ... +1.0) amplitude of 1.0
* corresponds to the top of the area assigned to the waveview.
* smaller values will decrease the vertical scale, moving peaks/troughs toward
* the middle of the area assigned to the waveview.
*/
-
double amplitude_above_axis;
+
double x;
double y;
double height;
double half_height;
uint32_t wave_color;
+ uint32_t clip_color;
+ uint32_t zero_color;
+ uint32_t fill_color;
+ char filled;
char rectified;
-
+ char zero_line;
+ char logscaled;
+
/* These are updated by the update() routine
to optimize the render() routine, which may
be called several times after a single update().
int32_t bbox_lrx;
int32_t bbox_lry;
unsigned char wave_r, wave_g, wave_b, wave_a;
+ unsigned char clip_r, clip_g, clip_b, clip_a;
+ unsigned char fill_r, fill_g, fill_b, fill_a;
uint32_t samples;
uint32_t region_start;
int32_t reload_cache_in_render;
GnomeCanvasItemClass parent_class;
};
-GtkType gnome_canvas_waveview_get_type (void);
+GType gnome_canvas_waveview_get_type (void) G_GNUC_CONST;
-END_GNOME_CANVAS_DECLS
+G_END_DECLS
#endif /* __GNOME_CANVAS_WAVEVIEW_H__ */