[PATCH] Convert EMFP_DEBUG to SAL_INFO, etc.

Chris Sherlock (via Code Review) gerrit at gerrit.libreoffice.org
Sat May 4 08:37:38 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3782

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/82/3782/1

Convert EMFP_DEBUG to SAL_INFO, etc.

* Change to SAL_INFO instread of EMFP_DEBUG in emfplus.cxx
* Use #ifdef OSL_DEBUG > 1 to conditionally compile in debugging routines
* Remove some commented/conditionally compiled out code

Change-Id: I6db0021807634070cfa2fee0f07e32d235b3d2f3
---
M cppcanvas/source/mtfrenderer/emfplus.cxx
1 file changed, 203 insertions(+), 200 deletions(-)



diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx
index 52fc36b..a48ec31 100644
--- a/cppcanvas/source/mtfrenderer/emfplus.cxx
+++ b/cppcanvas/source/mtfrenderer/emfplus.cxx
@@ -89,12 +89,6 @@
 
 #define EmfPlusRegionInitialStateInfinite 0x10000003
 
-#if OSL_DEBUG_LEVEL > 1
-#define EMFP_DEBUG(x) x
-#else
-#define EMFP_DEBUG(x)
-#endif
-
 using namespace ::com::sun::star;
 using namespace ::basegfx;
 
@@ -103,16 +97,18 @@
     namespace internal
     {
 
-        EMFP_DEBUG (void dumpWords (SvStream& s, int i)
+#if OSL_DEBUG_LEVEL > 1
+        void dumpWords (SvStream& s, int i)
         {
             sal_uInt32 pos = s.Tell ();
             sal_Int16 data;
             for (; i > 0; i --) {
                 s >> data;
-                printf ("EMF+\tdata: %04hX\n", data);
+                SAL_INFO ("cppcanvas.emf", "EMF+\tdata: " << std::hex << data);
             }
             s.Seek (pos);
-        });
+        }
+#endif
 
         struct EMFPObject
         {
@@ -154,28 +150,32 @@
                         sal_uInt16 x, y;
 
                         s >> x >> y;
-                        EMFP_DEBUG (printf ("EMF+\tpoint [x,y]: %hd,%hd\n", x, y));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tpoint [x,y]: " << x << "," << y);
                         pPoints [i*2] = x;
                         pPoints [i*2 + 1] = y;
                     } else {
                         // points are stored in Single (float) format
                         s >> pPoints [i*2] >> pPoints [i*2 + 1];
-                        EMFP_DEBUG (printf ("EMF+\tpoint [x,y]: %f,%f\n", pPoints [i*2], pPoints [i*2 + 1]));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tpoint [x,y]: " << pPoints [i*2] << "," << pPoints [i*2 + 1]);
                     }
                 }
 
                 if (pPointTypes)
                     for (int i = 0; i < nPoints; i ++) {
                         s >> pPointTypes [i];
-                        EMFP_DEBUG (printf ("EMF+\tpoint type: %x\n", pPointTypes [i]));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tpoint type: " << pPointTypes [i]);
                     }
 
                 aPolygon.clear ();
 
+#if OSL_DEBUG_LEVEL > 1
+                const ::basegfx::B2DRectangle aBounds (::basegfx::tools::getRange (GetPolygon (rR)));
+
+                SAL_INFO ("cppcanvas.emf",
+                          "EMF+\tpolygon bounding box: " << aBounds.getMinX () << "," << aBounds.getMinY () << aBounds.getWidth () << "x" << aBounds.getHeight () << " (mapped)");
+#else
                 (void) rR; // avoid warnings
-                EMFP_DEBUG (
-                    const ::basegfx::B2DRectangle aBounds (::basegfx::tools::getRange (GetPolygon (rR)));
-                    printf ("EMF+\tpolygon bounding box: %f,%f %fx%f (mapped)\n", aBounds.getMinX (), aBounds.getMinY (), aBounds.getWidth (), aBounds.getHeight ()));
+#endif
             }
 
             ::basegfx::B2DPolyPolygon& GetPolygon (ImplRenderer& rR, bool bMapIt = true)
@@ -199,12 +199,11 @@
                         mapped = rR.Map (pPoints [i*2], pPoints [i*2 + 1]);
                     else
                         mapped = ::basegfx::B2DPoint (pPoints [i*2], pPoints [i*2 + 1]);
-                    //EMFP_DEBUG (printf ("polygon point: %f,%f mapped: %f,%f\n", pPoints [i*2], pPoints [i*2 + 1], mapped.getX (), mapped.getY ()));
                     if (pPointTypes) {
                         if ((pPointTypes [i] & 0x07) == 3) {
                             if (((i - last_normal )% 3) == 1) {
                                 polygon.setNextControlPoint (p - 1, mapped);
-                                EMFP_DEBUG (printf ("polygon append  next: %d mapped: %f,%f\n", p - 1, mapped.getX (), mapped.getY ()));
+                                SAL_INFO ("cppcanvas.emf", "polygon append  next: " << p - 1 << " mapped: " << mapped.getX () << "," << mapped.getY ());
                                 continue;
                             } else if (((i - last_normal) % 3) == 2) {
                                 prev = mapped;
@@ -215,17 +214,17 @@
                             last_normal = i;
                     }
                     polygon.append (mapped);
-                    EMFP_DEBUG (printf ("polygon append point: %f,%f mapped: %f,%f\n", pPoints [i*2], pPoints [i*2 + 1], mapped.getX (), mapped.getY ()));
+                    SAL_INFO ("cppcanvas.emf", "polygon append point: " << pPoints [i*2] << "," << pPoints [i*2 + 1] << " mapped: " << mapped.getX () << ":" << mapped.getY ());
                     if (hasPrev) {
                         polygon.setPrevControlPoint (p, prev);
-                        EMFP_DEBUG (printf ("polygon append  prev: %d mapped: %f,%f\n", p, prev.getX (), prev.getY ()));
+                        SAL_INFO ("cppcanvas.emf", "polygon append  prev: " << p << " mapped: " << prev.getX () << "," << prev.getY ());
                         hasPrev = false;
                     }
                     p ++;
                     if (pPointTypes && (pPointTypes [i] & 0x80)) { // closed polygon
                         polygon.setClosed (true);
                         aPolygon.append (polygon);
-                        EMFP_DEBUG (printf ("close polygon\n"));
+                        SAL_INFO ("cppcanvas.emf", "close polygon");
                         last_normal = i + 1;
                         p = 0;
                         polygon.clear ();
@@ -235,24 +234,24 @@
                 if (polygon.count ())
                     aPolygon.append (polygon);
 
-                EMFP_DEBUG (
+#if OSL_DEBUG_LEVEL > 1
                     for (unsigned int i=0; i<aPolygon.count(); i++) {
                         polygon = aPolygon.getB2DPolygon(i);
-                        printf ("polygon: %d\n", i);
+                        SAL_INFO ("cppcanvas.emf", "polygon: " << i);
                         for (unsigned int j=0; j<polygon.count(); j++) {
                             ::basegfx::B2DPoint point = polygon.getB2DPoint(j);
-                            printf ("point: %f,%f\n", point.getX(), point.getY());
+                            SAL_INFO ("cppcanvas.emf", "point: " << point.getX() << "," << point.getY());
                             if (polygon.isPrevControlPointUsed(j)) {
                                 point = polygon.getPrevControlPoint(j);
-                                printf ("prev: %f,%f\n", point.getX(), point.getY());
+                                SAL_INFO ("cppcanvas.emf", "prev: " << point.getX() "," << point.getY());
                             }
                             if (polygon.isNextControlPointUsed(j)) {
                                 point = polygon.getNextControlPoint(j);
-                                printf ("next: %f,%f\n", point.getX(), point.getY());
+                                SAL_INFO ("cppcanvas.emf", "next: " << point.getX() "," << point.getY());
                             }
                         }
                     }
-                );
+#endif
 
                 return aPolygon;
             }
@@ -290,8 +289,8 @@
 
                 s >> header >> parts;
 
-                EMFP_DEBUG (printf ("EMF+\tregion\n"));
-                EMFP_DEBUG (printf ("EMF+\theader: 0x%08x parts: %d\n", (unsigned int)header, (int)parts));
+                SAL_INFO ("cppcanvas.emf", "EMF+\tregion");
+                SAL_INFO ("cppcanvas.emf", "EMF+\theader: 0x" << std::hex << header << " parts: " << parts);
 
                 if (parts) {
                     if( parts<0 || sal_uInt32(parts)>SAL_MAX_INT32/sizeof(sal_Int32) )
@@ -301,12 +300,12 @@
 
                     for (int i = 0; i < parts; i ++) {
                         s >> combineMode [i];
-                        EMFP_DEBUG (printf ("EMF+\tcombine mode [%d]: 0x%08x\n", i,(unsigned int)combineMode [i]));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tcombine mode [" << i << "]: 0x" << std::hex << combineMode [i]);
                     }
                 }
 
                 s >> initialState;
-                EMFP_DEBUG (printf ("EMF+\tinitial state: 0x%d\n",(int) initialState));
+                SAL_INFO ("cppcanvas.emf", "EMF+\tinitial state: 0x" << std::hex << initialState);
             }
         };
 
