[Libreoffice-commits] core.git: 5 commits - canvas/source svl/source vcl/headless vcl/unx

Caolán McNamara caolanm at redhat.com
Wed Mar 18 09:44:00 PDT 2015


 canvas/source/cairo/cairo_textlayout.cxx |    5 ++---
 svl/source/svdde/ddecli.cxx              |    4 ++--
 svl/source/svdde/ddedata.cxx             |   10 +++++-----
 svl/source/svdde/ddeimp.hxx              |    2 +-
 vcl/headless/svptextrender.cxx           |   23 ++++++++++++++---------
 vcl/unx/generic/gdi/cairotextrender.cxx  |    2 --
 6 files changed, 24 insertions(+), 22 deletions(-)

New commits:
commit 6fecd2df2797318f651ea4ab0d2d3880b2244751
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 18 16:34:51 2015 +0000

    some more blind fixing towards a windows build
    
    Change-Id: I92f0df38fae820dac2df8289a9a38d7d0f12bc26

diff --git a/svl/source/svdde/ddedata.cxx b/svl/source/svdde/ddedata.cxx
index 070bde1..e3f7eb3 100644
--- a/svl/source/svdde/ddedata.cxx
+++ b/svl/source/svdde/ddedata.cxx
@@ -36,10 +36,10 @@ DdeData::DdeData()
     pImp->hData = NULL;
     pImp->nData = 0;
     pImp->pData = NULL;
-    pImp->nFmt  = CF_TEXT;
+    pImp->nFmt = SotClipboardFormatId::STRING;
 }
 
-DdeData::DdeData( const void* p, long n, sal_uLong f )
+DdeData::DdeData(const void* p, long n, SotClipboardFormatId f)
 {
     pImp = new DdeDataImp;
     pImp->hData = NULL;
@@ -54,7 +54,7 @@ DdeData::DdeData( const OUString& s )
     pImp->hData = NULL;
     pImp->pData = (LPBYTE)s.getStr();
     pImp->nData = s.getLength()+1;
-    pImp->nFmt  = CF_TEXT;
+    pImp->nFmt = SotClipboardFormatId::STRING;
 }
 
 DdeData::DdeData( const DdeData& rData )
@@ -80,12 +80,12 @@ void DdeData::Lock()
         pImp->pData = DdeAccessData( pImp->hData, (LPDWORD) &pImp->nData );
 }
 
-sal_uLong DdeData::GetFormat() const
+SotClipboardFormatId DdeData::GetFormat() const
 {
     return pImp->nFmt;
 }
 
-void DdeData::SetFormat( sal_uLong nFmt )
+void DdeData::SetFormat(SotClipboardFormatId nFmt)
 {
     pImp->nFmt = nFmt;
 }
diff --git a/svl/source/svdde/ddeimp.hxx b/svl/source/svdde/ddeimp.hxx
index c8e2efa..945f639 100644
--- a/svl/source/svdde/ddeimp.hxx
+++ b/svl/source/svdde/ddeimp.hxx
@@ -90,7 +90,7 @@ struct DdeDataImp
     HDDEDATA        hData;
     LPBYTE          pData;
     long            nData;
-    sal_uLong           nFmt;
+    SotClipboardFormatId nFmt;
 };
 
 class DdeConnection;
commit a56d4222fb12cf4bc2616b8520f640b56fea1ecd
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 18 16:30:44 2015 +0000

    CF_TEXT and SotClipboardFormatId::STRING are both 1
    
    Change-Id: If97a74b947fcec1790c6cf1497299ff11b87f042

diff --git a/svl/source/svdde/ddecli.cxx b/svl/source/svdde/ddecli.cxx
index 61bd7de..7443724 100644
--- a/svl/source/svdde/ddecli.cxx
+++ b/svl/source/svdde/ddecli.cxx
@@ -385,7 +385,7 @@ DdePoke::DdePoke( DdeConnection& d, const OUString& i, const OUString& rData,
                   long n )
     : DdeTransaction( d, i, n )
 {
-    aDdeData = DdeData( (void*) rData.getStr(), sizeof(sal_Unicode) * (rData.getLength()), CF_TEXT );
+    aDdeData = DdeData( (void*) rData.getStr(), sizeof(sal_Unicode) * (rData.getLength()), SotClipboardFormatId::STRING );
     nType = XTYP_POKE;
 }
 
@@ -400,7 +400,7 @@ DdePoke::DdePoke( DdeConnection& d, const OUString& i, const DdeData& rData,
 DdeExecute::DdeExecute( DdeConnection& d, const OUString& rData, long n )
     : DdeTransaction( d, OUString(), n )
 {
-    aDdeData = DdeData( (void*)rData.getStr(), sizeof(sal_Unicode) * (rData.getLength() + 1), CF_TEXT );
+    aDdeData = DdeData( (void*)rData.getStr(), sizeof(sal_Unicode) * (rData.getLength() + 1), SotClipboardFormatId::STRING );
     nType = XTYP_EXECUTE;
 }
 
commit c0936309a628ee35baf3cb57f8e3b7420c4d9e70
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 18 16:08:48 2015 +0000

    headless text rendering backs onto freetype as well
    
    so we can query that info in GetSysFontData
    
    which will enable the gtk3-cairo-canvas to use the font and render text with
    cairo in presentation mode ever with virtual devices whose vcl font rendering
    path is still non-cairo
    
    Change-Id: I3d885d8f6a7c3776200ac31f4c9123d4b063d417

diff --git a/vcl/headless/svptextrender.cxx b/vcl/headless/svptextrender.cxx
index 14ee7a4..f25e534 100644
--- a/vcl/headless/svptextrender.cxx
+++ b/vcl/headless/svptextrender.cxx
@@ -448,12 +448,23 @@ void SvpTextRender::SetTextColor( SalColor nSalColor )
     m_aTextColor = basebmp::Color( nSalColor );
 }
 
