diff options
-rw-r--r-- | include/vcl/outdev.hxx | 70 | ||||
-rw-r--r-- | vcl/source/outdev/font.cxx | 158 | ||||
-rw-r--r-- | vcl/source/outdev/outdev.cxx | 80 | ||||
-rw-r--r-- | vcl/source/outdev/outdevstate.cxx | 111 | ||||
-rw-r--r-- | vcl/source/outdev/textline.cxx | 14 |
5 files changed, 227 insertions, 206 deletions
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index 62464f843a9c..e9b40fb5e113 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -237,9 +237,6 @@ typedef ::std::vector< VCLXGraphics* > VCLXGraphicsList_impl; sal_uLong AdjustTwoRect( SalTwoRect& rTwoRect, const Size& rSizePix ); void AdjustTwoRect( SalTwoRect& rTwoRect, const Rectangle& rValidSrcRect ); -void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY, - int nOrientation ); - extern const sal_uLong nVCLRLut[ 6 ]; extern const sal_uLong nVCLGLut[ 6 ]; extern const sal_uLong nVCLBLut[ 6 ]; @@ -435,6 +432,9 @@ public: void SetExtOutDevData( vcl::ExtOutDevData* pExtOutDevData ) { mpExtOutDevData = pExtOutDevData; } vcl::ExtOutDevData* GetExtOutDevData() const { return mpExtOutDevData; } +private: + void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long &rY, + int nOrientation ); ///@} /** @name OutputDevice state functions @@ -484,6 +484,10 @@ public: const Wallpaper& GetBackground() const { return maBackground; } bool IsBackground() const { return mbBackground; } + + void SetFont( const Font& rNewFont ); + const Font& GetFont() const { return maFont; } + ///@} /** @name Clipping functions @@ -511,10 +515,14 @@ private: SAL_DLLPRIVATE void SetDeviceClipRegion( const Region* pRegion ); ///@} - /** @name Text and font functions + /** @name Text functions */ ///@{ public: + SystemTextLayoutData GetSysTextLayoutData( const Point& rStartPt, const OUString& rStr, + sal_Int32 nIndex = 0, sal_Int32 nLen = -1, + const sal_Int32* pDXAry = NULL ) const; + SAL_DLLPRIVATE bool ImplNewFont() const; SAL_DLLPRIVATE void ImplInitTextColor(); static @@ -528,15 +536,13 @@ public: SAL_DLLPRIVATE void ImplDrawSpecialText( SalLayout& ); SAL_DLLPRIVATE void ImplDrawText( SalLayout& ); SAL_DLLPRIVATE Rectangle ImplGetTextBoundRect( const SalLayout& ); - SAL_DLLPRIVATE void ImplDrawEmphasisMarks( SalLayout& ); - static - SAL_DLLPRIVATE OUString ImplGetEllipsisString( const OutputDevice& rTargetDevice, const OUString& rStr, - long nMaxWidth, sal_uInt16 nStyle, const ::vcl::ITextLayout& _rLayout ); - SAL_DLLPRIVATE void ImplDrawTextRect( long nBaseX, long nBaseY, long nX, long nY, long nWidth, long nHeight ); SAL_DLLPRIVATE void ImplInitTextLineSize(); SAL_DLLPRIVATE void ImplInitAboveTextLineSize(); + + SAL_DLLPRIVATE void ImplDrawWavePixel( long nOriginX, long nOriginY, long nCurX, long nCurY, short nOrientation, SalGraphics* pGraphics, OutputDevice* pOutDev, + bool bDrawPixAsRect, long nPixWidth, long nPixHeight ); 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 ); @@ -546,23 +552,12 @@ public: SAL_DLLPRIVATE void ImplDrawMnemonicLine( long nX, long nY, long nWidth ); SAL_DLLPRIVATE static bool ImplIsUnderlineAbove( const Font& ); - SAL_DLLPRIVATE static FontEmphasisMark ImplGetEmphasisMarkStyle( const Font& rFont ); - 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 ); static SAL_DLLPRIVATE long ImplGetTextLines( ImplMultiTextLineInfo& rLineInfo, long nWidth, const OUString& 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 ); - void SetFont( const Font& rNewFont ); - const Font& GetFont() const { return maFont; } - - SystemFontData GetSysFontData( int nFallbacklevel ) const; - SystemTextLayoutData GetSysTextLayoutData( const Point& rStartPt, const OUString& rStr, - sal_Int32 nIndex = 0, sal_Int32 nLen = -1, - const sal_Int32* pDXAry = NULL ) const; - void SetTextColor( const Color& rColor ); const Color& GetTextColor() const { return maTextColor; } void SetTextFillColor(); @@ -664,23 +659,37 @@ public: const OUString& rStr, sal_Int32 nBase = 0, sal_Int32 nIndex = 0, sal_Int32 nLen = -1, bool bOptimize = true, sal_uLong nLayoutWidth = 0, const sal_Int32* pDXArray = NULL ) const; + ///@} - bool GetGlyphBoundRects( const Point& rOrigin, const OUString& rStr, int nIndex, - int nLen, int nBase, MetricVector& rVector ); + /** @name Font functions + */ + ///@{ +public: + FontInfo GetDevFont( int nDevFontIndex ) const; + int GetDevFontCount() const; - bool AddTempDevFont( const OUString& rFileURL, const OUString& rFontName ); + bool IsFontAvailable( const OUString& rFontName ) const; - int GetDevFontCount() const; - FontInfo GetDevFont( int nDevFontIndex ) const; - int GetDevFontSizeCount( const Font& ) const; Size GetDevFontSize( const Font& rFont, int nSizeIndex ) const; - bool IsFontAvailable( const OUString& rFontName ) const; + int GetDevFontSizeCount( const Font& ) const; + + bool AddTempDevFont( const OUString& rFileURL, const OUString& rFontName ); FontMetric GetFontMetric() const; FontMetric GetFontMetric( const Font& rFont ) const; + bool GetFontCharMap( FontCharMap& rFontCharMap ) const; bool GetFontCapabilities( vcl::FontCapabilities& rFontCapabilities ) const; + SystemFontData GetSysFontData( int nFallbacklevel ) const; + + SAL_DLLPRIVATE static FontEmphasisMark + ImplGetEmphasisMarkStyle( const Font& rFont ); + SAL_DLLPRIVATE void ImplGetEmphasisMark( PolyPolygon& rPolyPoly, bool& rPolyLine, Rectangle& rRect1, Rectangle& rRect2, long& rYOff, long& rWidth, FontEmphasisMark eEmphasis, long nHeight, short nOrient ); + + bool GetGlyphBoundRects( const Point& rOrigin, const OUString& rStr, int nIndex, + int nLen, int nBase, MetricVector& rVector ); + sal_Int32 HasGlyphs( const Font& rFont, const OUString& rStr, sal_Int32 nIndex = 0, sal_Int32 nLen = -1 ) const; @@ -721,6 +730,13 @@ private: SAL_DLLPRIVATE void ImplClearFontData( bool bNewFontLists ); SAL_DLLPRIVATE void ImplRefreshFontData( bool bNewFontLists ); SAL_DLLPRIVATE static void ImplUpdateFontDataForAllFrames( FontUpdateHandler_t pHdl, bool bNewFontLists ); + + static + SAL_DLLPRIVATE OUString ImplGetEllipsisString( const OutputDevice& rTargetDevice, const OUString& rStr, + long nMaxWidth, sal_uInt16 nStyle, const ::vcl::ITextLayout& _rLayout ); + + SAL_DLLPRIVATE void ImplDrawEmphasisMark( long nBaseX, long nX, long nY, const PolyPolygon& rPolyPoly, bool bPolyLine, const Rectangle& rRect1, const Rectangle& rRect2 ); + SAL_DLLPRIVATE void ImplDrawEmphasisMarks( SalLayout& ); ///@} /** @name Polygon functions diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx index abec7828f7ea..0abe0257cb0e 100644 --- a/vcl/source/outdev/font.cxx +++ b/vcl/source/outdev/font.cxx @@ -61,57 +61,6 @@ using namespace ::rtl; using namespace ::vcl; using namespace ::utl; -void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY, - int nOrientation ) -{ - if ( (nOrientation >= 0) && !(nOrientation % 900) ) - { - if ( (nOrientation >= 3600) ) - nOrientation %= 3600; - - if ( nOrientation ) - { - rX -= nOriginX; - rY -= nOriginY; - - if ( nOrientation == 900 ) - { - long nTemp = rX; - rX = rY; - rY = -nTemp; - } - else if ( nOrientation == 1800 ) - { - rX = -rX; - rY = -rY; - } - else /* ( nOrientation == 2700 ) */ - { - long nTemp = rX; - rX = -rY; - rY = nTemp; - } - - rX += nOriginX; - rY += nOriginY; - } - } - else - { - double nRealOrientation = nOrientation*F_PI1800; - double nCos = cos( nRealOrientation ); - double nSin = sin( nRealOrientation ); - - // Translation... - long nX = rX-nOriginX; - long nY = rY-nOriginY; - - // Rotation... - rX = +((long)(nCos*nX + nSin*nY)) + nOriginX; - rY = -((long)(nSin*nX - nCos*nY)) + nOriginY; - } -} - void OutputDevice::ImplClearFontData( const bool bNewFontLists ) { // the currently selected logical font is no longer needed @@ -1806,113 +1755,6 @@ void OutputDevice::ImplDrawEmphasisMarks( SalLayout& rSalLayout ) mpMetaFile = pOldMetaFile; } -void OutputDevice::SetFont( const Font& rNewFont ) -{ - - Font aFont( rNewFont ); - aFont.SetLanguage(rNewFont.GetLanguage()); - if ( mnDrawMode & (DRAWMODE_BLACKTEXT | DRAWMODE_WHITETEXT | DRAWMODE_GRAYTEXT | DRAWMODE_GHOSTEDTEXT | DRAWMODE_SETTINGSTEXT | - DRAWMODE_BLACKFILL | DRAWMODE_WHITEFILL | DRAWMODE_GRAYFILL | DRAWMODE_NOFILL | - DRAWMODE_GHOSTEDFILL | DRAWMODE_SETTINGSFILL ) ) - { - Color aTextColor( aFont.GetColor() ); - - if ( mnDrawMode & DRAWMODE_BLACKTEXT ) - aTextColor = Color( COL_BLACK ); - else if ( mnDrawMode & DRAWMODE_WHITETEXT ) - aTextColor = Color( COL_WHITE ); - else if ( mnDrawMode & DRAWMODE_GRAYTEXT ) - { - const sal_uInt8 cLum = aTextColor.GetLuminance(); - aTextColor = Color( cLum, cLum, cLum ); - } - else if ( mnDrawMode & DRAWMODE_SETTINGSTEXT ) - aTextColor = GetSettings().GetStyleSettings().GetFontColor(); - - if ( mnDrawMode & DRAWMODE_GHOSTEDTEXT ) - { - aTextColor = Color( (aTextColor.GetRed() >> 1 ) | 0x80, - (aTextColor.GetGreen() >> 1 ) | 0x80, - (aTextColor.GetBlue() >> 1 ) | 0x80 ); - } - - aFont.SetColor( aTextColor ); - - bool bTransFill = aFont.IsTransparent(); - if ( !bTransFill ) - { - Color aTextFillColor( aFont.GetFillColor() ); - - if ( mnDrawMode & DRAWMODE_BLACKFILL ) - aTextFillColor = Color( COL_BLACK ); - else if ( mnDrawMode & DRAWMODE_WHITEFILL ) - aTextFillColor = Color( COL_WHITE ); - else if ( mnDrawMode & DRAWMODE_GRAYFILL ) - { - const sal_uInt8 cLum = aTextFillColor.GetLuminance(); - aTextFillColor = Color( cLum, cLum, cLum ); - } - else if( mnDrawMode & DRAWMODE_SETTINGSFILL ) - aTextFillColor = GetSettings().GetStyleSettings().GetWindowColor(); - else if ( mnDrawMode & DRAWMODE_NOFILL ) - { - aTextFillColor = Color( COL_TRANSPARENT ); - bTransFill = true; - } - - if ( !bTransFill && (mnDrawMode & DRAWMODE_GHOSTEDFILL) ) - { - aTextFillColor = Color( (aTextFillColor.GetRed() >> 1) | 0x80, - (aTextFillColor.GetGreen() >> 1) | 0x80, - (aTextFillColor.GetBlue() >> 1) | 0x80 ); - } - - aFont.SetFillColor( aTextFillColor ); - } - } - - if ( mpMetaFile ) - { - mpMetaFile->AddAction( new MetaFontAction( aFont ) ); - // the color and alignment actions don't belong here - // TODO: get rid of them without breaking anything... - mpMetaFile->AddAction( new MetaTextAlignAction( aFont.GetAlign() ) ); - mpMetaFile->AddAction( new MetaTextFillColorAction( aFont.GetFillColor(), !aFont.IsTransparent() ) ); - } - - if ( !maFont.IsSameInstance( aFont ) ) - { - // Optimization MT/HDU: COL_TRANSPARENT means SetFont should ignore the font color, - // because SetTextColor() is used for this. - // #i28759# maTextColor might have been changed behind our back, commit then, too. - if( aFont.GetColor() != COL_TRANSPARENT - && (aFont.GetColor() != maFont.GetColor() || aFont.GetColor() != maTextColor ) ) - { - maTextColor = aFont.GetColor(); - mbInitTextColor = true; - if( mpMetaFile ) - mpMetaFile->AddAction( new MetaTextColorAction( aFont.GetColor() ) ); - } - maFont = aFont; - mbNewFont = true; - - if( mpAlphaVDev ) - { - // #i30463# - // Since SetFont might change the text color, apply that only - // selectively to alpha vdev (which normally paints opaque text - // with COL_BLACK) - if( aFont.GetColor() != COL_TRANSPARENT ) - { - mpAlphaVDev->SetTextColor( COL_BLACK ); - aFont.SetColor( COL_TRANSPARENT ); - } - - mpAlphaVDev->SetFont( aFont ); - } - } -} - SalLayout* OutputDevice::getFallbackFont(ImplFontEntry &rFallbackFont, FontSelectPattern &rFontSelData, int nFallbackLevel, ImplLayoutArgs& rLayoutArgs) const diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx index 4e65d98657a2..9fab8b434e20 100644 --- a/vcl/source/outdev/outdev.cxx +++ b/vcl/source/outdev/outdev.cxx @@ -78,20 +78,6 @@ namespace { #endif -bool OutputDevice::ImplIsAntiparallel() const -{ - bool bRet = false; - if( AcquireGraphics() ) - { - if( ( (mpGraphics->GetLayout() & SAL_LAYOUT_BIDI_RTL) && ! IsRTLEnabled() ) || - ( ! (mpGraphics->GetLayout() & SAL_LAYOUT_BIDI_RTL) && IsRTLEnabled() ) ) - { - bRet = true; - } - } - return bRet; -} - OutputDevice::OutputDevice() : maRegion(true), maFillColor( COL_WHITE ), @@ -451,6 +437,57 @@ bool OutputDevice::supportsOperation( OutDevSupportType eType ) const return bHasSupport; } +void OutputDevice::ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY, + int nOrientation ) +{ + if ( (nOrientation >= 0) && !(nOrientation % 900) ) + { + if ( (nOrientation >= 3600) ) + nOrientation %= 3600; + + if ( nOrientation ) + { + rX -= nOriginX; + rY -= nOriginY; + + if ( nOrientation == 900 ) + { + long nTemp = rX; + rX = rY; + rY = -nTemp; + } + else if ( nOrientation == 1800 ) + { + rX = -rX; + rY = -rY; + } + else /* ( nOrientation == 2700 ) */ + { + long nTemp = rX; + rX = -rY; + rY = nTemp; + } + + rX += nOriginX; + rY += nOriginY; + } + } + else + { + double nRealOrientation = nOrientation*F_PI1800; + double nCos = cos( nRealOrientation ); + double nSin = sin( nRealOrientation ); + + // Translation... + long nX = rX-nOriginX; + long nY = rY-nOriginY; + + // Rotation... + rX = +((long)(nCos*nX + nSin*nY)) + nOriginX; + rY = -((long)(nSin*nX - nCos*nY)) + nOriginY; + } +} + void OutputDevice::EnableRTL( bool bEnable ) { mbEnableRTL = bEnable; @@ -464,6 +501,21 @@ bool OutputDevice::HasMirroredGraphics() const return ( AcquireGraphics() && (mpGraphics->GetLayout() & SAL_LAYOUT_BIDI_RTL) ); } + +bool OutputDevice::ImplIsAntiparallel() const +{ + bool bRet = false; + if( AcquireGraphics() ) + { + if( ( (mpGraphics->GetLayout() & SAL_LAYOUT_BIDI_RTL) && ! IsRTLEnabled() ) || + ( ! (mpGraphics->GetLayout() & SAL_LAYOUT_BIDI_RTL) && IsRTLEnabled() ) ) + { + bRet = true; + } + } + return bRet; +} + // note: the coordiantes to be remirrored are in frame coordiantes ! void OutputDevice::ReMirror( Point &rPoint ) const diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx index e0602678f12e..43636991b028 100644 --- a/vcl/source/outdev/outdevstate.cxx +++ b/vcl/source/outdev/outdevstate.cxx @@ -19,6 +19,10 @@ #include <sal/types.h> +#include <vcl/outdev.hxx> +#include <vcl/virdev.hxx> +#include <vcl/settings.hxx> + #include <vcl/mapmod.hxx> #include <vcl/region.hxx> #include <vcl/font.hxx> @@ -55,4 +59,111 @@ OutDevState::~OutDevState() delete mpRefPoint; } +void OutputDevice::SetFont( const Font& rNewFont ) +{ + + Font aFont( rNewFont ); + aFont.SetLanguage(rNewFont.GetLanguage()); + if ( mnDrawMode & (DRAWMODE_BLACKTEXT | DRAWMODE_WHITETEXT | DRAWMODE_GRAYTEXT | DRAWMODE_GHOSTEDTEXT | DRAWMODE_SETTINGSTEXT | + DRAWMODE_BLACKFILL | DRAWMODE_WHITEFILL | DRAWMODE_GRAYFILL | DRAWMODE_NOFILL | + DRAWMODE_GHOSTEDFILL | DRAWMODE_SETTINGSFILL ) ) + { + Color aTextColor( aFont.GetColor() ); + + if ( mnDrawMode & DRAWMODE_BLACKTEXT ) + aTextColor = Color( COL_BLACK ); + else if ( mnDrawMode & DRAWMODE_WHITETEXT ) + aTextColor = Color( COL_WHITE ); + else if ( mnDrawMode & DRAWMODE_GRAYTEXT ) + { + const sal_uInt8 cLum = aTextColor.GetLuminance(); + aTextColor = Color( cLum, cLum, cLum ); + } + else if ( mnDrawMode & DRAWMODE_SETTINGSTEXT ) + aTextColor = GetSettings().GetStyleSettings().GetFontColor(); + + if ( mnDrawMode & DRAWMODE_GHOSTEDTEXT ) + { + aTextColor = Color( (aTextColor.GetRed() >> 1 ) | 0x80, + (aTextColor.GetGreen() >> 1 ) | 0x80, + (aTextColor.GetBlue() >> 1 ) | 0x80 ); + } + + aFont.SetColor( aTextColor ); + + bool bTransFill = aFont.IsTransparent(); + if ( !bTransFill ) + { + Color aTextFillColor( aFont.GetFillColor() ); + + if ( mnDrawMode & DRAWMODE_BLACKFILL ) + aTextFillColor = Color( COL_BLACK ); + else if ( mnDrawMode & DRAWMODE_WHITEFILL ) + aTextFillColor = Color( COL_WHITE ); + else if ( mnDrawMode & DRAWMODE_GRAYFILL ) + { + const sal_uInt8 cLum = aTextFillColor.GetLuminance(); + aTextFillColor = Color( cLum, cLum, cLum ); + } + else if( mnDrawMode & DRAWMODE_SETTINGSFILL ) + aTextFillColor = GetSettings().GetStyleSettings().GetWindowColor(); + else if ( mnDrawMode & DRAWMODE_NOFILL ) + { + aTextFillColor = Color( COL_TRANSPARENT ); + bTransFill = true; + } + + if ( !bTransFill && (mnDrawMode & DRAWMODE_GHOSTEDFILL) ) + { + aTextFillColor = Color( (aTextFillColor.GetRed() >> 1) | 0x80, + (aTextFillColor.GetGreen() >> 1) | 0x80, + (aTextFillColor.GetBlue() >> 1) | 0x80 ); + } + + aFont.SetFillColor( aTextFillColor ); + } + } + + if ( mpMetaFile ) + { + mpMetaFile->AddAction( new MetaFontAction( aFont ) ); + // the color and alignment actions don't belong here + // TODO: get rid of them without breaking anything... + mpMetaFile->AddAction( new MetaTextAlignAction( aFont.GetAlign() ) ); + mpMetaFile->AddAction( new MetaTextFillColorAction( aFont.GetFillColor(), !aFont.IsTransparent() ) ); + } + + if ( !maFont.IsSameInstance( aFont ) ) + { + // Optimization MT/HDU: COL_TRANSPARENT means SetFont should ignore the font color, + // because SetTextColor() is used for this. + // #i28759# maTextColor might have been changed behind our back, commit then, too. + if( aFont.GetColor() != COL_TRANSPARENT + && (aFont.GetColor() != maFont.GetColor() || aFont.GetColor() != maTextColor ) ) + { + maTextColor = aFont.GetColor(); + mbInitTextColor = true; + if( mpMetaFile ) + mpMetaFile->AddAction( new MetaTextColorAction( aFont.GetColor() ) ); + } + maFont = aFont; + mbNewFont = true; + + if( mpAlphaVDev ) + { + // #i30463# + // Since SetFont might change the text color, apply that only + // selectively to alpha vdev (which normally paints opaque text + // with COL_BLACK) + if( aFont.GetColor() != COL_TRANSPARENT ) + { + mpAlphaVDev->SetTextColor( COL_BLACK ); + aFont.SetColor( COL_TRANSPARENT ); + } + + mpAlphaVDev->SetFont( aFont ); + } + } +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/outdev/textline.cxx b/vcl/source/outdev/textline.cxx index 11e325080f50..862e1ac3b8dd 100644 --- a/vcl/source/outdev/textline.cxx +++ b/vcl/source/outdev/textline.cxx @@ -60,13 +60,13 @@ void OutputDevice::ImplInitAboveTextLineSize() mpFontEntry->maMetric.ImplInitAboveTextLineSize(); } -static void ImplDrawWavePixel( long nOriginX, long nOriginY, - long nCurX, long nCurY, - short nOrientation, - SalGraphics* pGraphics, - OutputDevice* pOutDev, - bool bDrawPixAsRect, - long nPixWidth, long nPixHeight ) +void OutputDevice::ImplDrawWavePixel( long nOriginX, long nOriginY, + long nCurX, long nCurY, + short nOrientation, + SalGraphics* pGraphics, + OutputDevice* pOutDev, + bool bDrawPixAsRect, + long nPixWidth, long nPixHeight ) { if ( nOrientation ) ImplRotatePos( nOriginX, nOriginY, nCurX, nCurY, nOrientation ); |