Rev 13805 | Rev 18326 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
12868 | fschmid | 1 | /* |
2 | For general Scribus (>=1.3.2) copyright and licensing information please refer |
||
3 | to the COPYING file provided with the program. Following this notice may exist |
||
4 | a copyright and/or license notice that predates the release of Scribus 1.3.2 |
||
5 | for which a new license (GPL+exception) is in place. |
||
6 | */ |
||
7 | /*************************************************************************** |
||
8 | * Copyright (C) 2008 by Franz Schmid * |
||
9 | * franz.schmid@altmuehlnet.de * |
||
10 | * * |
||
11 | * This program is free software; you can redistribute it and/or modify * |
||
12 | * it under the terms of the GNU General Public License as published by * |
||
13 | * the Free Software Foundation; either version 2 of the License, or * |
||
14 | * (at your option) any later version. * |
||
15 | * * |
||
16 | * This program is distributed in the hope that it will be useful, * |
||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * |
||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * |
||
19 | * GNU General Public License for more details. * |
||
20 | * * |
||
21 | * You should have received a copy of the GNU General Public License * |
||
22 | * along with this program; if not, write to the * |
||
23 | * Free Software Foundation, Inc., * |
||
18122 | mrdocs | 24 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * |
12868 | fschmid | 25 | ****************************************************************************/ |
26 | |||
27 | #ifndef PATHCONNECT_H |
||
28 | #define PATHCONNECT_H |
||
29 | |||
30 | #include "fpointarray.h" |
||
31 | #include "pluginapi.h" |
||
32 | #include "scplugin.h" |
||
33 | #include "scribuscore.h" |
||
34 | |||
13805 | jghali | 35 | class ScribusDoc; |
36 | |||
12868 | fschmid | 37 | /** \brief This is a simple "Path Connect" plugin for Scribus 1.3 and later. |
38 | \author Franz Schmid |
||
39 | \date November 2008 |
||
40 | */ |
||
41 | class PLUGIN_API PathConnectPlugin : public ScActionPlugin |
||
42 | { |
||
43 | Q_OBJECT |
||
44 | |||
45 | public: |
||
46 | // Standard plugin implementation |
||
47 | PathConnectPlugin(); |
||
48 | virtual ~PathConnectPlugin(); |
||
49 | virtual bool run(ScribusDoc* doc, QString target = QString::null); |
||
50 | virtual const QString fullTrName() const; |
||
51 | virtual const AboutData* getAboutData() const; |
||
52 | virtual void deleteAboutData(const AboutData* about) const; |
||
53 | virtual void languageChange(); |
||
54 | virtual void addToMainWindowMenu(ScribusMainWindow *) {}; |
||
55 | |||
56 | // Special features (none) |
||
57 | private: |
||
58 | FPointArray computePath(int pointOne, int pointTwo, int mode, FPointArray &p1, FPointArray &p2); |
||
59 | FPointArray reversePath(FPointArray &path); |
||
60 | PageItem *Item1; |
||
61 | PageItem *Item2; |
||
62 | FPointArray originalPath1; |
||
63 | FPointArray originalPath2; |
||
64 | double originalXPos; |
||
65 | double originalYPos; |
||
66 | ScribusDoc* currDoc; |
||
67 | bool firstUpdate; |
||
68 | private slots: |
||
69 | void updateEffect(int effectType, int pointOne, int pointTwo, int mode); |
||
70 | }; |
||
71 | |||
72 | extern "C" PLUGIN_API int pathconnect_getPluginAPIVersion(); |
||
73 | extern "C" PLUGIN_API ScPlugin* pathconnect_getPlugin(); |
||
74 | extern "C" PLUGIN_API void pathconnect_freePlugin(ScPlugin* plugin); |
||
75 | |||
76 | #endif |