View Issue Details

IDProjectCategoryView StatusLast Update
0002418ScribusOS-Win32public2005-09-25 20:52
Reporterjghali Assigned Toringerc 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformWindowsOSWindowsOS Version2000 SP4
Product Version1.3.1cvs 
Fixed in Version1.3.1cvs 
Summary0002418: Export symbols from plugins to enable loading (win32)
DescriptionThe attached patch make the following corrections :
- export symbols from plugin so they can be loaded
- export a few missing symbols from the main application
- import needed symbols from main app so plugins can be linked
- correct msvc compiler limitation in plugins color.h (see issue 2198)
- minor tweaks so plugin compile smoothly with msvc
For now, these correction have not been applied to the python scripter as this plugin has not be compiled.
Once this patch applied, all plugins except scripter can run on win32. Plugin debugging to follow...
TagsNo tags attached.
Patch

Relationships

related to 0000015 closedjghali Windows Port 
related to 0001961 closedringerc Limit symbol visibility in plug-ins for efficiency 
child of 0002398 closedjghali Get plugins to compile on Windows (win32) 

Activities

2005-08-11 14:34

 

plugins_export_symbols.diff (72,139 bytes)   
Index: main.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/main.cpp,v
retrieving revision 1.16.2.19
diff -u -r1.16.2.19 main.cpp
--- main.cpp	5 Jul 2005 06:36:03 -0000	1.16.2.19
+++ main.cpp	11 Aug 2005 14:08:57 -0000
@@ -35,8 +35,8 @@
 void initCrashHandler();
 static void defaultCrashHandler(int sig);
 
-ScribusApp* ScApp;
-ScribusQApp* ScQApp;
+ScribusApp SCRIBUS_API *ScApp;
+ScribusQApp SCRIBUS_API *ScQApp;
 bool emergencyActivated;
 
 int main(int argc, char *argv[])
Index: rc4.h
===================================================================
RCS file: /cvs/Scribus/scribus/rc4.h,v
retrieving revision 1.2.2.1
diff -u -r1.2.2.1 rc4.h
--- rc4.h	20 Oct 2004 21:05:49 -0000	1.2.2.1
+++ rc4.h	11 Aug 2005 08:59:49 -0000
@@ -25,6 +25,8 @@
 #ifndef _RC4_H_
 #  define _RC4_H_
 