-SystemFontData SvpTextRender::GetSysFontData( int nFallbacklevel ) const
+SystemFontData SvpTextRender::GetSysFontData( int nFallbackLevel ) const
 {
     SystemFontData aSysFontData;
 
-    if (nFallbacklevel >= MAX_FALLBACK) nFallbacklevel = MAX_FALLBACK - 1;
-    if (nFallbacklevel < 0 ) nFallbacklevel = 0;
+    if (nFallbackLevel >= MAX_FALLBACK) nFallbackLevel = MAX_FALLBACK - 1;
+    if (nFallbackLevel < 0 ) nFallbackLevel = 0;
+
+    if (m_pServerFont[nFallbackLevel] != NULL)
+    {
+        ServerFont* rFont = m_pServerFont[nFallbackLevel];
+        aSysFontData.nFontId = rFont->GetFtFace();
+        aSysFontData.nFontFlags = rFont->GetLoadFlags();
+        aSysFontData.bFakeBold = rFont->NeedsArtificialBold();
+        aSysFontData.bFakeItalic = rFont->NeedsArtificialItalic();
+        aSysFontData.bAntialias = rFont->GetAntialiasAdvice();
+        aSysFontData.bVerticalCharacterType = rFont->GetFontSelData().mbVertical;
+    }
 
     return aSysFontData;
 }
commit 41c227e05f5ad1a72485af352fb245536b088b9e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 18 16:07:46 2015 +0000

    ctor takes care of this initialization already
    
    Change-Id: I6a798df9238715c3d531c1eae89738c9a9e49eb7

diff --git a/vcl/headless/svptextrender.cxx b/vcl/headless/svptextrender.cxx
index 72f4a85..14ee7a4 100644
--- a/vcl/headless/svptextrender.cxx
+++ b/vcl/headless/svptextrender.cxx
@@ -455,12 +455,6 @@ SystemFontData SvpTextRender::GetSysFontData( int nFallbacklevel ) const
     if (nFallbacklevel >= MAX_FALLBACK) nFallbacklevel = MAX_FALLBACK - 1;
     if (nFallbacklevel < 0 ) nFallbacklevel = 0;
 
-    aSysFontData.nSize = sizeof( SystemFontData );
-    aSysFontData.nFontId = 0;
-    aSysFontData.nFontFlags = 0;
-    aSysFontData.bFakeBold = false;
-    aSysFontData.bFakeItalic = false;
-    aSysFontData.bAntialias = true;
     return aSysFontData;
 }
 
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index b107c95..ee14de2 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -567,8 +567,6 @@ SalLayout* CairoTextRender::GetTextLayout( ImplLayoutArgs& rArgs, int nFallbackL
 SystemFontData CairoTextRender::GetSysFontData( int nFallbackLevel ) const
 {
     SystemFontData aSysFontData;
-    aSysFontData.nSize = sizeof( SystemFontData );
-    aSysFontData.nFontId = 0;
 
     if (nFallbackLevel >= MAX_FALLBACK) nFallbackLevel = MAX_FALLBACK - 1;
     if (nFallbackLevel < 0 ) nFallbackLevel = 0;
commit 27e8b3e0b02e107bdf6d84bf0db10770645045e1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Mar 18 15:56:57 2015 +0000

    we don't need any xlib things here, but we do need freetype support
    
    Change-Id: I4b3055b7a3582e8dd64599ad33b767302b101dad

diff --git a/canvas/source/cairo/cairo_textlayout.cxx b/canvas/source/cairo/cairo_textlayout.cxx
index 5eef3e2..9b1fa47 100644
--- a/canvas/source/cairo/cairo_textlayout.cxx
+++ b/canvas/source/cairo/cairo_textlayout.cxx
@@ -50,8 +50,7 @@
 #elif defined CAIRO_HAS_WIN32_SURFACE
 # include "cairo_win32_cairo.hxx"
 # include <cairo-win32.h>
-#elif defined CAIRO_HAS_XLIB_SURFACE
-# include "cairo_xlib_cairo.hxx"
+#elif defined CAIRO_HAS_FT_FONT
 # include <cairo-ft.h>
 #else
 # error Native API needed.
@@ -479,7 +478,7 @@ namespace cairocanvas
             // VCL always has non-zero value for lfWidth
             font_face = cairo_win32_font_face_create_for_hfont(rSysFontData.hFont);
 
-#elif defined CAIRO_HAS_XLIB_SURFACE
+#elif defined CAIRO_HAS_FT_FONT
             font_face = cairo_ft_font_face_create_for_ft_face((FT_Face)rSysFontData.nFontId,
                                                               rSysFontData.nFontFlags);
 #else


More information about the Libreoffice-commits mailing list