home *** CD-ROM | disk | FTP | other *** search
/ Geek 6 / Geek-006.iso / linux / video / xmovie-1.5.3.tar.gz / xmovie-1.5.3.tar / xmovie-1.5.3 / guicast / bcmeter.h < prev    next >
C/C++ Source or Header  |  2000-11-29  |  1KB  |  72 lines

  1. #ifndef BCMETER_H
  2. #define BCMETER_H
  3.  
  4. #include "bcmeter.inc"
  5. #include "bcsubwindow.h"
  6. #include "units.h"
  7.  
  8.  
  9. #define METER_DB 0
  10. #define METER_INT 1
  11. #define METER_VERT 0
  12. #define METER_HORIZ 1
  13. #define METER_MARGIN 4
  14.  
  15. class BC_Meter : public BC_SubWindow
  16. {
  17. public:
  18.     BC_Meter(int x, 
  19.         int y, 
  20.         int orientation, 
  21.         int pixels, 
  22.         float min = -40, 
  23.         int mode = METER_DB, 
  24.         int use_titles = 0,
  25.         long over_delay = 150,
  26.         long peak_delay = 15);
  27.     virtual ~BC_Meter();
  28.  
  29.     int initialize();
  30.     void set_images(VFrame **data);
  31.     int set_delays(int over_delay, int peak_delay);
  32.  
  33.     int update(float new_value, int over);
  34.     int reposition_window(int x, int y, int pixels);
  35.     int reset();
  36.     int reset_over();
  37.     int change_format(int mode);
  38.  
  39. private:
  40.     void draw_titles();
  41.     void draw_face();
  42.     int level_to_pixel(float level);
  43.     void get_divisions();
  44.  
  45.     BC_Pixmap *images[TOTAL_METER_IMAGES];
  46.     int orientation;
  47.     int pixels;
  48.     int low_division;
  49.     int medium_division;
  50.     int use_titles;
  51.     int *title_pixel;
  52.     char **db_titles;
  53.     int meter_titles;
  54.     float level, peak;
  55.     int mode;
  56.     DB db;
  57.     int peak_timer;
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.     int peak_pixel, level_pixel, peak_pixel1, peak_pixel2;
  65.     int over_count, over_timer;
  66.     float min;
  67.     long over_delay;       // Number of updates the over warning lasts.
  68.     long peak_delay;       // Number of updates the peak lasts.
  69. };
  70.  
  71. #endif
  72.