change PropertyChange from a bitfield into a real object, with all the many widesprea...
[ardour.git] / gtk2_ardour / canvas-waveview.h
index 46d5b6c13862fd2d8484d7e3350437a570b27a9d..89c193a440dc1ffe36cc2c59bf2f6b57a418d0e5 100644 (file)
@@ -55,11 +55,11 @@ struct _GnomeCanvasWaveViewCacheEntry
 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 ();
 void                    gnome_canvas_waveview_cache_destroy (GnomeCanvasWaveViewCache*);
@@ -67,7 +67,7 @@ void                    gnome_canvas_waveview_cache_destroy (GnomeCanvasWaveView
 struct _GnomeCanvasWaveView
 {
     GnomeCanvasItem item;
-    
+
     GnomeCanvasWaveViewCache *cache;
     gboolean                cache_updater;
     gint                    screen_width;
@@ -76,15 +76,15 @@ struct _GnomeCanvasWaveView
     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.
      *
@@ -92,15 +92,21 @@ struct _GnomeCanvasWaveView
      * 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
@@ -112,6 +118,8 @@ struct _GnomeCanvasWaveView
     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;