diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 18:37:05 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 18:37:05 +0000 |
commit | 145364a8af6a1fec06556221e66d4b724a62fc9a (patch) | |
tree | 53bd71a544008c518034f208d64c932dc2883f50 /src/gui/editors/segment/segmentcanvas/CompositionRect.h | |
download | rosegarden-145364a8af6a1fec06556221e66d4b724a62fc9a.tar.gz rosegarden-145364a8af6a1fec06556221e66d4b724a62fc9a.zip |
Added old abandoned KDE3 version of the RoseGarden MIDI tool
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/rosegarden@1097595 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/gui/editors/segment/segmentcanvas/CompositionRect.h')
-rw-r--r-- | src/gui/editors/segment/segmentcanvas/CompositionRect.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/gui/editors/segment/segmentcanvas/CompositionRect.h b/src/gui/editors/segment/segmentcanvas/CompositionRect.h new file mode 100644 index 0000000..3c3d2b6 --- /dev/null +++ b/src/gui/editors/segment/segmentcanvas/CompositionRect.h @@ -0,0 +1,108 @@ + +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + Rosegarden + A MIDI and audio sequencer and musical notation editor. + + This program is Copyright 2000-2008 + Guillaume Laurent <glaurent@telegraph-road.org>, + Chris Cannam <cannam@all-day-breakfast.com>, + Richard Bown <richard.bown@ferventsoftware.com> + + The moral rights of Guillaume Laurent, Chris Cannam, and Richard + Bown to claim authorship of this work have been asserted. + + Other copyrights also apply to some parts of this work. Please + see the AUTHORS file and individual file headers for details. + + 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 _RG_COMPOSITIONRECT_H_ +#define _RG_COMPOSITIONRECT_H_ + +#include <qbrush.h> +#include <qcolor.h> +#include <qpen.h> +#include <qrect.h> +#include <qstring.h> +#include <qvaluevector.h> + + +class QSize; +class QPoint; + + +namespace Rosegarden +{ + +class CompositionRect : public QRect +{ +public: + typedef QValueVector<int> repeatmarks; + + friend bool operator<(const CompositionRect&, const CompositionRect&); + + CompositionRect() : QRect(), m_selected(false), + m_needUpdate(false), m_brush(DefaultBrushColor), m_pen(DefaultPenColor) {}; + CompositionRect(const QRect& r) : QRect(r), m_resized(false), m_selected(false), + m_needUpdate(false), m_brush(DefaultBrushColor), m_pen(DefaultPenColor), m_z(0) {}; + CompositionRect(const QPoint & topLeft, const QPoint & bottomRight) + : QRect(topLeft, bottomRight), m_resized(false), m_selected(false), + m_needUpdate(false), m_brush(DefaultBrushColor), m_pen(DefaultPenColor), m_z(0) {}; + CompositionRect(const QPoint & topLeft, const QSize & size) + : QRect(topLeft, size), m_resized(false), m_selected(false), + m_needUpdate(false), m_brush(DefaultBrushColor), m_pen(DefaultPenColor), m_z(0) {}; + CompositionRect(int left, int top, int width, int height) + : QRect(left, top, width, height), m_resized(false), m_selected(false), + m_needUpdate(false), m_brush(DefaultBrushColor), m_pen(DefaultPenColor), m_z(0) {}; + + void setResized(bool s) { m_resized = s; } + bool isResized() const { return m_resized; } + void setSelected(bool s) { m_selected = s; } + bool isSelected() const { return m_selected; } + bool needsFullUpdate() const { return m_needUpdate; } + void setNeedsFullUpdate(bool s) { m_needUpdate = s; } + + void setZ(int z) { m_z = z; } + int z() const { return m_z; } + + // brush, pen draw info + void setBrush(QBrush b) { m_brush = b; } + QBrush getBrush() const { return m_brush; } + void setPen(QPen b) { m_pen = b; } + QPen getPen() const { return m_pen; } + + // repeating segments + void setRepeatMarks(const repeatmarks& rm) { m_repeatMarks = rm; } + const repeatmarks& getRepeatMarks() const { return m_repeatMarks; } + bool isRepeating() const { return m_repeatMarks.size() > 0; } + int getBaseWidth() const { return m_baseWidth; } + void setBaseWidth(int bw) { m_baseWidth = bw; } + QString getLabel() const { return m_label; } + void setLabel(QString l) { m_label = l; } + + static const QColor DefaultPenColor; + static const QColor DefaultBrushColor; + +protected: + bool m_resized; + bool m_selected; + bool m_needUpdate; + QBrush m_brush; + QPen m_pen; + repeatmarks m_repeatMarks; + int m_baseWidth; + QString m_label; + int m_z; +}; + + +} + +#endif |