[ooo-build-commit] .: drawinglayer/inc drawinglayer/source

Caolán McNamara caolan at kemper.freedesktop.org
Thu Sep 30 08:14:42 PDT 2010


 drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx |    2 +
 drawinglayer/source/attribute/fontattribute.cxx           |   20 +++++++++++---
 drawinglayer/source/primitive2d/textlayoutdevice.cxx      |    2 +
 drawinglayer/source/processor2d/canvasprocessor.cxx       |    5 +++
 4 files changed, 25 insertions(+), 4 deletions(-)

New commits:
commit 250af3b0ebadb79aa96f7701458594429111bd7a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 30 16:10:11 2010 +0100

    #i64671# transfer VCL's FontPitch through DrawingLayer to Canvas

diff --git a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
index 79e67b9..4a5d1fb 100644
--- a/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
+++ b/drawinglayer/inc/drawinglayer/attribute/fontattribute.hxx
@@ -65,6 +65,7 @@ namespace drawinglayer
                 bool bSymbol = false,
                 bool bVertical = false,
                 bool bItalic = false,
+                bool bMonospaced = false,
                 bool bOutline = false,
                 bool bRTL = false,
                 bool bBiDiStrong = false);
@@ -89,6 +90,7 @@ namespace drawinglayer
             bool getOutline() const;
             bool getRTL() const;
             bool getBiDiStrong() const;
+            bool getMonospaced() const;
         };
     } // end of namespace attribute
 } // end of namespace drawinglayer
diff --git a/drawinglayer/source/attribute/fontattribute.cxx b/drawinglayer/source/attribute/fontattribute.cxx
index 46ec067..03b9912 100644
--- a/drawinglayer/source/attribute/fontattribute.cxx
+++ b/drawinglayer/source/attribute/fontattribute.cxx
@@ -55,6 +55,7 @@ namespace drawinglayer
             unsigned									mbOutline : 1;      // Outline Flag
             unsigned                                    mbRTL : 1;          // RTL Flag
             unsigned                                    mbBiDiStrong : 1;   // BiDi Flag
+            unsigned                                    mbMonospaced : 1;
 
             ImpFontAttribute(
                 const String& rFamilyName,
@@ -63,6 +64,7 @@ namespace drawinglayer
                 bool bSymbol,
                 bool bVertical,
                 bool bItalic,
+                bool bMonospaced,
                 bool bOutline,
                 bool bRTL,
                 bool bBiDiStrong)
@@ -75,7 +77,8 @@ namespace drawinglayer
                 mbItalic(bItalic),
                 mbOutline(bOutline),
                 mbRTL(bRTL),
-                mbBiDiStrong(bBiDiStrong)
+                mbBiDiStrong(bBiDiStrong),
+                mbMonospaced(bMonospaced)
             {
             }
 
@@ -89,6 +92,7 @@ namespace drawinglayer
             bool getOutline() const { return mbOutline; }
             bool getRTL() const { return mbRTL; }
             bool getBiDiStrong() const { return mbBiDiStrong; }
+            bool getMonospaced() const { return mbMonospaced; }
 
             bool operator==(const ImpFontAttribute& rCompare) const
             {
@@ -100,7 +104,8 @@ namespace drawinglayer
                     && getItalic() == rCompare.getItalic()
                     && getOutline() == rCompare.getOutline()
                     && getRTL() == rCompare.getRTL()
-                    && getBiDiStrong() == rCompare.getBiDiStrong());
+                    && getBiDiStrong() == rCompare.getBiDiStrong()
+                    && getMonospaced() == rCompare.getMonospaced());
             }
 
             static ImpFontAttribute* get_global_default()
@@ -112,7 +117,7 @@ namespace drawinglayer
                     pDefault = new ImpFontAttribute(
                         String(), String(),
                         0,
-                        false, false, false, false, false, false);
+                        false, false, false, false, false, false, false);
 
                     // never delete; start with RefCount 1, not 0
                     pDefault->mnRefCount++;
