24#include <osl/diagnose.h>
33 const uno::Reference< rendering::XBitmap >& rBitmap ) :
34 CanvasGraphicHelper( rParentCanvas ),
37 OSL_ENSURE(
mxBitmap.is(),
"ImplBitmap::ImplBitmap: no valid bitmap" );
39 uno::Reference< rendering::XBitmapCanvas > xBitmapCanvas( rBitmap,
41 if( xBitmapCanvas.is() )
42 mpBitmapCanvas = std::make_shared<ImplBitmapCanvas>(
43 uno::Reference< rendering::XBitmapCanvas >(rBitmap,
47 ImplBitmap::~ImplBitmap()
51 bool ImplBitmap::draw()
const
55 OSL_ENSURE( pCanvas && pCanvas->getUNOCanvas().is(),
56 "ImplBitmap::draw: invalid canvas" );
59 !pCanvas->getUNOCanvas().is() )
65 pCanvas->getUNOCanvas()->drawBitmap(
mxBitmap,
66 pCanvas->getViewState(),
72 void ImplBitmap::drawAlphaModulated(
double nAlphaModulation )
const
76 OSL_ENSURE( pCanvas && pCanvas->getUNOCanvas().is(),
77 "ImplBitmap::drawAlphaModulated(): invalid canvas" );
80 !pCanvas->getUNOCanvas().is() )
85 rendering::RenderState aLocalState( getRenderState() );
86 uno::Sequence<rendering::ARGBColor> aCol { { nAlphaModulation, 1.0, 1.0, 1.0 } };
87 aLocalState.DeviceColor =
88 pCanvas->getUNOCanvas()->getDevice()->getDeviceColorSpace()->convertFromARGB(aCol);
91 pCanvas->getUNOCanvas()->drawBitmapModulated(
mxBitmap,
92 pCanvas->getViewState(),
98 return mpBitmapCanvas;
101 uno::Reference< rendering::XBitmap > ImplBitmap::getUNOBitmap()
const
uno::Reference< rendering::XBitmap > mxBitmap
ImplBitmap(const CanvasSharedPtr &rParentCanvas, const css::uno::Reference< css::rendering::XBitmap > &rBitmap)
std::shared_ptr< BitmapCanvas > BitmapCanvasSharedPtr
std::shared_ptr< Canvas > CanvasSharedPtr