***************************************************************************/
#ifndef TITLEDOCUMENT_H
#define TITLEDOCUMENT_H
+
+#include <QDomDocument>
+
#include <KUrl>
class QGraphicsScene;
-class QGraphicsPolygonItem;
-
-class TitleDocument {
- QGraphicsScene* scene;
- public:
- TitleDocument();
- void setScene(QGraphicsScene* scene);
- bool saveDocument(const KUrl& url,QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
- bool loadDocument(const KUrl& url,QGraphicsPolygonItem* startv, QGraphicsPolygonItem* endv);
- private:
- QString colorToString(const QColor&);
- QString rectFToString(const QRectF&);
- QRectF stringToRect(const QString &);
- QColor stringToColor(const QString &);
- QTransform stringToTransform(const QString &);
+class QGraphicsRectItem;
+
+const int ROTATEFACTOR = 103;
+const int ZOOMFACTOR = 104;
+
+class TitleDocument
+{
+
+public:
+ TitleDocument();
+ void setScene(QGraphicsScene* scene, int width, int height);
+ bool saveDocument(const KUrl& url, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int out);
+ QDomDocument xml(QGraphicsRectItem* startv, QGraphicsRectItem* endv);
+ int loadFromXml(QDomDocument doc, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int *out);
+ /** \brief Get the background color (incl. alpha) from the document, if possibly
+ * \returns The background color of the document, inclusive alpha. If none found, returns (0,0,0,0) */
+ QColor getBackgroundColor();
+ int frameWidth() const;
+ int frameHeight() const;
+
+ enum ItemOrigin {OriginXLeft = 0, OriginYTop = 1};
+ enum AxisPosition {AxisDefault = 0, AxisInverted = 1};
+
+private:
+ QGraphicsScene* m_scene;
+ int m_width;
+ int m_height;
+ QString colorToString(const QColor&);
+ QString rectFToString(const QRectF&);
+ QRectF stringToRect(const QString &);
+ QColor stringToColor(const QString &);
+ QTransform stringToTransform(const QString &);
+ QList<QVariant> stringToList(const QString &);
};
#endif