[Libreoffice-commits] core.git: vcl/inc vcl/source

Tor Lillqvist tml at iki.fi
Sat Apr 6 03:23:49 PDT 2013


 vcl/inc/sallayout.hxx        |   82 -----------------------------------------
 vcl/source/gdi/sallayout.cxx |   84 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+), 81 deletions(-)

New commits:
commit 2a1e3dff0124f8dd05eb6db86297fd60499ae2f2
Author: Tor Lillqvist <tml at iki.fi>
Date:   Sat Apr 6 13:23:21 2013 +0300

    Actually no need to have it inline in the header
    
    Change-Id: I3891441fee41dd56ff183c833b17d926722b8f91

diff --git a/vcl/inc/sallayout.hxx b/vcl/inc/sallayout.hxx
index dbf97b7..c46c272 100644
--- a/vcl/inc/sallayout.hxx
+++ b/vcl/inc/sallayout.hxx
@@ -21,7 +21,6 @@
 #define _SV_SALLAYOUT_HXX
 
 #include <iostream>
-#include <iomanip>
 
 #include <tools/gen.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
@@ -127,86 +126,7 @@ protected:
 };
 
 // For nice SAL_INFO logging of ImplLayoutArgs values
-inline std::ostream &operator <<(std::ostream& s, ImplLayoutArgs &rArgs)
-{
-#ifndef SAL_LOG_INFO
-    (void) rArgs;
-#else
-    s << "ImplLayoutArgs{";
-
-    s << "Flags=";
-    if (rArgs.mnFlags == 0)
-        s << 0;
-    else {
-        bool need_or = false;
-        s << "{";
-#define TEST(x) if (rArgs.mnFlags & SAL_LAYOUT_##x) { if (need_or) s << "|"; s << #x; need_or = true; }
-        TEST(BIDI_RTL);
-        TEST(BIDI_STRONG);
-        TEST(RIGHT_ALIGN);
-        TEST(KERNING_PAIRS);
-        TEST(KERNING_ASIAN);
-        TEST(VERTICAL);
-        TEST(COMPLEX_DISABLED);
-        TEST(ENABLE_LIGATURES);
-        TEST(SUBSTITUTE_DIGITS);
-        TEST(KASHIDA_JUSTIFICATON);
-        TEST(DISABLE_GLYPH_PROCESSING);
-        TEST(FOR_FALLBACK);
-#undef TEST
-        s << "}";
-    }
-
-    s << ",Length=" << rArgs.mnLength;
-    s << ",MinCharPos=" << rArgs.mnMinCharPos;
-    s << ",EndCharPos=" << rArgs.mnEndCharPos;
-
-    s << ",Str=\"";
-    int lim = rArgs.mnLength;
-    if (lim > 10)
-        lim = 7;
-    for (int i = 0; i < lim; i++) {
-        if (rArgs.mpStr[i] == '\n')
-            s << "\\n";
-        else if (rArgs.mpStr[i] < ' ' || (rArgs.mpStr[i] >= 0x7F && rArgs.mpStr[i] <= 0xFF))
-            s << "\\0x" << std::hex << std::setw(2) << std::setfill('0') << (int) rArgs.mpStr[i] << std::setfill(' ') << std::setw(1) << std::dec;
-        else if (rArgs.mpStr[i] < 0x7F)
-            s << (char) rArgs.mpStr[i];
-        else
-            s << "\\u" << std::hex << std::setw(4) << std::setfill('0') << (int) rArgs.mpStr[i] << std::setfill(' ') << std::setw(1) << std::dec;
-    }
-    if (rArgs.mnLength > lim)
-        s << "...";
-    s << "\"";
-
-    s << ",DXArray=";
-    if (rArgs.mpDXArray) {
-        s << "[";
-        int count = rArgs.mnEndCharPos - rArgs.mnMinCharPos;
-        lim = count;
-        if (lim > 10)
-            lim = 7;
-        for (int i = 0; i < lim; i++) {
-            s << rArgs.mpDXArray[i];
-            if (i < lim-1)
-                s << ",";
-        }
-        if (count > lim) {
-            if (count > lim + 1)
-                s << "...";
-            s << rArgs.mpDXArray[count-1];
-        }
-        s << "]";
-    } else
-        s << "NULL";
-
-    s << ",LayoutWidth=" << rArgs.mnLayoutWidth;
-
-    s << "}";
-
-#endif
-    return s;
-}
+std::ostream &operator <<(std::ostream& s, ImplLayoutArgs &rArgs);
 
 // helper functions often used with ImplLayoutArgs
 bool IsDiacritic( sal_UCS4 );
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index ebf348c..9d315e3 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -17,6 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <iostream>
+#include <iomanip>
+
 #include "sal/config.h"
 
 #include <cstdio>
