27 #ifndef MESHDISTORTIONDIALOG_H
28 #define MESHDISTORTIONDIALOG_H
32 #include <QGraphicsEllipseItem>
33 #include <QGraphicsPathItem>
34 #include <QGraphicsSceneMouseEvent>
35 #include <QGraphicsSceneHoverEvent>
36 #include "ui_meshdistortiondialog.h"
37 #include "pluginapi.h"
38 #include "scribusdoc.h"
41 #if defined(_MSC_VER) && !defined(_USE_MATH_DEFINES)
42 #define _USE_MATH_DEFINES
45 #include "third_party/lib2geom/sbasis.h"
46 #include "third_party/lib2geom/sbasis-geometric.h"
47 #include "third_party/lib2geom/bezier-to-sbasis.h"
48 #include "third_party/lib2geom/sbasis-to-bezier.h"
49 #include "third_party/lib2geom/d2.h"
50 #include "third_party/lib2geom/piecewise.h"
51 #include "third_party/lib2geom/utils.h"
52 #include "third_party/lib2geom/path.h"
53 #include "third_party/lib2geom/sbasis-2d.h"
54 #include "third_party/lib2geom/transforms.h"
55 #include "third_party/lib2geom/scribushelper.h"
58 class MeshDistortionDialog;
60 class PLUGIN_API
NodeItem :
public QGraphicsEllipseItem
65 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *item, QWidget *widget);
71 void mousePressEvent(QGraphicsSceneMouseEvent *event);
72 void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
73 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
74 void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
75 void hoverMoveEvent(QGraphicsSceneHoverEvent *event);
76 void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
80 class PLUGIN_API MeshDistortionDialog :
public QDialog, Ui::MeshDistortionDialog
85 MeshDistortionDialog(QWidget* parent,
ScribusDoc *doc);
86 ~MeshDistortionDialog() {};
89 void updateMesh(
bool gridOnly);
100 QGraphicsPathItem* pItemG;
101 QList<QGraphicsPathItem*> origPathItem;
102 QList<PageItem*> origPageItem;
103 QList<NodeItem*> nodeItems;
104 QList< Geom::Piecewise<Geom::D2<Geom::SBasis> > > origPath;
105 std::vector<Geom::Point> handles;
106 std::vector<Geom::Point> origHandles;
115 void showEvent(QShowEvent *e);
Definition: meshdistortiondialog.h:60
the Document Class
Definition: scribusdoc.h:90
Definition: pageitem.h:92
Definition: meshdistortiondialog.h:80
Definition: selection.h:34