LibreOffice Module canvas (master) 1
|
#include <dx_surfacebitmap.hxx>
Public Member Functions | |
DXSurfaceBitmap (const ::basegfx::B2ISize &rSize, const std::shared_ptr< canvas::ISurfaceProxyManager > &rMgr, const IDXRenderModuleSharedPtr &rRenderModule, bool bWithAlpha) | |
bool | resize (const ::basegfx::B2ISize &rSize) |
void | clear () |
virtual GraphicsSharedPtr | getGraphics () override |
virtual BitmapSharedPtr | getBitmap () const override |
virtual ::basegfx::B2ISize | getSize () const override |
virtual bool | hasAlpha () const override |
sal::systools::COMReference< surface_type > | getSurface () const |
bool | draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DHomMatrix &rTransform) |
bool | draw (const ::basegfx::B2IRange &rArea) |
bool | draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DRange &rArea, const ::basegfx::B2DHomMatrix &rTransform) |
bool | draw (double fAlpha, const ::basegfx::B2DPoint &rPos, const ::basegfx::B2DPolyPolygon &rClipPoly, const ::basegfx::B2DHomMatrix &rTransform) |
virtual css::uno::Sequence< sal_Int8 > | getData (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect) override |
virtual void | setData (const css::uno::Sequence< sal_Int8 > &data, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect) override |
virtual void | setPixel (const css::uno::Sequence< sal_Int8 > &color, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos) override |
virtual css::uno::Sequence< sal_Int8 > | getPixel (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos) override |
virtual BitmapSharedPtr | getBitmap () const =0 |
virtual ::basegfx::B2ISize | getSize () const =0 |
virtual bool | hasAlpha () const =0 |
virtual css::uno::Sequence< sal_Int8 > | getData (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect)=0 |
virtual void | setData (const css::uno::Sequence< sal_Int8 > &data, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerRectangle2D &rect)=0 |
virtual void | setPixel (const css::uno::Sequence< sal_Int8 > &color, const css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos)=0 |
virtual css::uno::Sequence< sal_Int8 > | getPixel (css::rendering::IntegerBitmapLayout &bitmapLayout, const css::geometry::IntegerPoint2D &pos)=0 |
Public Member Functions inherited from dxcanvas::GraphicsProvider | |
GraphicsProvider ()=default | |
virtual | ~GraphicsProvider () |
GraphicsProvider (const GraphicsProvider &)=delete | |
make noncopyable More... | |
GraphicsProvider & | operator= (const GraphicsProvider &)=delete |
virtual GraphicsSharedPtr | getGraphics ()=0 |
Private Member Functions | |
void | init () |
Private Attributes | |
GDIPlusUserSharedPtr | mpGdiPlusUser |
::basegfx::B2ISize | maSize |
IDXRenderModuleSharedPtr | mpRenderModule |
std::shared_ptr< canvas::ISurfaceProxyManager > | mpSurfaceManager |
std::shared_ptr< canvas::ISurfaceProxy > | mpSurfaceProxy |
sal::systools::COMReference< surface_type > | mpSurface |
BitmapSharedPtr | mpGDIPlusBitmap |
GraphicsSharedPtr | mpGraphics |
std::shared_ptr< canvas::IColorBuffer > | mpColorBuffer |
bool | mbIsSurfaceDirty |
bool | mbAlpha |
Definition at line 31 of file dx_surfacebitmap.hxx.
dxcanvas::DXSurfaceBitmap::DXSurfaceBitmap | ( | const ::basegfx::B2ISize & | rSize, |
const std::shared_ptr< canvas::ISurfaceProxyManager > & | rMgr, | ||
const IDXRenderModuleSharedPtr & | rRenderModule, | ||
bool | bWithAlpha | ||
) |
Definition at line 189 of file dx_surfacebitmap.cxx.
References createInstance(), and init().
void dxcanvas::DXSurfaceBitmap::clear | ( | ) |
Definition at line 273 of file dx_surfacebitmap.cxx.
References getGraphics().
bool dxcanvas::DXSurfaceBitmap::draw | ( | const ::basegfx::B2IRange & | rArea | ) |
Definition at line 395 of file dx_surfacebitmap.cxx.
References mbIsSurfaceDirty, and mpSurfaceProxy.
bool dxcanvas::DXSurfaceBitmap::draw | ( | double | fAlpha, |
const ::basegfx::B2DPoint & | rPos, | ||
const ::basegfx::B2DHomMatrix & | rTransform | ||
) |
Definition at line 378 of file dx_surfacebitmap.cxx.
References mbIsSurfaceDirty, and mpSurfaceProxy.
bool dxcanvas::DXSurfaceBitmap::draw | ( | double | fAlpha, |
const ::basegfx::B2DPoint & | rPos, | ||
const ::basegfx::B2DPolyPolygon & | rClipPoly, | ||
const ::basegfx::B2DHomMatrix & | rTransform | ||
) |
Definition at line 342 of file dx_surfacebitmap.cxx.
References mbIsSurfaceDirty, and mpSurfaceProxy.
bool dxcanvas::DXSurfaceBitmap::draw | ( | double | fAlpha, |
const ::basegfx::B2DPoint & | rPos, | ||
const ::basegfx::B2DRange & | rArea, | ||
const ::basegfx::B2DHomMatrix & | rTransform | ||
) |
Definition at line 360 of file dx_surfacebitmap.cxx.
References mbIsSurfaceDirty, and mpSurfaceProxy.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 312 of file dx_surfacebitmap.cxx.
References basegfx::Size2D< typename TYPE >::getHeight(), basegfx::Size2D< typename TYPE >::getWidth(), hasAlpha(), maSize, mpGDIPlusBitmap, and mpSurface.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 416 of file dx_surfacebitmap.cxx.
References aBmpData, dxcanvas::tools::gdiPlusRectFromIntegerRectangle2D(), hasAlpha(), mpGDIPlusBitmap, mpSurface, n, and y.
|
overridevirtual |
Implements dxcanvas::GraphicsProvider.
Definition at line 294 of file dx_surfacebitmap.cxx.
References dxcanvas::createSurfaceGraphics(), hasAlpha(), mbIsSurfaceDirty, mpGraphics, and mpSurface.
Referenced by clear().
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 614 of file dx_surfacebitmap.cxx.
References dxcanvas::tools::argbToIntSequence(), ENSURE_ARG_OR_THROW, basegfx::Size2D< typename TYPE >::getHeight(), basegfx::Size2D< typename TYPE >::getWidth(), hasAlpha(), maSize, mpGDIPlusBitmap, mpSurface, and pos.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 212 of file dx_surfacebitmap.cxx.
References maSize.
|
inline |
Definition at line 48 of file dx_surfacebitmap.hxx.
References mpSurface.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 285 of file dx_surfacebitmap.cxx.
References mbAlpha.
Referenced by getBitmap(), getData(), getGraphics(), getPixel(), setData(), and setPixel().
|
private |
Definition at line 221 of file dx_surfacebitmap.cxx.
References dxcanvas::tools::createGraphicsFromBitmap(), basegfx::Size2D< typename TYPE >::getHeight(), basegfx::Size2D< typename TYPE >::getWidth(), maSize, mbAlpha, mpColorBuffer, mpGDIPlusBitmap, mpGraphics, mpRenderModule, mpSurface, mpSurfaceManager, and mpSurfaceProxy.
Referenced by DXSurfaceBitmap(), and resize().
bool dxcanvas::DXSurfaceBitmap::resize | ( | const ::basegfx::B2ISize & | rSize | ) |
Definition at line 258 of file dx_surfacebitmap.cxx.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 504 of file dx_surfacebitmap.cxx.
References aBmpData, dxcanvas::tools::gdiPlusRectFromIntegerRectangle2D(), hasAlpha(), mbIsSurfaceDirty, mpGDIPlusBitmap, mpSurface, and y.
|
overridevirtual |
Implements dxcanvas::IBitmap.
Definition at line 565 of file dx_surfacebitmap.cxx.
References ENSURE_ARG_OR_THROW, basegfx::Size2D< typename TYPE >::getHeight(), basegfx::Size2D< typename TYPE >::getWidth(), hasAlpha(), maSize, mbIsSurfaceDirty, mpGDIPlusBitmap, mpSurface, pos, and dxcanvas::tools::sequenceToArgb().
|
private |
Definition at line 91 of file dx_surfacebitmap.hxx.
Referenced by getBitmap(), getPixel(), getSize(), init(), resize(), and setPixel().
|
private |
Definition at line 129 of file dx_surfacebitmap.hxx.
Referenced by hasAlpha(), and init().
|
mutableprivate |
Definition at line 126 of file dx_surfacebitmap.hxx.
Referenced by draw(), getGraphics(), setData(), and setPixel().
|
private |
Definition at line 120 of file dx_surfacebitmap.hxx.
Referenced by init().
|
private |
Definition at line 115 of file dx_surfacebitmap.hxx.
Referenced by getBitmap(), getData(), getPixel(), init(), setData(), and setPixel().
|
private |
Definition at line 88 of file dx_surfacebitmap.hxx.
|
private |
Definition at line 117 of file dx_surfacebitmap.hxx.
Referenced by getGraphics(), and init().
|
private |
Definition at line 98 of file dx_surfacebitmap.hxx.
Referenced by init().
|
private |
Definition at line 110 of file dx_surfacebitmap.hxx.
Referenced by getBitmap(), getData(), getGraphics(), getPixel(), getSurface(), init(), setData(), and setPixel().
|
private |
Definition at line 102 of file dx_surfacebitmap.hxx.
Referenced by init().
|
private |
Definition at line 106 of file dx_surfacebitmap.hxx.