equalizercanvasview.h

来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 83 行

H
83
字号
/* *   Copyright (C) 2005 by Ian Monroe <ian@monroe.nu> *   Released under GPL 2 or later, see COPYING */#ifndef _EQUALIZERCANVASVIEW_H_#define _EQUALIZERCANVASVIEW_H_#ifdef HAVE_CONFIG_H#include <config.h>#include <qcanvas.h>#include <qpen.h>#include <qslider.h>#endif#include <kmainwindow.h>class EqualizerCircle : public QCanvasEllipse{public:    enum { RTTI = 1001 };            EqualizerCircle(int x, int y, QCanvas *canvas, QCanvasLine* line1, QCanvasLine* line2, QPtrList<EqualizerCircle>* circleList );     void setLocation(const QPoint &newLocation);    int rtti() { return RTTI; }private:    enum WhichLine { LEFT = 1, RIGHT = 2 };     void setLine(WhichLine lineNum, QCanvasLine* line);    QCanvasLine *m_line1;    QCanvasLine *m_line2;    QPtrList<EqualizerCircle>* m_circleList;};/** * @short An equalizer widget for Amarok, using a line graph * @author Ian Monroe <ian@monroe.nu> */class EqualizerCanvasView : public QCanvasView{    Q_OBJECTpublic:    EqualizerCanvasView(QWidget *parent, const char *name);    void init();    void contentsMousePressEvent(QMouseEvent *event);    void contentsMouseDoubleClickEvent(QMouseEvent *event);    void contentsMouseMoveEvent(QMouseEvent *event);    void contentsMouseReleaseEvent(QMouseEvent *event);    QValueList<int> currentSettings();signals:    void eqChanged();private:    int getY(int xCoord);    QCanvasLine* makeLine(QPoint startPoint, QPoint endPoint);    QPen m_pen;    QCanvasItem* m_selectedItem;    QPtrList<EqualizerCircle>* m_circleList;};class CallAmarok : public QObject{    Q_OBJECTpublic:    CallAmarok(QObject* parent, const char *name,        EqualizerCanvasView* canvasView, QSlider* preampSlider)     : QObject(parent, name)     {        m_canvasView = canvasView;        m_preampSlider = preampSlider;    }public slots:    void updateEq();private:    QSlider* m_preampSlider;    EqualizerCanvasView* m_canvasView;};#endif // _EQUALIZERCANVASVIEW_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?