[Libreoffice-commits] .: drawinglayer/inc drawinglayer/Library_drawinglayer.mk drawinglayer/Package_inc.mk

David Tardon dtardon at kemper.freedesktop.org
Sun Apr 3 12:39:31 PDT 2011


 drawinglayer/Library_drawinglayer.mk                                         |    5 +
 drawinglayer/Package_inc.mk                                                  |    1 
 drawinglayer/inc/drawinglayer/animation/animationtiming.hxx                  |   12 +-
 drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx              |    4 
 drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx            |    4 
 drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx               |    4 
 drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx                    |    4 
 drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx                    |    4 
 drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx            |    4 
 drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx              |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx                |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx                 |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx           |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx              |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx           |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx                 |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx         |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx             |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx              |    4 
 drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx               |    4 
 drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx                  |    4 
 drawinglayer/inc/drawinglayer/drawinglayerdllapi.h                           |   45 ++++++++++
 drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx                 |    4 
 drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx                 |    4 
 drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx            |    8 +
 drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx     |    4 
 drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx                |   18 ++--
 drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx              |    4 
 drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive2d/chartprimitive2d.hxx               |    4 
 drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx   |    4 
 drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx             |    4 
 drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx      |    4 
 drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx      |    6 -
 drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx                 |    4 
 drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx        |    4 
 drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx           |    4 
 drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx             |    4 
 drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx                |    4 
 drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx               |    4 
 drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx            |    4 
 drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx      |    4 
 drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx              |    4 
 drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx         |    4 
 drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx                |    4 
 drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx               |    4 
 drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx            |    4 
 drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx       |    4 
 drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx         |    4 
 drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx             |   12 +-
 drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx         |   18 ++--
 drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx               |   10 +-
 drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx               |    4 
 drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx        |   14 +--
 drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx              |    4 
 drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx        |    4 
 drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx       |    4 
 drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx           |   10 +-
 drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx       |   14 +--
 drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx               |    8 +
 drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx            |    4 
 drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx                |    6 -
 drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx       |    8 +
 drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx           |    4 
 drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx        |    4 
 drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx |    4 
 drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx           |    4 
 drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx                |   18 ++--
 drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx               |    4 
 drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx        |    4 
 drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx      |    4 
 drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx       |    4 
 drawinglayer/inc/drawinglayer/primitive3d/polygonprimitive3d.hxx             |    6 -
 drawinglayer/inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx         |    4 
 drawinglayer/inc/drawinglayer/primitive3d/polypolygonprimitive3d.hxx         |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrcubeprimitive3d.hxx             |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrdecompositiontools3d.hxx        |   20 ++--
 drawinglayer/inc/drawinglayer/primitive3d/sdrextrudelathetools3d.hxx         |   16 ++-
 drawinglayer/inc/drawinglayer/primitive3d/sdrextrudeprimitive3d.hxx          |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrlatheprimitive3d.hxx            |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrpolypolygonprimitive3d.hxx      |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrprimitive3d.hxx                 |    4 
 drawinglayer/inc/drawinglayer/primitive3d/sdrsphereprimitive3d.hxx           |    4 
 drawinglayer/inc/drawinglayer/primitive3d/shadowprimitive3d.hxx              |    4 
 drawinglayer/inc/drawinglayer/primitive3d/textureprimitive3d.hxx             |   12 +-
 drawinglayer/inc/drawinglayer/primitive3d/transformprimitive3d.hxx           |    4 
 drawinglayer/inc/drawinglayer/processor2d/baseprocessor2d.hxx                |    6 -
 drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx                |    4 
 drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx             |    4 
 drawinglayer/inc/drawinglayer/processor2d/hittestprocessor2d.hxx             |    4 
 drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx        |    4 
 drawinglayer/inc/drawinglayer/processor2d/textaspolygonextractor2d.hxx       |    4 
 drawinglayer/inc/drawinglayer/processor2d/vclmetafileprocessor2d.hxx         |    4 
 drawinglayer/inc/drawinglayer/processor2d/vclpixelprocessor2d.hxx            |    4 
 drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx                 |    4 
 drawinglayer/inc/drawinglayer/processor3d/baseprocessor3d.hxx                |    6 -
 drawinglayer/inc/drawinglayer/processor3d/cutfindprocessor3d.hxx             |    4 
 drawinglayer/inc/drawinglayer/processor3d/defaultprocessor3d.hxx             |    4 
 drawinglayer/inc/drawinglayer/processor3d/geometry2dextractor.hxx            |    4 
 drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx              |    4 
 drawinglayer/inc/drawinglayer/processor3d/zbufferprocessor3d.hxx             |    4 
 drawinglayer/inc/drawinglayer/texture/texture.hxx                            |   22 ++--
 drawinglayer/inc/drawinglayer/texture/texture3d.hxx                          |   10 +-
 108 files changed, 452 insertions(+), 191 deletions(-)

New commits:
commit 1cca69e8e6f291b3d2d4681f3b54b6a5f7ce9b51
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Apr 3 21:39:14 2011 +0200

    the interface classes/functions must be dllpublic

diff --git a/drawinglayer/Library_drawinglayer.mk b/drawinglayer/Library_drawinglayer.mk
index 0f0c0b9..fa9cef0 100644
--- a/drawinglayer/Library_drawinglayer.mk
+++ b/drawinglayer/Library_drawinglayer.mk
@@ -38,6 +38,11 @@ $(eval $(call gb_Library_set_include,drawinglayer,\
     -I$(OUTDIR)/inc/offuh \
 ))
 
+$(eval $(call gb_Library_set_defs,drawinglayer,\
+	$$(DEFS) \
+	-DDRAWINGLAYER_DLLIMPLEMENTATION \
+))
+
 $(eval $(call gb_Library_add_linked_libs,drawinglayer,\
     avmedia \
     basegfx \
diff --git a/drawinglayer/Package_inc.mk b/drawinglayer/Package_inc.mk
index 73c5601..d4c81dc 100644
--- a/drawinglayer/Package_inc.mk
+++ b/drawinglayer/Package_inc.mk
@@ -46,6 +46,7 @@ $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sd
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrsceneattribute3d.hxx,drawinglayer/attribute/sdrsceneattribute3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/sdrshadowattribute.hxx,drawinglayer/attribute/sdrshadowattribute.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/strokeattribute.hxx,drawinglayer/attribute/strokeattribute.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/drawinglayerdllapi.h,drawinglayer/drawinglayerdllapi.h))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/geometry/viewinformation2d.hxx,drawinglayer/geometry/viewinformation2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/geometry/viewinformation3d.hxx,drawinglayer/geometry/viewinformation3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/animatedprimitive2d.hxx,drawinglayer/primitive2d/animatedprimitive2d.hxx))
diff --git a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx b/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx
index e50c0f9..ff7b82d 100644
--- a/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx
+++ b/drawinglayer/inc/drawinglayer/animation/animationtiming.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX
 #define INCLUDED_DRAWINGLAYER_ANIMATION_ANIMATIONTIMING_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <vector>
 
