|
|
|
@ -1,80 +1,7 @@
|
|
|
|
|
From 0adcbfa45f1c387d35acdc34c4a945dc88fecead Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
|
|
|
Date: Thu, 9 Jun 2011 08:54:17 +0100
|
|
|
|
|
Subject: [PATCH] Resolves: fdo#37668 bitwise operations on signed numbers
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
vcl/aqua/source/gdi/salgdi.cxx | 9 +++++----
|
|
|
|
|
vcl/inc/aqua/salgdi.h | 4 ++--
|
|
|
|
|
vcl/inc/salgdi.hxx | 5 +++--
|
|
|
|
|
vcl/inc/unx/pspgraphics.h | 4 ++--
|
|
|
|
|
vcl/inc/unx/salgdi.h | 4 ++--
|
|
|
|
|
vcl/inc/win/salgdi.h | 4 ++--
|
|
|
|
|
vcl/source/gdi/outdev3.cxx | 2 +-
|
|
|
|
|
vcl/unx/generic/gdi/pspgraphics.cxx | 8 ++++----
|
|
|
|
|
vcl/unx/generic/gdi/salgdi3.cxx | 10 +++++-----
|
|
|
|
|
vcl/unx/headless/svpgdi.hxx | 4 ++--
|
|
|
|
|
vcl/unx/headless/svppspgraphics.cxx | 8 ++++----
|
|
|
|
|
vcl/unx/headless/svppspgraphics.hxx | 4 ++--
|
|
|
|
|
vcl/unx/headless/svptext.cxx | 10 +++++-----
|
|
|
|
|
vcl/win/source/gdi/salgdi3.cxx | 4 ++--
|
|
|
|
|
14 files changed, 41 insertions(+), 39 deletions(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/vcl/aqua/source/gdi/salgdi.cxx b/vcl/aqua/source/gdi/salgdi.cxx
|
|
|
|
|
index 9d6e620..ed5623b 100644
|
|
|
|
|
--- a/vcl/aqua/source/gdi/salgdi.cxx
|
|
|
|
|
+++ b/vcl/aqua/source/gdi/salgdi.cxx
|
|
|
|
|
@@ -1811,15 +1811,16 @@ static OSStatus GgoMoveToProc( const Float32Point* pPoint, void* pData )
|
|
|
|
|
return eStatus;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-sal_Bool AquaSalGraphics::GetGlyphOutline( long nGlyphId, basegfx::B2DPolyPolygon& rPolyPoly )
|
|
|
|
|
+sal_Bool AquaSalGraphics::GetGlyphOutline( sal_GlyphId nGlyphId, basegfx::B2DPolyPolygon& rPolyPoly )
|
|
|
|
|
{
|
|
|
|
|
GgoData aGgoData;
|
|
|
|
|
aGgoData.mpPolyPoly = &rPolyPoly;
|
|
|
|
|
rPolyPoly.clear();
|
|
|
|
|
|
|
|
|
|
ATSUStyle rATSUStyle = maATSUStyle; // TODO: handle glyph fallback when CWS pdffix02 is integrated
|
|
|
|
|
+ GlyphID aGlyphId = nGlyphId & GF_IDXMASK;
|
|
|
|
|
OSStatus eGgoStatus = noErr;
|
|
|
|
|
- OSStatus eStatus = ATSUGlyphGetCubicPaths( rATSUStyle, nGlyphId,
|
|
|
|
|
+ OSStatus eStatus = ATSUGlyphGetCubicPaths( rATSUStyle, aGlyphId,
|
|
|
|
|
GgoMoveToProc, GgoLineToProc, GgoCurveToProc, GgoClosePathProc,
|
|
|
|
|
&aGgoData, &eGgoStatus );
|
|
|
|
|
if( (eStatus != noErr) ) // TODO: why is (eGgoStatus!=noErr) when curves are involved?
|
|
|
|
|
@@ -1853,10 +1854,10 @@ long AquaSalGraphics::GetGraphicsWidth() const
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-sal_Bool AquaSalGraphics::GetGlyphBoundRect( long nGlyphId, Rectangle& rRect )
|
|
|
|
|
+sal_Bool AquaSalGraphics::GetGlyphBoundRect( sal_GlyphId nGlyphId, Rectangle& rRect )
|
|
|
|
|
{
|
|
|
|
|
ATSUStyle rATSUStyle = maATSUStyle; // TODO: handle glyph fallback
|
|
|
|
|
- GlyphID aGlyphId = nGlyphId;
|
|
|
|
|
+ GlyphID aGlyphId = nGlyphId & GF_IDXMASK;
|
|
|
|
|
ATSGlyphScreenMetrics aGlyphMetrics;
|
|
|
|
|
OSStatus eStatus = ATSUGlyphGetScreenMetrics( rATSUStyle,
|
|
|
|
|
1, &aGlyphId, 0, FALSE, !mbNonAntialiasedText, &aGlyphMetrics );
|
|
|
|
|
diff --git a/vcl/inc/aqua/salgdi.h b/vcl/inc/aqua/salgdi.h
|
|
|
|
|
index bbdd244..9eac956 100644
|
|
|
|
|
--- a/vcl/inc/aqua/salgdi.h
|
|
|
|
|
+++ b/vcl/inc/aqua/salgdi.h
|
|
|
|
|
@@ -338,8 +338,8 @@ public:
|
|
|
|
|
Int32Vector& rWidths,
|
|
|
|
|
Ucs2UIntMap& rUnicodeEnc );
|
|
|
|
|
|
|
|
|
|
- virtual sal_Bool GetGlyphBoundRect( long nIndex, Rectangle& );
|
|
|
|
|
- virtual sal_Bool GetGlyphOutline( long nIndex, basegfx::B2DPolyPolygon& );
|
|
|
|
|
+ virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& );
|
|
|
|
|
+ virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, basegfx::B2DPolyPolygon& );
|
|
|
|
|
|
|
|
|
|
virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
|
|
|
|
|
virtual void DrawServerFontLayout( const ServerFontLayout& );
|
|
|
|
|
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
|
|
|
|
|
index 32f2126..05de4cf 100644
|
|
|
|
|
--- a/vcl/inc/salgdi.hxx
|
|
|
|
|
+++ b/vcl/inc/salgdi.hxx
|
|
|
|
|
--- a/vcl/inc/vcl/salgdi.hxx
|
|
|
|
|
+++ b/vcl/inc/vcl/salgdi.hxx
|
|
|
|
|
@@ -37,6 +37,7 @@
|
|
|
|
|
#include "osl/thread.hxx"
|
|
|
|
|
#include "vcl/outdev.hxx"
|
|
|
|
@ -96,8 +23,8 @@ index 32f2126..05de4cf 100644
|
|
|
|
|
virtual void DrawServerFontLayout( const ServerFontLayout& ) = 0;
|
|
|
|
|
diff --git a/vcl/inc/unx/pspgraphics.h b/vcl/inc/unx/pspgraphics.h
|
|
|
|
|
index 29f9251..f5787b1 100644
|
|
|
|
|
--- a/vcl/inc/unx/pspgraphics.h
|
|
|
|
|
+++ b/vcl/inc/unx/pspgraphics.h
|
|
|
|
|
--- a/vcl/unx/inc/pspgraphics.h
|
|
|
|
|
+++ b/vcl/unx/inc/pspgraphics.h
|
|
|
|
|
@@ -123,8 +123,8 @@ public:
|
|
|
|
|
bool bVertical,
|
|
|
|
|
Int32Vector& rWidths,
|
|
|
|
@ -111,8 +38,8 @@ index 29f9251..f5787b1 100644
|
|
|
|
|
virtual bool supportsOperation( OutDevSupportType ) const;
|
|
|
|
|
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
|
|
|
|
|
index a7c2fa1..d03d1df 100644
|
|
|
|
|
--- a/vcl/inc/unx/salgdi.h
|
|
|
|
|
+++ b/vcl/inc/unx/salgdi.h
|
|
|
|
|
--- a/vcl/unx/inc/salgdi.h
|
|
|
|
|
+++ b/vcl/unx/inc/salgdi.h
|
|
|
|
|
@@ -287,8 +287,8 @@ public:
|
|
|
|
|
bool bVertical,
|
|
|
|
|
Int32Vector& rWidths,
|
|
|
|
@ -124,21 +51,6 @@ index a7c2fa1..d03d1df 100644
|
|
|
|
|
virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
|
|
|
|
|
virtual void DrawServerFontLayout( const ServerFontLayout& );
|
|
|
|
|
virtual bool supportsOperation( OutDevSupportType ) const;
|
|
|
|
|
diff --git a/vcl/inc/win/salgdi.h b/vcl/inc/win/salgdi.h
|
|
|
|
|
index 9a00450..7f58301 100644
|
|
|
|
|
--- a/vcl/inc/win/salgdi.h
|
|
|
|
|
+++ b/vcl/inc/win/salgdi.h
|
|
|
|
|
@@ -369,8 +369,8 @@ public:
|
|
|
|
|
Ucs2UIntMap& rUnicodeEnc );
|
|
|
|
|
virtual int GetMinKashidaWidth();
|
|
|
|
|
|
|
|
|
|
- virtual sal_Bool GetGlyphBoundRect( long nIndex, Rectangle& );
|
|
|
|
|
- virtual sal_Bool GetGlyphOutline( long nIndex, ::basegfx::B2DPolyPolygon& );
|
|
|
|
|
+ virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& );
|
|
|
|
|
+ virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, ::basegfx::B2DPolyPolygon& );
|
|
|
|
|
|
|
|
|
|
virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
|
|
|
|
|
virtual void DrawServerFontLayout( const ServerFontLayout& );
|
|
|
|
|
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
|
|
|
|
|
index 647cc22..f30251d 100755
|
|
|
|
|
--- a/vcl/source/gdi/outdev3.cxx
|
|
|
|
@ -154,8 +66,8 @@ index 647cc22..f30251d 100755
|
|
|
|
|
// get bounding rectangle of individual glyph
|
|
|
|
|
diff --git a/vcl/unx/generic/gdi/pspgraphics.cxx b/vcl/unx/generic/gdi/pspgraphics.cxx
|
|
|
|
|
index ba2319c..8e66c93 100644
|
|
|
|
|
--- a/vcl/unx/generic/gdi/pspgraphics.cxx
|
|
|
|
|
+++ b/vcl/unx/generic/gdi/pspgraphics.cxx
|
|
|
|
|
--- a/vcl/unx/source/gdi/pspgraphics.cxx
|
|
|
|
|
+++ b/vcl/unx/source/gdi/pspgraphics.cxx
|
|
|
|
|
@@ -941,7 +941,7 @@ sal_uLong PspGraphics::GetKernPairs( sal_uLong nPairs, ImplKernPairData *pKernPa
|
|
|
|
|
return nHavePairs;
|
|
|
|
|
}
|
|
|
|
@ -192,8 +104,8 @@ index ba2319c..8e66c93 100644
|
|
|
|
|
|
|
|
|
|
diff --git a/vcl/unx/generic/gdi/salgdi3.cxx b/vcl/unx/generic/gdi/salgdi3.cxx
|
|
|
|
|
index 2615438..a90fd1c 100644
|
|
|
|
|
--- a/vcl/unx/generic/gdi/salgdi3.cxx
|
|
|
|
|
+++ b/vcl/unx/generic/gdi/salgdi3.cxx
|
|
|
|
|
--- a/vcl/unx/source/gdi/salgdi3.cxx
|
|
|
|
|
+++ b/vcl/unx/source/gdi/salgdi3.cxx
|
|
|
|
|
@@ -1149,17 +1149,17 @@ X11SalGraphics::GetKernPairs( sal_uLong nPairs, ImplKernPairData *pKernPairs )
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
|
|
@ -350,28 +262,3 @@ index 24e0f1b..a077685 100644
|
|
|
|
|
B2IPoint aDstPoint( aPos.X(), aPos.Y() );
|
|
|
|
|
BitmapDeviceSharedPtr aAlphaMask
|
|
|
|
|
= rGlyphPeer.GetGlyphBmp( *pSF, nGlyphIndex, m_eTextFmt, aDstPoint );
|
|
|
|
|
diff --git a/vcl/win/source/gdi/salgdi3.cxx b/vcl/win/source/gdi/salgdi3.cxx
|
|
|
|
|
index 4f7b6ad..b14b9a5 100644
|
|
|
|
|
--- a/vcl/win/source/gdi/salgdi3.cxx
|
|
|
|
|
+++ b/vcl/win/source/gdi/salgdi3.cxx
|
|
|
|
|
@@ -2505,7 +2505,7 @@ void WinSalGraphics::GetDevFontSubstList( OutputDevice* )
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-sal_Bool WinSalGraphics::GetGlyphBoundRect( long nIndex, Rectangle& rRect )
|
|
|
|
|
+sal_Bool WinSalGraphics::GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& rRect )
|
|
|
|
|
{
|
|
|
|
|
HDC hDC = mhDC;
|
|
|
|
|
|
|
|
|
|
@@ -2537,7 +2537,7 @@ sal_Bool WinSalGraphics::GetGlyphBoundRect( long nIndex, Rectangle& rRect )
|
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-sal_Bool WinSalGraphics::GetGlyphOutline( long nIndex,
|
|
|
|
|
+sal_Bool WinSalGraphics::GetGlyphOutline( sal_GlyphId nIndex,
|
|
|
|
|
::basegfx::B2DPolyPolygon& rB2DPolyPoly )
|
|
|
|
|
{
|
|
|
|
|
rB2DPolyPoly.clear();
|
|
|
|
|
--
|
|
|
|
|
1.7.5.2
|
|
|
|
|
|
|
|
|
|