summaryrefslogtreecommitdiffstats
path: root/scribus/plugins/tools/lenseffects/lensdialog.h
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/plugins/tools/lenseffects/lensdialog.h
downloadscribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/plugins/tools/lenseffects/lensdialog.h')
-rw-r--r--scribus/plugins/tools/lenseffects/lensdialog.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/scribus/plugins/tools/lenseffects/lensdialog.h b/scribus/plugins/tools/lenseffects/lensdialog.h
new file mode 100644
index 0000000..10971b8
--- /dev/null
+++ b/scribus/plugins/tools/lenseffects/lensdialog.h
@@ -0,0 +1,100 @@
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+/***************************************************************************
+* Copyright (C) 2007 by Franz Schmid *
+* franz.schmid@altmuehlnet.de *
+* *
+* 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. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program; if not, write to the *
+* Free Software Foundation, Inc., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+****************************************************************************/
+
+#ifndef LENSDIALOG_H
+#define LENSDIALOG_H
+
+#include <QDialog>
+#include <QList>
+#include <QPainterPath>
+#include <QGraphicsItem>
+#include <QGraphicsRectItem>
+#include <QGraphicsPathItem>
+#include <QGraphicsSceneMouseEvent>
+#include <QGraphicsSceneHoverEvent>
+#include "ui_lensdialogbase.h"
+#include "pluginapi.h"
+#include "scribusdoc.h"
+#include "scribus.h"
+class LensDialog;
+
+class PLUGIN_API LensItem : public QGraphicsRectItem
+{
+public:
+ LensItem(QRectF geom, LensDialog *parent);
+ ~LensItem() {};
+ void setStrength(double s);
+ void updateEffect();
+ QPainterPath lensDeform(const QPainterPath &source, const QPointF &offset, double m_radius, double s);
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *item, QWidget *widget);
+ double strength;
+ double scaling;
+ int handle;
+ QPointF mousePoint;
+protected:
+ QVariant itemChange(GraphicsItemChange change, const QVariant &value);
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
+ void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
+ void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
+ LensDialog *dialog;
+};
+
+class PLUGIN_API LensDialog : public QDialog, Ui::LensDialogBase
+{
+ Q_OBJECT
+
+public:
+ LensDialog(QWidget* parent, ScribusDoc *doc);
+ ~LensDialog() {};
+ void lensSelected(LensItem *item);
+ void setLensPositionValues(QPointF p);
+ QGraphicsScene scene;
+ QList<QPainterPath> origPath;
+ QList<QGraphicsPathItem*> origPathItem;
+ QList<LensItem*> lensList;
+ int currentLens;
+ bool isFirst;
+
+protected:
+ void showEvent(QShowEvent *e);
+
+private slots:
+ void doZoomIn();
+ void doZoomOut();
+ void addLens();
+ void removeLens();
+ void changeLens();
+ void selectionHasChanged();
+ void setNewLensX(double x);
+ void setNewLensY(double y);
+ void setNewLensRadius(double radius);
+ void setNewLensStrength(double s);
+};
+
+#endif