@@ -40,7 +42,7 @@ namespace drawinglayer
     {
         //////////////////////////////////////////////////////////////////////////////
 
-        class AnimationEntry
+        class DRAWINGLAYER_DLLPUBLIC AnimationEntry
         {
         private:
             AnimationEntry(const AnimationEntry&);
@@ -59,7 +61,7 @@ namespace drawinglayer
 
         //////////////////////////////////////////////////////////////////////////////
 
-        class AnimationEntryFixed : public AnimationEntry
+        class DRAWINGLAYER_DLLPUBLIC AnimationEntryFixed : public AnimationEntry
         {
         protected:
             double										mfDuration;
@@ -78,7 +80,7 @@ namespace drawinglayer
 
         //////////////////////////////////////////////////////////////////////////////
 
-        class AnimationEntryLinear : public AnimationEntry
+        class DRAWINGLAYER_DLLPUBLIC AnimationEntryLinear : public AnimationEntry
         {
         protected:
             double										mfDuration;
@@ -99,7 +101,7 @@ namespace drawinglayer
 
         //////////////////////////////////////////////////////////////////////////////
 
-        class AnimationEntryList : public AnimationEntry
+        class DRAWINGLAYER_DLLPUBLIC AnimationEntryList : public AnimationEntry
         {
         protected:
             double										mfDuration;
@@ -122,7 +124,7 @@ namespace drawinglayer
 
         //////////////////////////////////////////////////////////////////////////////
 
-        class AnimationEntryLoop : public AnimationEntryList
+        class DRAWINGLAYER_DLLPUBLIC AnimationEntryLoop : public AnimationEntryList
         {
         protected:
             sal_uInt32									mnRepeat;
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx
index fe6be1e..b36a524 100644
--- a/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/fillbitmapattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLBITMAPATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -51,7 +53,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class FillBitmapAttribute
+        class DRAWINGLAYER_DLLPUBLIC FillBitmapAttribute
         {
         private:
             ImpFillBitmapAttribute*             mpFillBitmapAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx
index 771a077..e0fdf74 100644
--- a/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/fillgradientattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLGRADIENTATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -69,7 +71,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class FillGradientAttribute
+        class DRAWINGLAYER_DLLPUBLIC FillGradientAttribute
         {
         private:
             ImpFillGradientAttribute*           mpFillGradientAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
index 4fc5c3c..a05b19a 100644
--- a/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FILLHATCHATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -66,7 +68,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class FillHatchAttribute
+        class DRAWINGLAYER_DLLPUBLIC FillHatchAttribute
         {
         private:
             ImpFillHatchAttribute*              mpFillHatchAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
index 9ba55aa..e7171ad 100644
--- a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_FONTATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -51,7 +53,7 @@ namespace drawinglayer
             This attribute class is able to hold all parameters needed/used
             to completely define the parametrisation of a text portion.
          */
-        class FontAttribute
+        class DRAWINGLAYER_DLLPUBLIC FontAttribute
         {
         private:
             ImpFontAttribute*               mpFontAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx
index 64112d9..a9ec162 100644
--- a/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/lineattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINEATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <basegfx/vector/b2enums.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -48,7 +50,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class LineAttribute
+        class DRAWINGLAYER_DLLPUBLIC LineAttribute
         {
         private:
             ImpLineAttribute*                           mpLineAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx
index 1a16b4e..a722489 100644
--- a/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/linestartendattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_LINESTARTENDATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -48,7 +50,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class LineStartEndAttribute
+        class DRAWINGLAYER_DLLPUBLIC LineStartEndAttribute
         {
         private:
             ImpLineStartEndAttribute*               mpLineStartEndAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx
index e65c31e..7b10c17 100644
--- a/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/materialattribute3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_MATERIALATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -48,7 +50,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class MaterialAttribute3D
+        class DRAWINGLAYER_DLLPUBLIC MaterialAttribute3D
         {
         private:
             ImpMaterialAttribute3D*								mpMaterialAttribute3D;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx
index d335e62..be4a9c6 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrallattribute3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRALLATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <drawinglayer/attribute/sdrlineattribute.hxx>
 #include <drawinglayer/attribute/sdrfillattribute.hxx>
@@ -45,7 +47,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrLineFillShadowAttribute3D
+        class DRAWINGLAYER_DLLPUBLIC SdrLineFillShadowAttribute3D
         {
         private:
             const SdrLineAttribute			maLine;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx
index f011e23..008dbab 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrfillattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -53,7 +55,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrFillAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrFillAttribute
         {
         private:
             ImpSdrFillAttribute*            mpSdrFillAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
index 575ebf1..22ee529 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrfillbitmapattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRFILLBITMAPATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -52,7 +54,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrFillBitmapAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrFillBitmapAttribute
         {
         private:
             ImpSdrFillBitmapAttribute*          mpSdrFillBitmapAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx
index dd7bacf..6cb575c 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrlightattribute3d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -51,7 +53,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class Sdr3DLightAttribute
+        class DRAWINGLAYER_DLLPUBLIC Sdr3DLightAttribute
         {
         private:
             ImpSdr3DLightAttribute*             mpSdr3DLightAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx
index a6497e3..d704d7d 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrlightingattribute3d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLIGHTINGATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <vector>
 
@@ -53,7 +55,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrLightingAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrLightingAttribute
         {
         private:
             ImpSdrLightingAttribute*            mpSdrLightingAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx
index 2397aa7..6662a15 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrlineattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINEATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <basegfx/vector/b2enums.hxx>
 #include <vector>
@@ -52,7 +54,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrLineAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrLineAttribute
         {
         private:
             ImpSdrLineAttribute*                mpSdrLineAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx
index 8d63c0a..aae7a41 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrlinestartendattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRLINESTARTENDATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -50,7 +52,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrLineStartEndAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrLineStartEndAttribute
         {
         private:
             ImpSdrLineStartEndAttribute*               mpSdrLineStartEndAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
index 48d65e0..374efa0 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrobjectattribute3d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDROBJECTATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <com/sun/star/drawing/NormalsKind.hpp>
 #include <com/sun/star/drawing/TextureProjectionMode.hpp>
@@ -51,7 +53,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class Sdr3DObjectAttribute
+        class DRAWINGLAYER_DLLPUBLIC Sdr3DObjectAttribute
         {
         private:
             ImpSdr3DObjectAttribute*            mpSdr3DObjectAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx
index 44e964a..594b4c4 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrsceneattribute3d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSCENEATTRIBUTE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <com/sun/star/drawing/ProjectionMode.hpp>
 #include <com/sun/star/drawing/ShadeMode.hpp>
@@ -48,7 +50,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrSceneAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrSceneAttribute
         {
         private:
             ImpSdrSceneAttribute*               mpSdrSceneAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx
index 4d72d91..d98216a 100644
--- a/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/sdrshadowattribute.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_SDRSHADOWATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -51,7 +53,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class SdrShadowAttribute
+        class DRAWINGLAYER_DLLPUBLIC SdrShadowAttribute
         {
         private:
             ImpSdrShadowAttribute*              mpSdrShadowAttribute;
diff --git a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx
index 4578a8f..45b3418 100644
--- a/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/strokeattribute.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX
 #define INCLUDED_DRAWINGLAYER_ATTRIBUTE_STROKEATTRIBUTE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <vector>
 
@@ -45,7 +47,7 @@ namespace drawinglayer
 {
     namespace attribute
     {
-        class StrokeAttribute
+        class DRAWINGLAYER_DLLPUBLIC StrokeAttribute
         {
         private:
             ImpStrokeAttribute*         mpStrokeAttribute;
diff --git a/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h b/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h
new file mode 100644
index 0000000..8badcbe
--- /dev/null
+++ b/drawinglayer/inc/drawinglayer/drawinglayerdllapi.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ *       David Tardon, Red Hat Inc. <dtardon at redhat.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Major Contributor(s):
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H
+#define INCLUDED_DRAWINGLAYER_DRAWINGLAYERDLLAPI_H
+
+#include <sal/types.h>
+
+#if defined(DRAWINGLAYER_DLLIMPLEMENTATION)
+#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define DRAWINGLAYER_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define DRAWINGLAYER_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx
index b71a57b..ee0dff6 100644
--- a/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx
+++ b/drawinglayer/inc/drawinglayer/geometry/viewinformation2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX
 #define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 // the solaris compiler defines 'sun' as '1'. To avoid that (and to allow
 // pre-declarations of com/sun/star namespace), include sal/config.h here
 // where sun is redefined as 'sun' (so i guess the problem is known).
@@ -63,7 +65,7 @@ namespace drawinglayer
             It is an implementation to support the sequence of PropertyValues used in a
             ::com::sun::star::graphic::XPrimitive2D for C++ implementations working with those
         */
-        class ViewInformation2D
+        class DRAWINGLAYER_DLLPUBLIC ViewInformation2D
         {
         private:
             /// pointer to private implementation class
diff --git a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx b/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx
index 3f720a7..aed21f5 100644
--- a/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx
+++ b/drawinglayer/inc/drawinglayer/geometry/viewinformation3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX
 #define INCLUDED_DRAWINGLAYER_GEOMETRY_VIEWINFORMATION3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 // the solaris compiler defines 'sun' as '1'. To avoid that (and to allow
 // pre-declarations of com/sun/star namespace), include sal/config.h here
 // where sun is redefined as 'sun' (so i guess the problem is known).
@@ -61,7 +63,7 @@ namespace drawinglayer
             It is an implementation to support the sequence of PropertyValues used in a
             ::com::sun::star::graphic::XPrimitive3D for C++ implementations working with those
         */
-        class ViewInformation3D
+        class DRAWINGLAYER_DLLPUBLIC ViewInformation3D
         {
         private:
             /// pointer to private implementation class
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx
index d3fa307..9fea7eb 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/animatedprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_ANIMATEDPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
@@ -58,7 +60,7 @@ namespace drawinglayer
             for values of [0.0 .. 0.5] the first, else the last entry will be used.
             This mechanism is not limited to two entries, though.
          */
-        class AnimatedSwitchPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC AnimatedSwitchPrimitive2D : public GroupPrimitive2D
         {
         private:
             /**
@@ -115,7 +117,7 @@ namespace drawinglayer
             decomposition is specialized in delivering the children in the
             range [0.0.. 0.5] and an empty sequence else
          */
-        class AnimatedBlinkPrimitive2D : public AnimatedSwitchPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC AnimatedBlinkPrimitive2D : public AnimatedSwitchPrimitive2D
         {
         protected:
         public:
@@ -147,7 +149,7 @@ namespace drawinglayer
             will be linearly combined from the decomposed values and the animation value
             to allow a smooth animation.
          */
-        class AnimatedInterpolatePrimitive2D : public AnimatedSwitchPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC AnimatedInterpolatePrimitive2D : public AnimatedSwitchPrimitive2D
         {
         private:
             /// the transformations
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
index fb4806d..507a49f 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/backgroundcolorprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BACKGROUNDCOLORPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 
@@ -50,7 +52,7 @@ namespace drawinglayer
             It will try to buffer it's last decomposition using maLastViewport
             to detect changes in the get2DDecomposition call.
          */
-        class BackgroundColorPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BackgroundColorPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the fill color to use
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
index b67bdb9..1c53ff0 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BASEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <cppuhelper/compbase1.hxx>
 #include <boost/utility.hpp>
 #include <com/sun/star/graphic/XPrimitive2D.hpp>
@@ -142,7 +144,7 @@ namespace drawinglayer
             for view-independent primitives which are defined by not using ViewInformation2D
             in their get2DDecomposition/getB2DRange implementations.
          */
-        class BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BasePrimitive2D
         :	private boost::noncopyable,
             protected comphelper::OBaseMutex,
             public BasePrimitive2DImplBase
@@ -227,7 +229,7 @@ namespace drawinglayer
                 to identify if a new decomposition is needed at the next call
             (f) return maBuffered2DDecomposition
          */
-        class BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive2D
         :	public BasePrimitive2D
         {
         private:
@@ -270,24 +272,24 @@ namespace drawinglayer
     namespace primitive2d
     {
         /// get B2DRange from a given Primitive2DReference
-        basegfx::B2DRange getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation);
+        basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation);
 
         /// get B2DRange from a given Primitive2DSequence
-        basegfx::B2DRange getB2DRangeFromPrimitive2DSequence(const Primitive2DSequence& rCandidate, const geometry::ViewInformation2D& aViewInformation);
+        basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DSequence(const Primitive2DSequence& rCandidate, const geometry::ViewInformation2D& aViewInformation);
 
         /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D)
             and using compare operator
          */
-        bool arePrimitive2DReferencesEqual(const Primitive2DReference& rA, const Primitive2DReference& rB);
+        bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DReferencesEqual(const Primitive2DReference& rA, const Primitive2DReference& rB);
 
         /// compare two Primitive2DReferences for equality, uses arePrimitive2DReferencesEqual internally
-        bool arePrimitive2DSequencesEqual(const Primitive2DSequence& rA, const Primitive2DSequence& rB);
+        bool DRAWINGLAYER_DLLPUBLIC arePrimitive2DSequencesEqual(const Primitive2DSequence& rA, const Primitive2DSequence& rB);
 
         /// concatenate sequence
-        void appendPrimitive2DSequenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DSequence& rSource);
+        void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DSequenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DSequence& rSource);
 
         /// concatenate single Primitive2D
-        void appendPrimitive2DReferenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DReference& rSource);
+        void DRAWINGLAYER_DLLPUBLIC appendPrimitive2DReferenceToPrimitive2DSequence(Primitive2DSequence& rDest, const Primitive2DReference& rSource);
 
     } // end of namespace primitive2d
 } // end of namespace drawinglayer
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx
index 6a8295a..0eab4e7 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/bitmapprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BITMAPPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <vcl/bitmapex.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -47,7 +49,7 @@ namespace drawinglayer
             This may change in the future to any other, maybe more general base
             class providing 24bit RGBA.
          */
-        class BitmapPrimitive2D : public BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BitmapPrimitive2D : public BasePrimitive2D
         {
         private:
             /// the RGBA Bitmap-data
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
index 1428a10..33777e6 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/borderlineprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_BORDERLINEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -48,7 +50,7 @@ namespace drawinglayer
             The LineStart/End overlap is defined by the Extend(Inner|Outer)(Start|End)
             definitions.
          */
-        class BorderLinePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BorderLinePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the line definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/chartprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/chartprimitive2d.hxx
index caa2add..7edd2f5 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/chartprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/chartprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CHARTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CHARTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <com/sun/star/frame/XModel.hpp>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -45,7 +47,7 @@ namespace drawinglayer
             visualisation. It is used to allow specific renderers to do something 
             direct for visualising the chart.
          */
-        class ChartPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ChartPrimitive2D : public GroupPrimitive2D
         {
         private:
             ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >		mxChartModel;
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx
index bae7908..9c1495b 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/clippedborderlineprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CLIPPEDBORDERLINEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/borderlineprimitive2d.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
@@ -41,7 +43,7 @@ namespace drawinglayer
         /** BorderLinePrimitive2D clipped by the intersection with a provided
             polygon.
          */
-        class ClippedBorderLinePrimitive2D : public BorderLinePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ClippedBorderLinePrimitive2D : public BorderLinePrimitive2D
         {
         private:
             const basegfx::B2DPolygon maIntersection;
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx
index e7079d3..4c87db5 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/controlprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_CONTROLPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <com/sun/star/awt/XControlModel.hpp>
@@ -47,7 +49,7 @@ namespace drawinglayer
             representation is limited to a quadratic pixel maximum defined
             in the applicatin settings.
          */
-        class ControlPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ControlPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// object's base data
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
index cf56b33..50c4074 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/discretebitmapprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_DISCRETEBITMAPPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <vcl/bitmapex.hxx>
 
@@ -46,7 +48,7 @@ namespace drawinglayer
             painted in 1:1 pixel resolution. It will never be sheared, rotated
             or scaled with the view.
          */
-        class DiscreteBitmapPrimitive2D : public ObjectAndViewTransformationDependentPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC DiscreteBitmapPrimitive2D : public ObjectAndViewTransformationDependentPrimitive2D
         {
         private:
             /// the RGBA Bitmap-data
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
index 19646d4..d633896 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/discreteshadowprimitive2d.hxx
@@ -28,6 +28,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_QUADRATICSHADOWPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <vcl/bitmapex.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -42,7 +44,7 @@ namespace drawinglayer
         /** DiscreteShadow data class
 
          */
-        class DiscreteShadow
+        class DRAWINGLAYER_DLLPUBLIC DiscreteShadow
         {
         private:
             /// the original shadow BitmapEx in a special form
@@ -85,7 +87,7 @@ namespace drawinglayer
         /** DiscreteShadowPrimitive2D class
 
          */
-        class DiscreteShadowPrimitive2D : public DiscreteMetricDependentPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC DiscreteShadowPrimitive2D : public DiscreteMetricDependentPrimitive2D
         {
         private:
             // the object transformation of the rectangular object
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
index 224a730..c9abc8c 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/embedded3dprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EMBEDDED3DPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
@@ -51,7 +53,7 @@ namespace drawinglayer
             This primitive will not be visualized and decomposes to a yellow
             2D rectangle to visualize that this should never be visualized
          */
-        class Embedded3DPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC Embedded3DPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the sequence of 3d primitives
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx
index a9e90e5..427a370 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/epsprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_EPSPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <vcl/gfxlink.hxx>
@@ -41,7 +43,7 @@ namespace drawinglayer
     namespace primitive2d
     {
         /** EpsPrimitive2D class */
-        class EpsPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC EpsPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx
index 0b856c2..16b44fb 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/fillbitmapprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLBITMAPPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <drawinglayer/attribute/fillbitmapattribute.hxx>
@@ -53,7 +55,7 @@ namespace drawinglayer
             decomposition, but on pixel oututs the areas where the tiled pieces are
             aligned tend to show up (one overlapping or empty pixel)
          */
-        class FillBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC FillBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometric definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
index a1f0eca..2c76eec 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/fillgradientprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLGRADIENTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/attribute/fillgradientattribute.hxx>
 
@@ -58,7 +60,7 @@ namespace drawinglayer
             version is used in the MetafilePrimitive2D decomposition when the old XOR
             paint was recorded.
          */
-        class FillGradientPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC FillGradientPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometric definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
index 9b35b9b..2f4bea4 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_FILLHATCHPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/attribute/fillhatchattribute.hxx>
 #include <basegfx/color/bcolor.hxx>
@@ -49,7 +51,7 @@ namespace drawinglayer
 
             The decomposition will deliver the hatch lines.
          */
-        class FillHatchPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC FillHatchPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometric definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx
index 10a4bde..5eaecd8 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/graphicprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRAPHICPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <svtools/grfmgr.hxx>
@@ -54,7 +56,7 @@ namespace drawinglayer
 
             The primitive geometry area is defined by Transform.
          */
-        class GraphicPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC GraphicPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometric definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx
index 564d5d0..b75e475 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/gridprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GRIDPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/color/bcolor.hxx>
@@ -50,7 +52,7 @@ namespace drawinglayer
             makes this primitive highly view-dependent and it dynamically buffers
             the last decomposition dependent from the Viewport used.
          */
-        class GridPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC GridPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// The geometry definition for the grid area
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx
index ffcfc72..c0af766 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/groupprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_GROUPPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -70,7 +72,7 @@ namespace drawinglayer
             - ModifiedColorPrimitive2D (for a stack of color modifications)
             - TransformPrimitive2D (for a transformation stack)
          */
-        class GroupPrimitive2D : public BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC GroupPrimitive2D : public BasePrimitive2D
         {
         private:
             /// the children. Declared private since this shall never be changed at all after construction
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx
index 4422cb3..4b6120d 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/helplineprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HELPLINEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -61,7 +63,7 @@ namespace drawinglayer
             The visualisation uses the two given colors to create a dashed line with
             the given dash length.
          */
-        class HelplinePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC HelplinePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// Helpline geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
index ec6096c..2b245fa 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/hiddengeometryprimitive2d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_HIDDENGEOMETRYPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -47,7 +49,7 @@ namespace drawinglayer
         // filled nor lines' creation criteria. The whole primitive decomposes to nothing, 
         // so no one not knowing it will be influenced. Only helper processors for hit test 
         // (and maybe BoundRect extractors) will use it and it's children subcontent.
-        class HiddenGeometryPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive2D : public GroupPrimitive2D
         {
         public:
             HiddenGeometryPrimitive2D(const Primitive2DSequence& rChildren);
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx
index 224092e..f9a669a 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/invertprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_INVERTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -47,7 +49,7 @@ namespace drawinglayer
             systems. XOR painting needs read access to the target, so modern
             graphic systems tend to not support it anymore.
          */
-        class InvertPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC InvertPrimitive2D : public GroupPrimitive2D
         {
         public:
             /// constructor
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
index 8c35587..abaec41 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/markerarrayprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MARKERARRAYPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 #include <vcl/bitmapex.hxx>
@@ -53,7 +55,7 @@ namespace drawinglayer
             It decomposes to the needed number of BitmapPrimitive2D's, so it would
             be efficient to handle it directly in a renderer.
          */
-        class MarkerArrayPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC MarkerArrayPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the positions for the marker
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx
index ff17956..f395723 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/maskprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MASKPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
 
@@ -52,7 +54,7 @@ namespace drawinglayer
             The geometrc range of this primitive is completely defined by the Mask 
             PolyPolygon since by definition nothing outside of the mask is visible.
          */
-        class MaskPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC MaskPrimitive2D : public GroupPrimitive2D
         {
         private:
             /// the mask PolyPolygon
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx
index 375cdc7..095fca6 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/mediaprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MEDIAPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/color/bcolor.hxx>
@@ -48,7 +50,7 @@ namespace drawinglayer
             background and the decomposition will try to create a graphic representation
             if te content (defined by the URL), e.g. a still frome for animated stuff.
          */
-        class MediaPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC MediaPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx
index 6dce360..3dfdf9a 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/metafileprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_METAFILEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <vcl/gdimtf.hxx>
@@ -60,7 +62,7 @@ namespace drawinglayer
             have many advantages; Metafile would no longer have to be rendered by 
             sub-systems and a standard way for converting Metafiles would exist.
          */
-        class MetafilePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC MetafilePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx
index 15415bc..1a76072 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/modifiedcolorprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_MODIFIEDCOLORPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <basegfx/color/bcolormodifier.hxx>
 
@@ -55,7 +57,7 @@ namespace drawinglayer
             If a renderer does not handle this primitive, the content will
             be visualized unchanged.
          */
-        class ModifiedColorPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ModifiedColorPrimitive2D : public GroupPrimitive2D
         {
         private:
             /// The ColorModifier to use
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
index 578fb07..fa17caa 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PAGEPREVIEWPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <com/sun/star/drawing/XDrawPage.hpp>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -47,7 +49,7 @@ namespace drawinglayer
             those primitives to be visualized correctly, Your renderer needs to locally correct it's
             ViewInformation2D to reference the new XDrawPage.
          */
-        class PagePreviewPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PagePreviewPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /** the XDrawPage visualized by this primitive. When we go forward with primitives
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
index 88c2f05..3a6d400 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/pointarrayprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POINTARRAYPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 
@@ -49,7 +51,7 @@ namespace drawinglayer
             should proccess it (Currently it is only used for grid visualisation,
             but this may change).
          */
-        class PointArrayPrimitive2D : public BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PointArrayPrimitive2D : public BasePrimitive2D
         {
         private:
             /// the array of positions
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx
index 5508522..edda68c 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/polygonprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYGONPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/attribute/lineattribute.hxx>
 #include <drawinglayer/attribute/strokeattribute.hxx>
@@ -52,7 +54,7 @@ namespace drawinglayer
             This is one of the non-decomposable primitives, so a renderer
             should proccess it.
          */
-        class PolygonHairlinePrimitive2D : public BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolygonHairlinePrimitive2D : public BasePrimitive2D
         {
         private:
             /// the hairline geometry
@@ -99,7 +101,7 @@ namespace drawinglayer
             It will be decomposed to the needed PolygonHairlinePrimitive2D if
             not handled directly by a renderer.
          */
-        class PolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the marker hairline geometry
@@ -161,7 +163,7 @@ namespace drawinglayer
             and stroke attributes. It will be decomposed dependent on the definition 
             to the needed primitives, e.g. filled PolyPolygons for fat lines.
          */
-        class PolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the line geometry
@@ -218,7 +220,7 @@ namespace drawinglayer
             This primitive defines a waveline based on a PolygonStrokePrimitive2D
             where the wave is defined by wave width and wave length.
          */
-        class PolygonWavePrimitive2D : public PolygonStrokePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolygonWavePrimitive2D : public PolygonStrokePrimitive2D
         {
         private:
             /// wave definition
@@ -274,7 +276,7 @@ namespace drawinglayer
             eventually by start and end definitions which are normally used for
             arrows.
          */
-        class PolygonStrokeArrowPrimitive2D : public PolygonStrokePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolygonStrokeArrowPrimitive2D : public PolygonStrokePrimitive2D
         {
         private:
             /// geometric definitions for line start and end
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
index f5b3534..1673d0d 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_POLYPOLYGONPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/attribute/fillbitmapattribute.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
@@ -52,7 +54,7 @@ namespace drawinglayer
             just for convenience. The definition is not different from the single
             defined PolygonHairlinePrimitive2Ds.
          */
-        class PolyPolygonHairlinePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonHairlinePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the hairline geometry
@@ -98,7 +100,7 @@ namespace drawinglayer
             just for convenience. The definition is not different from the single
             defined PolygonMarkerPrimitive2Ds.
          */
-        class PolyPolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonMarkerPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the marker hairline geometry
@@ -154,7 +156,7 @@ namespace drawinglayer
             just for convenience. The definition is not different from the single
             defined PolygonStrokePrimitive2Ds.
          */
-        class PolyPolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the line geometry
@@ -212,7 +214,7 @@ namespace drawinglayer
             just for convenience. The definition is not different from the single
             defined PolygonStrokeArrowPrimitive2Ds.
          */
-        class PolyPolygonStrokeArrowPrimitive2D : public PolyPolygonStrokePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokeArrowPrimitive2D : public PolyPolygonStrokePrimitive2D
         {
         private:
             /// geometric definitions for line start and end
@@ -268,7 +270,7 @@ namespace drawinglayer
             This is one of the non-decomposable primitives, so a renderer
             should proccess it.
          */
-        class PolyPolygonColorPrimitive2D : public BasePrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonColorPrimitive2D : public BasePrimitive2D
         {
         private:
             /// the PolyPolygon geometry
@@ -312,7 +314,7 @@ namespace drawinglayer
             decomosition will create a MaskPrimitive2D containing a 
             FillGradientPrimitive2D.
          */
-        class PolyPolygonGradientPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the PolyPolygon geometry
@@ -357,7 +359,7 @@ namespace drawinglayer
             decomosition will create a MaskPrimitive2D containing a 
             FillHatchPrimitive2D.
          */
-        class PolyPolygonHatchPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonHatchPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the PolyPolygon geometry
@@ -407,7 +409,7 @@ namespace drawinglayer
             (including transparence). The decomosition will create a MaskPrimitive2D 
             containing a FillBitmapPrimitive2D.
          */
-        class PolyPolygonBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC PolyPolygonBitmapPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the PolyPolygon geometry
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
index 5046faa..6b0e001 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_PRIMITIVE2DTOOLS_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 
@@ -45,7 +47,7 @@ namespace drawinglayer
             guards the buffered local decomposition and ensures that a create2DDecomposition
             implementation may use an up-to-date DiscreteUnit accessible using getDiscreteUnit()
          */
-        class DiscreteMetricDependentPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC DiscreteMetricDependentPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /** the last used fDiscreteUnit definitions for decomposition. Since this
@@ -84,7 +86,7 @@ namespace drawinglayer
             guards the buffered local decomposition and ensures that a create2DDecomposition
             implementation may use an up-to-date Viewport accessible using getViewport()
          */
-        class ViewportDependentPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ViewportDependentPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /** the last used Viewport definition for decomposition. Since this
@@ -123,7 +125,7 @@ namespace drawinglayer
             guards the buffered local decomposition and ensures that a create2DDecomposition
             implementation may use an up-to-date ViewTransformation accessible using getViewTransformation()
          */
-        class ViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /** the last used ViewTransformation definition for decomposition. Since this
@@ -163,7 +165,7 @@ namespace drawinglayer
             implementation may use an up-to-date ViewTransformation accessible using getViewTransformation()
             and an object transformation via getObjectTransformation()
          */
-        class ObjectAndViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ObjectAndViewTransformationDependentPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /** the last used ViewTransformation and the last ObjectTransformation 
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx
index f12f030..b21f248 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/sceneprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SCENEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 #include <drawinglayer/geometry/viewinformation3d.hxx>
@@ -60,7 +62,7 @@ namespace drawinglayer
             This is the class a renderer may process directly when he wants to implement
             an own (e.g. system-specific) 3D renderer.
          */
-        class ScenePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ScenePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the 3D geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
index a143aef..005b776 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx
@@ -31,13 +31,15 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SDRDECOMPOSITIONTOOLS2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 // predefines
 
 namespace basegfx {	
-    class B2DPolyPolygon; 
+    class B2DPolyPolygon;
     class B2DHomMatrix;
 }
 
@@ -48,24 +50,24 @@ namespace drawinglayer
     namespace primitive2d
     {
         // helpers to create HitTestPrimitives Line
-        Primitive2DReference createHiddenGeometryPrimitives2D(
+        Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
             bool bFilled,
             const basegfx::B2DHomMatrix& rMatrix);
 
-        Primitive2DReference createHiddenGeometryPrimitives2D(
+        Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
             bool bFilled,
             const basegfx::B2DPolyPolygon& rPolygon);
 
-        Primitive2DReference createHiddenGeometryPrimitives2D(
+        Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
             bool bFilled,
             const basegfx::B2DRange& rRange);
 
-        Primitive2DReference createHiddenGeometryPrimitives2D(
+        Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
             bool bFilled,
             const basegfx::B2DRange& rRange,
             const basegfx::B2DHomMatrix& rMatrix);
 
-        Primitive2DReference createHiddenGeometryPrimitives2D(
+        Primitive2DReference DRAWINGLAYER_DLLPUBLIC createHiddenGeometryPrimitives2D(
             bool bFilled,
             const basegfx::B2DPolyPolygon& rPolygon,
             const basegfx::B2DHomMatrix& rMatrix);
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx
index 98d78c3..e875ab5 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/shadowprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SHADOWPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <basegfx/color/bcolor.hxx>
@@ -53,7 +55,7 @@ namespace drawinglayer
             are needed for the shadow itself; all the local decompositions of the
             original geometry can be reused from the renderer for shadow visualisation.
         */
-        class ShadowPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC ShadowPrimitive2D : public GroupPrimitive2D
         {
         private:
             /// the shadow transformation, normally just an offset
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx
index a387b44..bdda8e9 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_STRUCTURETAGPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <vcl/pdfwriter.hxx>
 
@@ -50,7 +52,7 @@ namespace drawinglayer
             If a renderer ignores this, it just decomposes to it's child
             content.
          */
-        class StructureTagPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC StructureTagPrimitive2D : public GroupPrimitive2D
         {
         private:
             /// the PDF structure element this grouping represents
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
index 1ade2f0..fd00a28 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTDECORATEDPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/textprimitive2d.hxx>
 #include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
 
@@ -56,7 +58,7 @@ namespace drawinglayer
             a TextSimplePortionPrimitive2D and all the contained decorations (if used)
             as geometry.
          */
-        class TextDecoratedPortionPrimitive2D : public TextSimplePortionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextDecoratedPortionPrimitive2D : public TextSimplePortionPrimitive2D
         {
         private:
             /// decoration definitions
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx
index 988fa4f..b94f729 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTEFFECTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 
@@ -54,7 +56,7 @@ namespace drawinglayer
             also be used for any other primitives) which have some TextEffect applied
             and create the needed geometry and embedding on decomposition.
         */
-        class TextEffectPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextEffectPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// the text (or other) content
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx
index 9622e78..987e713 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTENUMSPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <vcl/vclenum.hxx>
 
@@ -65,8 +67,8 @@ namespace drawinglayer
         };
 
         /** helper to convert LineStyle */
-        TextLine mapFontUnderlineToTextLine(FontUnderline eLineStyle);
-        FontUnderline mapTextLineToFontUnderline(TextLine eLineStyle);
+        TextLine DRAWINGLAYER_DLLPUBLIC mapFontUnderlineToTextLine(FontUnderline eLineStyle);
+        FontUnderline DRAWINGLAYER_DLLPUBLIC mapTextLineToFontUnderline(TextLine eLineStyle);
 
         /** FontStrikeout definition */
         enum TextStrikeout
@@ -80,8 +82,8 @@ namespace drawinglayer
         };
 
         /** helper to convert FontStrikeout */
-        TextStrikeout mapFontStrikeoutToTextStrikeout(::FontStrikeout eFontStrikeout);
-        ::FontStrikeout mapTextStrikeoutToFontStrikeout(TextStrikeout eFontStrikeout);
+        TextStrikeout DRAWINGLAYER_DLLPUBLIC mapFontStrikeoutToTextStrikeout(::FontStrikeout eFontStrikeout);
+        ::FontStrikeout DRAWINGLAYER_DLLPUBLIC mapTextStrikeoutToFontStrikeout(TextStrikeout eFontStrikeout);
 
         /** TextEmphasisMark definition */
         enum TextEmphasisMark
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx
index 71d7e1e..ff78b05 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTHIERARCHYPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <tools/string.hxx>
 
@@ -47,7 +49,7 @@ namespace drawinglayer
 
             This primitive encapsulates text lines.
          */
-        class TextHierarchyLinePrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyLinePrimitive2D : public GroupPrimitive2D
         {
         private:
         public:
@@ -70,7 +72,7 @@ namespace drawinglayer
 
             This primitive encapsulates text bullets.
          */
-        class TextHierarchyBulletPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyBulletPrimitive2D : public GroupPrimitive2D
         {
         private:
         public:
@@ -93,7 +95,7 @@ namespace drawinglayer
 
             This primitive encapsulates text paragraphs.
          */
-        class TextHierarchyParagraphPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyParagraphPrimitive2D : public GroupPrimitive2D
         {
         private:
         public:
@@ -116,7 +118,7 @@ namespace drawinglayer
 
             This primitive encapsulates text blocks.
          */
-        class TextHierarchyBlockPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyBlockPrimitive2D : public GroupPrimitive2D
         {
         private:
         public:
@@ -157,7 +159,7 @@ namespace drawinglayer
             type. Also added is a String which is type-dependent. E.g. for URL
             fields, it contains the URL.
          */
-        class TextHierarchyFieldPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyFieldPrimitive2D : public GroupPrimitive2D
         {
         private:
             FieldType								meType;
@@ -199,7 +201,7 @@ namespace drawinglayer
             content. To suppress, this primitive needs to be parsed by
             the renderer without taking any action.
          */
-        class TextHierarchyEditPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextHierarchyEditPrimitive2D : public GroupPrimitive2D
         {
         private:
         public:
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
index 159f330..b581bb7 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX
 #define INCLUDED_DRAWINGLAYER_TEXTLAYOUTDEVICE_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <sal/types.h>
 #include <tools/solar.h>
 #include <tools/poly.hxx>
@@ -67,7 +69,7 @@ namespace drawinglayer
             When in the future FontHandling may move to an own library independent
             from VCL, primitives will be prepared.
          */
-        class TextLayouterDevice
+        class DRAWINGLAYER_DLLPUBLIC TextLayouterDevice
         {
             /// internally used VirtualDevice
             VirtualDevice&					mrDevice;
@@ -139,7 +141,7 @@ namespace drawinglayer
             both defines FontStretching, where no stretching happens at
             fFontScaleY == fFontScaleX
          */
-        Font getVclFontFromFontAttribute(
+        Font DRAWINGLAYER_DLLPUBLIC getVclFontFromFontAttribute(
             const attribute::FontAttribute& rFontAttribute,
             double fFontScaleX,
             double fFontScaleY,
@@ -151,7 +153,7 @@ namespace drawinglayer
             above) will be set in return parameter o_rSize to allow further 
             processing
          */
-        attribute::FontAttribute getFontAttributeFromVclFont(
+        attribute::FontAttribute DRAWINGLAYER_DLLPUBLIC getFontAttributeFromVclFont(
             basegfx::B2DVector& o_rSize, 
             const Font& rFont, 
             bool bRTL, 
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx
index cef5830..99ee53b 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textlineprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTLINEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -40,7 +42,7 @@ namespace drawinglayer
 {
     namespace primitive2d
     {
-        class TextLinePrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextLinePrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// geometric definitions
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
index b7a805e..d287035 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 #include <tools/string.hxx>
@@ -101,7 +103,7 @@ namespace drawinglayer
             @param rFontColor
             The font color to use
          */
-        class TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextSimplePortionPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// text transformation (FontCoordinateSystem)
@@ -180,7 +182,7 @@ namespace drawinglayer
         };
 
         /// small helper to have a compare operator for Locale
-        bool LocalesAreEqual(const ::com::sun::star::lang::Locale& rA, const ::com::sun::star::lang::Locale& rB);
+        bool DRAWINGLAYER_DLLPUBLIC LocalesAreEqual(const ::com::sun::star::lang::Locale& rA, const ::com::sun::star::lang::Locale& rB);
 
     } // end of namespace primitive2d
 } // end of namespace drawinglayer
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
index 478c65e..03daf74 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTSTRIKEOUTPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <drawinglayer/primitive2d/textenumsprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -42,7 +44,7 @@ namespace drawinglayer
 {
     namespace primitive2d
     {
-        class BaseTextStrikeoutPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC BaseTextStrikeoutPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// geometric definitions
@@ -76,7 +78,7 @@ namespace drawinglayer
 {
     namespace primitive2d
     {
-        class TextCharacterStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextCharacterStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
         {
         private:
             sal_Unicode                             maStrikeoutChar;
@@ -117,7 +119,7 @@ namespace drawinglayer
 {
     namespace primitive2d
     {
-        class TextGeometryStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TextGeometryStrikeoutPrimitive2D : public BaseTextStrikeoutPrimitive2D
         {
         private:
             double                                  mfHeight;
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx
index 0e80da9..db3c7db 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/transformprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSFORMPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
 
@@ -57,7 +59,7 @@ namespace drawinglayer
             different, transformed states without the need to create those 
             thousand primitive contents.
          */
-        class TransformPrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TransformPrimitive2D : public GroupPrimitive2D
         {
         private:
             // the transformation to apply to the child geometry
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx
index 9afa8b0..b2e7d2b 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/transparenceprimitive2d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TRANSPARENCEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -56,7 +58,7 @@ namespace drawinglayer
             rendering, not the transparent one. The transparent one should/will be clipped 
             accordingly.
          */
-        class TransparencePrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC TransparencePrimitive2D : public GroupPrimitive2D
         {
         private:
             /// The transparence-Mask who's RGB-Values are interpreted as Luminance
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
index 3e8f727..1f5d0eb 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_UNIFIEDTRANSPARENCEPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/groupprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -48,7 +50,7 @@ namespace drawinglayer
             regions of combined transparency, but be all rendered with the
             defined, single transparency.
          */
-        class UnifiedTransparencePrimitive2D : public GroupPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC UnifiedTransparencePrimitive2D : public GroupPrimitive2D
         {
         private:
             /// the unified transparence
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
index 60ef801..626e8b3 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/wallpaperprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WALLPAPERPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/primitivetools2d.hxx>
 #include <vcl/bitmapex.hxx>
 #include <vcl/wall.hxx>
@@ -52,7 +54,7 @@ namespace drawinglayer
             layouting which is dependent from WallpaperStyle; thus it does not need
             to be handled anywhere else in the future.
          */
-        class WallpaperBitmapPrimitive2D : public ViewTransformationDependentPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC WallpaperBitmapPrimitive2D : public ViewTransformationDependentPrimitive2D
         {
         private:
             basegfx::B2DRange					maObjectRange;
diff --git a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx b/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
index b8143c9..06199bd 100644
--- a/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive2d/wrongspellprimitive2d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_WRONGSPELLPRIMITIVE2D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive2d/baseprimitive2d.hxx>
 #include <basegfx/color/bcolor.hxx>
 #include <basegfx/matrix/b2dhommatrix.hxx>
@@ -54,7 +56,7 @@ namespace drawinglayer
             The geometric definition defines a line on the X-Axis (no Y-coordinates)
             which will when transformed by Transformation, create the coordinate data.
          */
-        class WrongSpellPrimitive2D : public BufferedDecompositionPrimitive2D
+        class DRAWINGLAYER_DLLPUBLIC WrongSpellPrimitive2D : public BufferedDecompositionPrimitive2D
         {
         private:
             /// geometry definition
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx
index 3d3cf4a..7ad394c 100644
--- a/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive3d/baseprimitive3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_BASEPRIMITIVE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <cppuhelper/compbase1.hxx>
 #include <boost/utility.hpp>
 #include <com/sun/star/graphic/XPrimitive3D.hpp>
@@ -83,7 +85,7 @@ namespace drawinglayer
 
             That's all for 3D!
          */
-        class BasePrimitive3D
+        class DRAWINGLAYER_DLLPUBLIC BasePrimitive3D
         :	private boost::noncopyable,
             protected comphelper::OBaseMutex,
             public BasePrimitive3DImplBase
@@ -148,7 +150,7 @@ namespace drawinglayer
             The description/functionality is identical with the 2D case in baseprimitive2d.hxx,
             please see there for detailed information
          */
-        class BufferedDecompositionPrimitive3D
+        class DRAWINGLAYER_DLLPUBLIC BufferedDecompositionPrimitive3D
         :	public BasePrimitive3D
         {
         private:
@@ -191,24 +193,24 @@ namespace drawinglayer
     namespace primitive3d
     {
         /// get B3DRange from a given Primitive3DReference
-        basegfx::B3DRange getB3DRangeFromPrimitive3DReference(const Primitive3DReference& rCandidate, const geometry::ViewInformation3D& aViewInformation);
+        basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DReference(const Primitive3DReference& rCandidate, const geometry::ViewInformation3D& aViewInformation);
 
         /// get range3D from a given Primitive3DSequence
-        basegfx::B3DRange getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation);
+        basegfx::B3DRange DRAWINGLAYER_DLLPUBLIC getB3DRangeFromPrimitive3DSequence(const Primitive3DSequence& rCandidate, const geometry::ViewInformation3D& aViewInformation);
 
         /** compare two Primitive2DReferences for equality, including trying to get implementations (BasePrimitive2D)
             and using compare operator
          */
-        bool arePrimitive3DReferencesEqual(const Primitive3DReference& rA, const Primitive3DReference& rB);
+        bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DReferencesEqual(const Primitive3DReference& rA, const Primitive3DReference& rB);
 
         /// compare two Primitive3DReferences for equality, uses arePrimitive3DReferencesEqual internally
-        bool arePrimitive3DSequencesEqual(const Primitive3DSequence& rA, const Primitive3DSequence& rB);
+        bool DRAWINGLAYER_DLLPUBLIC arePrimitive3DSequencesEqual(const Primitive3DSequence& rA, const Primitive3DSequence& rB);
 
         /// concatenate sequence
-        void appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource);
+        void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DSequenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DSequence& rSource);
 
         /// concatenate single Primitive3D
-        void appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource);
+        void DRAWINGLAYER_DLLPUBLIC appendPrimitive3DReferenceToPrimitive3DSequence(Primitive3DSequence& rDest, const Primitive3DReference& rSource);
 
     } // end of namespace primitive3d
 } // end of namespace drawinglayer
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx
index a51bae2..106beb9 100644
--- a/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive3d/groupprimitive3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_GROUPPRIMITIVE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive3d/baseprimitive3d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -56,7 +58,7 @@ namespace drawinglayer
                 - HatchTexturePrimitive3D (for 3D hatch fill)
             - TransformPrimitive3D (for a transformation stack)
          */
-        class GroupPrimitive3D : public BasePrimitive3D
+        class DRAWINGLAYER_DLLPUBLIC GroupPrimitive3D : public BasePrimitive3D
         {
         private:
             /// the children. Declared private since this shall never be changed at all after construction
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
index ef5e09c..9a7a4f7 100644
--- a/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx
@@ -29,6 +29,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HATCHTEXTUREPRIMITIVE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive3d/textureprimitive3d.hxx>
 #include <drawinglayer/attribute/fillhatchattribute.hxx>
 
@@ -45,7 +47,7 @@ namespace drawinglayer
             primitive has no default buffering, it is necessary here to add a local
             buffering mechanism for the decomposition
          */
-        class HatchTexturePrimitive3D : public TexturePrimitive3D
+        class DRAWINGLAYER_DLLPUBLIC HatchTexturePrimitive3D : public TexturePrimitive3D
         {
         private:
             /// the hatch definition
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
index 475acf5..8be76b3 100644
--- a/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx
@@ -31,6 +31,8 @@
 #ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
 #define INCLUDED_DRAWINGLAYER_PRIMITIVE3D_HIDDENGEOMETRYPRIMITIVE3D_HXX
 
+#include <drawinglayer/drawinglayerdllapi.h>
+
 #include <drawinglayer/primitive3d/groupprimitive3d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
@@ -49,7 +51,7 @@ namespace drawinglayer
         // decomposes to nothing, so no one not knowing it will be influenced. Only
         // helper processors for hit test (and maybe BoundRect extractors) will
         // use it and it's children subcontent.
-        class HiddenGeometryPrimitive3D : public GroupPrimitive3D
+        class DRAWINGLAYER_DLLPUBLIC HiddenGeometryPrimitive3D : public GroupPrimitive3D
         {
         public:
             HiddenGeometryPrimitive3D(const Primitive3DSequence& rChildren);
diff --git a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx b/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
index 1f142c0..d128be0 100644
--- a/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
+++ b/drawinglayer/inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx
@@ -29,6 +29,8 @@

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list