@@ -129,11 +134,12 @@ namespace drawinglayer
             bool bSymbol,
             bool bVertical,
             bool bItalic,
+            bool bMonospaced,
             bool bOutline,
             bool bRTL,
             bool bBiDiStrong)
         :	mpFontAttribute(new ImpFontAttribute(
-                rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bOutline, bRTL, bBiDiStrong))
+                rFamilyName, rStyleName, nWeight, bSymbol, bVertical, bItalic, bMonospaced, bOutline, bRTL, bBiDiStrong))
         {
         }
 
@@ -246,6 +252,12 @@ namespace drawinglayer
             return mpFontAttribute->getBiDiStrong(); 
         }
 
+        bool FontAttribute::getMonospaced() const
+        {
+            return mpFontAttribute->getMonospaced();
+        }
+
+
     } // end of namespace attribute
 } // end of namespace drawinglayer
 
diff --git a/drawinglayer/source/primitive2d/textlayoutdevice.cxx b/drawinglayer/source/primitive2d/textlayoutdevice.cxx
index 8d39dd2..e751e97 100644
--- a/drawinglayer/source/primitive2d/textlayoutdevice.cxx
+++ b/drawinglayer/source/primitive2d/textlayoutdevice.cxx
@@ -406,6 +406,7 @@ namespace drawinglayer
             aRetval.SetWeight(static_cast<FontWeight>(rFontAttribute.getWeight()));
             aRetval.SetItalic(rFontAttribute.getItalic() ? ITALIC_NORMAL : ITALIC_NONE);
             aRetval.SetOutline(rFontAttribute.getOutline());
+            aRetval.SetPitch(rFontAttribute.getMonospaced() ? PITCH_FIXED : PITCH_VARIABLE);
             aRetval.SetLanguage(MsLangId::convertLocaleToLanguage(rLocale));
 
 #ifdef WIN32
@@ -445,6 +446,7 @@ namespace drawinglayer
                 RTL_TEXTENCODING_SYMBOL == rFont.GetCharSet(),
                 rFont.IsVertical(),
                 ITALIC_NONE != rFont.GetItalic(),
+                PITCH_FIXED == rFont.GetPitch(),
                 rFont.IsOutline(),
                 bRTL,
                 bBiDiStrong);
diff --git a/drawinglayer/source/processor2d/canvasprocessor.cxx b/drawinglayer/source/processor2d/canvasprocessor.cxx
index 85a99a7..1b67c54 100644
--- a/drawinglayer/source/processor2d/canvasprocessor.cxx
+++ b/drawinglayer/source/processor2d/canvasprocessor.cxx
@@ -57,6 +57,7 @@
 #include <basegfx/tuple/b2i64tuple.hxx>
 #include <basegfx/range/b2irange.hxx>
 #include <com/sun/star/rendering/XIntegerReadOnlyBitmap.hpp>
+#include <com/sun/star/rendering/PanoseProportion.hpp>
 #include <com/sun/star/rendering/CompositeOperation.hpp>
 #include <com/sun/star/rendering/StrokeAttributes.hpp>
 #include <com/sun/star/rendering/PathJoinType.hpp>
@@ -1517,6 +1518,10 @@ namespace drawinglayer
                     aFontRequest.FontDescription.IsVertical = rFontAttr.getVertical() ? util::TriState_YES : util::TriState_NO;
                     // TODO(F2): improve vclenum->panose conversion
                     aFontRequest.FontDescription.FontDescription.Weight = static_cast< sal_uInt8 >(rFontAttr.getWeight());
+                    aFontRequest.FontDescription.FontDescription.Proportion =
+                        rFontAttr.getMonospaced()
+                            ? rendering::PanoseProportion::MONO_SPACED
+                            : rendering::PanoseProportion::ANYTHING;
                     aFontRequest.FontDescription.FontDescription.Letterform = rFontAttr.getItalic() ? 9 : 0;
 
                     // init CellSize to 1.0, else a default font height will be used


More information about the ooo-build-commit mailing list