| 
							- /*
 -  * Pixmap Keyboard, a custom Qt4 widget
 -  * Copyright (C) 2011-2013 Filipe Coelho <falktx@falktx.com>
 -  *
 -  * This program is free software; you can redistribute it and/or
 -  * modify it under the terms of the GNU General Public License as
 -  * published by the Free Software Foundation; either version 2 of
 -  * the License, or any later version.
 -  *
 -  * 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.
 -  *
 -  * For a full copy of the GNU General Public License see the GPL.txt file
 -  */
 - 
 - #ifndef __PIXMAPKEYBOARD_HPP__
 - #define __PIXMAPKEYBOARD_HPP__
 - 
 - #include "CarlaJuceUtils.hpp"
 - 
 - #include <map>
 - #include <QtGui/QPixmap>
 - 
 - #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
 - # include <QtWidgets/QWidget>
 - #else
 - # include <QtGui/QWidget>
 - #endif
 - 
 - class PixmapKeyboard : public QWidget
 - {
 -     Q_OBJECT
 - 
 - public:
 -     enum Color {
 -         COLOR_CLASSIC = 0,
 -         COLOR_ORANGE  = 1
 -     };
 - 
 -     enum Orientation {
 -         HORIZONTAL = 0,
 -         VERTICAL   = 1
 -     };
 - 
 -     PixmapKeyboard(QWidget* parent);
 - 
 -     void allNotesOff();
 -     void sendNoteOn(int note, bool sendSignal=true);
 -     void sendNoteOff(int note, bool sendSignal=true);
 - 
 -     void setMode(Orientation mode, Color color=COLOR_ORANGE);
 -     void setOctaves(int octaves);
 - 
 - signals:
 -     void noteOn(int);
 -     void noteOff(int);
 -     void notesOn();
 -     void notesOff();
 - 
 - protected:
 -     void handleMousePos(const QPoint&);
 - 
 -     void keyPressEvent(QKeyEvent*) override;
 -     void keyReleaseEvent(QKeyEvent*) override;
 -     void mousePressEvent(QMouseEvent*) override;
 -     void mouseMoveEvent(QMouseEvent*) override;
 -     void mouseReleaseEvent(QMouseEvent*) override;
 -     void paintEvent(QPaintEvent*) override;
 - 
 - private:
 -     QPixmap     fPixmap;
 -     Orientation fPixmapMode;
 - 
 -     QString fColorStr;
 -     QFont   fFont;
 - 
 -     int fOctaves;
 -     int fLastMouseNote;
 -     int fWidth;
 -     int fHeight;
 - 
 -     QList<int> fEnabledKeys;
 -     std::map<int, QRectF>& fMidiMap;
 - 
 -     bool _isNoteBlack(int note) const;
 -     const QRectF& _getRectFromMidiNote(int note) const;
 - 
 -     CARLA_LEAK_DETECTOR(PixmapKeyboard)
 - };
 - 
 - #endif // __PIXMAPKEYBOARD_HPP__
 
 
  |