@@ -376,7 +375,7 @@
 
                 s >> header >> type;
 
-                EMFP_DEBUG (printf ("EMF+\tbrush\nEMF+\theader: 0x%08x type: %d\n",(unsigned int) header,(int) type));
+                SAL_INFO ("cppcanvas.emf", "EMF+\tbrush\nEMF+\theader: 0x" << std::hex << header << " type: " << type);
 
                 switch (type) {
                 case 0:
@@ -385,7 +384,7 @@
 
                         s >> color;
                         solidColor = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                        EMFP_DEBUG (printf ("EMF+\tsolid color: 0x%08x\n", (unsigned int)color));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tsolid color: 0x" << std::hex << color);
 
                         break;
                     }
@@ -394,19 +393,19 @@
                     {
                         s >> additionalFlags >> wrapMode;
 
-                        EMFP_DEBUG (printf ("EMF+\tpath gradient, additional flags: 0x%02x\n",(unsigned int) additionalFlags));
+                        SAL_INFO ("cppcanvas.emf", "EMF+\tpath gradient, additional flags: 0x" << std::hex << additionalFlags);
 
                         sal_uInt32 color;
 
                         s >> color;
                         solidColor = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                        EMFP_DEBUG (printf ("EMF+\tcenter color: 0x%08x\n",(unsigned int) color));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tcenter color: 0x" << std::hex << color);
 
                         s >> areaX >> areaY;
-                        EMFP_DEBUG (printf ("EMF+\tcenter point: %f,%f\n", areaX, areaY));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tcenter point: " << areaX << "," << areaY);
 
                         s >> surroundColorsNumber;
-                        EMFP_DEBUG (printf ("EMF+\tsurround colors: %d\n",(int) surroundColorsNumber));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tsurround colors: " << surroundColorsNumber);
 
                         if( surroundColorsNumber<0 || sal_uInt32(surroundColorsNumber)>SAL_MAX_INT32/sizeof(::Color) )
                             surroundColorsNumber = SAL_MAX_INT32/sizeof(::Color);
@@ -417,24 +416,26 @@
                             surroundColors[i] = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
                             if (i == 0)
                                 secondColor = surroundColors [0];
-                            EMFP_DEBUG (printf ("EMF+\tsurround color[%d]: 0x%08x\n", i, (unsigned int)color));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tsurround color[" << i << "]: 0x" << std::hex << color);
                         }
 
                         if (additionalFlags & 0x01) {
                             sal_Int32 pathLength;
 
                             s >> pathLength;
-                            EMFP_DEBUG (printf ("EMF+\tpath length: %d\n", (int)pathLength));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tpath length: " << pathLength);
 
                             sal_uInt32 pos = s.Tell ();
-                            EMFP_DEBUG (dumpWords (s, 32));
+#if OSL_DEBUG_LEVEL > 1
+                            dumpWords (s, 32);
+#endif
 
                             sal_uInt32 pathHeader;
                             sal_Int32 pathPoints, pathFlags;
                             s >> pathHeader >> pathPoints >> pathFlags;
 
-                            EMFP_DEBUG (printf ("EMF+\tpath (brush path gradient)\n"));
-                            EMFP_DEBUG (printf ("EMF+\theader: 0x%08x points: %d additional flags: 0x%d\n", (unsigned int)pathHeader, (int)pathPoints, (int)pathFlags));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tpath (brush path gradient)");
+                            SAL_INFO("cppcanvas.emf", "EMF+\theader: 0x" << std::hex << pathHeader << " points: " << pathPoints << " additional flags: 0x" << pathFlags);
 
                             path = new EMFPPath (pathPoints);
                             path->Read (s, pathFlags, rR);
@@ -445,38 +446,39 @@
                             areaWidth = aBounds.getWidth ();
                             areaHeight = aBounds.getHeight ();
 
-                            EMFP_DEBUG (printf ("EMF+\tpolygon bounding box: %f,%f %fx%f\n", aBounds.getMinX (), aBounds.getMinY (), aBounds.getWidth (), aBounds.getHeight ()));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tpolygon bounding box: " << aBounds.getMinX () << "," << aBounds.getMinY () << " " << aBounds.getWidth () << "x" << aBounds.getHeight ());
 
 
                         if (additionalFlags & 0x02) {
-                            EMFP_DEBUG (printf ("EMF+\tuse transformation\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse transformation");
                             s >> transformation;
                             hasTransformation = true;
-                            EMFP_DEBUG (printf ("EMF+\tm11: %f m12: %f\nEMF+\tm21: %f m22: %f\nEMF+\tdx: %f dy: %f\n",
-                                    transformation.eM11, transformation.eM12,
-                                    transformation.eM21, transformation.eM22,
-                                    transformation.eDx, transformation.eDy));
+                            SAL_INFO("cppcanvas.emf",
+                                    "EMF+\tm11: "   << transformation.eM11 << " m12: " << transformation.eM12 <<
+                                    "\nEMF+\tm21: " << transformation.eM21 << " m22: " << transformation.eM22 <<
+                                    "\nEMF+\tdx: "  << transformation.eDx  << " dy: "  << transformation.eDy);
+
                         }
                         if (additionalFlags & 0x08) {
                             s >> blendPoints;
-                            EMFP_DEBUG (printf ("EMF+\tuse blend, points: %d\n", (int)blendPoints));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse blend, points: " << blendPoints);
                             if( blendPoints<0 || sal_uInt32(blendPoints)>SAL_MAX_INT32/(2*sizeof(float)) )
                                 blendPoints = SAL_MAX_INT32/(2*sizeof(float));
                             blendPositions = new float [2*blendPoints];
                             blendFactors = blendPositions + blendPoints;
                             for (int i=0; i < blendPoints; i ++) {
                                 s >> blendPositions [i];
-                                EMFP_DEBUG (printf ("EMF+\tposition[%d]: %f\n", i, blendPositions [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tposition[" << i << "]: " << blendPositions [i]);
                             }
                             for (int i=0; i < blendPoints; i ++) {
                                 s >> blendFactors [i];
-                                EMFP_DEBUG (printf ("EMF+\tfactor[%d]: %f\n", i, blendFactors [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tfactor[" << i << "]: " << blendFactors [i]);
                             }
                         }
 
                         if (additionalFlags & 0x04) {
                             s >> colorblendPoints;
-                            EMFP_DEBUG (printf ("EMF+\tuse color blend, points: %d\n", (int)colorblendPoints));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse color blend, points: " << colorblendPoints);
                             if( colorblendPoints<0 || sal_uInt32(colorblendPoints)>SAL_MAX_INT32/sizeof(float) )
                                 colorblendPoints = SAL_MAX_INT32/sizeof(float);
                             if( sal_uInt32(colorblendPoints)>SAL_MAX_INT32/sizeof(::Color) )
@@ -485,16 +487,18 @@
                             colorblendColors = new ::Color [colorblendPoints];
                             for (int i=0; i < colorblendPoints; i ++) {
                                 s >> colorblendPositions [i];
-                                EMFP_DEBUG (printf ("EMF+\tposition[%d]: %f\n", i, colorblendPositions [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tposition[" << i << "]: " << colorblendPositions [i]);
                             }
                             for (int i=0; i < colorblendPoints; i ++) {
                                 s >> color;
                                 colorblendColors [i] = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                                EMFP_DEBUG (printf ("EMF+\tcolor[%d]: 0x%08x\n", i,(unsigned int) color));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tcolor[" << i << "]: 0x" << std::hex << color);
                             }
                         }
                         } else {
-                            EMFP_DEBUG (dumpWords (s, 1024));
+#if OSL_DEBUG_LEVEL > 1
+                            dumpWords (s, 1024);
+#endif
                         }
                         break;
                     }
@@ -503,55 +507,55 @@
                     {
                         s >> additionalFlags >> wrapMode;
 
-                        EMFP_DEBUG (printf ("EMF+\tlinear gradient, additional flags: 0x%02x\n", (unsigned int)additionalFlags));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tlinear gradient, additional flags: 0x" << std::hex << additionalFlags);
 
                         s >> areaX >> areaY >> areaWidth >> areaHeight;
 
-                        EMFP_DEBUG (printf ("EMF+\tarea: %f,%f - %fx%f\n", areaX, areaY, areaWidth, areaHeight));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tarea: " << areaX << "," << areaY << " - " << areaWidth << "x" << areaHeight);
 
                         sal_uInt32 color;
 
                         s >> color;
                         solidColor = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                        EMFP_DEBUG (printf ("EMF+\tfirst color: 0x%08x\n", color));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tfirst color: 0x" << std::hex << color);
 
                         s >> color;
                         secondColor = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                        EMFP_DEBUG (printf ("EMF+\tsecond color: 0x%08x\n", color));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tsecond color: 0x" << std::hex << color);
 
                         // repeated colors, unknown meaning, see http://www.aces.uiuc.edu/~jhtodd/Metafile/MetafileRecords/ObjectBrush.html
                         s >> color;
                         s >> color;
 
                         if (additionalFlags & 0x02) {
-                            EMFP_DEBUG (printf ("EMF+\tuse transformation\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse transformation");
                             s >> transformation;
                             hasTransformation = true;
-                            EMFP_DEBUG (printf ("EMF+\tm11: %f m12: %f\nEMF+\tm21: %f m22: %f\nEMF+\tdx: %f dy: %f\n",
-                                    transformation.eM11, transformation.eM12,
-                                    transformation.eM21, transformation.eM22,
-                                    transformation.eDx, transformation.eDy));
+                            SAL_INFO("cppcanvas.emf",
+                                    "EMF+\tm11: "   << transformation.eM11 << " m12: " << transformation.eM12 <<
+                                    "\nEMF+\tm21: " << transformation.eM21 << " m22: " << transformation.eM22 <<
+                                    "\nEMF+\tdx: "  << transformation.eDx  << " dy: "  << transformation.eDy);
                         }
                         if (additionalFlags & 0x08) {
                             s >> blendPoints;
-                            EMFP_DEBUG (printf ("EMF+\tuse blend, points: %d\n", (int)blendPoints));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse blend, points: " << blendPoints);
                             if( blendPoints<0 || sal_uInt32(blendPoints)>SAL_MAX_INT32/(2*sizeof(float)) )
                                 blendPoints = SAL_MAX_INT32/(2*sizeof(float));
                             blendPositions = new float [2*blendPoints];
                             blendFactors = blendPositions + blendPoints;
                             for (int i=0; i < blendPoints; i ++) {
                                 s >> blendPositions [i];
-                                EMFP_DEBUG (printf ("EMF+\tposition[%d]: %f\n", i, blendPositions [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tposition[" << i << "]: " << blendPositions [i]);
                             }
                             for (int i=0; i < blendPoints; i ++) {
                                 s >> blendFactors [i];
-                                EMFP_DEBUG (printf ("EMF+\tfactor[%d]: %f\n", i, blendFactors [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tfactor[" << i << "]: " << blendFactors [i]);
                             }
                         }
 
                         if (additionalFlags & 0x04) {
                             s >> colorblendPoints;
-                            EMFP_DEBUG (printf ("EMF+\tuse color blend, points: %d\n", (int)colorblendPoints));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tuse color blend, points: " << colorblendPoints);
                             if( colorblendPoints<0 || sal_uInt32(colorblendPoints)>SAL_MAX_INT32/sizeof(float) )
                                 colorblendPoints = SAL_MAX_INT32/sizeof(float);
                             if( sal_uInt32(colorblendPoints)>SAL_MAX_INT32/sizeof(::Color) )
@@ -560,19 +564,19 @@
                             colorblendColors = new ::Color [colorblendPoints];
                             for (int i=0; i < colorblendPoints; i ++) {
                                 s >> colorblendPositions [i];
-                                EMFP_DEBUG (printf ("EMF+\tposition[%d]: %f\n", i, colorblendPositions [i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tposition[" << i << "]: " << colorblendPositions [i]);
                             }
                             for (int i=0; i < colorblendPoints; i ++) {
                                 s >> color;
                                 colorblendColors [i] = ::Color (0xff - (color >> 24), (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff);
-                                EMFP_DEBUG (printf ("EMF+\tcolor[%d]: 0x%08x\n", i, (unsigned int)color));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tcolor[" << i << "]: 0x" << std::hex << color);
                             }
                         }
 
                         break;
                     }
                 default:
-                    EMFP_DEBUG (printf ("EMF+\tunhandled brush type: %08x\n", (unsigned int)type));
+                    SAL_INFO("cppcanvas.emf", "EMF+\tunhandled brush type: " << std::hex << type);
                 }
             }
         };
@@ -605,7 +609,10 @@
 
             void SetStrokeAttributes (rendering::StrokeAttributes& rStrokeAttributes, ImplRenderer& rR, const OutDevState& rState)
             {
-                EMFP_DEBUG (if (width == 0.0) printf ("EMF+\tTODO: pen with zero width - using minimal which might not be correct\n"));
+#if OSL_DEBUG_LEVEL > 1
+                if (width == 0.0) {
+                    SAL_INFO ("cppcanvas.emf", "TODO: pen with zero width - using minimal which might not be correct\n");
+#endif
                 rStrokeAttributes.StrokeWidth = (rState.mapModeTransform * rR.MapSize (width == 0.0 ? 0.05 : width, 0)).getX ();
             }
 
@@ -616,7 +623,8 @@
 
                 s >> header >> unknown >> penFlags >> unknown2 >> width;
 
-                EMFP_DEBUG (printf ("EMF+\tpen\nEMF+\theader: 0x%08x unknown: 0x%08x additional flags: 0x%08x unknown: 0x%08x width: %f\n", (unsigned int)header, (unsigned int)unknown, (unsigned int)penFlags,(unsigned int) unknown2, width));
+                SAL_INFO("cppcanvas.emf", "EMF+\tpen\nEMF+\theader: 0x" << std::hex << header << " unknown: 0x" << std::hex << unknown <<
+                            " additional flags: 0x" << std::hex << penFlags << " unknown: 0x" << std::hex << unknown2 << " width: " << width);
 
                 if (penFlags & 1)
                     s >> transformation;
@@ -721,23 +729,23 @@
 
                 s >> header >> type;
 
-                EMFP_DEBUG (printf ("EMF+\timage\nEMF+\theader: 0x%08x type: 0x%08x\n", header, type));
+                SAL_INFO("cppcanvas.emf", "EMF+\timage\nEMF+\theader: 0x" << std::hex << header << " type: " << std::hex << type);
 
                 if (type == 1) { // bitmap
                     s >> width >> height >> stride >> pixelFormat >> unknown;
-                    EMFP_DEBUG (printf ("EMF+\tbitmap width: %d height: %d stride: %d pixelFormat: 0x%08x\n", width, height, stride, pixelFormat));
+                    SAL_INFO("cppcanvas.emf", "EMF+\tbitmap width: " << width << " height: " << height << " stride: " << "pixelFormat: 0x" << std::hex << pixelFormat);
                     if (width == 0) { // non native formats
                         GraphicFilter filter;
 
                         filter.ImportGraphic (graphic, String (), s);
-                        EMFP_DEBUG (printf ("EMF+\tbitmap width: %ld height: %ld\n", graphic.GetBitmap ().GetSizePixel ().Width (), graphic.GetBitmap ().GetSizePixel ().Height ()));
+                        SAL_INFO("cppcanvas.emf", "EMF+\tbitmap width: "  << graphic.GetBitmap().GetSizePixel().Width() << " height: " << graphic.GetBitmap().GetSizePixel().Height());
                     }
 
                 } else if (type == 2) {
                     sal_Int32 mfType, mfSize;
 
                     s >> mfType >> mfSize;
-                    EMFP_DEBUG (printf ("EMF+\tmetafile type: %d dataSize: %d real size calculated from record dataSize: %d\n", mfType, mfSize, dataSize - 16));
+                    SAL_INFO("cppcanvas.emf", "EMF+\tmetafile type: " << mfType << " dataSize: " << mfSize << " real size calculated from record dataSize: " << dataSize - 16);
 
                     GraphicFilter filter;
                     // workaround buggy metafiles, which have wrong mfSize set (n#705956 for example)
@@ -746,7 +754,7 @@
                     filter.ImportGraphic (graphic, String (), mfStream);
 
                     // debug code - write the stream to debug file /tmp/emf-stream.emf
-                    EMFP_DEBUG(
+#if OSL_DEBUG_LEVEL > 1
                         mfStream.Seek(0);
                         static int emfp_debug_stream_number = 0;
                         OUString emfp_debug_filename("/tmp/emf-embedded-stream");
@@ -758,7 +766,7 @@
                         mfStream >> file;
                         file.Flush();
                         file.Close()
-                    );
+#endif
                 }
             }
         };
@@ -781,8 +789,9 @@
 
                 OSL_ASSERT( ( header >> 12 ) == 0xdbc01 );
 
-                EMFP_DEBUG (printf ("EMF+\tfont\nEMF+\theader: 0x%08x version: 0x%08x size: %f unit: 0x%08x\n",(unsigned int) header >> 12, (unsigned int)header & 0x1fff, emSize, (unsigned int)sizeUnit));
-                EMFP_DEBUG (printf ("EMF+\tflags: 0x%08x reserved: 0x%08x length: 0x%08x\n", (unsigned int)fontFlags, (unsigned int)reserved, (unsigned int)length));
+                SAL_INFO("cppcanvas.emf", "EMF+\tfont\n"
+                           << "EMF+\theader: 0x" << std::hex << (header >> 12) << " version: 0x" << std::hex << (header & 0x1fff) << " size: " << emSize << " unit: 0x" << std::hex << sizeUnit);
+                SAL_INFO("cppcanvas.emf", "EMF+\tflags: 0x" << std::hex << fontFlags << " reserved: 0x" << std::hex << reserved << " length: 0x" << std::hex << length);
 
                 if( length > 0 && length < 0x4000 ) {
                     sal_Unicode *chars = (sal_Unicode *) alloca( sizeof( sal_Unicode ) * length );
@@ -791,7 +800,7 @@
                         s >> chars[ i ];
 
                     family = OUString( chars, length );
-                    EMFP_DEBUG (printf ("EMF+\tfamily: %s\n", OUStringToOString( family, RTL_TEXTENCODING_UTF8).getStr()));
+                    SAL_INFO("cppcanvas.emf", "EMF+\tfamily: " << OUStringToOString( family, RTL_TEXTENCODING_UTF8).getStr()); // TODO: can we just use family?
                 }
             }
         };
@@ -876,14 +885,14 @@
         {
             ::basegfx::B2DPolyPolygon localPolygon (polygon);
 
-            EMFP_DEBUG (printf ("EMF+\tfill polygon\n"));
+            SAL_INFO("cppcanvas.emf", "EMF+\tfill polygon");
 
             localPolygon.transform( rState.mapModeTransform );
 
             ActionSharedPtr pPolyAction;
 
             if (isColor) {
-                EMFP_DEBUG (printf ("EMF+\t\tcolor fill:0x%X\n", brushIndexOrColor));
+                SAL_INFO("cppcanvas.emf", "EMF+\t\tcolor fill:0x" << std::hex << brushIndexOrColor);
                 rState.isFillColorSet = true;
                 rState.isLineColorSet = false;
 
@@ -895,7 +904,7 @@
                 rState.isFillColorSet = true;
                 // extract UseBrush
                 EMFPBrush* brush = (EMFPBrush*) aObjects [brushIndexOrColor & 0xff];
-                EMFP_DEBUG (printf ("EMF+\tbrush fill slot: %u (type: %u)\n", (unsigned int)brushIndexOrColor, (unsigned int)brush->GetType ()));
+                SAL_INFO("cppcanvas.emf", "EMF+\tbrush fill slot: " << brushIndexOrColor << " (type: " << brush->GetType () << ")");
 
                 // give up in case something wrong happened
                 if( !brush )
@@ -973,7 +982,7 @@
                     uno::Sequence< double > aStops (2);
 
                     if (brush->blendPositions) {
-                        EMFP_DEBUG (printf ("EMF+\t\tuse blend\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+\t\tuse blend");
                         aColors.realloc (brush->blendPoints);
                         aStops.realloc (brush->blendPoints);
                         int length = aStartColor.getLength ();
@@ -986,15 +995,7 @@
 
                             for (int j = 0; j < length; j++) {
                                 if (brush->type == 4) {
-#if 0
-                                    // gamma correction
-                                    if (brush->additionalFlags & 0x80)
-                                        aColor [j] = pow (aStartColor [j]*(1 - brush->blendFactors[i]) + aEndColor [j]*brush->blendFactors[i], 1/2.2);
-                                    else
-                                        aColor [j] = aStartColor [j]*(1 - brush->blendFactors[i]) + aEndColor [j]*brush->blendFactors[i];
-#else
                                     aColor [j] = aStartColor [j]*(1 - brush->blendFactors[i]) + aEndColor [j]*brush->blendFactors[i];
-#endif
                                 } else
                                     aColor [j] = aStartColor [j]*brush->blendFactors[i] + aEndColor [j]*(1 - brush->blendFactors[i]);
                             }
@@ -1002,7 +1003,7 @@
                             aColors[i] = aColor;
                         }
                     } else if (brush->colorblendPositions) {
-                        EMFP_DEBUG (printf ("EMF+\t\tuse color blend\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+\t\tuse color blend");
                         aColors.realloc (brush->colorblendPoints);
                         aStops.realloc (brush->colorblendPoints);
 
@@ -1024,7 +1025,7 @@
                         }
                     }
 
-                    EMFP_DEBUG (printf ("EMF+\t\tset gradient\n"));
+                    SAL_INFO("cppcanvas.emf", "EMF+\t\tset gradient");
                     basegfx::B2DRange aBoundsRectangle (0, 0, 1, 1);
                     if (brush->type == 4) {
                         aGradientService = "LinearGradient";
@@ -1080,7 +1081,7 @@
 
             if( pPolyAction )
             {
-                EMFP_DEBUG (printf ("EMF+\t\tadd poly action\n"));
+                SAL_INFO("cppcanvas.emf", "EMF+\t\tadd poly action");
 
                 maActions.push_back(
                     MtfAction(
@@ -1130,7 +1131,7 @@
         {
             sal_uInt32 index;
 
-            EMFP_DEBUG (printf ("EMF+ Object slot: %hd flags: %hx\n", flags & 0xff, flags & 0xff00));
+            SAL_INFO("cppcanvas.emf", "EMF+ Object slot: " << (flags & 0xff) << " flags: " << (flags & 0xff00));
 
             index = flags & 0xff;
             if (aObjects [index] != NULL) {
@@ -1161,8 +1162,8 @@
 
                 rObjectStream >> header >> points >> pathFlags;
 
-                EMFP_DEBUG (printf ("EMF+\tpath\n"));
-                EMFP_DEBUG (printf ("EMF+\theader: 0x%08x points: %d additional flags: 0x%08x\n", (unsigned int)header, (int)points, (unsigned int)pathFlags));
+                SAL_INFO("cppcanvas.emf", "EMF+\tpath");
+                SAL_INFO("cppcanvas.emf", "EMF+\theader: 0x" << std::hex << header << " points: " << points << " additional flags: 0x" << std::hex << pathFlags);
 
                 EMFPPath *path;
                 aObjects [index] = path = new EMFPPath (points);
@@ -1194,7 +1195,7 @@
                     break;
                 }
             default:
-                EMFP_DEBUG (printf ("EMF+\tObject unhandled flags: 0x%04x\n", flags & 0xff00));
+                SAL_INFO("cppcanvas.emf", "EMF+\tObject unhandled flags: 0x" << std::hex << (flags & 0xff00));
                 break;
             }
         }
@@ -1223,7 +1224,7 @@
                 EmfPlusGraphicState state = iter->second;
                 map.erase( iter );
 
-                EMFP_DEBUG (printf ("stack index: %d found and erased\n", index));
+                SAL_INFO("cppcanvas.emf", "stack index: " << index << " found and erased");
             }
 
             EmfPlusGraphicState state;
@@ -1240,7 +1241,7 @@
 
             if ( iter != map.end() )
             {
-                EMFP_DEBUG (printf ("stack index: %d found\n", index));
+                SAL_INFO("cppcanvas.emf", "stack index: " << index << " found");
 
                 EmfPlusGraphicState state = iter->second;
 
@@ -1268,7 +1269,7 @@
 
                 next = rMF.Tell() + ( size - 12 );
 
-                EMFP_DEBUG (printf ("EMF+ record size: %u type: %04hx flags: %04hx data size: %u\n", (unsigned int)size, type, flags, (unsigned int)dataSize));
+                SAL_INFO("cppcanvas.emf", "EMF+ record size: " << size << " type: " << type << " flags: " << flags << " data size: " << dataSize);
 
                 if (type == EmfPlusRecordTypeObject && ((mbMultipart && (flags & 0x7fff) == (mMFlags & 0x7fff)) || (flags & 0x8000))) {
                     if (!mbMultipart) {
@@ -1279,10 +1280,10 @@
 
                     // 1st 4 bytes are unknown
                     mMStream.Write (((const char *)rMF.GetData()) + rMF.Tell() + 4, dataSize - 4);
-                    EMFP_DEBUG (printf ("EMF+ read next object part size: %u type: %04hx flags: %04hx data size: %u\n", (unsigned int)size, type, flags, (unsigned int)dataSize));
+                    SAL_INFO("cppcanvas.emf", "EMF+ read next object part size: " << size << " type: " << type << " flags: " << flags << " data size: " << dataSize);
                 } else {
                     if (mbMultipart) {
-                        EMFP_DEBUG (printf ("EMF+ multipart record flags: %04hx\n", mMFlags));
+                        SAL_INFO("cppcanvas.emf", "EMF+ multipart record flags: " << mMFlags);
                         mMStream.Seek (0);
                         processObjectRecord (mMStream, mMFlags, dataSize, sal_True);
                     }
@@ -1297,16 +1298,16 @@
 
                         rMF >> header >> version >> nHDPI >> nVDPI;
 
-                        EMFP_DEBUG (printf ("EMF+ Header\n"));
-                        EMFP_DEBUG (printf ("EMF+\theader: 0x%08x version: %u horizontal DPI: %d vertical DPI: %d dual: %d\n", (int)header, (unsigned int)version, (int)nHDPI, (int)nVDPI,(int)( flags & 1)));
+                        SAL_INFO("cppcanvas.emf", "EMF+ Header");
+                        SAL_INFO("cppcanvas.emf", "EMF+\theader: 0x" << std::hex << header << " version: " << version << " horizontal DPI: " << nHDPI << " vertical DPI: " << nVDPI << " dual: " << (flags & 1));
 
                         break;
                     case EmfPlusRecordTypeEndOfFile:
-                        EMFP_DEBUG (printf ("EMF+ EndOfFile\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ EndOfFile");
                         break;
                     case EmfPlusRecordTypeGetDC:
-                        EMFP_DEBUG (printf ("EMF+ GetDC\n"));
-                        EMFP_DEBUG (printf ("EMF+\talready used in svtools wmf/emf filter parser\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ GetDC");
+                        SAL_INFO("cppcanvas.emf", "EMF+\talready used in svtools wmf/emf filter parser");
                         break;
                     case EmfPlusRecordTypeObject:
                         processObjectRecord (rMF, flags, dataSize);
@@ -1318,13 +1319,13 @@
 
                             rMF >> brushIndexOrColor >> startAngle >> sweepAngle;
 
-                            EMFP_DEBUG (printf ("EMF+ FillPie colorOrIndex: %x startAngle: %f sweepAngle: %f\n", (unsigned int)brushIndexOrColor, startAngle, sweepAngle));
+                            SAL_INFO("cppcanvas.emf", "EMF+ FillPie colorOrIndex: " << brushIndexOrColor << " startAngle: " << startAngle << " sweepAngle: " << sweepAngle);
 
                             float dx, dy, dw, dh;
 
                             ReadRectangle (rMF, dx, dy, dw, dh, flags & 0x4000);
 
-                            EMFP_DEBUG (printf ("EMF+ RectData: %f,%f %fx%f\n", dx, dy, dw, dh));
+                            SAL_INFO("cppcanvas.emf", "EMF+ RectData: " << dx << "," << dy << " " << dw << "x" << dh);
 
                             startAngle = 2*M_PI*startAngle/360;
                             sweepAngle = 2*M_PI*sweepAngle/360;
@@ -1343,7 +1344,7 @@
                                 endAngle = tmp;
                             }
 
-                            EMFP_DEBUG (printf ("EMF+ angles: %f,%f  ---> %f,%f\n", startAngle, sweepAngle, startAngle, endAngle));
+                            SAL_INFO("cppcanvas.emf", "EMF+ angles: " << startAngle << "," << sweepAngle << "  ---> " << startAngle << "," << endAngle);
 
                             B2DPolygon polygon = tools::createPolygonFromEllipseSegment (mappedCenter, mappedSize.getX (), mappedSize.getY (), startAngle, endAngle);
                             polygon.append (mappedCenter);
@@ -1360,7 +1361,7 @@
 
                             rMF >> brushIndexOrColor;
 
-                            EMFP_DEBUG (printf ("EMF+ FillPath slot: %u\n", (unsigned int)index));
+                            SAL_INFO("cppcanvas.emf", "EMF+ FillPath slot: " << index);
 
                             EMFPPlusFillPolygon (((EMFPPath*) aObjects [index])->GetPolygon (*this), rFactoryParms, rState, rCanvas, flags & 0x8000, brushIndexOrColor);
                         }
@@ -1368,25 +1369,21 @@
                     case EmfPlusRecordTypeDrawEllipse:
                     case EmfPlusRecordTypeFillEllipse:
                         {
-                            // Intentionally very bogus initial value
-                            // to avoid MSVC complaining about
-                            // potentially uninitialized local
-                            // variable. As long as the code stays as
-                            // intended, this variable will be
-                            // assigned a (real) value in the case
+                            // Intentionally very bogus initial value to avoid MSVC complaining about potentially uninitialized local
+                            // variable. As long as the code stays as intended, this variable will be assigned a (real) value in the case
                             // when it is later used.
                             sal_uInt32 brushIndexOrColor = 1234567;
 
                             if ( type == EmfPlusRecordTypeFillEllipse )
                                 rMF >> brushIndexOrColor;
 
-                            EMFP_DEBUG (printf ("EMF+ %sEllipse slot: %u\n", type == EmfPlusRecordTypeFillEllipse ? "Fill" : "Draw", static_cast<unsigned>(flags & 0xff)));
+                            SAL_INFO("cppcanvas.emf", "EMF+ " << (type == EmfPlusRecordTypeFillEllipse ? "Fill" : "Draw") << "Ellipse slot: " << (flags & 0xff));
 
                             float dx, dy, dw, dh;
 
                             ReadRectangle (rMF, dx, dy, dw, dh, flags & 0x4000);
 
-                            EMFP_DEBUG (printf ("EMF+ RectData: %f,%f %fx%f\n", dx, dy, dw, dh));
+                            SAL_INFO("cppcanvas.emf", "EMF+ RectData: " << dx << "," << dy << " " << dw << "x" << dh);
 
                             B2DPoint mappedCenter (Map (dx + dw/2, dy + dh/2));
                             B2DSize mappedSize( MapSize (dw/2, dh/2));
@@ -1403,7 +1400,7 @@
                         break;
                     case EmfPlusRecordTypeFillRects:
                         {
-                            EMFP_DEBUG (printf ("EMF+ FillRects\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+ FillRects");
 
                             sal_uInt32 brushIndexOrColor;
                             sal_Int32 rectangles;
@@ -1412,7 +1409,7 @@
 
                             rMF >> brushIndexOrColor >> rectangles;
 
-                            EMFP_DEBUG (printf ("EMF+\t%s: 0x%08x\n", (flags & 0x8000) ? "color" : "brush index", (unsigned int)brushIndexOrColor));
+                            SAL_INFO("cppcanvas.emf", "EMF+\t" << ((flags & 0x8000) ? "color" : "brush index") << ": 0x" << std::hex << brushIndexOrColor);
 
                             for (int i=0; i < rectangles; i++) {
                                 if (flags & 0x4000) {
@@ -1426,7 +1423,7 @@
                                     polygon.append (Map (x + width, y + height));
                                     polygon.append (Map (x, y + height));
 
-                                    EMFP_DEBUG (printf ("EMF+\trectangle: %d,%d %dx%d\n", x, y, width, height));
+                                    SAL_INFO("cppcanvas.emf", "EMF+\trectangle: " << x << "," << " " << width << "x" << height);
                                 } else {
                                     /* Single's */
                                     float x, y, width, height;
@@ -1438,7 +1435,7 @@
                                     polygon.append (Map (x + width, y + height));
                                     polygon.append (Map (x, y + height));
 
-                                    EMFP_DEBUG (printf ("EMF+\trectangle: %f,%f %fx%f\n", x, y, width, height));
+                                    SAL_INFO("cppcanvas.emf", "EMF+\trectangle: " << x << "," << " " << width << "x" << height);
                                 }
 
                                 ::basegfx::B2DPolyPolygon polyPolygon (polygon);
@@ -1454,15 +1451,17 @@
                         }
                     case EmfPlusRecordTypeFillPolygon:
                         {
-                            EMFP_DEBUG (sal_uInt8 index = flags & 0xff);
+#if OSL_DEBUG_LEVEL > 1
+                            sal_uInt8 index = flags & 0xff;
+#endif
                             sal_uInt32 brushIndexOrColor;
                             sal_Int32 points;
 
                             rMF >> brushIndexOrColor;
                             rMF >> points;
 
-                            EMFP_DEBUG (printf ("EMF+ FillPolygon in slot: %d points: %d\n", index, points));
-                            EMFP_DEBUG (printf ("EMF+\t%s: 0x%08x\n", (flags & 0x8000) ? "color" : "brush index", brushIndexOrColor));
+                            SAL_INFO("cppcanvas.emf", "EMF+ FillPolygon in slot: " << &index << " points: " << points);
+                            SAL_INFO("cppcanvas.emf", "EMF+\t: " << ((flags & 0x8000) ? "color" : "brush index") << " 0x" << std::hex << brushIndexOrColor);
 
                             EMFPPath path (points, true);
                             path.Read (rMF, flags, *this);
@@ -1479,7 +1478,7 @@
 
                             rMF >> points;
 
-                            EMFP_DEBUG (printf ("EMF+ DrawLines in slot: %u points: %u\n", (unsigned int)index, (unsigned int)points));
+                            SAL_INFO("cppcanvas.emf", "EMF+ DrawLines in slot: " << index << " points: " << points);
 
                             EMFPPath path (points, true);
                             path.Read (rMF, flags, *this);
@@ -1520,8 +1519,8 @@
 
                             rMF >> penIndex;
 
-                            EMFP_DEBUG (printf ("EMF+ DrawPath\n"));
-                            EMFP_DEBUG (printf ("EMF+\tpen: %u\n", (unsigned int)penIndex));
+                            SAL_INFO("cppcanvas.emf", "EMF+ DrawPath");
+                            SAL_INFO("cppcanvas.emf", "EMF+\tpen: " << penIndex);
 
                             EMFPPath* path = (EMFPPath*) aObjects [flags & 0xff];
                             SAL_WARN_IF( !path, "cppcanvas", "EmfPlusRecordTypeDrawPath missing path" );
@@ -1538,8 +1537,8 @@
 
                             rMF >> attrIndex >> sourceUnit;
 
-                            EMFP_DEBUG (printf ("EMF+ %s attributes index: %d source unit: %d\n", type == EmfPlusRecordTypeDrawImagePoints ? "DrawImagePoints" : "DrawImage", (int)attrIndex, (int)sourceUnit));
-                            EMFP_DEBUG (printf ("EMF+\tTODO: use image attributes\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+ " << (type == EmfPlusRecordTypeDrawImagePoints ? "DrawImagePoints" : "DrawImage") << "attributes index: " << attrIndex << "source unit: " << sourceUnit);
+                            SAL_INFO("cppcanvas.emf", "EMF+\tTODO: use image attributes");
 
                             if (sourceUnit == 2 && aObjects [flags & 0xff]) { // we handle only GraphicsUnit.Pixel now
                                 EMFPImage& image = *(EMFPImage *) aObjects [flags & 0xff];
@@ -1548,7 +1547,7 @@
 
                                 ReadRectangle (rMF, sx, sy, sw, sh);
 
-                                EMFP_DEBUG (printf ("EMF+ %s source rectangle: %f,%f %fx%f\n", type == EmfPlusRecordTypeDrawImagePoints ? "DrawImagePoints" : "DrawImage", sx, sy, sw, sh));
+                                SAL_INFO("cppcanvas.emf", "EMF+ " << (type == EmfPlusRecordTypeDrawImagePoints ? "DrawImagePoints" : "DrawImage") << " source rectangle: " << sx << "," << sy << " " << sw << "x" << sh);
 
                                 ::basegfx::B2DPoint aDstPoint;
                                 ::basegfx::B2DSize aDstSize;
@@ -1564,8 +1563,8 @@
                                         ReadPoint (rMF, x2, y2, flags);
                                         ReadPoint (rMF, x3, y3, flags);
 
-                                        EMFP_DEBUG (printf ("EMF+ destination points: %f,%f %f,%f %f,%f\n", x1, y1, x2, y2, x3, y3));
-                                        EMFP_DEBUG (printf ("EMF+ destination rectangle: %f,%f %fx%f\n", x1, y1, x2 - x1, y3 - y1));
+                                        SAL_INFO("cppcanvas.emf", "EMF+ destination points: " << x1 << "," << y1 << " " << x2 << "," << y2 << " " << x3 << "," << y3);
+                                        SAL_INFO("cppcanvas.emf", "EMF+ destination rectangle: " << x1 << "," << y1 << " " << x2 - x1 << "x" << y3 - y1);
 
                                         aDstPoint = Map (x1, y1);
                                         aDstSize = MapSize(x2 - x1, y3 - y1);
@@ -1577,7 +1576,7 @@
 
                                     ReadRectangle (rMF, dx, dy, dw, dh, flags & 0x4000);
 
-                                    EMFP_DEBUG (printf ("EMF+ destination rectangle: %f,%f %fx%f\n", dx, dy, dw, dh));
+                                    SAL_INFO("cppcanvas.emf", "EMF+ destination rectangle: " << dx << "," << dy << " " << dw << "x" << dh);
 
                                     aDstPoint = Map (dx, dy);
                                     aDstSize = MapSize(dw, dh);
@@ -1589,7 +1588,7 @@
                                     BitmapEx aBmp( image.graphic.GetBitmapEx () );
 
                                     Size aSize( aBmp.GetSizePixel() );
-                                    EMFP_DEBUG (printf ("EMF+ bitmap size: %ldx%ld\n", aSize.Width(), aSize.Height()));
+                                    SAL_INFO("cppcanvas.emf", "EMF+ bitmap size: " << aSize.Width() << "x" << aSize.Height());
                                     if( aSize.Width() > 0 && aSize.Height() > 0 ) {
                                         ActionSharedPtr pBmpAction (
                                             internal::BitmapActionFactory::createBitmapAction (
@@ -1606,33 +1605,33 @@
                                             rFactoryParms.mrCurrActionIndex += pBmpAction->getActionCount()-1;
                                         }
                                     } else {
-                                        EMFP_DEBUG (printf ("EMF+ warning: empty bitmap\n"));
+                                        SAL_INFO("cppcanvas.emf", "EMF+ warning: empty bitmap");
                                     }
                                 } else {
-                                    EMFP_DEBUG (printf ("EMF+ DrawImage(Points) TODO (fixme)\n"));
+                                    SAL_INFO("cppcanvas.emf", "EMF+ DrawImage(Points) TODO (fixme)");
                                 }
                             } else {
-                                EMFP_DEBUG (printf ("EMF+ DrawImage(Points) TODO (fixme) - possibly unsupported source units for crop rectangle\n"));
+                                SAL_INFO("cppcanvas.emf", "EMF+ DrawImage(Points) TODO (fixme) - possibly unsupported source units for crop rectangle");
                             }
                             break;
                         }
                     case EmfPlusRecordTypeDrawString:
                         {
-                            EMFP_DEBUG (printf ("EMF+ DrawString\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+ DrawString");
 
                             sal_uInt32 brushId;
                             sal_uInt32 formatId;
                             sal_uInt32 stringLength;
 
                             rMF >> brushId >> formatId >> stringLength;
-                            EMFP_DEBUG (printf ("EMF+ DrawString brushId: %x formatId: %x length: %x\n", brushId, formatId, stringLength));
+                            SAL_INFO("cppcanvas.emf", "EMF+ DrawString brushId: " << brushId << " formatId: " << formatId << " length: " << stringLength);
 
                             if (flags & 0x8000) {
                                 float lx, ly, lw, lh;
 
                                 rMF >> lx >> ly >> lw >> lh;
 
-                                EMFP_DEBUG (printf ("EMF+ DrawString layoutRect: %f,%f - %fx%f\n", lx, ly, lw, lh));
+                                SAL_INFO("cppcanvas.emf", "EMF+ DrawString layoutRect: " << lx << "," << ly << " - " << lw << "x" << lh);
 
                                 OUString text = read_uInt16s_ToOUString(rMF, stringLength);
 
@@ -1659,7 +1658,7 @@
                                         false ) );
                                 if( pTextAction )
                                 {
-                                    EMFP_DEBUG (printf ("EMF+\t\tadd text action\n"));
+                                    SAL_INFO("cppcanvas.emf", "EMF+\t\tadd text action");
 
                                     maActions.push_back(
                                                         MtfAction(
@@ -1669,41 +1668,41 @@
                                     rFactoryParms.mrCurrActionIndex += pTextAction->getActionCount()-1;
                                 }
                             } else {
-                                EMFP_DEBUG (printf ("EMF+ DrawString TODO - drawing with brush not yet supported\n"));
+                                SAL_INFO("cppcanvas.emf", "EMF+ DrawString TODO - drawing with brush not yet supported");
                             }
                         }
                         break;
                     case EmfPlusRecordTypeSetPageTransform:
                         rMF >> fPageScale;
 
-                        EMFP_DEBUG (printf ("EMF+ SetPageTransform\n"));
-                        EMFP_DEBUG (printf ("EMF+\tscale: %f unit: %d\n", fPageScale, flags));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetPageTransform");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tscale: " << fPageScale << " unit: " << flags);
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSetRenderingOrigin:
                         rMF >> nOriginX >> nOriginY;
-                        EMFP_DEBUG (printf ("EMF+ SetRenderingOrigin\n"));
-                        EMFP_DEBUG (printf ("EMF+\torigin [x,y]: %d,%d\n", (int)nOriginX, (int)nOriginY));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetRenderingOrigin");
+                        SAL_INFO("cppcanvas.emf", "EMF+\torigin [x,y]: " << nOriginX << "," << nOriginY);
                         break;
                     case EmfPlusRecordTypeSetTextRenderingHint:
-                        EMFP_DEBUG (printf ("EMF+ SetTextRenderingHint\n"));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetTextRenderingHint");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSetAntiAliasMode:
-                        EMFP_DEBUG (printf ("EMF+ SetAntiAliasMode\n"));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetAntiAliasMode");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSetInterpolationMode:
-                        EMFP_DEBUG (printf ("EMF+ InterpolationMode\n"));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ InterpolationMode");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSetPixelOffsetMode:
-                        EMFP_DEBUG (printf ("EMF+ SetPixelOffsetMode\n"));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetPixelOffsetMode");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSetCompositingQuality:
-                        EMFP_DEBUG (printf ("EMF+ SetCompositingQuality\n"));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetCompositingQuality");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         break;
                     case EmfPlusRecordTypeSave:
                     {
@@ -1711,7 +1710,7 @@
 
                         rMF >> stackIndex;
 
-                        EMFP_DEBUG (printf ("EMF+ Save stack index: %d\n", stackIndex));
+                        SAL_INFO("cppcanvas.emf", "EMF+ Save stack index: " << stackIndex);
 
                         GraphicStatePush( mGSStack, stackIndex, rState );
 
@@ -1723,7 +1722,7 @@
 
                         rMF >> stackIndex;
 
-                        EMFP_DEBUG (printf ("EMF+ Restore stack index: %d\n", stackIndex));
+                        SAL_INFO("cppcanvas.emf", "EMF+ Restore stack index: " << stackIndex);
 
                         GraphicStatePop( mGSStack, stackIndex, rState );
 
@@ -1735,7 +1734,7 @@
 
                         rMF >> stackIndex;
 
-                        EMFP_DEBUG (printf ("EMF+ Begin Container No Params stack index: %d\n", stackIndex));
+                        SAL_INFO("cppcanvas.emf", "EMF+ Begin Container No Params stack index: " << stackIndex);
 
                         GraphicStatePush( mGSContainerStack, stackIndex, rState );
                     }
@@ -1746,35 +1745,35 @@
 
                         rMF >> stackIndex;
 
-                        EMFP_DEBUG (printf ("EMF+ End Container stack index: %d\n", stackIndex));
+                        SAL_INFO("cppcanvas.emf", "EMF+ End Container stack index: " << stackIndex);
 
                         GraphicStatePop( mGSContainerStack, stackIndex, rState );
                     }
                     break;
                     case EmfPlusRecordTypeSetWorldTransform: {
-                        EMFP_DEBUG (printf ("EMF+ SetWorldTransform\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetWorldTransform");
                         XForm transform;
                         rMF >> transform;
                         aWorldTransform.Set (transform);
-                        EMFP_DEBUG (printf ("EMF+\tm11: %f m12: %f\nEMF+\tm21: %f m22: %f\nEMF+\tdx: %f dy: %f\n",
-                                aWorldTransform.eM11, aWorldTransform.eM12,
-                                aWorldTransform.eM21, aWorldTransform.eM22,
-                                aWorldTransform.eDx, aWorldTransform.eDy));
+                        SAL_INFO("cppcanvas.emf",
+                                "EMF+\tm11: " << aWorldTransform.eM11 << "m12: " << aWorldTransform.eM12 <<
+                                "EMF+\tm21: " << aWorldTransform.eM21 << "m22: " << aWorldTransform.eM22 <<
+                                "EMF+\tdx: "  << aWorldTransform.eDx  << "dy: "  << aWorldTransform.eDy);
                         break;
                     }
                     case EmfPlusRecordTypeResetWorldTransform:
-                        EMFP_DEBUG (printf ("EMF+ ResetWorldTransform\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ ResetWorldTransform");
                         aWorldTransform.SetIdentity ();
                         break;
                     case EmfPlusRecordTypeMultiplyWorldTransform: {
-                        EMFP_DEBUG (printf ("EMF+ MultiplyWorldTransform\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ MultiplyWorldTransform");
                         XForm transform;
                         rMF >> transform;
 
-                        EMFP_DEBUG (printf ("EMF+\tmatrix m11: %f m12: %f\nEMF+\tm21: %f m22: %f\nEMF+\tdx: %f dy: %f\n",
-                                transform.eM11, transform.eM12,
-                                transform.eM21, transform.eM22,
-                                transform.eDx, transform.eDy));
+                        SAL_INFO("cppcanvas.emf",
+                                "EMF+\tmatrix m11: " << transform.eM11 << "m12: " << transform.eM12 <<
+                                "EMF+\tm21: "        << transform.eM21 << "m22: " << transform.eM22 <<
+                                "EMF+\tdx: "         << transform.eDx  << "dy: "  << transform.eDy);
 
                         if (flags & 0x2000)  // post multiply
                             aWorldTransform.Multiply (transform);
@@ -1782,24 +1781,28 @@
                             transform.Multiply (aWorldTransform);
                             aWorldTransform.Set (transform);
                         }
-                        EMFP_DEBUG (printf ("EMF+\tresult world matrix m11: %f m12: %f\nEMF+\tm21: %f m22: %f\nEMF+\tdx: %f dy: %f\n",
-                                aWorldTransform.eM11, aWorldTransform.eM12,
-                                aWorldTransform.eM21, aWorldTransform.eM22,
-                                aWorldTransform.eDx, aWorldTransform.eDy));
+                        SAL_INFO("cppcanvas.emf",
+                                "EMF+\tm11: " << aWorldTransform.eM11 << "m12: " << aWorldTransform.eM12 <<
+                                "EMF+\tm21: " << aWorldTransform.eM21 << "m22: " << aWorldTransform.eM22 <<
+                                "EMF+\tdx: "  << aWorldTransform.eDx  << "dy: "  << aWorldTransform.eDy);
                         break;
                     }
                     case EmfPlusRecordTypeSetClipRect:
                         {
                             int combineMode = (flags >> 8) & 0xf;
 
-                            EMFP_DEBUG (printf ("EMF+ SetClipRect combine mode: %d\n", combineMode));
-                            EMFP_DEBUG (if ( combineMode > 1 ) printf ("EMF+ TODO combine mode > 1\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+ SetClipRect combine mode: " << combineMode);
+#if OSL_DEBUG_LEVEL > 1
+                            if (combineMode > 1) {
+                                SAL_INFO ("cppcanvas.emf", "EMF+ TODO combine mode > 1");
+                            }
+#endif
 
                             float dx, dy, dw, dh;
 
                             ReadRectangle (rMF, dx, dy, dw, dh, false);
 
-                            EMFP_DEBUG (printf ("EMF+ RectData: %f,%f %fx%f\n", dx, dy, dw, dh));
+                            SAL_INFO("cppcanvas.emf", "EMF+ RectData: " << dx << "," << dy << " " << dw << "x" << dh);
 
                             B2DPoint mappedPoint (Map (dx, dy));
                             B2DSize mappedSize( MapSize (dw, dh));
@@ -1816,8 +1819,8 @@
                         {
                             int combineMode = (flags >> 8) & 0xf;
 
-                            EMFP_DEBUG (printf ("EMF+ SetClipPath combine mode: %d\n", combineMode));
-                            EMFP_DEBUG (printf ("EMF+\tpath in slot: %d\n", flags & 0xff));
+                            SAL_INFO("cppcanvas.emf", "EMF+ SetClipPath combine mode: " << combineMode);
+                            SAL_INFO("cppcanvas.emf", "EMF+\tpath in slot: " << (flags & 0xff));
 
                             EMFPPath& path = *(EMFPPath*) aObjects [flags & 0xff];
                             ::basegfx::B2DPolyPolygon& clipPoly (path.GetPolygon (*this));
@@ -1830,20 +1833,20 @@
                     case EmfPlusRecordTypeSetClipRegion: {
                         int combineMode = (flags >> 8) & 0xf;
 
-                        EMFP_DEBUG (printf ("EMF+ SetClipRegion\n"));
-                        EMFP_DEBUG (printf ("EMF+\tregion in slot: %d combine mode: %d\n", flags & 0xff, combineMode));
+                        SAL_INFO("cppcanvas.emf", "EMF+ SetClipRegion");
+                        SAL_INFO("cppcanvas.emf", "EMF+\tregion in slot: " << (flags & 0xff) << " combine mode: " << combineMode);
                         EMFPRegion *region = (EMFPRegion*)aObjects [flags & 0xff];
 
                         // reset clip
                         if (region && region->parts == 0 && region->initialState == EmfPlusRegionInitialStateInfinite) {
                             updateClipping (::basegfx::B2DPolyPolygon (), rFactoryParms, combineMode == 1);
                         } else {
-                            EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tTODO");
                         }
                         break;
                     }
                     case EmfPlusRecordTypeDrawDriverString: {
-                        EMFP_DEBUG (printf ("EMF+ DrawDriverString, flags: 0x%04x\n", flags));
+                        SAL_INFO("cppcanvas.emf", "EMF+ DrawDriverString, flags: 0x" << std::hex << flags);
                         sal_uInt32 brushIndexOrColor;
                         sal_uInt32 optionFlags;
                         sal_uInt32 hasMatrix;
@@ -1851,10 +1854,10 @@
 
                         rMF >> brushIndexOrColor >> optionFlags >> hasMatrix >> glyphsCount;
 
-                        EMFP_DEBUG (printf ("EMF+\t%s: 0x%08x\n", (flags & 0x8000) ? "color" : "brush index", (unsigned int)brushIndexOrColor));
-                        EMFP_DEBUG (printf ("EMF+\toption flags: 0x%08x\n", (unsigned int)optionFlags));
-                        EMFP_DEBUG (printf ("EMF+\thas matrix: %u\n", (unsigned int)hasMatrix));
-                        EMFP_DEBUG (printf ("EMF+\tglyphs: %u\n", (unsigned int)glyphsCount));
+                        SAL_INFO("cppcanvas.emf", "EMF+\t: " << ((flags & 0x8000) ? "color" : "brush index") << " 0x" << std::hex << brushIndexOrColor);
+                        SAL_INFO("cppcanvas.emf", "EMF+\toption flags: 0x" << std::hex << optionFlags);
+                        SAL_INFO("cppcanvas.emf", "EMF+\thas matrix: " << hasMatrix);
+                        SAL_INFO("cppcanvas.emf", "EMF+\tglyphs: " << glyphsCount);
 
                         if( ( optionFlags & 1 ) && glyphsCount > 0 ) {
                             float *charsPosX = new float[glyphsCount];
@@ -1864,13 +1867,13 @@
 
                             for( sal_uInt32 i=0; i<glyphsCount; i++) {
                                 rMF >> charsPosX[i] >> charsPosY[i];
-                                EMFP_DEBUG (printf ("EMF+\tglyphPosition[%u]: %f, %f\n", (unsigned int)i, charsPosX[i], charsPosY[i]));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tglyphPosition[" << i << "]: " << charsPosX[i] << "," << charsPosY[i]);
                             }
 
                             XForm transform;
                             if( hasMatrix ) {
                                 rMF >> transform;
-                                EMFP_DEBUG (printf ("EMF+\tmatrix:: %f, %f, %f, %f, %f, %f\n", transform.eM11, transform.eM12, transform.eM21, transform.eM22, transform.eDx, transform.eDy));
+                                SAL_INFO("cppcanvas.emf", "EMF+\tmatrix: " << transform.eM11 << ", " << transform.eM12 << ", " << transform.eM21 << ", " << transform.eM22 << ", " << transform.eDx << ", " << transform.eDy);
                             }
 
                             // add the text action
@@ -1898,7 +1901,7 @@
 
                             if( pTextAction )
                             {
-                                EMFP_DEBUG (printf ("EMF+\t\tadd text action\n"));
+                                SAL_INFO("cppcanvas.emf", "EMF+\t\tadd text action");
 
                                 maActions.push_back(
                                         MtfAction(
@@ -1911,14 +1914,14 @@
                             delete[] charsPosX;
                             delete[] charsPosY;
                         } else {
-                            EMFP_DEBUG (printf ("EMF+\tTODO: fonts (non-unicode glyphs chars)\n"));
+                            SAL_INFO("cppcanvas.emf", "EMF+\tTODO: fonts (non-unicode glyphs chars)");
                         }
 
                         break;
                                                             }
                     default:
-                        EMFP_DEBUG (printf ("EMF+ unhandled record type: %d\n", type));
-                        EMFP_DEBUG (printf ("EMF+\tTODO\n"));
+                        SAL_INFO("cppcanvas.emf", "EMF+ unhandled record type: " << type);
+                        SAL_INFO("cppcanvas.emf", "EMF+\tTODO\n");
                     }
                 }
 

-- 
To view, visit https://gerrit.libreoffice.org/3782
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6db0021807634070cfa2fee0f07e32d235b3d2f3
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Chris Sherlock <chris.sherlock79 at gmail.com>



More information about the LibreOffice mailing list