summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cppcanvas/source/mtfrenderer/transparencygroupaction.cxx')
-rw-r--r--cppcanvas/source/mtfrenderer/transparencygroupaction.cxx208
1 files changed, 104 insertions, 104 deletions
diff --git a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx b/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
index d4c204feb6de..cab85f36a59c 100644
--- a/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
+++ b/cppcanvas/source/mtfrenderer/transparencygroupaction.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
@@ -72,26 +72,26 @@
using namespace ::com::sun::star;
-namespace cppcanvas
-{
+namespace cppcanvas
+{
namespace internal
{
// free support functions
// ======================
namespace
{
- class TransparencyGroupAction : public Action, private ::boost::noncopyable
- {
- public:
+ class TransparencyGroupAction : public Action, private ::boost::noncopyable
+ {
+ public:
/** Create new transparency group action.
@param rGroupMtf
Metafile that groups all actions to be rendered
transparent
-
+
@param rParms
Render parameters
-
+
@param rDstPoint
Left, top edge of destination, in current state
coordinate system
@@ -103,13 +103,13 @@ namespace cppcanvas
@param nAlpha
Alpha value, must be in the range [0,1]
*/
- TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- double nAlpha,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState );
+ TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ double nAlpha,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState );
/** Create new transparency group action.
@@ -132,41 +132,41 @@ namespace cppcanvas
Size of the transparency group object, in current
state coordinate system.
*/
- TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- GradientAutoPtr& rAlphaGradient,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState );
+ TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ GradientAutoPtr& rAlphaGradient,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState );
virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation ) const;
virtual bool render( const ::basegfx::B2DHomMatrix& rTransformation,
- const Subset& rSubset ) const;
+ const Subset& rSubset ) const;
virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const;
- virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation,
- const Subset& rSubset ) const;
+ virtual ::basegfx::B2DRange getBounds( const ::basegfx::B2DHomMatrix& rTransformation,
+ const Subset& rSubset ) const;
virtual sal_Int32 getActionCount() const;
private:
- MtfAutoPtr mpGroupMtf;
- GradientAutoPtr mpAlphaGradient;
+ MtfAutoPtr mpGroupMtf;
+ GradientAutoPtr mpAlphaGradient;
- const Renderer::Parameters maParms;
+ const Renderer::Parameters maParms;
- const ::basegfx::B2DSize maDstSize;
+ const ::basegfx::B2DSize maDstSize;
- mutable uno::Reference< rendering::XBitmap > mxBufferBitmap; // contains last rendered version
- mutable ::basegfx::B2DHomMatrix maLastTransformation; // contains last active transformation
- mutable Subset maLastSubset; // contains last effective subset
+ mutable uno::Reference< rendering::XBitmap > mxBufferBitmap; // contains last rendered version
+ mutable ::basegfx::B2DHomMatrix maLastTransformation; // contains last active transformation
+ mutable Subset maLastSubset; // contains last effective subset
// transformation for
- // mxBufferBitmap content
- CanvasSharedPtr mpCanvas;
- rendering::RenderState maState;
- const double mnAlpha;
+ // mxBufferBitmap content
+ CanvasSharedPtr mpCanvas;
+ rendering::RenderState maState;
+ const double mnAlpha;
};
@@ -174,24 +174,24 @@ namespace cppcanvas
moved rPoint away, and scaled according to the ratio
given by src and dst size.
*/
- void implSetupTransform( rendering::RenderState& rRenderState,
- const ::basegfx::B2DPoint& rDstPoint )
+ void implSetupTransform( rendering::RenderState& rRenderState,
+ const ::basegfx::B2DPoint& rDstPoint )
{
- ::basegfx::B2DHomMatrix aLocalTransformation;
-
- aLocalTransformation.translate( rDstPoint.getX(),
+ ::basegfx::B2DHomMatrix aLocalTransformation;
+
+ aLocalTransformation.translate( rDstPoint.getX(),
rDstPoint.getY() );
::canvas::tools::appendToRenderState( rRenderState,
aLocalTransformation );
}
- TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- double nAlpha,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState ) :
+ TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ double nAlpha,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState ) :
mpGroupMtf( rGroupMtf ),
mpAlphaGradient(),
maParms( rParms ),
@@ -206,10 +206,10 @@ namespace cppcanvas
implSetupTransform( maState, rDstPoint );
// correct clip (which is relative to original transform)
- tools::modifyClip( maState,
- rState,
- rCanvas,
- rDstPoint,
+ tools::modifyClip( maState,
+ rState,
+ rCanvas,
+ rDstPoint,
NULL,
NULL );
@@ -217,13 +217,13 @@ namespace cppcanvas
maLastSubset.mnSubsetEnd = -1;
}
- TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- GradientAutoPtr& rAlphaGradient,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState ) :
+ TransparencyGroupAction::TransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ GradientAutoPtr& rAlphaGradient,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState ) :
mpGroupMtf( rGroupMtf ),
mpAlphaGradient( rAlphaGradient ),
maParms( rParms ),
@@ -238,10 +238,10 @@ namespace cppcanvas
implSetupTransform( maState, rDstPoint );
// correct clip (which is relative to original transform)
- tools::modifyClip( maState,
- rState,
- rCanvas,
- rDstPoint,
+ tools::modifyClip( maState,
+ rState,
+ rCanvas,
+ rDstPoint,
NULL,
NULL );
@@ -256,8 +256,8 @@ namespace cppcanvas
// into the direction of having a direct GDIMetaFile2XCanvas
// renderer, and maybe a separate metafile XCanvas
// implementation.
- bool TransparencyGroupAction::render( const ::basegfx::B2DHomMatrix& rTransformation,
- const Subset& rSubset ) const
+ bool TransparencyGroupAction::render( const ::basegfx::B2DHomMatrix& rTransformation,
+ const Subset& rSubset ) const
{
RTL_LOGFILE_CONTEXT( aLog, "::cppcanvas::internal::TransparencyGroupAction::render()" );
RTL_LOGFILE_CONTEXT_TRACE1( aLog, "::cppcanvas::internal::TransparencyGroupAction: 0x%X", this );
@@ -276,7 +276,7 @@ namespace cppcanvas
// does not matter, remove them before comparing
aTotalTransform.set( 0, 2, 0.0 );
aTotalTransform.set( 1, 2, 0.0 );
-
+
// if there's no buffer bitmap, or as soon as the
// total transformation changes, we've got to
// re-render the bitmap
@@ -285,16 +285,16 @@ namespace cppcanvas
rSubset.mnSubsetBegin != maLastSubset.mnSubsetBegin ||
rSubset.mnSubsetEnd != maLastSubset.mnSubsetEnd )
{
- DBG_TESTSOLARMUTEX();
+ DBG_TESTSOLARMUTEX();
// determine total scaling factor of the
// transformation matrix - need to make the bitmap
// large enough
::basegfx::B2DTuple aScale;
::basegfx::B2DTuple aTranslate;
- double nRotate;
- double nShearX;
- if( !aTotalTransform.decompose( aScale,
+ double nRotate;
+ double nShearX;
+ if( !aTotalTransform.decompose( aScale,
aTranslate,
nRotate,
nShearX ) )
@@ -328,7 +328,7 @@ namespace cppcanvas
// metaactions from mpGroupMtf
GDIMetaFile aMtf;
MetaAction* pCurrAct;
- int nCurrActionIndex;
+ int nCurrActionIndex;
// extract subset actions
for( nCurrActionIndex=0,
@@ -409,25 +409,25 @@ namespace cppcanvas
}
}
- aVDev.DrawTransparent( aMtf,
+ aVDev.DrawTransparent( aMtf,
aEmptyPoint,
aOutputSizePixel,
- *mpAlphaGradient );
+ *mpAlphaGradient );
}
else
{
// no subsetting - render whole mtf
- aVDev.DrawTransparent( *mpGroupMtf,
+ aVDev.DrawTransparent( *mpGroupMtf,
aEmptyPoint,
aOutputSizePixel,
*mpAlphaGradient );
}
-
+
// update buffered bitmap and transformation
- BitmapSharedPtr aBmp( VCLFactory::getInstance().createBitmap(
+ BitmapSharedPtr aBmp( VCLFactory::getInstance().createBitmap(
mpCanvas,
- aVDev.GetBitmapEx(
+ aVDev.GetBitmapEx(
aEmptyPoint,
aBitmapSizePixel ) ) );
mxBufferBitmap = aBmp->getUNOBitmap();
@@ -451,7 +451,7 @@ namespace cppcanvas
// Translation*Rotation*Shear*Scale. Thus, to neutralize
// the contained scaling, we've got to right-multiply with
// the inverse.
- ::basegfx::B2ISize aBmpSize(
+ ::basegfx::B2ISize aBmpSize(
::basegfx::unotools::b2ISizeFromIntegerSize2D( mxBufferBitmap->getSize() ) );
::basegfx::B2DHomMatrix aScaleCorrection;
@@ -464,14 +464,14 @@ namespace cppcanvas
#ifdef SPECIAL_DEBUG
aLocalState.Clip.clear();
- aLocalState.DeviceColor =
- ::vcl::unotools::colorToDoubleSequence(
+ aLocalState.DeviceColor =
+ ::vcl::unotools::colorToDoubleSequence(
::Color( 0x80FF0000 ),
mpCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace() );
if( maState.Clip.is() )
- mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip,
- mpCanvas->getViewState(),
+ mpCanvas->getUNOCanvas()->fillPolyPolygon( maState.Clip,
+ mpCanvas->getViewState(),
aLocalState );
aLocalState.DeviceColor = maState.DeviceColor;
@@ -489,7 +489,7 @@ namespace cppcanvas
// add alpha modulation value to DeviceColor
uno::Sequence<rendering::ARGBColor> aCols(1);
aCols[0] = rendering::ARGBColor( mnAlpha, 1.0, 1.0, 1.0);
- aLocalState.DeviceColor =
+ aLocalState.DeviceColor =
mpCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace()->convertFromARGB(
aCols);
@@ -517,13 +517,13 @@ namespace cppcanvas
return render( rTransformation, aSubset );
}
-
- ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const
+
+ ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation ) const
{
rendering::RenderState aLocalState( maState );
::canvas::tools::prependToRenderState(aLocalState, rTransformation);
-
- return tools::calcDevicePixelBounds(
+
+ return tools::calcDevicePixelBounds(
::basegfx::B2DRange( 0,0,
maDstSize.getX(),
maDstSize.getY() ),
@@ -531,8 +531,8 @@ namespace cppcanvas
aLocalState );
}
- ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation,
- const Subset& rSubset ) const
+ ::basegfx::B2DRange TransparencyGroupAction::getBounds( const ::basegfx::B2DHomMatrix& rTransformation,
+ const Subset& rSubset ) const
{
// TODO(F3): Currently, the bounds for
// TransparencyGroupAction subsets equal those of the
@@ -555,13 +555,13 @@ namespace cppcanvas
}
- ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- double nAlpha,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState )
+ ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ double nAlpha,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState )
{
return ActionSharedPtr( new TransparencyGroupAction(rGroupMtf,
rParms,
@@ -572,13 +572,13 @@ namespace cppcanvas
rState ) );
}
- ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf,
- GradientAutoPtr& rAlphaGradient,
- const Renderer::Parameters& rParms,
- const ::basegfx::B2DPoint& rDstPoint,
- const ::basegfx::B2DVector& rDstSize,
- const CanvasSharedPtr& rCanvas,
- const OutDevState& rState )
+ ActionSharedPtr TransparencyGroupActionFactory::createTransparencyGroupAction( MtfAutoPtr& rGroupMtf,
+ GradientAutoPtr& rAlphaGradient,
+ const Renderer::Parameters& rParms,
+ const ::basegfx::B2DPoint& rDstPoint,
+ const ::basegfx::B2DVector& rDstSize,
+ const CanvasSharedPtr& rCanvas,
+ const OutDevState& rState )
{
return ActionSharedPtr( new TransparencyGroupAction(rGroupMtf,
rAlphaGradient,
@@ -588,7 +588,7 @@ namespace cppcanvas
rCanvas,
rState ) );
}
-
+
}
}