00001 /********************************************************************** 00002 ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of the Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 #ifndef WAVEFORM_H 00021 #define WAVEFORM_H 00022 00023 #include <qwidget.h> 00024 #include <qpixmap.h> 00025 00026 00027 class QLabel; 00028 00029 00030 class Waveform : public QWidget 00031 { 00032 public: 00033 Waveform( QWidget *parent=0, const char *name=0, WFlags fl=0 ); 00034 ~Waveform(); 00035 00036 public: 00037 void changeSettings( int frequency, int channels ); 00038 void reset(); 00039 void newSamples( const short *buf, int len ); 00040 00041 private: 00042 00043 void makePixmap(); 00044 void draw(); 00045 00046 protected: 00047 00048 void paintEvent( QPaintEvent *event ); 00049 00050 private: 00051 int samplesPerPixel; 00052 int currentValue; 00053 int numSamples; 00054 short *window; 00055 int windowPosn; 00056 int windowSize; 00057 QPixmap *pixmap; 00058 00059 }; 00060 00061 00062 #endif 00063
1.4.2