diff options
Diffstat (limited to 'vcl/inc/vcl/outdev.hxx')
-rwxr-xr-x[-rw-r--r--] | vcl/inc/vcl/outdev.hxx | 399 |
1 files changed, 202 insertions, 197 deletions
diff --git a/vcl/inc/vcl/outdev.hxx b/vcl/inc/vcl/outdev.hxx index e61b05eddc02..bf05dd040583 100644..100755 --- a/vcl/inc/vcl/outdev.hxx +++ b/vcl/inc/vcl/outdev.hxx @@ -153,52 +153,55 @@ struct KerningPair // ---------------------- // Flags for Push() -#define PUSH_LINECOLOR ((USHORT)0x0001) -#define PUSH_FILLCOLOR ((USHORT)0x0002) -#define PUSH_FONT ((USHORT)0x0004) -#define PUSH_TEXTCOLOR ((USHORT)0x0008) -#define PUSH_MAPMODE ((USHORT)0x0010) -#define PUSH_CLIPREGION ((USHORT)0x0020) -#define PUSH_RASTEROP ((USHORT)0x0040) -#define PUSH_TEXTFILLCOLOR ((USHORT)0x0080) -#define PUSH_TEXTALIGN ((USHORT)0x0100) -#define PUSH_REFPOINT ((USHORT)0x0200) -#define PUSH_TEXTLINECOLOR ((USHORT)0x0400) -#define PUSH_TEXTLAYOUTMODE ((USHORT)0x0800) -#define PUSH_TEXTLANGUAGE ((USHORT)0x1000) -#define PUSH_OVERLINECOLOR ((USHORT)0x2000) +#define PUSH_LINECOLOR ((sal_uInt16)0x0001) +#define PUSH_FILLCOLOR ((sal_uInt16)0x0002) +#define PUSH_FONT ((sal_uInt16)0x0004) +#define PUSH_TEXTCOLOR ((sal_uInt16)0x0008) +#define PUSH_MAPMODE ((sal_uInt16)0x0010) +#define PUSH_CLIPREGION ((sal_uInt16)0x0020) +#define PUSH_RASTEROP ((sal_uInt16)0x0040) +#define PUSH_TEXTFILLCOLOR ((sal_uInt16)0x0080) +#define PUSH_TEXTALIGN ((sal_uInt16)0x0100) +#define PUSH_REFPOINT ((sal_uInt16)0x0200) +#define PUSH_TEXTLINECOLOR ((sal_uInt16)0x0400) +#define PUSH_TEXTLAYOUTMODE ((sal_uInt16)0x0800) +#define PUSH_TEXTLANGUAGE ((sal_uInt16)0x1000) +#define PUSH_OVERLINECOLOR ((sal_uInt16)0x2000) #define PUSH_ALLTEXT (PUSH_TEXTCOLOR | PUSH_TEXTFILLCOLOR | PUSH_TEXTLINECOLOR | PUSH_OVERLINECOLOR | PUSH_TEXTALIGN | PUSH_TEXTLAYOUTMODE | PUSH_TEXTLANGUAGE) #define PUSH_ALLFONT (PUSH_ALLTEXT | PUSH_FONT) -#define PUSH_ALL ((USHORT)0xFFFF) +#define PUSH_ALL ((sal_uInt16)0xFFFF) // Flags for DrawText() -#define TEXT_DRAW_DISABLE ((USHORT)0x0001) -#define TEXT_DRAW_MNEMONIC ((USHORT)0x0002) -#define TEXT_DRAW_MONO ((USHORT)0x0004) -#define TEXT_DRAW_CLIP ((USHORT)0x0008) -#define TEXT_DRAW_LEFT ((USHORT)0x0010) -#define TEXT_DRAW_CENTER ((USHORT)0x0020) -#define TEXT_DRAW_RIGHT ((USHORT)0x0040) -#define TEXT_DRAW_TOP ((USHORT)0x0080) -#define TEXT_DRAW_VCENTER ((USHORT)0x0100) -#define TEXT_DRAW_BOTTOM ((USHORT)0x0200) -#define TEXT_DRAW_ENDELLIPSIS ((USHORT)0x0400) -#define TEXT_DRAW_PATHELLIPSIS ((USHORT)0x0800) -#define TEXT_DRAW_MULTILINE ((USHORT)0x1000) -#define TEXT_DRAW_WORDBREAK ((USHORT)0x2000) -#define TEXT_DRAW_NEWSELLIPSIS ((USHORT)0x4000) - -#define TEXT_DRAW_WORDBREAK_HYPHENATION (((USHORT)0x8000) | TEXT_DRAW_WORDBREAK) +#define TEXT_DRAW_DISABLE ((sal_uInt16)0x0001) +#define TEXT_DRAW_MNEMONIC ((sal_uInt16)0x0002) +#define TEXT_DRAW_MONO ((sal_uInt16)0x0004) +#define TEXT_DRAW_CLIP ((sal_uInt16)0x0008) +#define TEXT_DRAW_LEFT ((sal_uInt16)0x0010) +#define TEXT_DRAW_CENTER ((sal_uInt16)0x0020) +#define TEXT_DRAW_RIGHT ((sal_uInt16)0x0040) +#define TEXT_DRAW_TOP ((sal_uInt16)0x0080) +#define TEXT_DRAW_VCENTER ((sal_uInt16)0x0100) +#define TEXT_DRAW_BOTTOM ((sal_uInt16)0x0200) +#define TEXT_DRAW_ENDELLIPSIS ((sal_uInt16)0x0400) +#define TEXT_DRAW_PATHELLIPSIS ((sal_uInt16)0x0800) +#define TEXT_DRAW_MULTILINE ((sal_uInt16)0x1000) +#define TEXT_DRAW_WORDBREAK ((sal_uInt16)0x2000) +#define TEXT_DRAW_NEWSELLIPSIS ((sal_uInt16)0x4000) +// in the long run we should make text style flags longer +// but at the moment we can get away with this 2 bit field for ellipsis style +#define TEXT_DRAW_CENTERELLIPSIS (TEXT_DRAW_ENDELLIPSIS | TEXT_DRAW_PATHELLIPSIS) + +#define TEXT_DRAW_WORDBREAK_HYPHENATION (((sal_uInt16)0x8000) | TEXT_DRAW_WORDBREAK) // Flags for CopyArea() -#define COPYAREA_WINDOWINVALIDATE ((USHORT)0x0001) +#define COPYAREA_WINDOWINVALIDATE ((sal_uInt16)0x0001) // Flags for DrawImage() -#define IMAGE_DRAW_DISABLE ((USHORT)0x0001) -#define IMAGE_DRAW_HIGHLIGHT ((USHORT)0x0002) -#define IMAGE_DRAW_DEACTIVE ((USHORT)0x0004) -#define IMAGE_DRAW_COLORTRANSFORM ((USHORT)0x0008) -#define IMAGE_DRAW_SEMITRANSPARENT ((USHORT)0x0010) +#define IMAGE_DRAW_DISABLE ((sal_uInt16)0x0001) +#define IMAGE_DRAW_HIGHLIGHT ((sal_uInt16)0x0002) +#define IMAGE_DRAW_DEACTIVE ((sal_uInt16)0x0004) +#define IMAGE_DRAW_COLORTRANSFORM ((sal_uInt16)0x0008) +#define IMAGE_DRAW_SEMITRANSPARENT ((sal_uInt16)0x0010) #define IMAGE_DRAW_3DLOOK 0 #define IMAGE_DRAW_BTNLOOK 0 @@ -208,63 +211,63 @@ struct KerningPair #define WAVE_NORMAL 3 // Grid -#define GRID_DOTS ((ULONG)0x00000001) -#define GRID_HORZLINES ((ULONG)0x00000002) -#define GRID_VERTLINES ((ULONG)0x00000004) +#define GRID_DOTS ((sal_uLong)0x00000001) +#define GRID_HORZLINES ((sal_uLong)0x00000002) +#define GRID_VERTLINES ((sal_uLong)0x00000004) #define GRID_LINES (GRID_HORZLINES | GRID_VERTLINES) // LayoutModes for Complex Text Layout -#define TEXT_LAYOUT_DEFAULT ((ULONG)0x00000000) -#define TEXT_LAYOUT_BIDI_LTR ((ULONG)0x00000000) -#define TEXT_LAYOUT_BIDI_RTL ((ULONG)0x00000001) -#define TEXT_LAYOUT_BIDI_STRONG ((ULONG)0x00000002) -#define TEXT_LAYOUT_TEXTORIGIN_LEFT ((ULONG)0x00000004) -#define TEXT_LAYOUT_TEXTORIGIN_RIGHT ((ULONG)0x00000008) -#define TEXT_LAYOUT_COMPLEX_DISABLED ((ULONG)0x00000100) -#define TEXT_LAYOUT_ENABLE_LIGATURES ((ULONG)0x00000200) -#define TEXT_LAYOUT_SUBSTITUTE_DIGITS ((ULONG)0x00000400) +#define TEXT_LAYOUT_DEFAULT ((sal_uLong)0x00000000) +#define TEXT_LAYOUT_BIDI_LTR ((sal_uLong)0x00000000) +#define TEXT_LAYOUT_BIDI_RTL ((sal_uLong)0x00000001) +#define TEXT_LAYOUT_BIDI_STRONG ((sal_uLong)0x00000002) +#define TEXT_LAYOUT_TEXTORIGIN_LEFT ((sal_uLong)0x00000004) +#define TEXT_LAYOUT_TEXTORIGIN_RIGHT ((sal_uLong)0x00000008) +#define TEXT_LAYOUT_COMPLEX_DISABLED ((sal_uLong)0x00000100) +#define TEXT_LAYOUT_ENABLE_LIGATURES ((sal_uLong)0x00000200) +#define TEXT_LAYOUT_SUBSTITUTE_DIGITS ((sal_uLong)0x00000400) // DrawModes -#define DRAWMODE_DEFAULT ((ULONG)0x00000000) -#define DRAWMODE_BLACKLINE ((ULONG)0x00000001) -#define DRAWMODE_BLACKFILL ((ULONG)0x00000002) -#define DRAWMODE_BLACKTEXT ((ULONG)0x00000004) -#define DRAWMODE_BLACKBITMAP ((ULONG)0x00000008) -#define DRAWMODE_BLACKGRADIENT ((ULONG)0x00000010) -#define DRAWMODE_GRAYLINE ((ULONG)0x00000020) -#define DRAWMODE_GRAYFILL ((ULONG)0x00000040) -#define DRAWMODE_GRAYTEXT ((ULONG)0x00000080) -#define DRAWMODE_GRAYBITMAP ((ULONG)0x00000100) -#define DRAWMODE_GRAYGRADIENT ((ULONG)0x00000200) -#define DRAWMODE_NOFILL ((ULONG)0x00000400) -#define DRAWMODE_NOBITMAP ((ULONG)0x00000800) -#define DRAWMODE_NOGRADIENT ((ULONG)0x00001000) -#define DRAWMODE_GHOSTEDLINE ((ULONG)0x00002000) -#define DRAWMODE_GHOSTEDFILL ((ULONG)0x00004000) -#define DRAWMODE_GHOSTEDTEXT ((ULONG)0x00008000) -#define DRAWMODE_GHOSTEDBITMAP ((ULONG)0x00010000) -#define DRAWMODE_GHOSTEDGRADIENT ((ULONG)0x00020000) -#define DRAWMODE_WHITELINE ((ULONG)0x00100000) -#define DRAWMODE_WHITEFILL ((ULONG)0x00200000) -#define DRAWMODE_WHITETEXT ((ULONG)0x00400000) -#define DRAWMODE_WHITEBITMAP ((ULONG)0x00800000) -#define DRAWMODE_WHITEGRADIENT ((ULONG)0x01000000) -#define DRAWMODE_SETTINGSLINE ((ULONG)0x02000000) -#define DRAWMODE_SETTINGSFILL ((ULONG)0x04000000) -#define DRAWMODE_SETTINGSTEXT ((ULONG)0x08000000) -#define DRAWMODE_SETTINGSGRADIENT ((ULONG)0x10000000) -#define DRAWMODE_NOTRANSPARENCY ((ULONG)0x80000000) +#define DRAWMODE_DEFAULT ((sal_uLong)0x00000000) +#define DRAWMODE_BLACKLINE ((sal_uLong)0x00000001) +#define DRAWMODE_BLACKFILL ((sal_uLong)0x00000002) +#define DRAWMODE_BLACKTEXT ((sal_uLong)0x00000004) +#define DRAWMODE_BLACKBITMAP ((sal_uLong)0x00000008) +#define DRAWMODE_BLACKGRADIENT ((sal_uLong)0x00000010) +#define DRAWMODE_GRAYLINE ((sal_uLong)0x00000020) +#define DRAWMODE_GRAYFILL ((sal_uLong)0x00000040) +#define DRAWMODE_GRAYTEXT ((sal_uLong)0x00000080) +#define DRAWMODE_GRAYBITMAP ((sal_uLong)0x00000100) +#define DRAWMODE_GRAYGRADIENT ((sal_uLong)0x00000200) +#define DRAWMODE_NOFILL ((sal_uLong)0x00000400) +#define DRAWMODE_NOBITMAP ((sal_uLong)0x00000800) +#define DRAWMODE_NOGRADIENT ((sal_uLong)0x00001000) +#define DRAWMODE_GHOSTEDLINE ((sal_uLong)0x00002000) +#define DRAWMODE_GHOSTEDFILL ((sal_uLong)0x00004000) +#define DRAWMODE_GHOSTEDTEXT ((sal_uLong)0x00008000) +#define DRAWMODE_GHOSTEDBITMAP ((sal_uLong)0x00010000) +#define DRAWMODE_GHOSTEDGRADIENT ((sal_uLong)0x00020000) +#define DRAWMODE_WHITELINE ((sal_uLong)0x00100000) +#define DRAWMODE_WHITEFILL ((sal_uLong)0x00200000) +#define DRAWMODE_WHITETEXT ((sal_uLong)0x00400000) +#define DRAWMODE_WHITEBITMAP ((sal_uLong)0x00800000) +#define DRAWMODE_WHITEGRADIENT ((sal_uLong)0x01000000) +#define DRAWMODE_SETTINGSLINE ((sal_uLong)0x02000000) +#define DRAWMODE_SETTINGSFILL ((sal_uLong)0x04000000) +#define DRAWMODE_SETTINGSTEXT ((sal_uLong)0x08000000) +#define DRAWMODE_SETTINGSGRADIENT ((sal_uLong)0x10000000) +#define DRAWMODE_NOTRANSPARENCY ((sal_uLong)0x80000000) // Antialiasing -#define ANTIALIASING_DISABLE_TEXT ((USHORT)0x0001) -#define ANTIALIASING_ENABLE_B2DDRAW ((USHORT)0x0002) -#define ANTIALIASING_PIXELSNAPHAIRLINE ((USHORT)0x0004) +#define ANTIALIASING_DISABLE_TEXT ((sal_uInt16)0x0001) +#define ANTIALIASING_ENABLE_B2DDRAW ((sal_uInt16)0x0002) +#define ANTIALIASING_PIXELSNAPHAIRLINE ((sal_uInt16)0x0004) // AddFontSubstitute -#define FONT_SUBSTITUTE_ALWAYS ((USHORT)0x0001) -#define FONT_SUBSTITUTE_SCREENONLY ((USHORT)0x0002) +#define FONT_SUBSTITUTE_ALWAYS ((sal_uInt16)0x0001) +#define FONT_SUBSTITUTE_SCREENONLY ((sal_uInt16)0x0002) -#define DEFAULTFONT_FLAGS_ONLYONE ((ULONG)0x00000001) +#define DEFAULTFONT_FLAGS_ONLYONE ((sal_uLong)0x00000001) enum OutDevType { OUTDEV_DONTKNOW, OUTDEV_WINDOW, OUTDEV_PRINTER, OUTDEV_VIRDEV }; @@ -335,8 +338,8 @@ private: mutable long mnTextOffY; mutable long mnEmphasisAscent; mutable long mnEmphasisDescent; - ULONG mnDrawMode; - ULONG mnTextLayoutMode; + sal_uLong mnDrawMode; + sal_uLong mnTextLayoutMode; ImplMapRes maMapRes; ImplThresholdRes maThresRes; OutDevType meOutDevType; @@ -354,9 +357,9 @@ private: AllSettings maSettings; MapMode maMapMode; Point maRefPoint; - USHORT mnAntialiasing; + sal_uInt16 mnAntialiasing; LanguageType meTextLanguage; - mutable BOOL mbMap:1, + mutable sal_Bool mbMap:1, mbMapIsDefault:1, mbClipRegion:1, mbBackground:1, @@ -382,8 +385,8 @@ public: SAL_DLLPRIVATE sal_Int32 ImplGetDPIX() const { return mnDPIX; } SAL_DLLPRIVATE sal_Int32 ImplGetDPIY() const { return mnDPIY; } SAL_DLLPRIVATE int ImplGetGraphics() const; - SAL_DLLPRIVATE void ImplReleaseGraphics( BOOL bRelease = TRUE ); - SAL_DLLPRIVATE BOOL ImplHasMirroredGraphics(); + SAL_DLLPRIVATE void ImplReleaseGraphics( sal_Bool bRelease = sal_True ); + SAL_DLLPRIVATE sal_Bool ImplHasMirroredGraphics(); SAL_DLLPRIVATE void ImplReMirror( Point &rPoint ) const; SAL_DLLPRIVATE void ImplReMirror( Rectangle &rRect ) const; SAL_DLLPRIVATE void ImplReMirror( Region &rRegion ) const; @@ -397,7 +400,6 @@ public: SAL_DLLPRIVATE void ImplInitClipRegion(); SAL_DLLPRIVATE bool ImplSelectClipRegion( const Region&, SalGraphics* pGraphics = NULL ); SAL_DLLPRIVATE void ImplSetClipRegion( const Region* pRegion ); - SAL_DLLPRIVATE void ImplSetTriangleClipRegion( const PolyPolygon &rPolyPolygon ); SAL_DLLPRIVATE SalLayout* ImplLayout( const String&, xub_StrLen nIndex, xub_StrLen nLen, const Point& rLogicPos = Point(0,0), @@ -412,15 +414,15 @@ public: SAL_DLLPRIVATE long ImplGetTextWidth( const SalLayout& ) const; static SAL_DLLPRIVATE XubString ImplGetEllipsisString( const OutputDevice& rTargetDevice, const XubString& rStr, - long nMaxWidth, USHORT nStyle, const ::vcl::ITextLayout& _rLayout ); + long nMaxWidth, sal_uInt16 nStyle, const ::vcl::ITextLayout& _rLayout ); static SAL_DLLPRIVATE void ImplDrawText( OutputDevice& rTargetDevice, const Rectangle& rRect, - const String& rOrigStr, USHORT nStyle, + const String& rOrigStr, sal_uInt16 nStyle, MetricVector* pVector, String* pDisplayText, ::vcl::ITextLayout& _rLayout ); SAL_DLLPRIVATE void ImplDrawTextBackground( const SalLayout& ); - SAL_DLLPRIVATE void ImplDrawTextLines( SalLayout&, FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, BOOL bWordLine, BOOL bUnderlineAbove ); + SAL_DLLPRIVATE void ImplDrawTextLines( SalLayout&, FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, sal_Bool bWordLine, sal_Bool bUnderlineAbove ); SAL_DLLPRIVATE bool ImplDrawRotateText( SalLayout& ); - SAL_DLLPRIVATE void ImplDrawTextDirect( SalLayout&, BOOL bTextLines ); + SAL_DLLPRIVATE void ImplDrawTextDirect( SalLayout&, sal_Bool bTextLines ); SAL_DLLPRIVATE void ImplDrawSpecialText( SalLayout& ); SAL_DLLPRIVATE void ImplDrawText( SalLayout& ); SAL_DLLPRIVATE Rectangle ImplGetTextBoundRect( const SalLayout& ); @@ -431,16 +433,16 @@ public: SAL_DLLPRIVATE void ImplInitTextLineSize(); SAL_DLLPRIVATE void ImplInitAboveTextLineSize(); SAL_DLLPRIVATE void ImplDrawWaveLine( long nBaseX, long nBaseY, long nStartX, long nStartY, long nWidth, long nHeight, long nLineWidth, short nOrientation, const Color& rColor ); - SAL_DLLPRIVATE void ImplDrawWaveTextLine( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontUnderline eTextLine, Color aColor, BOOL bIsAbove ); - SAL_DLLPRIVATE void ImplDrawStraightTextLine( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontUnderline eTextLine, Color aColor, BOOL bIsAbove ); + SAL_DLLPRIVATE void ImplDrawWaveTextLine( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontUnderline eTextLine, Color aColor, sal_Bool bIsAbove ); + SAL_DLLPRIVATE void ImplDrawStraightTextLine( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontUnderline eTextLine, Color aColor, sal_Bool bIsAbove ); SAL_DLLPRIVATE void ImplDrawStrikeoutLine( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontStrikeout eStrikeout, Color aColor ); SAL_DLLPRIVATE void ImplDrawStrikeoutChar( long nBaseX, long nBaseY, long nX, long nY, long nWidth, FontStrikeout eStrikeout, Color aColor ); - SAL_DLLPRIVATE void ImplDrawTextLine( long nBaseX, long nX, long nY, long nWidth, FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, BOOL bUnderlineAbove ); + SAL_DLLPRIVATE void ImplDrawTextLine( long nBaseX, long nX, long nY, long nWidth, FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, sal_Bool bUnderlineAbove ); SAL_DLLPRIVATE void ImplDrawMnemonicLine( long nX, long nY, long nWidth ); - SAL_DLLPRIVATE void ImplGetEmphasisMark( PolyPolygon& rPolyPoly, BOOL& rPolyLine, Rectangle& rRect1, Rectangle& rRect2, long& rYOff, long& rWidth, FontEmphasisMark eEmphasis, long nHeight, short nOrient ); - SAL_DLLPRIVATE void ImplDrawEmphasisMark( long nBaseX, long nX, long nY, const PolyPolygon& rPolyPoly, BOOL bPolyLine, const Rectangle& rRect1, const Rectangle& rRect2 ); + SAL_DLLPRIVATE void ImplGetEmphasisMark( PolyPolygon& rPolyPoly, sal_Bool& rPolyLine, Rectangle& rRect1, Rectangle& rRect2, long& rYOff, long& rWidth, FontEmphasisMark eEmphasis, long nHeight, short nOrient ); + SAL_DLLPRIVATE void ImplDrawEmphasisMark( long nBaseX, long nX, long nY, const PolyPolygon& rPolyPoly, sal_Bool bPolyLine, const Rectangle& rRect1, const Rectangle& rRect2 ); static - SAL_DLLPRIVATE long ImplGetTextLines( ImplMultiTextLineInfo& rLineInfo, long nWidth, const XubString& rStr, USHORT nStyle, const ::vcl::ITextLayout& _rLayout ); + SAL_DLLPRIVATE long ImplGetTextLines( ImplMultiTextLineInfo& rLineInfo, long nWidth, const XubString& rStr, sal_uInt16 nStyle, const ::vcl::ITextLayout& _rLayout ); SAL_DLLPRIVATE void ImplInitFontList() const; SAL_DLLPRIVATE void ImplUpdateFontData( bool bNewFontLists ); SAL_DLLPRIVATE static void ImplUpdateAllFontData( bool bNewFontLists ); @@ -470,13 +472,13 @@ public: SAL_DLLPRIVATE void ImplDrawPolygon( const Polygon& rPoly, const PolyPolygon* pClipPolyPoly = NULL ); SAL_DLLPRIVATE void ImplDrawPolyPolygon( const PolyPolygon& rPolyPoly, const PolyPolygon* pClipPolyPoly = NULL ); - SAL_DLLPRIVATE void ImplDrawPolyPolygon( USHORT nPoly, const PolyPolygon& rPolyPoly ); - SAL_DLLPRIVATE void ImplDrawLinearGradient( const Rectangle& rRect, const Gradient& rGradient, BOOL bMtf, const PolyPolygon* pClipPolyPoly ); - SAL_DLLPRIVATE void ImplDrawComplexGradient( const Rectangle& rRect, const Gradient& rGradient, BOOL bMtf, const PolyPolygon* pClipPolyPoly ); + SAL_DLLPRIVATE void ImplDrawPolyPolygon( sal_uInt16 nPoly, const PolyPolygon& rPolyPoly ); + SAL_DLLPRIVATE void ImplDrawLinearGradient( const Rectangle& rRect, const Gradient& rGradient, sal_Bool bMtf, const PolyPolygon* pClipPolyPoly ); + SAL_DLLPRIVATE void ImplDrawComplexGradient( const Rectangle& rRect, const Gradient& rGradient, sal_Bool bMtf, const PolyPolygon* pClipPolyPoly ); - SAL_DLLPRIVATE void ImplDrawHatch( const PolyPolygon& rPolyPoly, const Hatch& rHatch, BOOL bMtf ); - SAL_DLLPRIVATE void ImplCalcHatchValues( const Rectangle& rRect, long nDist, USHORT nAngle10, Point& rPt1, Point& rPt2, Size& rInc, Point& rEndPt1 ); - SAL_DLLPRIVATE void ImplDrawHatchLine( const Line& rLine, const PolyPolygon& rPolyPoly, Point* pPtBuffer, BOOL bMtf ); + SAL_DLLPRIVATE void ImplDrawHatch( const PolyPolygon& rPolyPoly, const Hatch& rHatch, sal_Bool bMtf ); + SAL_DLLPRIVATE void ImplCalcHatchValues( const Rectangle& rRect, long nDist, sal_uInt16 nAngle10, Point& rPt1, Point& rPt2, Size& rInc, Point& rEndPt1 ); + SAL_DLLPRIVATE void ImplDrawHatchLine( const Line& rLine, const PolyPolygon& rPolyPoly, Point* pPtBuffer, sal_Bool bMtf ); SAL_DLLPRIVATE void ImplDrawWallpaper( long nX, long nY, long nWidth, long nHeight, const Wallpaper& rWallpaper ); SAL_DLLPRIVATE void ImplDrawColorWallpaper( long nX, long nY, long nWidth, long nHeight, const Wallpaper& rWallpaper ); @@ -487,14 +489,14 @@ public: SAL_DLLPRIVATE void ImplDrawOutDevDirect( const OutputDevice* pSrcDev, void* pPosAry ); SAL_DLLPRIVATE void ImplDrawBitmap( const Point& rDestPt, const Size& rDestSize, const Point& rSrcPtPixel, const Size& rSrcSizePixel, - const Bitmap& rBitmap, const ULONG nAction ); + const Bitmap& rBitmap, const sal_uLong nAction ); SAL_DLLPRIVATE void ImplDrawBitmapEx( const Point& rDestPt, const Size& rDestSize, const Point& rSrcPtPixel, const Size& rSrcSizePixel, - const BitmapEx& rBitmapEx, const ULONG nAction ); + const BitmapEx& rBitmapEx, const sal_uLong nAction ); SAL_DLLPRIVATE void ImplDrawMask( const Point& rDestPt, const Size& rDestSize, const Point& rSrcPtPixel, const Size& rSrcSizePixel, const Bitmap& rBitmap, const Color& rMaskColor, - const ULONG nAction ); + const sal_uLong nAction ); SAL_DLLPRIVATE void ImplDrawAlpha( const Bitmap& rBmp, const AlphaMask& rAlpha, const Point& rDestPt, const Size& rDestSize, const Point& rSrcPtPixel, const Size& rSrcSizePixel ); @@ -534,14 +536,14 @@ public: SAL_DLLPRIVATE void ImplGetFrameBitmap( const Point& rPt, const Size& rSize, Bitmap& rBitmap ) const; - SAL_DLLPRIVATE BOOL ImplIsRecordLayout() const; + SAL_DLLPRIVATE sal_Bool ImplIsRecordLayout() const; void ImplAddDevFontSubstitute( const XubString& rFontName, const XubString& rReplaceFontName, - USHORT nFlags = 0 ); + sal_uInt16 nFlags = 0 ); SAL_DLLPRIVATE static FontEmphasisMark ImplGetEmphasisMarkStyle( const Font& rFont ); - SAL_DLLPRIVATE static BOOL ImplIsUnderlineAbove( const Font& ); + SAL_DLLPRIVATE static sal_Bool ImplIsUnderlineAbove( const Font& ); // tells whether this output device is RTL in an LTR UI or LTR in a RTL UI SAL_DLLPRIVATE bool ImplIsAntiparallel() const ; @@ -591,8 +593,8 @@ public: FontStrikeout eStrikeout, FontUnderline eUnderline, FontUnderline eOverline, - BOOL bUnderlineAbove = FALSE ); - static BOOL IsTextUnderlineAbove( const Font& rFont ); + sal_Bool bUnderlineAbove = sal_False ); + static sal_Bool IsTextUnderlineAbove( const Font& rFont ); void DrawText( const Point& rStartPt, const XubString& rStr, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN, @@ -610,15 +612,15 @@ public: bool GetCaretPositions( const XubString&, sal_Int32* pCaretXArray, xub_StrLen nIndex, xub_StrLen nLen, sal_Int32* pDXAry = NULL, long nWidth = 0, - BOOL bCellBreaking = TRUE ) const; - void DrawStretchText( const Point& rStartPt, ULONG nWidth, + sal_Bool bCellBreaking = sal_True ) const; + void DrawStretchText( const Point& rStartPt, sal_uLong nWidth, const XubString& rStr, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN ); xub_StrLen GetTextBreak( const XubString& rStr, long nTextWidth, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN, - long nCharExtra = 0, BOOL bCellBreaking = TRUE ) const; + long nCharExtra = 0, sal_Bool bCellBreaking = sal_True ) const; xub_StrLen GetTextBreak( const XubString& rStr, long nTextWidth, - USHORT nExtraChar, xub_StrLen& rExtraCharPos, + sal_uInt16 nExtraChar, xub_StrLen& rExtraCharPos, xub_StrLen nIndex, xub_StrLen nLen, long nCharExtra = 0 ) const; /** Generate MetaTextActions for the text rect @@ -631,47 +633,47 @@ public: */ void AddTextRectActions( const Rectangle& rRect, const String& rOrigStr, - USHORT nStyle, + sal_uInt16 nStyle, GDIMetaFile& rMtf ); void DrawText( const Rectangle& rRect, - const XubString& rStr, USHORT nStyle = 0, + const XubString& rStr, sal_uInt16 nStyle = 0, MetricVector* pVector = NULL, String* pDisplayText = NULL, ::vcl::ITextLayout* _pTextLayout = NULL ); Rectangle GetTextRect( const Rectangle& rRect, - const XubString& rStr, USHORT nStyle = TEXT_DRAW_WORDBREAK, + const XubString& rStr, sal_uInt16 nStyle = TEXT_DRAW_WORDBREAK, TextRectInfo* pInfo = NULL, const ::vcl::ITextLayout* _pTextLayout = NULL ) const; XubString GetEllipsisString( const XubString& rStr, long nMaxWidth, - USHORT nStyle = TEXT_DRAW_ENDELLIPSIS ) const; + sal_uInt16 nStyle = TEXT_DRAW_ENDELLIPSIS ) const; void DrawCtrlText( const Point& rPos, const XubString& rStr, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN, - USHORT nStyle = TEXT_DRAW_MNEMONIC, MetricVector* pVector = NULL, String* pDisplayText = NULL ); + sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC, MetricVector* pVector = NULL, String* pDisplayText = NULL ); long GetCtrlTextWidth( const XubString& rStr, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN, - USHORT nStyle = TEXT_DRAW_MNEMONIC ) const; + sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC ) const; static XubString GetNonMnemonicString( const XubString& rStr, xub_StrLen& rMnemonicPos ); static XubString GetNonMnemonicString( const XubString& rStr ) { xub_StrLen nDummy; return GetNonMnemonicString( rStr, nDummy ); } - ULONG GetKerningPairCount() const; - void GetKerningPairs( ULONG nPairs, KerningPair* pKernPairs ) const; + sal_uLong GetKerningPairCount() const; + void GetKerningPairs( sal_uLong nPairs, KerningPair* pKernPairs ) const; - BOOL GetTextBoundRect( Rectangle& rRect, + sal_Bool GetTextBoundRect( Rectangle& rRect, const String& rStr, xub_StrLen nBase = 0, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN, - ULONG nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; - BOOL GetTextOutline( PolyPolygon&, + sal_uLong nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; + sal_Bool GetTextOutline( PolyPolygon&, const String& rStr, xub_StrLen nBase = 0, xub_StrLen nIndex = 0, - xub_StrLen nLen = STRING_LEN, BOOL bOptimize = TRUE, - ULONG nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; - BOOL GetTextOutlines( PolyPolyVector&, + xub_StrLen nLen = STRING_LEN, sal_Bool bOptimize = sal_True, + sal_uLong nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; + sal_Bool GetTextOutlines( PolyPolyVector&, const String& rStr, xub_StrLen nBase = 0, xub_StrLen nIndex = 0, - xub_StrLen nLen = STRING_LEN, BOOL bOptimize = TRUE, - ULONG nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; - BOOL GetTextOutlines( ::basegfx::B2DPolyPolygonVector&, + xub_StrLen nLen = STRING_LEN, sal_Bool bOptimize = sal_True, + sal_uLong nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; + sal_Bool GetTextOutlines( ::basegfx::B2DPolyPolygonVector&, const String& rStr, xub_StrLen nBase = 0, xub_StrLen nIndex = 0, - xub_StrLen nLen = STRING_LEN, BOOL bOptimize = TRUE, - ULONG nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; - BOOL GetGlyphBoundRects( const Point& rOrigin, const String& rStr, int nIndex, + xub_StrLen nLen = STRING_LEN, sal_Bool bOptimize = sal_True, + sal_uLong nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; + sal_Bool GetGlyphBoundRects( const Point& rOrigin, const String& rStr, int nIndex, int nLen, int nBase, MetricVector& rVector ); void DrawPixel( const Point& rPt ); @@ -735,7 +737,7 @@ public: void DrawRect( const Rectangle& rRect ); void DrawRect( const Rectangle& rRect, - ULONG nHorzRount, ULONG nVertRound ); + sal_uLong nHorzRount, sal_uLong nVertRound ); void DrawEllipse( const Rectangle& rRect ); void DrawArc( const Rectangle& rRect, const Point& rStartPt, const Point& rEndPt ); @@ -751,7 +753,7 @@ public: const OutputDevice& rOutDev ); void CopyArea( const Point& rDestPt, const Point& rSrcPt, const Size& rSrcSize, - USHORT nFlags = 0 ); + sal_uInt16 nFlags = 0 ); void DrawBitmap( const Point& rDestPt, const Bitmap& rBitmap ); @@ -778,9 +780,9 @@ public: const Bitmap& rBitmap, const Color& rMaskColor ); void DrawImage( const Point& rPos, - const Image& rImage, USHORT nStyle = 0 ); + const Image& rImage, sal_uInt16 nStyle = 0 ); void DrawImage( const Point& rPos, const Size& rSize, - const Image& rImage, USHORT nStyle = 0 ); + const Image& rImage, sal_uInt16 nStyle = 0 ); void DrawGradient( const Rectangle& rRect, const Gradient& rGradient ); void DrawGradient( const PolyPolygon& rPolyPoly, const Gradient& rGradient ); @@ -801,10 +803,10 @@ public: #endif void DrawWallpaper( const Rectangle& rRect, const Wallpaper& rWallpaper ); - void DrawWaveLine( const Point& rStartPos, const Point& rEndPos, USHORT nStyle ); - void DrawGrid( const Rectangle& rRect, const Size& rDist, ULONG nFlags ); + void DrawWaveLine( const Point& rStartPos, const Point& rEndPos, sal_uInt16 nStyle ); + void DrawGrid( const Rectangle& rRect, const Size& rDist, sal_uLong nFlags ); - void DrawTransparent( const PolyPolygon& rPolyPoly, USHORT nTransparencePercent ); + void DrawTransparent( const PolyPolygon& rPolyPoly, sal_uInt16 nTransparencePercent ); void DrawTransparent( const basegfx::B2DPolyPolygon& rB2DPolyPoly, double fTransparency); void DrawTransparent( const GDIMetaFile& rMtf, const Point& rPos, const Size& rSize, const Gradient& rTransparenceGradient ); @@ -817,41 +819,40 @@ public: */ BitmapEx GetBitmapEx( const Point& rSrcPt, const Size& rSize ) const; - void EnableMapMode( BOOL bEnable = TRUE ); - BOOL IsMapModeEnabled() const { return mbMap; } + void EnableMapMode( sal_Bool bEnable = sal_True ); + sal_Bool IsMapModeEnabled() const { return mbMap; } // Enabling/disabling RTL only makes sense for OutputDevices that use a mirroring SalGraphisLayout - void EnableRTL( BOOL bEnable = TRUE); - BOOL IsRTLEnabled() const { return mbEnableRTL; } + void EnableRTL( sal_Bool bEnable = sal_True); + sal_Bool IsRTLEnabled() const { return mbEnableRTL; } void SetConnectMetaFile( GDIMetaFile* pMtf ); GDIMetaFile* GetConnectMetaFile() const { return mpMetaFile; } - void EnableOutput( BOOL bEnable = TRUE ); - BOOL IsOutputEnabled() const { return mbOutput; } - BOOL IsDeviceOutput() const { return mbDevOutput; } - BOOL IsDeviceOutputNecessary() const { return (mbOutput && mbDevOutput); } - BOOL IsOutputNecessary() const { return ((mbOutput && mbDevOutput) || (mpMetaFile != NULL)); } + void EnableOutput( sal_Bool bEnable = sal_True ); + sal_Bool IsOutputEnabled() const { return mbOutput; } + sal_Bool IsDeviceOutput() const { return mbDevOutput; } + sal_Bool IsDeviceOutputNecessary() const { return (mbOutput && mbDevOutput); } + sal_Bool IsOutputNecessary() const { return ((mbOutput && mbDevOutput) || (mpMetaFile != NULL)); } void SetClipRegion(); void SetClipRegion( const Region& rRegion ); - void SetTriangleClipRegion( const PolyPolygon &rRegion ); Region GetClipRegion() const; - BOOL IsClipRegion() const { return mbClipRegion; } + sal_Bool IsClipRegion() const { return mbClipRegion; } Region GetActiveClipRegion() const; void MoveClipRegion( long nHorzMove, long nVertMove ); void IntersectClipRegion( const Rectangle& rRect ); void IntersectClipRegion( const Region& rRegion ); - void SetAntialiasing( USHORT nMode = 0 ); - USHORT GetAntialiasing() const { return mnAntialiasing; } + void SetAntialiasing( sal_uInt16 nMode = 0 ); + sal_uInt16 GetAntialiasing() const { return mnAntialiasing; } - void SetDrawMode( ULONG nDrawMode ); - ULONG GetDrawMode() const { return mnDrawMode; } + void SetDrawMode( sal_uLong nDrawMode ); + sal_uLong GetDrawMode() const { return mnDrawMode; } - void SetLayoutMode( ULONG nTextLayoutMode ); - ULONG GetLayoutMode() const { return mnTextLayoutMode; } + void SetLayoutMode( sal_uLong nTextLayoutMode ); + sal_uLong GetLayoutMode() const { return mnTextLayoutMode; } void SetDigitLanguage( LanguageType ); LanguageType GetDigitLanguage() const { return meTextLanguage; } @@ -872,18 +873,18 @@ public: void SetLineColor(); void SetLineColor( const Color& rColor ); const Color& GetLineColor() const { return maLineColor; } - BOOL IsLineColor() const { return mbLineColor; } + sal_Bool IsLineColor() const { return mbLineColor; } void SetFillColor(); void SetFillColor( const Color& rColor ); const Color& GetFillColor() const { return maFillColor; } - BOOL IsFillColor() const { return mbFillColor; } + sal_Bool IsFillColor() const { return mbFillColor; } void SetBackground(); void SetBackground( const Wallpaper& rBackground ); const Wallpaper& GetBackground() const { return maBackground; } - BOOL IsBackground() const { return mbBackground; } + sal_Bool IsBackground() const { return mbBackground; } void SetFont( const Font& rNewFont ); const Font& GetFont() const { return maFont; } @@ -899,15 +900,15 @@ public: void SetTextFillColor( const Color& rColor ); Color GetTextFillColor() const; - BOOL IsTextFillColor() const { return !maFont.IsTransparent(); } + sal_Bool IsTextFillColor() const { return !maFont.IsTransparent(); } void SetTextLineColor(); void SetTextLineColor( const Color& rColor ); const Color& GetTextLineColor() const { return maTextLineColor; } - BOOL IsTextLineColor() const { return (maTextLineColor.GetTransparency() == 0); } + sal_Bool IsTextLineColor() const { return (maTextLineColor.GetTransparency() == 0); } void SetOverlineColor(); void SetOverlineColor( const Color& rColor ); const Color& GetOverlineColor() const { return maOverlineColor; } - BOOL IsOverlineColor() const { return (maOverlineColor.GetTransparency() == 0); } + sal_Bool IsOverlineColor() const { return (maOverlineColor.GetTransparency() == 0); } void SetTextAlign( TextAlign eAlign ); TextAlign GetTextAlign() const { return maFont.GetAlign(); } @@ -921,12 +922,12 @@ public: virtual void SetMapMode( const MapMode& rNewMapMode ); virtual void SetRelativeMapMode( const MapMode& rNewMapMode ); const MapMode& GetMapMode() const { return maMapMode; } - BOOL IsMapMode() const { return mbMap; } + sal_Bool IsMapMode() const { return mbMap; } void SetRefPoint(); void SetRefPoint( const Point& rRefPoint ); const Point& GetRefPoint() const { return maRefPoint; } - BOOL IsRefPoint() const { return mbRefPoint; } + sal_Bool IsRefPoint() const { return mbRefPoint; } // #i75163# basegfx::B2DHomMatrix GetViewTransformation() const; @@ -1027,7 +1028,7 @@ public: const MapMode* pMapModeSource, const MapMode* pMapModeDest ) const; long* LogicToLogic( long* pX, - USHORT nCount, + sal_uInt16 nCount, const MapMode* pMapModeSource, const MapMode* pMapModeDest ) const; static Point LogicToLogic( const Point& rPtSource, @@ -1063,16 +1064,16 @@ public: void Erase(); void Erase( const Rectangle& rRect ) { DrawWallpaper( rRect, GetBackground() ); } - BOOL AddTempDevFont( const String& rFileURL, const String& rFontName ); + sal_Bool AddTempDevFont( const String& rFileURL, const String& rFontName ); int GetDevFontCount() const; FontInfo GetDevFont( int nDevFontIndex ) const; int GetDevFontSizeCount( const Font& ) const; Size GetDevFontSize( const Font& rFont, int nSizeIndex ) const; - BOOL IsFontAvailable( const String& rFontName ) const; + sal_Bool IsFontAvailable( const String& rFontName ) const; FontMetric GetFontMetric() const; FontMetric GetFontMetric( const Font& rFont ) const; - BOOL GetFontCharMap( FontCharMap& rFontCharMap ) const; + sal_Bool GetFontCharMap( FontCharMap& rFontCharMap ) const; bool GetFontCapabilities( vcl::FontCapabilities& rFontCapabilities ) const; xub_StrLen HasGlyphs( const Font& rFont, const String& rStr, @@ -1091,9 +1092,9 @@ public: xub_StrLen* pKashidaPosDropped // invalid kashida positions (out) ) const; - USHORT GetBitCount() const; + sal_uInt16 GetBitCount() const; - BOOL GetTextIsRTL( const String&, xub_StrLen nIndex, + sal_Bool GetTextIsRTL( const String&, xub_StrLen nIndex, xub_StrLen nLen ) const; /** Query the existence and depth of the alpha channel @@ -1101,21 +1102,25 @@ public: @return 0, if no alpha channel available, and the bit depth of the alpha channel otherwise. */ - USHORT GetAlphaBitCount() const; - ULONG GetColorCount() const; + sal_uInt16 GetAlphaBitCount() const; + sal_uLong GetColorCount() const; - void Push( USHORT nFlags = PUSH_ALL ); + void Push( sal_uInt16 nFlags = PUSH_ALL ); void Pop(); + // returns the curren stack depth; that is the number of Push() calls minus the number of Pop() calls + // this should not normally be used since Push and Pop must always be used symmetrically + // however this may be e.g. a help when debugging code in which this somehow is not the case + sal_uInt32 GetGCStackDepth() const; /** Query availability of alpha channel - @return TRUE, if this device has an alpha channel. + @return sal_True, if this device has an alpha channel. */ - BOOL HasAlpha(); + sal_Bool HasAlpha(); /** Added return value to see if EPS could be painted directly. Theoreticaly, handing over a matrix would be needed to handle - painting rotated EPS files (e.g. contained mín Metafiles). This + painting rotated EPS files (e.g. contained in Metafiles). This would then need to be supported for Mac and PS printers, but that's too much for now, wrote #i107046# for this */ bool DrawEPS( const Point& rPt, const Size& rSz, @@ -1133,17 +1138,17 @@ public: static void EndFontSubstitution(); static void AddFontSubstitute( const XubString& rFontName, const XubString& rReplaceFontName, - USHORT nFlags = 0 ); - static void RemoveFontSubstitute( USHORT n ); - static USHORT GetFontSubstituteCount(); - static void GetFontSubstitute( USHORT n, + sal_uInt16 nFlags = 0 ); + static void RemoveFontSubstitute( sal_uInt16 n ); + static sal_uInt16 GetFontSubstituteCount(); + static void GetFontSubstitute( sal_uInt16 n, XubString& rFontName, XubString& rReplaceFontName, - USHORT& rFlags ); + sal_uInt16& rFlags ); - static Font GetDefaultFont( USHORT nType, + static Font GetDefaultFont( sal_uInt16 nType, LanguageType eLang, - ULONG nFlags, + sal_uLong nFlags, const OutputDevice* pOutDev = NULL ); /** helper method removing transparencies from a metafile (e.g. for printing) @@ -1187,17 +1192,17 @@ public: // These all just call through to the private mpGraphics functions of the same name. // Query the platform layer for control support - BOOL IsNativeControlSupported( ControlType nType, ControlPart nPart ); + sal_Bool IsNativeControlSupported( ControlType nType, ControlPart nPart ); // Query the native control to determine if it was acted upon - BOOL HitTestNativeControl( ControlType nType, + sal_Bool HitTestNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, const Point& aPos, - BOOL& rIsInside ); + sal_Bool& rIsInside ); // Request rendering of a particular control and/or part - BOOL DrawNativeControl( ControlType nType, + sal_Bool DrawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, @@ -1205,7 +1210,7 @@ public: ::rtl::OUString aCaption ); // Request rendering of a caption string for a control - BOOL DrawNativeControlText( ControlType nType, + sal_Bool DrawNativeControlText( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, @@ -1213,7 +1218,7 @@ public: ::rtl::OUString aCaption ); // Query the native control's actual drawing region (including adornment) - BOOL GetNativeControlRegion( ControlType nType, + sal_Bool GetNativeControlRegion( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, |