+#include "scribusapi.h"
+
 #  ifdef __cplusplus
 extern "C" {
 #  endif /* __cplusplus */
@@ -45,9 +47,9 @@
  * Prototypes...
  */
 
-extern void	rc4_init(rc4_context_t *context, const unsigned char *key,
+extern void	SCRIBUS_API rc4_init(rc4_context_t *context, const unsigned char *key,
 			 unsigned keylen);
-extern void	rc4_encrypt(rc4_context_t *context, const unsigned char *input,
+extern void	SCRIBUS_API rc4_encrypt(rc4_context_t *context, const unsigned char *input,
 			    unsigned char *output, unsigned len);
 
 #  ifdef __cplusplus
Index: scribus.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scribus.cpp,v
retrieving revision 1.228.2.470
diff -u -r1.228.2.470 scribus.cpp
--- scribus.cpp	10 Aug 2005 23:11:14 -0000	1.228.2.470
+++ scribus.cpp	11 Aug 2005 10:35:27 -0000
@@ -162,7 +162,7 @@
 bool BlackPoint;
 bool SoftProofing;
 bool Gamut;
-bool CMSuse;
+bool SCRIBUS_API CMSuse;
 int IntentMonitor;
 int IntentPrinter;
 #endif
Index: colorwheel/colorwheel.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/colorwheel/Attic/colorwheel.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 colorwheel.h
--- colorwheel/colorwheel.h	31 Mar 2005 14:54:35 -0000	1.1.2.1
+++ colorwheel/colorwheel.h	10 Aug 2005 19:47:38 -0000
@@ -2,6 +2,8 @@
 #ifndef COLORWHEEL_H
 #define COLORWHEEL_H
 
+#include "pluginapi.h"
+
 #include "scribus.h"
 #include "pluginmanager.h"
 
@@ -16,24 +18,24 @@
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /** Returns the Type of the Plugin. */
-extern "C" PluginManager::PluginType type();
+extern "C" PLUGIN_API PluginManager::PluginType type();
 /** ID for plugin registry */
-extern "C" int ID();
+extern "C" PLUGIN_API int ID();
 
 /** menu settings */
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API  bool actionEnabledOnStartup();
 
 #endif
Index: colorwheel/colorwheelwidget.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/colorwheel/Attic/colorwheelwidget.cpp,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 colorwheelwidget.cpp
--- colorwheel/colorwheelwidget.cpp	28 Jul 2005 19:12:37 -0000	1.1.2.5
+++ colorwheel/colorwheelwidget.cpp	10 Aug 2005 19:54:58 -0000
@@ -163,8 +163,13 @@
 	int y = actualPoint.y() - height()/2;
 	//qDebug(QString("ap: %1 %2").arg(actualPoint.x()).arg(actualPoint.y()));
 	//qDebug(QString("ap: x=%1 y=%2").arg(x).arg(y));
+#ifndef _WIN32
 	int dx = (int) round(x * cos(radang) - y * sin(radang));
 	int dy = (int) round(y * cos(radang) + x * sin(radang));
+#else
+	int dx = (int) floor(x * cos(radang) - y * sin(radang) + 0.5);
+	int dy = (int) floor(y * cos(radang) + x * sin(radang) + 0.5);
+#endif
 	//qDebug(QString("sdebug: dx=%1 dw=%2 dy=%3 dh=%4").arg(dx).arg(width()/2).arg(dy).arg(height()/2));
 	//qDebug(QString("sdebug: x=%1 y=%2").arg(dx + width()/2).arg(dy + height()/2));
 	QRgb rgb = getPointColor(QPoint(dx + width()/2, dy + height()/2));
Index: colorwheel/cwdialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/colorwheel/Attic/cwdialog.cpp,v
retrieving revision 1.1.2.7
diff -u -r1.1.2.7 cwdialog.cpp
--- colorwheel/cwdialog.cpp	1 Aug 2005 21:48:40 -0000	1.1.2.7
+++ colorwheel/cwdialog.cpp	10 Aug 2005 19:56:21 -0000
@@ -17,7 +17,7 @@
 #include "prefsfile.h"
 #include "mpalette.h"
 
-extern ScribusApp *ScApp;
+extern ScribusApp SCRIBUS_API *ScApp;
 
 ColorWheelDialog::ColorWheelDialog(QWidget* parent, const char* name, bool modal, WFlags fl)
 	: QDialog(parent, name, modal, fl)
Index: fileloader/oodraw/color.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/fileloader/oodraw/color.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 color.h
--- fileloader/oodraw/color.h	2 Nov 2004 00:32:06 -0000	1.1.2.1
+++ fileloader/oodraw/color.h	8 Jul 2005 07:43:35 -0000
@@ -4,303 +4,304 @@
 	r = red; \
 	b = blue; \
 	g = green; \
+	return; \
 }
 
 void keywordToRGB( QString rgbColor, int &r, int &g, int &b )
 {
 	if( rgbColor == "aliceblue" )
 		TORGB( 240, 248, 255)
-	else if( rgbColor == "antiquewhite" )
+	if( rgbColor == "antiquewhite" )
 		TORGB( 250, 235, 215)
-	else if( rgbColor == "aqua" )
+	if( rgbColor == "aqua" )
 		TORGB( 0, 255, 255)
-	else if( rgbColor == "aquamarine" )
+	if( rgbColor == "aquamarine" )
 		TORGB( 127, 255, 212 )
-	else if( rgbColor == "azure" )
+	if( rgbColor == "azure" )
 		TORGB( 240, 255, 255 )
-	else if( rgbColor == "beige" )
+	if( rgbColor == "beige" )
 		TORGB( 245, 245, 220 )
-	else if( rgbColor == "bisque" )
+	if( rgbColor == "bisque" )
 		TORGB( 255, 228, 196 )
-	else if( rgbColor == "black" )
+	if( rgbColor == "black" )
 		TORGB( 0, 0, 0 )
-	else if( rgbColor == "blanchedalmond" )
+	if( rgbColor == "blanchedalmond" )
 		TORGB( 255, 235, 205 )
-	else if( rgbColor == "blue" )
+	if( rgbColor == "blue" )
 		TORGB( 0, 0, 255 )
-	else if( rgbColor == "blueviolet" )
+	if( rgbColor == "blueviolet" )
 		TORGB( 138, 43, 226 )
-	else if( rgbColor == "brown" )
+	if( rgbColor == "brown" )
 		TORGB( 165, 42, 42 )
-	else if( rgbColor == "burlywood" )
+	if( rgbColor == "burlywood" )
 		TORGB( 222, 184, 135 )
-	else if( rgbColor == "cadetblue" )
+	if( rgbColor == "cadetblue" )
 		TORGB( 95, 158, 160 )
-	else if( rgbColor == "chartreuse" )
+	if( rgbColor == "chartreuse" )
 		TORGB( 127, 255, 0 )
-	else if( rgbColor == "chocolate" )
+	if( rgbColor == "chocolate" )
 		TORGB( 210, 105, 30 )
-	else if( rgbColor == "coral" )
+	if( rgbColor == "coral" )
 		TORGB( 255, 127, 80 )
-	else if( rgbColor == "cornflowerblue" )
+	if( rgbColor == "cornflowerblue" )
 		TORGB( 100, 149, 237 )
-	else if( rgbColor == "cornsilk" )
+	if( rgbColor == "cornsilk" )
 		TORGB( 255, 248, 220 )
-	else if( rgbColor == "crimson" )
+	if( rgbColor == "crimson" )
 		TORGB( 220, 20, 60 )
-	else if( rgbColor == "cyan" )
+	if( rgbColor == "cyan" )
 		TORGB( 0, 255, 255 )
-	else if( rgbColor == "darkblue" )
+	if( rgbColor == "darkblue" )
 		TORGB( 0, 0, 139 )
-	else if( rgbColor == "darkcyan" )
+	if( rgbColor == "darkcyan" )
 		TORGB( 0, 139, 139 )
-	else if( rgbColor == "darkgoldenrod" )
+	if( rgbColor == "darkgoldenrod" )
 		TORGB( 184, 134, 11 )
-	else if( rgbColor == "darkgray" )
+	if( rgbColor == "darkgray" )
 		TORGB( 169, 169, 169 )
-	else if( rgbColor == "darkgrey" )
+	if( rgbColor == "darkgrey" )
 		TORGB( 169, 169, 169 )
-	else if( rgbColor == "darkgreen" )
+	if( rgbColor == "darkgreen" )
 		TORGB( 0, 100, 0 )
-	else if( rgbColor == "darkkhaki" )
+	if( rgbColor == "darkkhaki" )
 		TORGB( 189, 183, 107 )
-	else if( rgbColor == "darkmagenta" )
+	if( rgbColor == "darkmagenta" )
 		TORGB( 139, 0, 139 )
-	else if( rgbColor == "darkolivegreen" )
+	if( rgbColor == "darkolivegreen" )
 		TORGB( 85, 107, 47 )
-	else if( rgbColor == "darkorange" )
+	if( rgbColor == "darkorange" )
 		TORGB( 255, 140, 0 )
-	else if( rgbColor == "darkorchid" )
+	if( rgbColor == "darkorchid" )
 		TORGB( 153, 50, 204 )
-	else if( rgbColor == "darkred" )
+	if( rgbColor == "darkred" )
 		TORGB( 139, 0, 0 )
-	else if( rgbColor == "darksalmon" )
+	if( rgbColor == "darksalmon" )
 		TORGB( 233, 150, 122 )
-	else if( rgbColor == "darkseagreen" )
+	if( rgbColor == "darkseagreen" )
 		TORGB( 143, 188, 143 )
-	else if( rgbColor == "darkslateblue" )
+	if( rgbColor == "darkslateblue" )
 		TORGB( 72, 61, 139 )
-	else if( rgbColor == "darkslategray" )
+	if( rgbColor == "darkslategray" )
 		TORGB( 47, 79, 79 )
-	else if( rgbColor == "darkslategrey" )
+	if( rgbColor == "darkslategrey" )
 		TORGB( 47, 79, 79 )
-	else if( rgbColor == "darkturquoise" )
+	if( rgbColor == "darkturquoise" )
 		TORGB( 0, 206, 209 )
-	else if( rgbColor == "darkviolet" )
+	if( rgbColor == "darkviolet" )
 		TORGB( 148, 0, 211 )
-	else if( rgbColor == "deeppink" )
+	if( rgbColor == "deeppink" )
 		TORGB( 255, 20, 147 )
-	else if( rgbColor == "deepskyblue" )
+	if( rgbColor == "deepskyblue" )
 		TORGB( 0, 191, 255 )
-	else if( rgbColor == "dimgray" )
+	if( rgbColor == "dimgray" )
 		TORGB( 105, 105, 105 )
-	else if( rgbColor == "dimgrey" )
+	if( rgbColor == "dimgrey" )
 		TORGB( 105, 105, 105 )
-	else if( rgbColor == "dodgerblue" )
+	if( rgbColor == "dodgerblue" )
 		TORGB( 30, 144, 255 )
-	else if( rgbColor == "firebrick" )
+	if( rgbColor == "firebrick" )
 		TORGB( 178, 34, 34 )
-	else if( rgbColor == "floralwhite" )
+	if( rgbColor == "floralwhite" )
 		TORGB( 255, 250, 240 )
-	else if( rgbColor == "forestgreen" )
+	if( rgbColor == "forestgreen" )
 		TORGB( 34, 139, 34 )
-	else if( rgbColor == "fuchsia" )
+	if( rgbColor == "fuchsia" )
 		TORGB( 255, 0, 255 )
-	else if( rgbColor == "gainsboro" )
+	if( rgbColor == "gainsboro" )
 		TORGB( 220, 220, 220 )
-	else if( rgbColor == "ghostwhite" )
+	if( rgbColor == "ghostwhite" )
 		TORGB( 248, 248, 255 )
-	else if( rgbColor == "gold" )
+	if( rgbColor == "gold" )
 		TORGB( 255, 215, 0 )
-	else if( rgbColor == "goldenrod" )
+	if( rgbColor == "goldenrod" )
 		TORGB( 218, 165, 32 )
-	else if( rgbColor == "gray" )
+	if( rgbColor == "gray" )
 		TORGB( 128, 128, 128 )
-	else if( rgbColor == "grey" )
+	if( rgbColor == "grey" )
 		TORGB( 128, 128, 128 )
-	else if( rgbColor == "green" )
+	if( rgbColor == "green" )
 		TORGB( 0, 128, 0 )
-	else if( rgbColor == "greenyellow" )
+	if( rgbColor == "greenyellow" )
 		TORGB( 173, 255, 47 )
-	else if( rgbColor == "honeydew" )
+	if( rgbColor == "honeydew" )
 		TORGB( 240, 255, 240 )
-	else if( rgbColor == "hotpink" )
+	if( rgbColor == "hotpink" )
 		TORGB( 255, 105, 180 )
-	else if( rgbColor == "indianred" )
+	if( rgbColor == "indianred" )
 		TORGB( 205, 92, 92 )
-	else if( rgbColor == "indigo" )
+	if( rgbColor == "indigo" )
 		TORGB( 75, 0, 130 )
-	else if( rgbColor == "ivory" )
+	if( rgbColor == "ivory" )
 		TORGB( 255, 255, 240 )
-	else if( rgbColor == "khaki" )
+	if( rgbColor == "khaki" )
 		TORGB( 240, 230, 140 )
-	else if( rgbColor == "lavender" )
+	if( rgbColor == "lavender" )
 		TORGB( 230, 230, 250 )
-	else if( rgbColor == "lavenderblush" )
+	if( rgbColor == "lavenderblush" )
 		TORGB( 255, 240, 245 )
-	else if( rgbColor == "lawngreen" )
+	if( rgbColor == "lawngreen" )
 		TORGB( 124, 252, 0 )
-	else if( rgbColor == "lemonchiffon" )
+	if( rgbColor == "lemonchiffon" )
 		TORGB( 255, 250, 205 )
-	else if( rgbColor == "lightblue" )
+	if( rgbColor == "lightblue" )
 		TORGB( 173, 216, 230 )
-	else if( rgbColor == "lightcoral" )
+	if( rgbColor == "lightcoral" )
 		TORGB( 240, 128, 128 )
-	else if( rgbColor == "lightcyan" )
+	if( rgbColor == "lightcyan" )
 		TORGB( 224, 255, 255 )
-	else if( rgbColor == "lightgoldenrodyellow" )
+	if( rgbColor == "lightgoldenrodyellow" )
 		TORGB( 250, 250, 210 )
-	else if( rgbColor == "lightgray" )
+	if( rgbColor == "lightgray" )
 		TORGB( 211, 211, 211 )
-	else if( rgbColor == "lightgrey" )
+	if( rgbColor == "lightgrey" )
 		TORGB( 211, 211, 211 )
-	else if( rgbColor == "lightgreen" )
+	if( rgbColor == "lightgreen" )
 		TORGB( 144, 238, 144 )
-	else if( rgbColor == "lightpink" )
+	if( rgbColor == "lightpink" )
 		TORGB( 255, 182, 193 )
-	else if( rgbColor == "lightsalmon" )
+	if( rgbColor == "lightsalmon" )
 		TORGB( 255, 160, 122 )
-	else if( rgbColor == "lightseagreen" )
+	if( rgbColor == "lightseagreen" )
 		TORGB( 32, 178, 170 )
-	else if( rgbColor == "lightskyblue" )
+	if( rgbColor == "lightskyblue" )
 		TORGB( 135, 206, 250 )
-	else if( rgbColor == "lightslategray" )
+	if( rgbColor == "lightslategray" )
 		TORGB( 119, 136, 153 )
-	else if( rgbColor == "lightslategrey" )
+	if( rgbColor == "lightslategrey" )
 		TORGB( 119, 136, 153 )
-	else if( rgbColor == "lightsteelblue" )
+	if( rgbColor == "lightsteelblue" )
 		TORGB( 176, 196, 222 )
-	else if( rgbColor == "lightyellow" )
+	if( rgbColor == "lightyellow" )
 		TORGB( 255, 255, 224 )
-	else if( rgbColor == "lime" )
+	if( rgbColor == "lime" )
 		TORGB( 0, 255, 0 )
-	else if( rgbColor == "limegreen" )
+	if( rgbColor == "limegreen" )
 		TORGB( 50, 205, 50 )
-	else if( rgbColor == "linen" )
+	if( rgbColor == "linen" )
 		TORGB( 250, 240, 230 )
-	else if( rgbColor == "magenta" )
+	if( rgbColor == "magenta" )
 		TORGB( 255, 0, 255 )
-	else if( rgbColor == "maroon" )
+	if( rgbColor == "maroon" )
 		TORGB( 128, 0, 0 )
-	else if( rgbColor == "mediumaquamarine" )
+	if( rgbColor == "mediumaquamarine" )
 		TORGB( 102, 205, 170 )
-	else if( rgbColor == "mediumblue" )
+	if( rgbColor == "mediumblue" )
 		TORGB( 0, 0, 205 )
-	else if( rgbColor == "mediumorchid" )
+	if( rgbColor == "mediumorchid" )
 		TORGB( 186, 85, 211 )
-	else if( rgbColor == "mediumpurple" )
+	if( rgbColor == "mediumpurple" )
 		TORGB( 147, 112, 219 )
-	else if( rgbColor == "mediumseagreen" )
+	if( rgbColor == "mediumseagreen" )
 		TORGB( 60, 179, 113 )
-	else if( rgbColor == "mediumslateblue" )
+	if( rgbColor == "mediumslateblue" )
 		TORGB( 123, 104, 238 )
-	else if( rgbColor == "mediumspringgreen" )
+	if( rgbColor == "mediumspringgreen" )
 		TORGB( 0, 250, 154 )
-	else if( rgbColor == "mediumturquoise" )
+	if( rgbColor == "mediumturquoise" )
 		TORGB( 72, 209, 204 )
-	else if( rgbColor == "mediumvioletred" )
+	if( rgbColor == "mediumvioletred" )
 		TORGB( 199, 21, 133 )
-	else if( rgbColor == "midnightblue" )
+	if( rgbColor == "midnightblue" )
 		TORGB( 25, 25, 112 )
-	else if( rgbColor == "mintcream" )
+	if( rgbColor == "mintcream" )
 		TORGB( 245, 255, 250 )
-	else if( rgbColor == "mistyrose" )
+	if( rgbColor == "mistyrose" )
 		TORGB( 255, 228, 225 )
-	else if( rgbColor == "moccasin" )
+	if( rgbColor == "moccasin" )
 		TORGB( 255, 228, 181 )
-	else if( rgbColor == "navajowhite" )
+	if( rgbColor == "navajowhite" )
 		TORGB( 255, 222, 173 )
-	else if( rgbColor == "navy" )
+	if( rgbColor == "navy" )
 		TORGB( 0, 0, 128 )
-	else if( rgbColor == "oldlace" )
+	if( rgbColor == "oldlace" )
 		TORGB( 253, 245, 230 )
-	else if( rgbColor == "olive" )
+	if( rgbColor == "olive" )
 		TORGB( 128, 128, 0 )
-	else if( rgbColor == "olivedrab" )
+	if( rgbColor == "olivedrab" )
 		TORGB( 107, 142, 35 )
-	else if( rgbColor == "orange" )
+	if( rgbColor == "orange" )
 		TORGB( 255, 165, 0 )
-	else if( rgbColor == "orangered" )
+	if( rgbColor == "orangered" )
 		TORGB( 255, 69, 0 )
-	else if( rgbColor == "orchid" )
+	if( rgbColor == "orchid" )
 		TORGB( 218, 112, 214 )
-	else if( rgbColor == "palegoldenrod" )
+	if( rgbColor == "palegoldenrod" )
 		TORGB( 238, 232, 170 )
-	else if( rgbColor == "palegreen" )
+	if( rgbColor == "palegreen" )
 		TORGB( 152, 251, 152 )
-	else if( rgbColor == "paleturquoise" )
+	if( rgbColor == "paleturquoise" )
 		TORGB( 175, 238, 238 )
-	else if( rgbColor == "palevioletred" )
+	if( rgbColor == "palevioletred" )
 		TORGB( 219, 112, 147 )
-	else if( rgbColor == "papayawhip" )
+	if( rgbColor == "papayawhip" )
 		TORGB( 255, 239, 213 )
-	else if( rgbColor == "peachpuff" )
+	if( rgbColor == "peachpuff" )
 		TORGB( 255, 218, 185 )
-	else if( rgbColor == "peru" )
+	if( rgbColor == "peru" )
 		TORGB( 205, 133, 63 )
-	else if( rgbColor == "pink" )
+	if( rgbColor == "pink" )
 		TORGB( 255, 192, 203 )
-	else if( rgbColor == "plum" )
+	if( rgbColor == "plum" )
 		TORGB( 221, 160, 221 )
-	else if( rgbColor == "powderblue" )
+	if( rgbColor == "powderblue" )
 		TORGB( 176, 224, 230 )
-	else if( rgbColor == "purple" )
+	if( rgbColor == "purple" )
 		TORGB( 128, 0, 128 )
-	else if( rgbColor == "red" )
+	if( rgbColor == "red" )
 		TORGB( 255, 0, 0 )
-	else if( rgbColor == "rosybrown" )
+	if( rgbColor == "rosybrown" )
 		TORGB( 188, 143, 143 )
-	else if( rgbColor == "royalblue" )
+	if( rgbColor == "royalblue" )
 		TORGB( 65, 105, 225 )
-	else if( rgbColor == "saddlebrown" )
+	if( rgbColor == "saddlebrown" )
 		TORGB( 139, 69, 19 )
-	else if( rgbColor == "salmon" )
+	if( rgbColor == "salmon" )
 		TORGB( 250, 128, 114 )
-	else if( rgbColor == "sandybrown" )
+	if( rgbColor == "sandybrown" )
 		TORGB( 244, 164, 96 )
-	else if( rgbColor == "seagreen" )
+	if( rgbColor == "seagreen" )
 		TORGB( 46, 139, 87 )
-	else if( rgbColor == "seashell" )
+	if( rgbColor == "seashell" )
 		TORGB( 255, 245, 238 )
-	else if( rgbColor == "sienna" )
+	if( rgbColor == "sienna" )
 		TORGB( 160, 82, 45 )
-	else if( rgbColor == "silver" )
+	if( rgbColor == "silver" )
 		TORGB( 192, 192, 192 )
-	else if( rgbColor == "skyblue" )
+	if( rgbColor == "skyblue" )
 		TORGB( 135, 206, 235 )
-	else if( rgbColor == "slateblue" )
+	if( rgbColor == "slateblue" )
 		TORGB( 106, 90, 205 )
-	else if( rgbColor == "slategray" )
+	if( rgbColor == "slategray" )
 		TORGB( 112, 128, 144 )
-	else if( rgbColor == "slategrey" )
+	if( rgbColor == "slategrey" )
 		TORGB( 112, 128, 144 )
-	else if( rgbColor == "snow" )
+	if( rgbColor == "snow" )
 		TORGB( 255, 250, 250 )
-	else if( rgbColor == "springgreen" )
+	if( rgbColor == "springgreen" )
 		TORGB( 0, 255, 127 )
-	else if( rgbColor == "steelblue" )
+	if( rgbColor == "steelblue" )
 		TORGB( 70, 130, 180 )
-	else if( rgbColor == "tan" )
+	if( rgbColor == "tan" )
 		TORGB( 210, 180, 140 )
-	else if( rgbColor == "teal" )
+	if( rgbColor == "teal" )
 		TORGB( 0, 128, 128 )
-	else if( rgbColor == "thistle" )
+	if( rgbColor == "thistle" )
 		TORGB( 216, 191, 216 )
-	else if( rgbColor == "tomato" )
+	if( rgbColor == "tomato" )
 		TORGB( 255, 99, 71 )
-	else if( rgbColor == "turquoise" )
+	if( rgbColor == "turquoise" )
 		TORGB( 64, 224, 208 )
-	else if( rgbColor == "violet" )
+	if( rgbColor == "violet" )
 		TORGB( 238, 130, 238 )
-	else if( rgbColor == "wheat" )
+	if( rgbColor == "wheat" )
 		TORGB( 245, 222, 179 )
-	else if( rgbColor == "white" )
+	if( rgbColor == "white" )
 		TORGB( 255, 255, 255 )
-	else if( rgbColor == "whitesmoke" )
+	if( rgbColor == "whitesmoke" )
 		TORGB( 245, 245, 245 )
-	else if( rgbColor == "yellow" )
+	if( rgbColor == "yellow" )
 		TORGB( 255, 255, 0 )
-	else if( rgbColor == "yellowgreen" )
+	if( rgbColor == "yellowgreen" )
 		TORGB( 154, 205, 50 )
 }
 
Index: fileloader/oodraw/oodrawimp.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/fileloader/oodraw/oodrawimp.h,v
retrieving revision 1.1.2.9
diff -u -r1.1.2.9 oodrawimp.h
--- fileloader/oodraw/oodrawimp.h	26 Feb 2005 18:09:00 -0000	1.1.2.9
+++ fileloader/oodraw/oodrawimp.h	10 Aug 2005 22:07:21 -0000
@@ -11,27 +11,28 @@
 class ScribusDoc;
 class PageItem;
 class FPointArray;
+#include "pluginapi.h"
 #include "stylestack.h"
 #include <pluginmanager.h>
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 /** Returns the Type of the Plugin.
   * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   * 2 = the Plugins is a import Plugin, which appears in the Import Menue
   * 3 = the Plugins is a export Plugin, which appears in the Export Menue */
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class OODPlug : public QObject
 {
Index: fontpreview/fontpreview.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/fontpreview/fontpreview.h,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 fontpreview.h
--- fontpreview/fontpreview.h	26 Feb 2005 18:09:00 -0000	1.1.2.3
+++ fontpreview/fontpreview.h	10 Aug 2005 20:13:07 -0000
@@ -1,17 +1,18 @@
 #ifndef MYPLUGIN_H
 #define MYPLUGIN_H
 
+#include "pluginapi.h"
 #include "scribus.h"
 #include "pluginmanager.h"
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /** Returns the Type of the Plugin.
@@ -19,12 +20,12 @@
   * 2 = the Plugin is a Import Plugin, which appears in the Import Menue
   * 3 = the Plugin is a Export Plugin, which appears in the Export Menue
   * 4 = the Plugin is a resident Plugin   */
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 #endif
Index: fontpreview/ui.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/fontpreview/ui.cpp,v
retrieving revision 1.8.2.20
diff -u -r1.8.2.20 ui.cpp
--- fontpreview/ui.cpp	8 Aug 2005 21:43:04 -0000	1.8.2.20
+++ fontpreview/ui.cpp	10 Aug 2005 20:13:07 -0000
@@ -17,7 +17,7 @@
 #include "prefsmanager.h"
 #include "commonstrings.h"
 
-extern QPixmap loadIcon(QString nam);
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 /*! Main window for "Font Preview" plugin. It's only gui.
  *
Index: gettext/csvim/csvdia.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/csvim/csvdia.cpp,v
retrieving revision 1.5
diff -u -r1.5 csvdia.cpp
--- gettext/csvim/csvdia.cpp	17 Aug 2004 21:29:59 -0000	1.5
+++ gettext/csvim/csvdia.cpp	10 Aug 2005 20:45:49 -0000
@@ -1,7 +1,9 @@
 #include "csvdia.h"
 #include "csvdia.moc"
 
-extern QPixmap loadIcon(QString nam);
+#include "scribusapi.h"
+
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 CsvDialog::CsvDialog() : QDialog(0, "csvdia", true, 0)
 {
Index: gettext/csvim/csvim.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/csvim/csvim.cpp,v
retrieving revision 1.5.2.3
diff -u -r1.5.2.3 csvim.cpp
--- gettext/csvim/csvim.cpp	25 Jul 2005 22:28:44 -0000	1.5.2.3
+++ gettext/csvim/csvim.cpp	10 Aug 2005 21:11:46 -0000
@@ -1,4 +1,5 @@
 #include "csvim.h"
+#include "scribusstructs.h"
 
 QString FileFormatName()
 {
Index: gettext/csvim/csvim.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/csvim/csvim.h,v
retrieving revision 1.2.2.1
diff -u -r1.2.2.1 csvim.h
--- gettext/csvim/csvim.h	30 Nov 2004 11:55:37 -0000	1.2.2.1
+++ gettext/csvim/csvim.h	10 Aug 2005 21:11:03 -0000
@@ -1,6 +1,7 @@
 #ifndef CSVIM_H
 #define CSVIM_H
 
+#include "pluginapi.h"
 #include "csvdia.h"
 #include <gtwriter.h>
 #include <gtparagraphstyle.h>
@@ -11,11 +12,11 @@
 #include <qstringlist.h>
 #include <qtextcodec.h>
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 class CsvIm 
 {
Index: gettext/htmlim/htmlim.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/htmlim/htmlim.cpp,v
retrieving revision 1.3.2.4
diff -u -r1.3.2.4 htmlim.cpp
--- gettext/htmlim/htmlim.cpp	14 Jan 2005 23:40:45 -0000	1.3.2.4
+++ gettext/htmlim/htmlim.cpp	10 Aug 2005 21:24:53 -0000
@@ -25,6 +25,7 @@
 
 #ifdef HAVE_XML
 
+#include "scribusstructs.h"
 #include "gtparagraphstyle.h" // Style for paragraph based formatting.
 #include "gtframestyle.h"
 
Index: gettext/htmlim/htmlim.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/htmlim/htmlim.h,v
retrieving revision 1.3.2.5
diff -u -r1.3.2.5 htmlim.h
--- gettext/htmlim/htmlim.h	5 Jul 2005 06:36:04 -0000	1.3.2.5
+++ gettext/htmlim/htmlim.h	10 Aug 2005 21:26:04 -0000
@@ -24,12 +24,13 @@
 #include "gtwriter.h"
 
 #include "scconfig.h"
+#include "pluginapi.h"
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 #ifdef HAVE_XML
 
Index: gettext/htmlim/htmlreader.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/htmlim/htmlreader.cpp,v
retrieving revision 1.4.2.6
diff -u -r1.4.2.6 htmlreader.cpp
--- gettext/htmlim/htmlreader.cpp	25 Jul 2005 22:28:44 -0000	1.4.2.6
+++ gettext/htmlim/htmlreader.cpp	10 Aug 2005 21:24:53 -0000
@@ -23,6 +23,7 @@
 
 #ifdef HAVE_XML
 
+#include "scribusstructs.h"
 #include "gtmeasure.h"
 
 HTMLReader* HTMLReader::hreader = NULL;
Index: gettext/odtim/contentreader.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/odtim/contentreader.cpp,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 contentreader.cpp
--- gettext/odtim/contentreader.cpp	17 May 2005 14:51:03 -0000	1.1.2.3
+++ gettext/odtim/contentreader.cpp	10 Aug 2005 21:33:41 -0000
@@ -19,6 +19,7 @@
  ***************************************************************************/
 
 #include "contentreader.h"
+#include <scribusstructs.h>
 
 #ifdef HAVE_XML
 
Index: gettext/odtim/odtdia.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/odtim/odtdia.cpp,v
retrieving revision 1.1.2.6
diff -u -r1.1.2.6 odtdia.cpp
--- gettext/odtim/odtdia.cpp	9 Jul 2005 15:31:56 -0000	1.1.2.6
+++ gettext/odtim/odtdia.cpp	10 Aug 2005 21:30:56 -0000
@@ -24,8 +24,9 @@
 
 #include "odtdia.moc"
 #include <qtooltip.h>
+#include "scribusapi.h"
 
-extern QPixmap loadIcon(QString nam);
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 OdtDialog::OdtDialog(bool update, bool prefix, bool pack) : QDialog(0, "sxwdia", true, 0)
 {
Index: gettext/odtim/odtim.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/odtim/odtim.cpp,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 odtim.cpp
--- gettext/odtim/odtim.cpp	21 Jul 2005 10:42:39 -0000	1.1.2.2
+++ gettext/odtim/odtim.cpp	10 Aug 2005 21:33:41 -0000
@@ -23,6 +23,7 @@
 
 #ifdef HAVE_XML
 
+#include <scribusstructs.h>
 #include "prefsmanager.h"
 #include <prefsfile.h>
 #include <prefscontext.h>
Index: gettext/odtim/odtim.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/odtim/odtim.h,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 odtim.h
--- gettext/odtim/odtim.h	5 Jul 2005 06:36:04 -0000	1.1.2.2
+++ gettext/odtim/odtim.h	10 Aug 2005 21:30:56 -0000
@@ -24,12 +24,13 @@
 #include <qstring.h>
 #include <gtwriter.h>
 #include "scconfig.h"
+#include "pluginapi.h"
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 #ifdef HAVE_XML
 
Index: gettext/odtim/stylereader.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/odtim/stylereader.cpp,v
retrieving revision 1.1.2.7
diff -u -r1.1.2.7 stylereader.cpp
--- gettext/odtim/stylereader.cpp	28 Jun 2005 21:39:43 -0000	1.1.2.7
+++ gettext/odtim/stylereader.cpp	10 Aug 2005 21:33:41 -0000
@@ -22,6 +22,7 @@
  
  #ifdef HAVE_XML
  
+ #include <scribusstructs.h>
  #include <gtmeasure.h>
  #include <gtparagraphstyle.h>
  #include <gtframestyle.h>
Index: gettext/sxwim/contentreader.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/sxwim/contentreader.cpp,v
retrieving revision 1.5.2.3
diff -u -r1.5.2.3 contentreader.cpp
--- gettext/sxwim/contentreader.cpp	30 Jan 2005 02:42:32 -0000	1.5.2.3
+++ gettext/sxwim/contentreader.cpp	10 Aug 2005 21:39:45 -0000
@@ -22,6 +22,8 @@
 
 #ifdef HAVE_XML
 
+#include <scribusstructs.h>
+
 ContentReader* ContentReader::creader = NULL;
 
 extern xmlSAXHandlerPtr cSAXHandler;
Index: gettext/sxwim/stylereader.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/sxwim/stylereader.cpp,v
retrieving revision 1.5.2.8
diff -u -r1.5.2.8 stylereader.cpp
--- gettext/sxwim/stylereader.cpp	28 Jun 2005 21:39:43 -0000	1.5.2.8
+++ gettext/sxwim/stylereader.cpp	10 Aug 2005 21:39:45 -0000
@@ -22,6 +22,7 @@
  
  #ifdef HAVE_XML
  
+ #include <scribusstructs.h>
  #include <gtmeasure.h>
  #include <gtparagraphstyle.h>
  #include <gtframestyle.h>
Index: gettext/sxwim/sxwdia.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/sxwim/sxwdia.cpp,v
retrieving revision 1.3.2.7
diff -u -r1.3.2.7 sxwdia.cpp
--- gettext/sxwim/sxwdia.cpp	12 May 2005 19:58:55 -0000	1.3.2.7
+++ gettext/sxwim/sxwdia.cpp	10 Aug 2005 21:38:15 -0000
@@ -2,10 +2,11 @@
 
 #ifdef HAVE_XML
 
+#include "scribusapi.h"
 #include "sxwdia.moc"
 #include <qtooltip.h>
 
-extern QPixmap loadIcon(QString nam);
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 SxwDialog::SxwDialog(bool update, bool prefix, bool pack) : QDialog(0, "sxwdia", true, 0)
 {
Index: gettext/sxwim/sxwim.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/sxwim/sxwim.h,v
retrieving revision 1.1.2.4
diff -u -r1.1.2.4 sxwim.h
--- gettext/sxwim/sxwim.h	5 Jul 2005 06:36:05 -0000	1.1.2.4
+++ gettext/sxwim/sxwim.h	10 Aug 2005 21:38:15 -0000
@@ -24,12 +24,13 @@
 #include <qstring.h>
 #include <gtwriter.h>
 #include "scconfig.h"
+#include "pluginapi.h"
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 #ifdef HAVE_XML
 
Index: gettext/textfilter/textfilter.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/textfilter/textfilter.h,v
retrieving revision 1.2
diff -u -r1.2 textfilter.h
--- gettext/textfilter/textfilter.h	7 Oct 2004 11:52:46 -0000	1.2
+++ gettext/textfilter/textfilter.h	10 Aug 2005 21:44:27 -0000
@@ -1,16 +1,17 @@
 #ifndef TEXTFILTER_H
 #define TEXTFILTER_H
 
+#include "pluginapi.h"
 #include <scribus.h>
 #include <prefscontext.h>
 #include <gtwriter.h>
 #include "tffilter.h"
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 class TextFilter
 {
Index: gettext/textfilter/tffilter.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/textfilter/tffilter.cpp,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 tffilter.cpp
--- gettext/textfilter/tffilter.cpp	21 Jul 2005 10:42:39 -0000	1.1.2.3
+++ gettext/textfilter/tffilter.cpp	10 Aug 2005 21:44:27 -0000
@@ -3,12 +3,13 @@
 
 #include <qlayout.h>
 #include <qtooltip.h>
+#include <scribusapi.h>
 #include <scribus.h>
 #include "prefsmanager.h"
 #include <prefsfile.h>
 
-extern ScribusApp* ScApp;
-extern QPixmap loadIcon(QString nam);
+extern ScribusApp SCRIBUS_API *ScApp;
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 tfFilter::tfFilter(QWidget *parent, const char *name,
                    int action, QString regExp, QString replace, QString pstyleName,
Index: gettext/txtim/txtim.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/txtim/txtim.cpp,v
retrieving revision 1.2.2.3
diff -u -r1.2.2.3 txtim.cpp
--- gettext/txtim/txtim.cpp	25 Jul 2005 22:28:44 -0000	1.2.2.3
+++ gettext/txtim/txtim.cpp	10 Aug 2005 21:48:00 -0000
@@ -7,6 +7,7 @@
 #include <qtextcodec.h> 
 
 #include "txtim.h"
+#include "scribusstructs.h"
 
 QString FileFormatName()
 {
Index: gettext/txtim/txtim.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/gettext/txtim/txtim.h,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 txtim.h
--- gettext/txtim/txtim.h	30 Nov 2004 11:55:37 -0000	1.1.2.2
+++ gettext/txtim/txtim.h	10 Aug 2005 21:47:17 -0000
@@ -1,13 +1,14 @@
 #ifndef TXTIM_H
 #define TXTIM_H
 
+#include "pluginapi.h"
 #include "gtwriter.h"
 
-extern "C" void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
+extern "C" PLUGIN_API void GetText(QString filename, QString encoding, bool textOnly, gtWriter *writer);
 
-extern "C" QString FileFormatName();
+extern "C" PLUGIN_API QString FileFormatName();
 
-extern "C" QStringList FileExtensions();
+extern "C" PLUGIN_API QStringList FileExtensions();
 
 class TxtIm 
 {
Index: newfromtemplateplugin/nftdialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/newfromtemplateplugin/nftdialog.cpp,v
retrieving revision 1.8.2.5
diff -u -r1.8.2.5 nftdialog.cpp
--- newfromtemplateplugin/nftdialog.cpp	6 Aug 2005 22:57:31 -0000	1.8.2.5
+++ newfromtemplateplugin/nftdialog.cpp	10 Aug 2005 21:58:17 -0000
@@ -4,9 +4,10 @@
 #include "nftdialog.h"
 #include "nftdialog.moc"
 #include "scconfig.h"
+#include "scribusapi.h"
 #include "commonstrings.h"
 
-extern QPixmap loadIcon(QString nam);
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 nftdialog::nftdialog(QWidget* parent, QString lang, QString templateDir) : QDialog(parent, "nftdialog", true)
 {
Index: newfromtemplateplugin/nftemplate.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/newfromtemplateplugin/nftemplate.h,v
retrieving revision 1.2.2.4
diff -u -r1.2.2.4 nftemplate.h
--- newfromtemplateplugin/nftemplate.h	26 Feb 2005 18:09:00 -0000	1.2.2.4
+++ newfromtemplateplugin/nftemplate.h	10 Aug 2005 21:58:17 -0000
@@ -1,6 +1,7 @@
 #ifndef MYPLUGIN_H
 #define MYPLUGIN_H
 
+#include "pluginapi.h"
 #include "scribus.h"
 #include "nftdialog.h"
 #include "pluginmanager.h"
@@ -9,7 +10,7 @@
 
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /** Returns the Type of the Plugin.
@@ -17,22 +18,22 @@
   * 2 = the Plugin is a Import Plugin, which appears in the Import Menue
   * 3 = the Plugin is a Export Plugin, which appears in the Export Menue
   * 4 = the Plugin is a resident Plugin   */
-extern "C" PluginManager::PluginType type();
+extern "C" PLUGIN_API PluginManager::PluginType type();
 
 ///** Initializes the Plugin if it's a Plugin of Type 4 or 5 */
 //extern "C" void InitPlug(QWidget *d, ScribusApp *plug);
 /** Type 6 plugin needs this again */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 /** Possible CleanUpOperations when closing the Plugin */
-extern "C" void cleanUpPlug();
-extern "C" int ID();
+extern "C" PLUGIN_API void cleanUpPlug();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class MenuNFT : public QObject
 {
Index: pixmapexport/export.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/pixmapexport/export.h,v
retrieving revision 1.3.2.5
diff -u -r1.3.2.5 export.h
--- pixmapexport/export.h	28 Jun 2005 15:47:58 -0000	1.3.2.5
+++ pixmapexport/export.h	10 Aug 2005 22:13:26 -0000
@@ -3,6 +3,7 @@
 
 #include <qstring.h>
 #include <qfiledialog.h>
+#include "pluginapi.h"
 #include "scribus.h"
 #include "pluginmanager.h"
 
@@ -10,12 +11,12 @@
 
 /*! Calls the Plugin with the main Application window as parent
 	and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 
 /*! Returns the Name of the Plugin.
 	This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /*! Returns the Type of the Plugin.
@@ -23,14 +24,14 @@
   \retval 2 = the Plugin is a Import Plugin, which appears in the Import Menue
   \retval 3 = the Plugin is a Export Plugin, which appears in the Export Menue
   \retval 4 = the Plugin is a resident Plugin	*/
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 /*! Handles export. */
 class ExportBitmap: public QObject
Index: printpreview/preview.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/printpreview/preview.h,v
retrieving revision 1.8.2.6
diff -u -r1.8.2.6 preview.h
--- printpreview/preview.h	15 Jul 2005 23:14:42 -0000	1.8.2.6
+++ printpreview/preview.h	10 Aug 2005 22:19:07 -0000
@@ -9,6 +9,7 @@
 #include <qtoolbutton.h>
 #include <qcombobox.h>
 #include <qcheckbox.h>
+#include "pluginapi.h"
 #include "scribus.h"
 #include "pageselector.h"
 #include "pluginmanager.h"
@@ -16,27 +17,27 @@
 
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 /** Returns the Type of the Plugin.
   * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   * 2 = the Plugins is a import Plugin, which appears in the Import Menue
   * 3 = the Plugins is a export Plugin, which appears in the Export Menue */
-extern "C" PluginManager::PluginType type();
+extern "C" PLUGIN_API PluginManager::PluginType type();
 
 ///** Initializes the Plugin if it's a Plugin of Type 4 or 5 */
 //extern "C" void InitPlug(QWidget *d, ScribusApp *plug);
 /** Type 6 plugin needs this again */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 /** Possible CleanUpOperations when closing the Plugin */
-extern "C" void cleanUpPlug();
-extern "C" int ID();
+extern "C" PLUGIN_API void cleanUpPlug();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class MenuPreview : public QObject
 {
Index: psimport/importps.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/psimport/importps.h,v
retrieving revision 1.2.2.7
diff -u -r1.2.2.7 importps.h
--- psimport/importps.h	17 Mar 2005 23:19:32 -0000	1.2.2.7
+++ psimport/importps.h	10 Aug 2005 22:34:47 -0000
@@ -1,27 +1,28 @@
 #ifndef IMPORTPS_H
 #define IMPORTPS_H
 
+#include "pluginapi.h"
 #include "scribus.h"
 #include "pluginmanager.h"
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 /** Returns the Type of the Plugin.
   * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   * 2 = the Plugins is a import Plugin, which appears in the Import Menue
   * 3 = the Plugins is a export Plugin, which appears in the Export Menue */
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class EPSPlug : public QObject
 {
Index: saveastemplateplugin/satdialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/saveastemplateplugin/satdialog.cpp,v
retrieving revision 1.7.2.3
diff -u -r1.7.2.3 satdialog.cpp
--- saveastemplateplugin/satdialog.cpp	21 Jul 2005 10:42:40 -0000	1.7.2.3
+++ saveastemplateplugin/satdialog.cpp	10 Aug 2005 22:38:44 -0000
@@ -3,10 +3,11 @@
  ***************************************************************************/
 #include "satdialog.h"
 #include "satdialog.moc"
+#include "scribusapi.h"
 #include "prefsmanager.h"
 #include <prefsfile.h>
 
-extern QPixmap loadIcon(QString nam);
+extern QPixmap SCRIBUS_API loadIcon(QString nam);
 
 satdialog::satdialog(QWidget* parent, QString tmplName, int pageW, int pageH) : QDialog(parent, "satdialog", true)
 {
Index: saveastemplateplugin/satemplate.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/saveastemplateplugin/satemplate.h,v
retrieving revision 1.5.2.6
diff -u -r1.5.2.6 satemplate.h
--- saveastemplateplugin/satemplate.h	26 Feb 2005 18:09:01 -0000	1.5.2.6
+++ saveastemplateplugin/satemplate.h	10 Aug 2005 22:38:43 -0000
@@ -7,11 +7,12 @@
 #include <scribus.h>
 #include <pluginmanager.h>
 
+#include "pluginapi.h"
 #include "satdialog.h"
 
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /** Returns the Type of the Plugin.
@@ -19,22 +20,22 @@
   * 2 = the Plugin is a Import Plugin, which appears in the Import Menue
   * 3 = the Plugin is a Export Plugin, which appears in the Export Menue
   * 4 = the Plugin is a resident Plugin   */
-extern "C" PluginManager::PluginType type();
+extern "C" PLUGIN_API PluginManager::PluginType type();
 
 ///** Initializes the Plugin if it's a Plugin of Type 4 or 5 */
 //extern "C" void InitPlug(QWidget *d, ScribusApp *plug);
 
 /** Possible CleanUpOperations when closing the Plugin */
-extern "C" void cleanUpPlug();
-extern "C" int ID();
+extern "C" PLUGIN_API void cleanUpPlug();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 
 class MenuSAT : public QObject
Index: short-words/configuration.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/configuration.cpp,v
retrieving revision 1.1.2.8
diff -u -r1.1.2.8 configuration.cpp
--- short-words/configuration.cpp	21 Jul 2005 10:42:40 -0000	1.1.2.8
+++ short-words/configuration.cpp	10 Aug 2005 22:54:21 -0000
@@ -15,6 +15,7 @@
 #include "scconfig.h"
 #include "configuration.h"
 #include "configuration.moc"
+#include "scpaths.h"
 #include "version.h"
 #include "shortwords.h"
 
@@ -24,7 +25,7 @@
 #include <qdir.h>
 #include <qstringlist.h>
 
-extern ScribusApp *ScApp;
+extern ScribusApp SCRIBUS_API *ScApp;
 
 Config::Config()
 {
Index: short-words/parse.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/parse.cpp,v
retrieving revision 1.1.2.8
diff -u -r1.1.2.8 parse.cpp
--- short-words/parse.cpp	12 Jun 2005 10:07:34 -0000	1.1.2.8
+++ short-words/parse.cpp	10 Aug 2005 22:44:46 -0000
@@ -18,7 +18,7 @@
 #include "scribus.h"
 #include <qregexp.h>
 
-extern ScribusApp *ScApp;
+extern ScribusApp SCRIBUS_API *ScApp;
 
 
 Parse::Parse()
Index: short-words/shortwords.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/shortwords.cpp,v
retrieving revision 1.1.2.12
diff -u -r1.1.2.12 shortwords.cpp
--- short-words/shortwords.cpp	3 Jul 2005 21:50:59 -0000	1.1.2.12
+++ short-words/shortwords.cpp	10 Aug 2005 22:54:21 -0000
@@ -14,6 +14,7 @@
 #include "version.h"
 #include "vlnadialog.h"
 #include "pluginmanager.h"
+#include "scpaths.h"
 #include "scribus.h"
 #include <qmessagebox.h>
 #include <qtextcodec.h>
@@ -23,7 +24,7 @@
 #include <qdir.h>
 #include <qcheckbox.h>
 
-extern ScribusApp *ScApp;
+extern ScribusApp SCRIBUS_API *ScApp;
 
 
 QString name()
Index: short-words/shortwords.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/shortwords.h,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 shortwords.h
--- short-words/shortwords.h	5 Jul 2005 06:36:06 -0000	1.1.2.5
+++ short-words/shortwords.h	10 Aug 2005 22:44:46 -0000
@@ -13,6 +13,7 @@
 #define _SCRIBUS_SHORTWORDS_H_
 
 #include "scconfig.h"
+#include "pluginapi.h"
 #include "configuration.h"
 #include "parse.h"
 #include "vlnadialog.h"
@@ -22,30 +23,30 @@
 /** Calls the Plugin with the main Application window as parent
 and the main Application Class as parameter. Loads translator too.
 */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 
 
 /** Returns the Name of the Plugin.
  This name appears in the relevant Menue-Entrys
  */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 
 
 /** Returns the Type of the Plugin.
   \retval 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   */
-extern "C" PluginManager::PluginType type();
+extern "C" PLUGIN_API PluginManager::PluginType type();
 
 /** Returns the Id of the Plugin.
   \retval 11 = id from the plugin registry
  */
-extern "C" int ID();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class Parse;
 
Index: short-words/version.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/version.h,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 version.h
--- short-words/version.h	10 Feb 2005 18:54:48 -0000	1.1.2.3
+++ short-words/version.h	10 Aug 2005 22:53:06 -0000
@@ -13,7 +13,7 @@
 #ifndef _SCRIBUS_SHORTVER_H_
 #define _SCRIBUS_SHORTVER_H_
 
-#define RC_PATH QDir::convertSeparators(QString(PLUGINDATA) + "/scribus-short-words.rc")
+#define RC_PATH QDir::convertSeparators( ScPaths::instance().pluginDir() + "/scribus-short-words.rc")
 #define RC_PATH_USR QDir::homeDirPath() + QDir::convertSeparators("/.scribus/scribus-short-words.rc")
 
 #define UNBREAKABLE_SPACE QString(QChar(29))
Index: short-words/vlnadialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/short-words/vlnadialog.cpp,v
retrieving revision 1.1.2.8
diff -u -r1.1.2.8 vlnadialog.cpp
--- short-words/vlnadialog.cpp	6 Aug 2005 22:57:31 -0000	1.1.2.8
+++ short-words/vlnadialog.cpp	10 Aug 2005 22:51:46 -0000
@@ -13,6 +13,7 @@
 #include "vlnadialog.h"
 #include "vlnadialog.moc"
 #include "scribus.h"
+#include "scpaths.h"
 #include "configuration.h"
 #include "helpbrowser.h"
 
@@ -35,7 +36,7 @@
 
 #include "commonstrings.h"
 
-extern ScribusApp *ScApp;
+extern ScribusApp SCRIBUS_API *ScApp;
 
 
 /*!
Index: svgexplugin/svgexplugin.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/svgexplugin/svgexplugin.h,v
retrieving revision 1.4.2.7
diff -u -r1.4.2.7 svgexplugin.h
--- svgexplugin/svgexplugin.h	27 Apr 2005 23:11:20 -0000	1.4.2.7
+++ svgexplugin/svgexplugin.h	10 Aug 2005 22:58:16 -0000
@@ -3,6 +3,7 @@
 
 #include <qobject.h>
 #include <qdom.h>
+#include "pluginapi.h"
 #include "pluginmanager.h"
 
 class QString;
@@ -12,22 +13,22 @@
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 /** Returns the Type of the Plugin.
   * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   * 2 = the Plugins is a import Plugin, which appears in the Import Menue
   * 3 = the Plugins is a export Plugin, which appears in the Export Menue */
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class SVGExPlug : public QObject
 {
Index: svgimplugin/color.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/svgimplugin/color.h,v
retrieving revision 1.1
diff -u -r1.1 color.h
--- svgimplugin/color.h	1 Oct 2003 20:39:10 -0000	1.1
+++ svgimplugin/color.h	8 Jul 2005 07:43:35 -0000
@@ -4,303 +4,304 @@
 	r = red; \
 	b = blue; \
 	g = green; \
+	return; \
 }
 
 void keywordToRGB( QString rgbColor, int &r, int &g, int &b )
 {
 	if( rgbColor == "aliceblue" )
 		TORGB( 240, 248, 255)
-	else if( rgbColor == "antiquewhite" )
+	if( rgbColor == "antiquewhite" )
 		TORGB( 250, 235, 215)
-	else if( rgbColor == "aqua" )
+	if( rgbColor == "aqua" )
 		TORGB( 0, 255, 255)
-	else if( rgbColor == "aquamarine" )
+	if( rgbColor == "aquamarine" )
 		TORGB( 127, 255, 212 )
-	else if( rgbColor == "azure" )
+	if( rgbColor == "azure" )
 		TORGB( 240, 255, 255 )
-	else if( rgbColor == "beige" )
+	if( rgbColor == "beige" )
 		TORGB( 245, 245, 220 )
-	else if( rgbColor == "bisque" )
+	if( rgbColor == "bisque" )
 		TORGB( 255, 228, 196 )
-	else if( rgbColor == "black" )
+	if( rgbColor == "black" )
 		TORGB( 0, 0, 0 )
-	else if( rgbColor == "blanchedalmond" )
+	if( rgbColor == "blanchedalmond" )
 		TORGB( 255, 235, 205 )
-	else if( rgbColor == "blue" )
+	if( rgbColor == "blue" )
 		TORGB( 0, 0, 255 )
-	else if( rgbColor == "blueviolet" )
+	if( rgbColor == "blueviolet" )
 		TORGB( 138, 43, 226 )
-	else if( rgbColor == "brown" )
+	if( rgbColor == "brown" )
 		TORGB( 165, 42, 42 )
-	else if( rgbColor == "burlywood" )
+	if( rgbColor == "burlywood" )
 		TORGB( 222, 184, 135 )
-	else if( rgbColor == "cadetblue" )
+	if( rgbColor == "cadetblue" )
 		TORGB( 95, 158, 160 )
-	else if( rgbColor == "chartreuse" )
+	if( rgbColor == "chartreuse" )
 		TORGB( 127, 255, 0 )
-	else if( rgbColor == "chocolate" )
+	if( rgbColor == "chocolate" )
 		TORGB( 210, 105, 30 )
-	else if( rgbColor == "coral" )
+	if( rgbColor == "coral" )
 		TORGB( 255, 127, 80 )
-	else if( rgbColor == "cornflowerblue" )
+	if( rgbColor == "cornflowerblue" )
 		TORGB( 100, 149, 237 )
-	else if( rgbColor == "cornsilk" )
+	if( rgbColor == "cornsilk" )
 		TORGB( 255, 248, 220 )
-	else if( rgbColor == "crimson" )
+	if( rgbColor == "crimson" )
 		TORGB( 220, 20, 60 )
-	else if( rgbColor == "cyan" )
+	if( rgbColor == "cyan" )
 		TORGB( 0, 255, 255 )
-	else if( rgbColor == "darkblue" )
+	if( rgbColor == "darkblue" )
 		TORGB( 0, 0, 139 )
-	else if( rgbColor == "darkcyan" )
+	if( rgbColor == "darkcyan" )
 		TORGB( 0, 139, 139 )
-	else if( rgbColor == "darkgoldenrod" )
+	if( rgbColor == "darkgoldenrod" )
 		TORGB( 184, 134, 11 )
-	else if( rgbColor == "darkgray" )
+	if( rgbColor == "darkgray" )
 		TORGB( 169, 169, 169 )
-	else if( rgbColor == "darkgrey" )
+	if( rgbColor == "darkgrey" )
 		TORGB( 169, 169, 169 )
-	else if( rgbColor == "darkgreen" )
+	if( rgbColor == "darkgreen" )
 		TORGB( 0, 100, 0 )
-	else if( rgbColor == "darkkhaki" )
+	if( rgbColor == "darkkhaki" )
 		TORGB( 189, 183, 107 )
-	else if( rgbColor == "darkmagenta" )
+	if( rgbColor == "darkmagenta" )
 		TORGB( 139, 0, 139 )
-	else if( rgbColor == "darkolivegreen" )
+	if( rgbColor == "darkolivegreen" )
 		TORGB( 85, 107, 47 )
-	else if( rgbColor == "darkorange" )
+	if( rgbColor == "darkorange" )
 		TORGB( 255, 140, 0 )
-	else if( rgbColor == "darkorchid" )
+	if( rgbColor == "darkorchid" )
 		TORGB( 153, 50, 204 )
-	else if( rgbColor == "darkred" )
+	if( rgbColor == "darkred" )
 		TORGB( 139, 0, 0 )
-	else if( rgbColor == "darksalmon" )
+	if( rgbColor == "darksalmon" )
 		TORGB( 233, 150, 122 )
-	else if( rgbColor == "darkseagreen" )
+	if( rgbColor == "darkseagreen" )
 		TORGB( 143, 188, 143 )
-	else if( rgbColor == "darkslateblue" )
+	if( rgbColor == "darkslateblue" )
 		TORGB( 72, 61, 139 )
-	else if( rgbColor == "darkslategray" )
+	if( rgbColor == "darkslategray" )
 		TORGB( 47, 79, 79 )
-	else if( rgbColor == "darkslategrey" )
+	if( rgbColor == "darkslategrey" )
 		TORGB( 47, 79, 79 )
-	else if( rgbColor == "darkturquoise" )
+	if( rgbColor == "darkturquoise" )
 		TORGB( 0, 206, 209 )
-	else if( rgbColor == "darkviolet" )
+	if( rgbColor == "darkviolet" )
 		TORGB( 148, 0, 211 )
-	else if( rgbColor == "deeppink" )
+	if( rgbColor == "deeppink" )
 		TORGB( 255, 20, 147 )
-	else if( rgbColor == "deepskyblue" )
+	if( rgbColor == "deepskyblue" )
 		TORGB( 0, 191, 255 )
-	else if( rgbColor == "dimgray" )
+	if( rgbColor == "dimgray" )
 		TORGB( 105, 105, 105 )
-	else if( rgbColor == "dimgrey" )
+	if( rgbColor == "dimgrey" )
 		TORGB( 105, 105, 105 )
-	else if( rgbColor == "dodgerblue" )
+	if( rgbColor == "dodgerblue" )
 		TORGB( 30, 144, 255 )
-	else if( rgbColor == "firebrick" )
+	if( rgbColor == "firebrick" )
 		TORGB( 178, 34, 34 )
-	else if( rgbColor == "floralwhite" )
+	if( rgbColor == "floralwhite" )
 		TORGB( 255, 250, 240 )
-	else if( rgbColor == "forestgreen" )
+	if( rgbColor == "forestgreen" )
 		TORGB( 34, 139, 34 )
-	else if( rgbColor == "fuchsia" )
+	if( rgbColor == "fuchsia" )
 		TORGB( 255, 0, 255 )
-	else if( rgbColor == "gainsboro" )
+	if( rgbColor == "gainsboro" )
 		TORGB( 220, 220, 220 )
-	else if( rgbColor == "ghostwhite" )
+	if( rgbColor == "ghostwhite" )
 		TORGB( 248, 248, 255 )
-	else if( rgbColor == "gold" )
+	if( rgbColor == "gold" )
 		TORGB( 255, 215, 0 )
-	else if( rgbColor == "goldenrod" )
+	if( rgbColor == "goldenrod" )
 		TORGB( 218, 165, 32 )
-	else if( rgbColor == "gray" )
+	if( rgbColor == "gray" )
 		TORGB( 128, 128, 128 )
-	else if( rgbColor == "grey" )
+	if( rgbColor == "grey" )
 		TORGB( 128, 128, 128 )
-	else if( rgbColor == "green" )
+	if( rgbColor == "green" )
 		TORGB( 0, 128, 0 )
-	else if( rgbColor == "greenyellow" )
+	if( rgbColor == "greenyellow" )
 		TORGB( 173, 255, 47 )
-	else if( rgbColor == "honeydew" )
+	if( rgbColor == "honeydew" )
 		TORGB( 240, 255, 240 )
-	else if( rgbColor == "hotpink" )
+	if( rgbColor == "hotpink" )
 		TORGB( 255, 105, 180 )
-	else if( rgbColor == "indianred" )
+	if( rgbColor == "indianred" )
 		TORGB( 205, 92, 92 )
-	else if( rgbColor == "indigo" )
+	if( rgbColor == "indigo" )
 		TORGB( 75, 0, 130 )
-	else if( rgbColor == "ivory" )
+	if( rgbColor == "ivory" )
 		TORGB( 255, 255, 240 )
-	else if( rgbColor == "khaki" )
+	if( rgbColor == "khaki" )
 		TORGB( 240, 230, 140 )
-	else if( rgbColor == "lavender" )
+	if( rgbColor == "lavender" )
 		TORGB( 230, 230, 250 )
-	else if( rgbColor == "lavenderblush" )
+	if( rgbColor == "lavenderblush" )
 		TORGB( 255, 240, 245 )
-	else if( rgbColor == "lawngreen" )
+	if( rgbColor == "lawngreen" )
 		TORGB( 124, 252, 0 )
-	else if( rgbColor == "lemonchiffon" )
+	if( rgbColor == "lemonchiffon" )
 		TORGB( 255, 250, 205 )
-	else if( rgbColor == "lightblue" )
+	if( rgbColor == "lightblue" )
 		TORGB( 173, 216, 230 )
-	else if( rgbColor == "lightcoral" )
+	if( rgbColor == "lightcoral" )
 		TORGB( 240, 128, 128 )
-	else if( rgbColor == "lightcyan" )
+	if( rgbColor == "lightcyan" )
 		TORGB( 224, 255, 255 )
-	else if( rgbColor == "lightgoldenrodyellow" )
+	if( rgbColor == "lightgoldenrodyellow" )
 		TORGB( 250, 250, 210 )
-	else if( rgbColor == "lightgray" )
+	if( rgbColor == "lightgray" )
 		TORGB( 211, 211, 211 )
-	else if( rgbColor == "lightgrey" )
+	if( rgbColor == "lightgrey" )
 		TORGB( 211, 211, 211 )
-	else if( rgbColor == "lightgreen" )
+	if( rgbColor == "lightgreen" )
 		TORGB( 144, 238, 144 )
-	else if( rgbColor == "lightpink" )
+	if( rgbColor == "lightpink" )
 		TORGB( 255, 182, 193 )
-	else if( rgbColor == "lightsalmon" )
+	if( rgbColor == "lightsalmon" )
 		TORGB( 255, 160, 122 )
-	else if( rgbColor == "lightseagreen" )
+	if( rgbColor == "lightseagreen" )
 		TORGB( 32, 178, 170 )
-	else if( rgbColor == "lightskyblue" )
+	if( rgbColor == "lightskyblue" )
 		TORGB( 135, 206, 250 )
-	else if( rgbColor == "lightslategray" )
+	if( rgbColor == "lightslategray" )
 		TORGB( 119, 136, 153 )
-	else if( rgbColor == "lightslategrey" )
+	if( rgbColor == "lightslategrey" )
 		TORGB( 119, 136, 153 )
-	else if( rgbColor == "lightsteelblue" )
+	if( rgbColor == "lightsteelblue" )
 		TORGB( 176, 196, 222 )
-	else if( rgbColor == "lightyellow" )
+	if( rgbColor == "lightyellow" )
 		TORGB( 255, 255, 224 )
-	else if( rgbColor == "lime" )
+	if( rgbColor == "lime" )
 		TORGB( 0, 255, 0 )
-	else if( rgbColor == "limegreen" )
+	if( rgbColor == "limegreen" )
 		TORGB( 50, 205, 50 )
-	else if( rgbColor == "linen" )
+	if( rgbColor == "linen" )
 		TORGB( 250, 240, 230 )
-	else if( rgbColor == "magenta" )
+	if( rgbColor == "magenta" )
 		TORGB( 255, 0, 255 )
-	else if( rgbColor == "maroon" )
+	if( rgbColor == "maroon" )
 		TORGB( 128, 0, 0 )
-	else if( rgbColor == "mediumaquamarine" )
+	if( rgbColor == "mediumaquamarine" )
 		TORGB( 102, 205, 170 )
-	else if( rgbColor == "mediumblue" )
+	if( rgbColor == "mediumblue" )
 		TORGB( 0, 0, 205 )
-	else if( rgbColor == "mediumorchid" )
+	if( rgbColor == "mediumorchid" )
 		TORGB( 186, 85, 211 )
-	else if( rgbColor == "mediumpurple" )
+	if( rgbColor == "mediumpurple" )
 		TORGB( 147, 112, 219 )
-	else if( rgbColor == "mediumseagreen" )
+	if( rgbColor == "mediumseagreen" )
 		TORGB( 60, 179, 113 )
-	else if( rgbColor == "mediumslateblue" )
+	if( rgbColor == "mediumslateblue" )
 		TORGB( 123, 104, 238 )
-	else if( rgbColor == "mediumspringgreen" )
+	if( rgbColor == "mediumspringgreen" )
 		TORGB( 0, 250, 154 )
-	else if( rgbColor == "mediumturquoise" )
+	if( rgbColor == "mediumturquoise" )
 		TORGB( 72, 209, 204 )
-	else if( rgbColor == "mediumvioletred" )
+	if( rgbColor == "mediumvioletred" )
 		TORGB( 199, 21, 133 )
-	else if( rgbColor == "midnightblue" )
+	if( rgbColor == "midnightblue" )
 		TORGB( 25, 25, 112 )
-	else if( rgbColor == "mintcream" )
+	if( rgbColor == "mintcream" )
 		TORGB( 245, 255, 250 )
-	else if( rgbColor == "mistyrose" )
+	if( rgbColor == "mistyrose" )
 		TORGB( 255, 228, 225 )
-	else if( rgbColor == "moccasin" )
+	if( rgbColor == "moccasin" )
 		TORGB( 255, 228, 181 )
-	else if( rgbColor == "navajowhite" )
+	if( rgbColor == "navajowhite" )
 		TORGB( 255, 222, 173 )
-	else if( rgbColor == "navy" )
+	if( rgbColor == "navy" )
 		TORGB( 0, 0, 128 )
-	else if( rgbColor == "oldlace" )
+	if( rgbColor == "oldlace" )
 		TORGB( 253, 245, 230 )
-	else if( rgbColor == "olive" )
+	if( rgbColor == "olive" )
 		TORGB( 128, 128, 0 )
-	else if( rgbColor == "olivedrab" )
+	if( rgbColor == "olivedrab" )
 		TORGB( 107, 142, 35 )
-	else if( rgbColor == "orange" )
+	if( rgbColor == "orange" )
 		TORGB( 255, 165, 0 )
-	else if( rgbColor == "orangered" )
+	if( rgbColor == "orangered" )
 		TORGB( 255, 69, 0 )
-	else if( rgbColor == "orchid" )
+	if( rgbColor == "orchid" )
 		TORGB( 218, 112, 214 )
-	else if( rgbColor == "palegoldenrod" )
+	if( rgbColor == "palegoldenrod" )
 		TORGB( 238, 232, 170 )
-	else if( rgbColor == "palegreen" )
+	if( rgbColor == "palegreen" )
 		TORGB( 152, 251, 152 )
-	else if( rgbColor == "paleturquoise" )
+	if( rgbColor == "paleturquoise" )
 		TORGB( 175, 238, 238 )
-	else if( rgbColor == "palevioletred" )
+	if( rgbColor == "palevioletred" )
 		TORGB( 219, 112, 147 )
-	else if( rgbColor == "papayawhip" )
+	if( rgbColor == "papayawhip" )
 		TORGB( 255, 239, 213 )
-	else if( rgbColor == "peachpuff" )
+	if( rgbColor == "peachpuff" )
 		TORGB( 255, 218, 185 )
-	else if( rgbColor == "peru" )
+	if( rgbColor == "peru" )
 		TORGB( 205, 133, 63 )
-	else if( rgbColor == "pink" )
+	if( rgbColor == "pink" )
 		TORGB( 255, 192, 203 )
-	else if( rgbColor == "plum" )
+	if( rgbColor == "plum" )
 		TORGB( 221, 160, 221 )
-	else if( rgbColor == "powderblue" )
+	if( rgbColor == "powderblue" )
 		TORGB( 176, 224, 230 )
-	else if( rgbColor == "purple" )
+	if( rgbColor == "purple" )
 		TORGB( 128, 0, 128 )
-	else if( rgbColor == "red" )
+	if( rgbColor == "red" )
 		TORGB( 255, 0, 0 )
-	else if( rgbColor == "rosybrown" )
+	if( rgbColor == "rosybrown" )
 		TORGB( 188, 143, 143 )
-	else if( rgbColor == "royalblue" )
+	if( rgbColor == "royalblue" )
 		TORGB( 65, 105, 225 )
-	else if( rgbColor == "saddlebrown" )
+	if( rgbColor == "saddlebrown" )
 		TORGB( 139, 69, 19 )
-	else if( rgbColor == "salmon" )
+	if( rgbColor == "salmon" )
 		TORGB( 250, 128, 114 )
-	else if( rgbColor == "sandybrown" )
+	if( rgbColor == "sandybrown" )
 		TORGB( 244, 164, 96 )
-	else if( rgbColor == "seagreen" )
+	if( rgbColor == "seagreen" )
 		TORGB( 46, 139, 87 )
-	else if( rgbColor == "seashell" )
+	if( rgbColor == "seashell" )
 		TORGB( 255, 245, 238 )
-	else if( rgbColor == "sienna" )
+	if( rgbColor == "sienna" )
 		TORGB( 160, 82, 45 )
-	else if( rgbColor == "silver" )
+	if( rgbColor == "silver" )
 		TORGB( 192, 192, 192 )
-	else if( rgbColor == "skyblue" )
+	if( rgbColor == "skyblue" )
 		TORGB( 135, 206, 235 )
-	else if( rgbColor == "slateblue" )
+	if( rgbColor == "slateblue" )
 		TORGB( 106, 90, 205 )
-	else if( rgbColor == "slategray" )
+	if( rgbColor == "slategray" )
 		TORGB( 112, 128, 144 )
-	else if( rgbColor == "slategrey" )
+	if( rgbColor == "slategrey" )
 		TORGB( 112, 128, 144 )
-	else if( rgbColor == "snow" )
+	if( rgbColor == "snow" )
 		TORGB( 255, 250, 250 )
-	else if( rgbColor == "springgreen" )
+	if( rgbColor == "springgreen" )
 		TORGB( 0, 255, 127 )
-	else if( rgbColor == "steelblue" )
+	if( rgbColor == "steelblue" )
 		TORGB( 70, 130, 180 )
-	else if( rgbColor == "tan" )
+	if( rgbColor == "tan" )
 		TORGB( 210, 180, 140 )
-	else if( rgbColor == "teal" )
+	if( rgbColor == "teal" )
 		TORGB( 0, 128, 128 )
-	else if( rgbColor == "thistle" )
+	if( rgbColor == "thistle" )
 		TORGB( 216, 191, 216 )
-	else if( rgbColor == "tomato" )
+	if( rgbColor == "tomato" )
 		TORGB( 255, 99, 71 )
-	else if( rgbColor == "turquoise" )
+	if( rgbColor == "turquoise" )
 		TORGB( 64, 224, 208 )
-	else if( rgbColor == "violet" )
+	if( rgbColor == "violet" )
 		TORGB( 238, 130, 238 )
-	else if( rgbColor == "wheat" )
+	if( rgbColor == "wheat" )
 		TORGB( 245, 222, 179 )
-	else if( rgbColor == "white" )
+	if( rgbColor == "white" )
 		TORGB( 255, 255, 255 )
-	else if( rgbColor == "whitesmoke" )
+	if( rgbColor == "whitesmoke" )
 		TORGB( 245, 245, 245 )
-	else if( rgbColor == "yellow" )
+	if( rgbColor == "yellow" )
 		TORGB( 255, 255, 0 )
-	else if( rgbColor == "yellowgreen" )
+	if( rgbColor == "yellowgreen" )
 		TORGB( 154, 205, 50 )
 }
 
Index: svgimplugin/svgplugin.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/svgimplugin/svgplugin.h,v
retrieving revision 1.6.2.10
diff -u -r1.6.2.10 svgplugin.h
--- svgimplugin/svgplugin.h	15 Jul 2005 23:14:42 -0000	1.6.2.10
+++ svgimplugin/svgplugin.h	10 Aug 2005 22:59:35 -0000
@@ -3,6 +3,7 @@
 
 #include <qdom.h>
 #include <qptrstack.h>
+#include "pluginapi.h"
 #include "scribus.h"
 #include "vgradient.h"
 #include "pluginmanager.h"
@@ -11,22 +12,22 @@
 
 /** Calls the Plugin with the main Application window as parent
   * and the main Application Class as parameter */
-extern "C" void run(QWidget *d, ScribusApp *plug);
+extern "C" PLUGIN_API void run(QWidget *d, ScribusApp *plug);
 /** Returns the Name of the Plugin.
   * This name appears in the relevant Menue-Entrys */
-extern "C" QString name();
+extern "C" PLUGIN_API QString name();
 /** Returns the Type of the Plugin.
   * 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
   * 2 = the Plugins is a import Plugin, which appears in the Import Menue
   * 3 = the Plugins is a export Plugin, which appears in the Export Menue */
-extern "C" PluginManager::PluginType type();
-extern "C" int ID();
+extern "C" PLUGIN_API PluginManager::PluginType type();
+extern "C" PLUGIN_API int ID();
 
-extern "C" QString actionName();
-extern "C" QString actionKeySequence();
-extern "C" QString actionMenu();
-extern "C" QString actionMenuAfterName();
-extern "C" bool actionEnabledOnStartup();
+extern "C" PLUGIN_API QString actionName();
+extern "C" PLUGIN_API QString actionKeySequence();
+extern "C" PLUGIN_API QString actionMenu();
+extern "C" PLUGIN_API QString actionMenuAfterName();
+extern "C" PLUGIN_API bool actionEnabledOnStartup();
 
 class GradientHelper
 {

plugins_export_symbols.diff (72,139 bytes)   

2005-08-11 14:35

 

pluginapi.h (1,213 bytes)   
// Le bloc ifdef suivant est la fa�on standard de cr�er des macros qui facilitent l'exportation 
// � partir d'une DLL. Tous les fichiers contenus dans cette DLL sont compil�s avec le symbole SVGEXPORT121_EXPORTS
// d�fini sur la ligne de commande. Ce symbole ne doit pas �tre d�fini dans les projets
// qui utilisent cette DLL. De cette mani�re, les autres projets dont les fichiers sources comprennent ce fichier consid�rent les fonctions 
// SVGEXPORT121_API comme �tant import�es � partir d'une DLL, tandis que cette DLL consid�re les symboles
// d�finis avec cette macro comme �tant export�.

#ifndef PLUGIN_API_H
#define PLUGIN_API_H

#ifdef _WIN32
    #ifdef COMPILE_SCRIBUS_MAIN_APP
        #define PLUGIN_API __declspec(dllimport)
    #else
        #ifdef COMPILE_PLUGIN_AS_DLL
            #define PLUGIN_API __declspec(dllexport)
        #else
            #define PLUGIN_API
        #endif
    #endif
#else
    #ifdef HAVE_GCC_SYMBOL_VISIBILITY
        #define PLUGIN_API __attribute__ ((visibility("default")))
        #define PLUGIN_LOCAL __attribute__ ((visibility("hidden")))
    #else
        #define PLUGIN_API
        #define PLUGIN_LOCAL
    #endif
#endif

#endif
pluginapi.h (1,213 bytes)   

ringerc

2005-08-11 14:51

reporter   ~0006049

Forgive my confusion, but I don't understand why we need a separate header here.

Can't we just define 'COMPILE_SCRIBUS_MAIN_APP' for the core code, leave it undefined for plugins, and if required set 'COMPILE_PLUGIN_AS_DLL', then use scribusapi.h ?

ringerc

2005-08-11 14:58

reporter   ~0006050

Correction: I think I get it now, don't worry.

jghali

2005-08-11 15:01

administrator   ~0006051

- The COMPILE_SCRIBUS_MAIN_APP defined in plugin_api is for future evolutions, it would be needed in case of runtime-linked modules.
- when compiling plugins on win32 PLUGIN_API and SCRIBUS_API have different definitions

ringerc

2005-08-11 15:08

reporter   ~0006053

Your patch is a bit broken - it's generated from two different base directories - but I can fix it here. Just means it'll take a bit longer to apply.

ringerc

2005-08-11 15:09

reporter   ~0006054

testing

ringerc

2005-08-11 16:49

reporter   ~0006061

Thanks Jean ... great to have this going. Saves me some pain on the gcc visibility stuff too.

I'm pondering making gcc4 -fvisibility=hidden the default for --enable-debug (and if that works out, release builds) on systems with gcc4. That'll mean that builds will break on Linux if they omit SCRIBUS_API macros that would break win32 builds. They'll also load faster and link faster.

Issue History

Date Modified Username Field Change
2005-08-11 14:34 jghali New Issue
2005-08-11 14:34 jghali File Added: plugins_export_symbols.diff
2005-08-11 14:35 jghali File Added: pluginapi.h
2005-08-11 14:37 jghali Relationship added child of 0002398
2005-08-11 14:40 jghali Relationship added related to 0000015
2005-08-11 14:51 ringerc Note Added: 0006049
2005-08-11 14:51 ringerc Status new => assigned
2005-08-11 14:51 ringerc Assigned To => ringerc
2005-08-11 14:58 ringerc Note Added: 0006050
2005-08-11 15:01 jghali Note Added: 0006051
2005-08-11 15:08 ringerc Note Added: 0006053
2005-08-11 15:09 ringerc Note Added: 0006054
2005-08-11 16:46 ringerc Relationship added related to 0001961
2005-08-11 16:49 ringerc Status assigned => resolved
2005-08-11 16:49 ringerc Fixed in Version => 1.3.1
2005-08-11 16:49 ringerc Resolution open => fixed
2005-08-11 16:49 ringerc Note Added: 0006061
2005-08-11 22:15 jghali Status resolved => closed
2005-08-11 22:15 jghali Fixed in Version 1.3.1 => 1.3.1cvs
2005-09-25 20:52 cbradney Category Internal => Win32
2014-10-08 18:38 Kunda Category Win32 => OS-Win32