lbajardsilogic@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@0: lbajardsilogic@0: /* lbajardsilogic@0: Sonic Visualiser lbajardsilogic@0: An audio file viewer and annotation editor. lbajardsilogic@0: Centre for Digital Music, Queen Mary, University of London. lbajardsilogic@0: This file copyright 2006 Chris Cannam. lbajardsilogic@0: lbajardsilogic@0: This program is free software; you can redistribute it and/or lbajardsilogic@0: modify it under the terms of the GNU General Public License as lbajardsilogic@0: published by the Free Software Foundation; either version 2 of the lbajardsilogic@0: License, or (at your option) any later version. See the file lbajardsilogic@0: COPYING included with this distribution for more information. lbajardsilogic@0: */ lbajardsilogic@0: lbajardsilogic@0: #include "Clipboard.h" lbajardsilogic@0: lbajardsilogic@0: Clipboard::Point::Point(long frame, QString label) : lbajardsilogic@0: m_haveFrame(true), lbajardsilogic@0: m_frame(frame), lbajardsilogic@0: m_haveValue(false), lbajardsilogic@0: m_haveDuration(false), lbajardsilogic@0: m_haveLabel(true), lbajardsilogic@0: m_label(label) lbajardsilogic@0: { lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: Clipboard::Point::Point(long frame, float value, QString label) : lbajardsilogic@0: m_haveFrame(true), lbajardsilogic@0: m_frame(frame), lbajardsilogic@0: m_haveValue(true), lbajardsilogic@0: m_value(value), lbajardsilogic@0: m_haveDuration(false), lbajardsilogic@0: m_haveLabel(true), lbajardsilogic@0: m_label(label) lbajardsilogic@0: { lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: Clipboard::Point::Point(long frame, float value, size_t duration, QString label) : lbajardsilogic@0: m_haveFrame(true), lbajardsilogic@0: m_frame(frame), lbajardsilogic@0: m_haveValue(true), lbajardsilogic@0: m_value(value), lbajardsilogic@0: m_haveDuration(true), lbajardsilogic@0: m_duration(duration), lbajardsilogic@0: m_haveLabel(true), lbajardsilogic@0: m_label(label) lbajardsilogic@0: { lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: Clipboard::Point::Point(const Point &point) : lbajardsilogic@0: m_haveFrame(point.m_haveFrame), lbajardsilogic@0: m_frame(point.m_frame), lbajardsilogic@0: m_haveValue(point.m_haveValue), lbajardsilogic@0: m_value(point.m_value), lbajardsilogic@0: m_haveDuration(point.m_haveDuration), lbajardsilogic@0: m_duration(point.m_duration), lbajardsilogic@0: m_haveLabel(point.m_haveLabel), lbajardsilogic@0: m_label(point.m_label) lbajardsilogic@0: { lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: Clipboard::Point & lbajardsilogic@0: Clipboard::Point::operator=(const Point &point) lbajardsilogic@0: { lbajardsilogic@0: if (this == &point) return *this; lbajardsilogic@0: m_haveFrame = point.m_haveFrame; lbajardsilogic@0: m_frame = point.m_frame; lbajardsilogic@0: m_haveValue = point.m_haveValue; lbajardsilogic@0: m_value = point.m_value; lbajardsilogic@0: m_haveDuration = point.m_haveDuration; lbajardsilogic@0: m_duration = point.m_duration; lbajardsilogic@0: m_haveLabel = point.m_haveLabel; lbajardsilogic@0: m_label = point.m_label; lbajardsilogic@0: return *this; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: bool lbajardsilogic@0: Clipboard::Point::haveFrame() const lbajardsilogic@0: { lbajardsilogic@0: return m_haveFrame; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: long lbajardsilogic@0: Clipboard::Point::getFrame() const lbajardsilogic@0: { lbajardsilogic@0: return m_frame; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: bool lbajardsilogic@0: Clipboard::Point::haveValue() const lbajardsilogic@0: { lbajardsilogic@0: return m_haveValue; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: float lbajardsilogic@0: Clipboard::Point::getValue() const lbajardsilogic@0: { lbajardsilogic@0: return m_value; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: bool lbajardsilogic@0: Clipboard::Point::haveDuration() const lbajardsilogic@0: { lbajardsilogic@0: return m_haveDuration; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: size_t lbajardsilogic@0: Clipboard::Point::getDuration() const lbajardsilogic@0: { lbajardsilogic@0: return m_duration; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: bool lbajardsilogic@0: Clipboard::Point::haveLabel() const lbajardsilogic@0: { lbajardsilogic@0: return m_haveLabel; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: QString lbajardsilogic@0: Clipboard::Point::getLabel() const lbajardsilogic@0: { lbajardsilogic@0: return m_label; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: Clipboard::Clipboard() { } lbajardsilogic@0: Clipboard::~Clipboard() { } lbajardsilogic@0: lbajardsilogic@0: void lbajardsilogic@0: Clipboard::clear() lbajardsilogic@0: { lbajardsilogic@0: m_points.clear(); lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: bool lbajardsilogic@0: Clipboard::empty() const lbajardsilogic@0: { lbajardsilogic@0: return m_points.empty(); lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: const Clipboard::PointList & lbajardsilogic@0: Clipboard::getPoints() const lbajardsilogic@0: { lbajardsilogic@0: return m_points; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: void lbajardsilogic@0: Clipboard::setPoints(const PointList &pl) lbajardsilogic@0: { lbajardsilogic@0: m_points = pl; lbajardsilogic@0: } lbajardsilogic@0: lbajardsilogic@0: void lbajardsilogic@0: Clipboard::addPoint(const Point &point) lbajardsilogic@0: { lbajardsilogic@0: m_points.push_back(point); lbajardsilogic@0: } lbajardsilogic@0: