diff options
Diffstat (limited to 'canvas/source/directx/dx_impltools.cxx')
-rw-r--r-- | canvas/source/directx/dx_impltools.cxx | 140 |
1 files changed, 70 insertions, 70 deletions
diff --git a/canvas/source/directx/dx_impltools.cxx b/canvas/source/directx/dx_impltools.cxx index 3781d2687fde..fb4bd9e19460 100644 --- a/canvas/source/directx/dx_impltools.cxx +++ b/canvas/source/directx/dx_impltools.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -73,7 +73,7 @@ namespace dxcanvas namespace tools { ::basegfx::B2DPolyPolygon polyPolygonFromXPolyPolygon2D( const uno::Reference< rendering::XPolyPolygon2D >& xPoly ) - { + { LinePolyPolygon* pPolyImpl = dynamic_cast< LinePolyPolygon* >( xPoly.get() ); if( pPolyImpl ) @@ -169,8 +169,8 @@ namespace dxcanvas static_cast<Gdiplus::REAL>(rMatrix.get(1,2)) ); } - void gdiPlusMatrixFromAffineMatrix2D( Gdiplus::Matrix& rGdiplusMatrix, - const geometry::AffineMatrix2D& rMatrix ) + void gdiPlusMatrixFromAffineMatrix2D( Gdiplus::Matrix& rGdiplusMatrix, + const geometry::AffineMatrix2D& rMatrix ) { rGdiplusMatrix.SetElements( static_cast<Gdiplus::REAL>(rMatrix.m00), static_cast<Gdiplus::REAL>(rMatrix.m10), @@ -186,7 +186,7 @@ namespace dxcanvas // out of it inline Gdiplus::PointF implGdiPlusPointFromRealPoint2D( const ::com::sun::star::geometry::RealPoint2D& rPoint ) { - return Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.X), + return Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.X), static_cast<Gdiplus::REAL>(rPoint.Y) ); } @@ -194,7 +194,7 @@ namespace dxcanvas ::std::vector< Gdiplus::PointF >& rPoints, const ::basegfx::B2DPolygon& rPoly, bool bNoLineJoin) - { + { const sal_uInt32 nPoints( rPoly.count() ); if( nPoints < 2 ) @@ -219,15 +219,15 @@ namespace dxcanvas for( sal_uInt32 nCurrPoint=0; nCurrPoint<nPoints; ++nCurrPoint ) { const ::basegfx::B2DPoint& rPoint( rPoly.getB2DPoint( nCurrPoint ) ); - rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), + rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), static_cast<Gdiplus::REAL>(rPoint.getY()) ); const ::basegfx::B2DPoint& rControlPointA( rPoly.getNextControlPoint( nCurrPoint ) ); - rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rControlPointA.getX()), + rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rControlPointA.getX()), static_cast<Gdiplus::REAL>(rControlPointA.getY()) ); const ::basegfx::B2DPoint& rControlPointB( rPoly.getPrevControlPoint( (nCurrPoint + 1) % nPoints) ); - rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rControlPointB.getX()), + rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rControlPointB.getX()), static_cast<Gdiplus::REAL>(rControlPointB.getY()) ); } @@ -237,7 +237,7 @@ namespace dxcanvas // control points for the last point, see // above) const ::basegfx::B2DPoint& rPoint( rPoly.getB2DPoint(0) ); - rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), + rPoints[nCurrOutput++] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), static_cast<Gdiplus::REAL>(rPoint.getY()) ); if(bNoLineJoin && nCurrOutput > 7) @@ -286,7 +286,7 @@ namespace dxcanvas for( sal_uInt32 nCurrPoint=0; nCurrPoint<nPoints; ++nCurrPoint ) { const ::basegfx::B2DPoint& rPoint( rPoly.getB2DPoint( nCurrPoint ) ); - rPoints[nCurrPoint] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), + rPoints[nCurrPoint] = Gdiplus::PointF( static_cast<Gdiplus::REAL>(rPoint.getX()), static_cast<Gdiplus::REAL>(rPoint.getY()) ); } @@ -322,17 +322,17 @@ namespace dxcanvas Gdiplus::Rect gdiPlusRectFromIntegerRectangle2D( const geometry::IntegerRectangle2D& rRect ) { - return Gdiplus::Rect( rRect.X1, - rRect.Y1, - rRect.X2 - rRect.X1, + return Gdiplus::Rect( rRect.X1, + rRect.Y1, + rRect.X2 - rRect.X1, rRect.Y2 - rRect.Y1 ); } Gdiplus::RectF gdiPlusRectFFromRectangle2D( const geometry::RealRectangle2D& rRect ) { - return Gdiplus::RectF( static_cast<Gdiplus::REAL>(rRect.X1), - static_cast<Gdiplus::REAL>(rRect.Y1), - static_cast<Gdiplus::REAL>(rRect.X2 - rRect.X1), + return Gdiplus::RectF( static_cast<Gdiplus::REAL>(rRect.X1), + static_cast<Gdiplus::REAL>(rRect.Y1), + static_cast<Gdiplus::REAL>(rRect.X2 - rRect.X1), static_cast<Gdiplus::REAL>(rRect.Y2 - rRect.Y1) ); } @@ -354,19 +354,19 @@ namespace dxcanvas geometry::RealRectangle2D realRectangle2DFromGdiPlusRectF( const Gdiplus::RectF& rRect ) { return geometry::RealRectangle2D( rRect.X, rRect.Y, - rRect.X + rRect.Width, + rRect.X + rRect.Width, rRect.Y + rRect.Height ); } - ::basegfx::B2DPoint b2dPointFromGdiPlusPointF( const Gdiplus::PointF& rPoint ) + ::basegfx::B2DPoint b2dPointFromGdiPlusPointF( const Gdiplus::PointF& rPoint ) { return ::basegfx::B2DPoint( rPoint.X, rPoint.Y ); } - ::basegfx::B2DRange b2dRangeFromGdiPlusRectF( const Gdiplus::RectF& rRect ) + ::basegfx::B2DRange b2dRangeFromGdiPlusRectF( const Gdiplus::RectF& rRect ) { return ::basegfx::B2DRange( rRect.X, rRect.Y, - rRect.X + rRect.Width, + rRect.X + rRect.Width, rRect.Y + rRect.Height ); } @@ -375,10 +375,10 @@ namespace dxcanvas // TODO(F1): handle color space conversions, when defined on canvas/graphicDevice uno::Sequence< double > aRet(4); - aRet[0] = ((rColor >> 16) & 0xFF) / 255.0; // red - aRet[1] = ((rColor >> 8) & 0xFF) / 255.0; // green - aRet[2] = (rColor & 0xFF) / 255.0; // blue - aRet[3] = ((rColor >> 24) & 0xFF) / 255.0; // alpha + aRet[0] = ((rColor >> 16) & 0xFF) / 255.0; // red + aRet[1] = ((rColor >> 8) & 0xFF) / 255.0; // green + aRet[2] = (rColor & 0xFF) / 255.0; // blue + aRet[3] = ((rColor >> 24) & 0xFF) / 255.0; // alpha return aRet; } @@ -388,17 +388,17 @@ namespace dxcanvas // TODO(F1): handle color space conversions, when defined on canvas/graphicDevice uno::Sequence< sal_Int8 > aRet(4); - aRet[0] = static_cast<sal_Int8>((rColor >> 16) & 0xFF); // red - aRet[1] = static_cast<sal_Int8>((rColor >> 8) & 0xFF); // green - aRet[2] = static_cast<sal_Int8>(rColor & 0xFF); // blue - aRet[3] = static_cast<sal_Int8>((rColor >> 24) & 0xFF); // alpha + aRet[0] = static_cast<sal_Int8>((rColor >> 16) & 0xFF); // red + aRet[1] = static_cast<sal_Int8>((rColor >> 8) & 0xFF); // green + aRet[2] = static_cast<sal_Int8>(rColor & 0xFF); // blue + aRet[3] = static_cast<sal_Int8>((rColor >> 24) & 0xFF); // alpha return aRet; } Gdiplus::ARGB sequenceToArgb( const uno::Sequence< sal_Int8 >& rColor ) { - ENSURE_OR_THROW( rColor.getLength() > 2, + ENSURE_OR_THROW( rColor.getLength() > 2, "sequenceToArgb: need at least three channels" ); // TODO(F1): handle color space conversions, when defined on canvas/graphicDevice @@ -414,7 +414,7 @@ namespace dxcanvas Gdiplus::ARGB sequenceToArgb( const uno::Sequence< double >& rColor ) { - ENSURE_OR_THROW( rColor.getLength() > 2, + ENSURE_OR_THROW( rColor.getLength() > 2, "sequenceToColor: need at least three channels" ); // TODO(F1): handle color space conversions, when defined on canvas/graphicDevice @@ -424,9 +424,9 @@ namespace dxcanvas ::canvas::tools::verifyRange(rColor[1],0.0,1.0); ::canvas::tools::verifyRange(rColor[2],0.0,1.0); - aColor = - (static_cast<sal_uInt8>( ::basegfx::fround( 255*rColor[0] ) ) << 16) | - (static_cast<sal_uInt8>( ::basegfx::fround( 255*rColor[1] ) ) << 8) | + aColor = + (static_cast<sal_uInt8>( ::basegfx::fround( 255*rColor[0] ) ) << 16) | + (static_cast<sal_uInt8>( ::basegfx::fround( 255*rColor[1] ) ) << 8) | static_cast<sal_uInt8>( ::basegfx::fround( 255*rColor[2] ) ); if( rColor.getLength() > 3 ) @@ -454,9 +454,9 @@ namespace dxcanvas // TODO(F1): Closed/open polygons // convert from RealPoint2D array to Gdiplus::PointF array - ::std::transform( const_cast< uno::Sequence< geometry::RealPoint2D >& >(points[nCurrPoly]).getArray(), - const_cast< uno::Sequence< geometry::RealPoint2D >& >(points[nCurrPoly]).getArray()+nCurrSize, - aPoints.begin(), + ::std::transform( const_cast< uno::Sequence< geometry::RealPoint2D >& >(points[nCurrPoly]).getArray(), + const_cast< uno::Sequence< geometry::RealPoint2D >& >(points[nCurrPoly]).getArray()+nCurrSize, + aPoints.begin(), implGdiPlusPointFromRealPoint2D ); pRes->AddLines( &aPoints[0], nCurrSize ); @@ -468,8 +468,8 @@ namespace dxcanvas GraphicsPathSharedPtr graphicsPathFromB2DPolygon( const ::basegfx::B2DPolygon& rPoly, bool bNoLineJoin ) { - GraphicsPathSharedPtr pRes( new Gdiplus::GraphicsPath() ); - ::std::vector< Gdiplus::PointF > aPoints; + GraphicsPathSharedPtr pRes( new Gdiplus::GraphicsPath() ); + ::std::vector< Gdiplus::PointF > aPoints; graphicsPathFromB2DPolygon( pRes, aPoints, rPoly, bNoLineJoin ); @@ -478,14 +478,14 @@ namespace dxcanvas GraphicsPathSharedPtr graphicsPathFromB2DPolyPolygon( const ::basegfx::B2DPolyPolygon& rPoly, bool bNoLineJoin ) { - GraphicsPathSharedPtr pRes( new Gdiplus::GraphicsPath() ); - ::std::vector< Gdiplus::PointF > aPoints; + GraphicsPathSharedPtr pRes( new Gdiplus::GraphicsPath() ); + ::std::vector< Gdiplus::PointF > aPoints; const sal_uInt32 nPolies( rPoly.count() ); for( sal_uInt32 nCurrPoly=0; nCurrPoly<nPolies; ++nCurrPoly ) { - graphicsPathFromB2DPolygon( pRes, - aPoints, + graphicsPathFromB2DPolygon( pRes, + aPoints, rPoly.getB2DPolygon( nCurrPoly ), bNoLineJoin); } @@ -509,38 +509,38 @@ namespace dxcanvas } bool drawGdiPlusBitmap( const GraphicsSharedPtr& rGraphics, - const BitmapSharedPtr& rBitmap ) + const BitmapSharedPtr& rBitmap ) { - Gdiplus::PointF aPoint; + Gdiplus::PointF aPoint; return (Gdiplus::Ok == rGraphics->DrawImage( rBitmap.get(), aPoint ) ); } bool drawDIBits( const GraphicsSharedPtr& rGraphics, - const BITMAPINFO& rBI, - const void* pBits ) + const BITMAPINFO& rBI, + const void* pBits ) { - BitmapSharedPtr pBitmap( - Gdiplus::Bitmap::FromBITMAPINFO( &rBI, + BitmapSharedPtr pBitmap( + Gdiplus::Bitmap::FromBITMAPINFO( &rBI, (void*)pBits ) ); return drawGdiPlusBitmap( rGraphics, pBitmap ); } - + bool drawRGBABits( const GraphicsSharedPtr& rGraphics, - const RawRGBABitmap& rRawRGBAData ) + const RawRGBABitmap& rRawRGBAData ) { - BitmapSharedPtr pBitmap( new Gdiplus::Bitmap( rRawRGBAData.mnWidth, + BitmapSharedPtr pBitmap( new Gdiplus::Bitmap( rRawRGBAData.mnWidth, rRawRGBAData.mnHeight, PixelFormat32bppARGB ) ); - + Gdiplus::BitmapData aBmpData; - aBmpData.Width = rRawRGBAData.mnWidth; - aBmpData.Height = rRawRGBAData.mnHeight; - aBmpData.Stride = 4*aBmpData.Width; // bottom-up format + aBmpData.Width = rRawRGBAData.mnWidth; + aBmpData.Height = rRawRGBAData.mnHeight; + aBmpData.Stride = 4*aBmpData.Width; // bottom-up format aBmpData.PixelFormat = PixelFormat32bppARGB; - aBmpData.Scan0 = rRawRGBAData.mpBitmapData.get(); + aBmpData.Scan0 = rRawRGBAData.mpBitmapData.get(); const Gdiplus::Rect aRect( 0,0,aBmpData.Width,aBmpData.Height ); if( Gdiplus::Ok != pBitmap->LockBits( &aRect, @@ -550,7 +550,7 @@ namespace dxcanvas { return false; } - + // commit data to bitmap pBitmap->UnlockBits( &aBmpData ); @@ -574,8 +574,8 @@ namespace dxcanvas // ================================================= const geometry::IntegerSize2D aBmpSize( xBitmap->getSize() ); - BitmapSharedPtr pBitmap; - + BitmapSharedPtr pBitmap; + if( xBitmap->hasAlpha() ) { // TODO(P2): At least for the alpha bitmap case, it @@ -595,10 +595,10 @@ namespace dxcanvas aBmpSize.Height, PixelFormat24bppRGB ) ); } - + GraphicsSharedPtr pGraphics(createGraphicsFromBitmap(pBitmap)); tools::setupGraphics(*pGraphics); - if( !drawVCLBitmapFromXBitmap( + if( !drawVCLBitmapFromXBitmap( pGraphics, xBitmap) ) { @@ -609,7 +609,7 @@ namespace dxcanvas } } - CanvasFont::ImplRef canvasFontFromXFont( const uno::Reference< rendering::XCanvasFont >& xFont ) + CanvasFont::ImplRef canvasFontFromXFont( const uno::Reference< rendering::XCanvasFont >& xFont ) { CanvasFont* pCanvasFont = dynamic_cast< CanvasFont* >(xFont.get()); @@ -620,15 +620,15 @@ namespace dxcanvas } void setModulateImageAttributes( Gdiplus::ImageAttributes& o_rAttr, - double nRedModulation, - double nGreenModulation, - double nBlueModulation, - double nAlphaModulation ) + double nRedModulation, + double nGreenModulation, + double nBlueModulation, + double nAlphaModulation ) { - // This gets rather verbose, but we have to setup a color + // This gets rather verbose, but we have to setup a color // transformation matrix, in order to incorporate the global // alpha value mfAlpha into the bitmap rendering. - Gdiplus::ColorMatrix aColorMatrix; + Gdiplus::ColorMatrix aColorMatrix; aColorMatrix.m[0][0] = static_cast<Gdiplus::REAL>(nRedModulation); aColorMatrix.m[0][1] = 0.0; @@ -661,7 +661,7 @@ namespace dxcanvas aColorMatrix.m[4][4] = 1.0; o_rAttr.SetColorMatrix( &aColorMatrix, - Gdiplus::ColorMatrixFlagsDefault, + Gdiplus::ColorMatrixFlagsDefault, Gdiplus::ColorAdjustTypeDefault ); } |