@@ -69,6 +72,87 @@ FILE * mslLog()
 #endif
 // =======================================================================
 
+std::ostream &operator <<(std::ostream& s, ImplLayoutArgs &rArgs)
+{
+#ifndef SAL_LOG_INFO
+    (void) rArgs;
+#else
+    s << "ImplLayoutArgs{";
+
+    s << "Flags=";
+    if (rArgs.mnFlags == 0)
+        s << 0;
+    else {
+        bool need_or = false;
+        s << "{";
+#define TEST(x) if (rArgs.mnFlags & SAL_LAYOUT_##x) { if (need_or) s << "|"; s << #x; need_or = true; }
+        TEST(BIDI_RTL);
+        TEST(BIDI_STRONG);
+        TEST(RIGHT_ALIGN);
+        TEST(KERNING_PAIRS);
+        TEST(KERNING_ASIAN);
+        TEST(VERTICAL);
+        TEST(COMPLEX_DISABLED);
+        TEST(ENABLE_LIGATURES);
+        TEST(SUBSTITUTE_DIGITS);
+        TEST(KASHIDA_JUSTIFICATON);
+        TEST(DISABLE_GLYPH_PROCESSING);
+        TEST(FOR_FALLBACK);
+#undef TEST
+        s << "}";
+    }
+
+    s << ",Length=" << rArgs.mnLength;
+    s << ",MinCharPos=" << rArgs.mnMinCharPos;
+    s << ",EndCharPos=" << rArgs.mnEndCharPos;
+
+    s << ",Str=\"";
+    int lim = rArgs.mnLength;
+    if (lim > 10)
+        lim = 7;
+    for (int i = 0; i < lim; i++) {
+        if (rArgs.mpStr[i] == '\n')
+            s << "\\n";
+        else if (rArgs.mpStr[i] < ' ' || (rArgs.mpStr[i] >= 0x7F && rArgs.mpStr[i] <= 0xFF))
+            s << "\\0x" << std::hex << std::setw(2) << std::setfill('0') << (int) rArgs.mpStr[i] << std::setfill(' ') << std::setw(1) << std::dec;
+        else if (rArgs.mpStr[i] < 0x7F)
+            s << (char) rArgs.mpStr[i];
+        else
+            s << "\\u" << std::hex << std::setw(4) << std::setfill('0') << (int) rArgs.mpStr[i] << std::setfill(' ') << std::setw(1) << std::dec;
+    }
+    if (rArgs.mnLength > lim)
+        s << "...";
+    s << "\"";
+
+    s << ",DXArray=";
+    if (rArgs.mpDXArray) {
+        s << "[";
+        int count = rArgs.mnEndCharPos - rArgs.mnMinCharPos;
+        lim = count;
+        if (lim > 10)
+            lim = 7;
+        for (int i = 0; i < lim; i++) {
+            s << rArgs.mpDXArray[i];
+            if (i < lim-1)
+                s << ",";
+        }
+        if (count > lim) {
+            if (count > lim + 1)
+                s << "...";
+            s << rArgs.mpDXArray[count-1];
+        }
+        s << "]";
+    } else
+        s << "NULL";
+
+    s << ",LayoutWidth=" << rArgs.mnLayoutWidth;
+
+    s << "}";
+
+#endif
+    return s;
+}
+
 // TODO: ask the glyph directly, for now we need this method because of #i99367#
 // true if a codepoint doesn't influence the logical text width
 bool IsDiacritic( sal_UCS4 nChar )


More information about the Libreoffice-commits mailing list