новые иконки в OpenBoard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenBoard/src/domain/UBItem.h

91 lines
1.4 KiB

#ifndef UBITEM_H
#define UBITEM_H
#include <QtGui>
class UBGraphicsScene;
class UBItem
{
protected:
UBItem();
public:
virtual ~UBItem();
enum RenderingQuality
{
RenderingQualityNormal = 0, RenderingQualityHigh
};
virtual QUuid uuid() const
{
return mUuid;
}
virtual void setUuid(const QUuid& pUuid)
{
mUuid = pUuid;
}
virtual RenderingQuality renderingQuality() const
{
return mRenderingQuality;
}
virtual void setRenderingQuality(RenderingQuality pRenderingQuality)
{
mRenderingQuality = pRenderingQuality;
}
virtual UBItem* deepCopy() const = 0;
virtual UBGraphicsScene* scene() // TODO UB 4.x should be pure virtual ...
{
return 0;
}
virtual QUrl sourceUrl() const
{
return mSourceUrl;
}
virtual void setSourceUrl(const QUrl& pSourceUrl)
{
mSourceUrl = pSourceUrl;
}
protected:
QUuid mUuid;
RenderingQuality mRenderingQuality;
QUrl mSourceUrl;
};
class UBGraphicsItem
{
protected:
UBGraphicsItem()
{
// NOOP
}
virtual ~UBGraphicsItem()
{
// NOOP
}
public:
virtual void remove() = 0;
};
#endif // UBITEM_H