summaryrefslogtreecommitdiffstats
path: root/kimagemapeditor/imagemap.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commite9ae80694875f869892f13f4fcaf1170a00dea41 (patch)
treeaa2f8d8a217e2d376224c8d46b7397b68d35de2d /kimagemapeditor/imagemap.h
downloadtdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.tar.gz
tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kimagemapeditor/imagemap.h')
-rw-r--r--kimagemapeditor/imagemap.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/kimagemapeditor/imagemap.h b/kimagemapeditor/imagemap.h
new file mode 100644
index 00000000..7576baa0
--- /dev/null
+++ b/kimagemapeditor/imagemap.h
@@ -0,0 +1,77 @@
+/***************************************************************************
+ imagemap.h - description
+ -------------------
+ begin : Wed Apr 4 2001
+ copyright : (C) 2001 by Jan Schäfer
+ email : janschaefer@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef IMAGEMAP_H
+#define IMAGEMAP_H
+
+#include <qscrollview.h>
+#include <qimage.h>
+#include <qpoint.h>
+#include <qrect.h>
+
+#include "kdeversion.h"
+
+/**
+ *@author Jan Schäfer
+ */
+class KImageMapEditor;
+class Area;
+
+class ImageMap : public QScrollView {
+public:
+ enum DrawAction { None, DrawCircle, DrawRectangle, DrawPolygon, MoveSelectionPoint, MoveArea };
+private:
+ QRect imageRect;
+ QPoint drawStart;
+ QPoint drawCurrent;
+ QPoint drawEnd;
+ bool eraseOldArea;
+ Area *oldArea;
+ // Holds the original image
+ QImage image;
+ // Holds the zoomed image for efficiency reasons
+ QPixmap zoomedImage;
+ Area *currentArea;
+ DrawAction currentAction;
+ QRect *currentSelectionPoint;
+ KImageMapEditor *imageMapEditor;
+ double _zoom;
+public:
+ ImageMap(QWidget *parent,KImageMapEditor* _imageMapEditor);
+ ~ImageMap();
+ void setZoom(double z);
+ void setPicture(const QImage &_image);
+ void repaintArea(const Area & a);
+ QImage picture() const;
+ QPoint translateFromZoom(const QPoint & p) const;
+ QPoint translateToZoom(const QPoint & p) const;
+ QRect translateToZoom(const QRect & p) const;
+protected:
+ virtual void contentsMousePressEvent(QMouseEvent* e);
+ virtual void contentsMouseDoubleClickEvent(QMouseEvent* e);
+ virtual void contentsMouseReleaseEvent(QMouseEvent *e);
+ virtual void contentsMouseMoveEvent(QMouseEvent *e);
+ virtual void resizeEvent(QResizeEvent* e);
+ virtual void drawContents(QPainter* p,int clipx,int clipy,int clipw,int cliph);
+};
+
+inline QImage ImageMap::picture() const {
+ return image;
+}
+
+
+#endif