35using namespace ::
cairo;
41 mpSurfaceProvider( nullptr ),
42 mpRefDevice( nullptr )
58 implInit(rSurfaceProvider, rRefDevice);
79 "device size " << rSize.getWidth() <<
" x " << rSize.getHeight());
96 rSize.getWidth(), rSize.getHeight() );
126 const uno::Reference< rendering::XGraphicDevice >& ,
127 const uno::Sequence< uno::Sequence< geometry::RealPoint2D > >& points )
131 return uno::Reference< rendering::XLinePolyPolygon2D >();
133 return uno::Reference< rendering::XLinePolyPolygon2D >(
134 new ::basegfx::unotools::UnoPolyPolygon(
135 ::basegfx::unotools::polyPolygonFromPoint2DSequenceSequence( points ) ) );
139 const uno::Reference< rendering::XGraphicDevice >& ,
140 const uno::Sequence< uno::Sequence< geometry::RealBezierSegment2D > >& points )
144 return uno::Reference< rendering::XBezierPolyPolygon2D >();
146 return uno::Reference< rendering::XBezierPolyPolygon2D >(
147 new ::basegfx::unotools::UnoPolyPolygon(
148 ::basegfx::unotools::polyPolygonFromBezier2DSequenceSequence( points ) ) );
152 const uno::Reference< rendering::XGraphicDevice >& rDevice,
153 const geometry::IntegerSize2D& size )
157 return uno::Reference< rendering::XBitmap >();
159 return uno::Reference< rendering::XBitmap >(
161 ::basegfx::unotools::b2ISizeFromIntegerSize2D( size ),
168 const uno::Reference< rendering::XGraphicDevice >& ,
169 const geometry::IntegerSize2D& )
171 return uno::Reference< rendering::XVolatileBitmap >();
175 const uno::Reference< rendering::XGraphicDevice >& rDevice,
176 const geometry::IntegerSize2D& size )
180 return uno::Reference< rendering::XBitmap >();
182 return uno::Reference< rendering::XBitmap >(
184 ::basegfx::unotools::b2ISizeFromIntegerSize2D( size ),
191 const uno::Reference< rendering::XGraphicDevice >& ,
192 const geometry::IntegerSize2D& )
194 return uno::Reference< rendering::XVolatileBitmap >();
199 return css::uno::Any(
false);
221 static sal_Int32 nFilePostfixCount(0);
226 OUString aFilename =
"dbg_frontbuffer" + OUString::number(nFilePostfixCount) +
".bmp";
228 SvFileStream aStream( aFilename, StreamMode::STD_READWRITE );
230 const ::Point aEmptyPoint;
234 WriteDIB(aTempBitmap, aStream,
false);
243 return mpSurface->getSimilar( aContent, rSize.getWidth(), rSize.getHeight() );
251 return mpRefDevice->CreateBitmapSurface(rData, rSize);
tools::Long GetOutOffYPixel() const
tools::Long GetOutputWidthPixel() const
tools::Long GetOutputHeightPixel() const
cairo::SurfaceSharedPtr CreateSurface(const cairo::CairoSurfaceSharedPtr &rSurface) const
tools::Long GetOutOffXPixel() const
reference_type * get() const
void disposing()
Dispose all internal references.
void init(SurfaceProvider &rSurfaceProvider, OutputDevice &rRefDevice)
init helper
css::uno::Reference< css::rendering::XVolatileBitmap > createVolatileAlphaBitmap(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::geometry::IntegerSize2D &size)
void implInit(SurfaceProvider &rSurfaceProvider, OutputDevice &rRefDevice)
init helper
::cairo::SurfaceSharedPtr createSurface(const ::basegfx::B2ISize &rSize, int aContent)
css::geometry::RealSize2D getPhysicalSize()
css::uno::Reference< css::rendering::XLinePolyPolygon2D > createCompatibleLinePolyPolygon(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::uno::Sequence< css::uno::Sequence< css::geometry::RealPoint2D > > &points)
void setSize(const ::basegfx::B2ISize &rSize)
css::uno::Reference< css::rendering::XVolatileBitmap > createVolatileBitmap(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::geometry::IntegerSize2D &size)
css::uno::Reference< css::rendering::XBezierPolyPolygon2D > createCompatibleBezierPolyPolygon(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::uno::Sequence< css::uno::Sequence< css::geometry::RealBezierSegment2D > > &points)
::cairo::SurfaceSharedPtr mpSurface
css::uno::Reference< css::rendering::XColorSpace > const & getColorSpace() const
VclPtr< OutputDevice > mpRefDevice
void dumpScreenContent() const
called when DumpScreenContent property is enabled on XGraphicDevice, and writes out bitmaps of curren...
css::uno::Reference< css::rendering::XBitmap > createCompatibleBitmap(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::geometry::IntegerSize2D &size)
css::geometry::RealSize2D getPhysicalResolution()
css::uno::Any getSurfaceHandle() const
OutputDevice * getOutputDevice() const
css::uno::Any getDeviceHandle() const
css::uno::Reference< css::rendering::XBitmap > createCompatibleAlphaBitmap(const css::uno::Reference< css::rendering::XGraphicDevice > &rDevice, const css::geometry::IntegerSize2D &size)
SurfaceProvider * mpSurfaceProvider
Surface provider.
css::uno::Any isAccelerated() const
#define SAL_INFO(area, stream)
std::shared_ptr< Surface > SurfaceSharedPtr
class SAL_LOPLUGIN_ANNOTATE("crosscast") SurfaceProvider typedef ::rtl::Reference< SurfaceProvider > SurfaceProviderRef
Target interface for XCachedPrimitive implementations.