📄 qcanvassimplesprite.h
字号:
// -*- c-basic-offset: 4 -*-/* Rosegarden A sequencer and musical notation editor. This program is Copyright 2000-2007 Guillaume Laurent <glaurent@telegraph-road.org>, Chris Cannam <cannam@all-day-breakfast.com>, Richard Bown <bownie@bownie.com> The moral right of the authors to claim authorship of this work has been asserted. 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 (at your option) any later version. See the file COPYING included with this distribution for more information.*/#ifndef QCANVASSIMPLESPRITE_H#define QCANVASSIMPLESPRITE_H#include <qwmatrix.h>#include <qcanvas.h>#include "gui/editors/notation/NotePixmapFactory.h"namespace Rosegarden {/** * A QCanvasSprite with 1 frame only */class QCanvasSimpleSprite : public QCanvasSprite{public: QCanvasSimpleSprite(QPixmap*, QCanvas*); QCanvasSimpleSprite(QCanvasPixmap*, QCanvas*); QCanvasSimpleSprite(const QString &pixmapfile, QCanvas*); // For lazy pixmap rendering, when we get around looking at it QCanvasSimpleSprite(QCanvas*); virtual ~QCanvasSimpleSprite();protected: static QCanvasPixmapArray* makePixmapArray(QPixmap *pixmap); static QCanvasPixmapArray* makePixmapArray(QCanvasPixmap *pixmap); static QCanvasPixmapArray* makePixmapArray(const QString &pixmapfile); //--------------- Data members --------------------------------- QCanvasPixmapArray* m_pixmapArray;};class NotationElement;/** * A QCanvasSprite referencing a NotationElement */class QCanvasNotationSprite : public QCanvasSimpleSprite{public: QCanvasNotationSprite(Rosegarden::NotationElement&, QPixmap*, QCanvas*); QCanvasNotationSprite(Rosegarden::NotationElement&, QCanvasPixmap*, QCanvas*); virtual ~QCanvasNotationSprite(); Rosegarden::NotationElement& getNotationElement() { return m_notationElement; }protected: //--------------- Data members --------------------------------- Rosegarden::NotationElement& m_notationElement;};class QCanvasNonElementSprite : public QCanvasSimpleSprite{public: QCanvasNonElementSprite(QPixmap *, QCanvas *); QCanvasNonElementSprite(QCanvasPixmap *, QCanvas *); virtual ~QCanvasNonElementSprite();};/** * A QCanvasSprite used for a time signature */class QCanvasTimeSigSprite : public QCanvasNonElementSprite{public: QCanvasTimeSigSprite(double layoutX, QPixmap *, QCanvas *); QCanvasTimeSigSprite(double layoutX, QCanvasPixmap *, QCanvas *); virtual ~QCanvasTimeSigSprite(); void setLayoutX(double layoutX) { m_layoutX = layoutX; } double getLayoutX() const { return m_layoutX; }protected: double m_layoutX;};/** * A QCanvasSprite used for a staff name */class QCanvasStaffNameSprite : public QCanvasNonElementSprite{public: QCanvasStaffNameSprite(QPixmap *, QCanvas *); QCanvasStaffNameSprite(QCanvasPixmap *, QCanvas *); virtual ~QCanvasStaffNameSprite();};/** * A GC for QCanvasPixmapArray which have to be deleted seperatly */class PixmapArrayGC{public: static void registerForDeletion(QCanvasPixmapArray*); static void deleteAll(); protected: //--------------- Data members --------------------------------- static std::vector<QCanvasPixmapArray*> m_pixmapArrays;};}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -