meter.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. This file is part of QTau
  3. Copyright (C) 2013-2018 Tobias "Tomoko" Platen <tplaten@posteo.de>
  4. Copyright (C) 2013 digited <https://github.com/digited>
  5. Copyright (C) 2010-2013 HAL@ShurabaP <https://github.com/haruneko>
  6. QTau is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. SPDX-License-Identifier: GPL-3.0+
  17. */
  18. #ifndef METER_H
  19. #define METER_H
  20. #include "Utils.h"
  21. #include <QWidget>
  22. class QPixmap;
  23. class qtauMeterBar : public QWidget
  24. {
  25. Q_OBJECT
  26. public:
  27. qtauMeterBar(QWidget *parent = 0);
  28. ~qtauMeterBar();
  29. void setOffset(int off);
  30. void configure(const SNoteSetup &newSetup);
  31. signals:
  32. void scrolled(int delta);
  33. void zoomed (int delta);
  34. public slots:
  35. //
  36. protected:
  37. void paintEvent (QPaintEvent *event);
  38. void resizeEvent (QResizeEvent *event);
  39. void mouseDoubleClickEvent(QMouseEvent *event);
  40. void mouseMoveEvent (QMouseEvent *event);
  41. void mousePressEvent (QMouseEvent *event);
  42. void mouseReleaseEvent (QMouseEvent *event);
  43. void wheelEvent (QWheelEvent *event);
  44. int _offset;
  45. SNoteSetup _ns;
  46. QPixmap *_bgCache;
  47. QPixmap *_labelCache;
  48. void updateCache();
  49. };
  50. #endif // METER_H