diff options
Diffstat (limited to 'muse_qt4_evolution/muse/ctrl/ctrleditor.h')
-rw-r--r-- | muse_qt4_evolution/muse/ctrl/ctrleditor.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/muse_qt4_evolution/muse/ctrl/ctrleditor.h b/muse_qt4_evolution/muse/ctrl/ctrleditor.h new file mode 100644 index 00000000..e33a8b29 --- /dev/null +++ b/muse_qt4_evolution/muse/ctrl/ctrleditor.h @@ -0,0 +1,76 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#ifndef __CTRL_EDITOR_H__ +#define __CTRL_EDITOR_H__ + +#include "al/pos.h" + +class Ctrl; +class TimeCanvas; +class Track; +struct CVal; + +//--------------------------------------------------------- +// CtrlEditor +//--------------------------------------------------------- + +class CtrlEditor { + bool _drawCtrlName; + int dragx, dragy; + int dragYoffset; + int startY; + + int th; // effective track height, temp value + + int lselected; // cached pixel position of current value + AL::Pos selected; // current selected controller value + + bool drawRuler; + QPoint ruler1; + QPoint ruler2; + + virtual Ctrl* ctrl() const = 0; + virtual TimeCanvas* tc() const = 0; + virtual int cheight() const = 0; + virtual Track* track() const = 0; + + bool searchHandle(unsigned* time) const; + + int ctrlY(int x, const CVal&) const; + + protected: + int singlePitch; + + public: + CtrlEditor(); + virtual ~CtrlEditor() {} + void paint(QPainter& p, const QRect& r); + void setDrawCtrlName(bool val) { _drawCtrlName = val; } + void mousePress(const QPoint&, QMouseEvent*); + void mouseRelease(); + void mouseMove(const QPoint& pos); + }; + + +extern Ctrl veloList; +extern Ctrl sveloList; +#endif + |