32#define OUTDEV_POLYPOLY_STACKBUF 32
41 sal_uInt16 nPoly = rPolyPoly.
Count();
91 for(
auto const& rPolygon : std::as_const(aB2DPolyPolygon))
100 css::drawing::LineCap_BUTT,
147 if(rB2DPolygon.
count())
161 sal_uInt16 nPoints = rPoly.
GetSize();
218 css::drawing::LineCap_BUTT,
292 bool bSuccess(
false);
321 for(
auto const& rPolygon : std::as_const(aB2DPolyPolygon))
330 css::drawing::LineCap_BUTT,
362 sal_uInt32* pPointAry;
363 const Point** pPointAryAry;
368 bool bHaveBezier =
false;
371 pPointAry =
new sal_uInt32[nPoly];
372 pPointAryAry =
new const Point*[nPoly];
373 pFlagAryAry =
new const PolyFlags*[nPoly];
377 pPointAry = aStackAry1;
378 pPointAryAry = aStackAry2;
379 pFlagAryAry =
const_cast<const PolyFlags**
>(aStackAry3);
385 sal_uInt16 nSize = rPoly.
GetSize();
388 pPointAry[j] = nSize;
435 if ( pPointAry != aStackAry1 )
438 delete[] pPointAryAry;
439 delete[] pFlagAryAry;
451 sal_uInt16 nPoints = rPoly.
GetSize();
474 if( pPolyPoly->
Count() == 1 )
477 sal_uInt16 nSize = rPoly.
GetSize();
485 else if( pPolyPoly->
Count() )
488 std::unique_ptr<sal_uInt32[]> pPointAry(
new sal_uInt32[
nCount]);
489 std::unique_ptr<const Point*[]> pPointAryAry(
new const Point*[
nCount]);
494 sal_uInt16 nSize = rPoly.
GetSize();
497 pPointAry[
i] = nSize;
virtual void InitClipRegion()
SAL_DLLPRIVATE bool is_double_buffered_window() const
SAL_DLLPRIVATE void InitLineColor()
RasterOp GetRasterOp() const
SAL_DLLPRIVATE tools::Rectangle ImplLogicToDevicePixel(const tools::Rectangle &rLogicRect) const
Convert a logical rectangle to a rectangle in physical device pixel units.
SAL_DLLPRIVATE void ImplDrawPolygon(const tools::Polygon &rPoly, const tools::PolyPolygon *pClipPolyPoly=nullptr)
virtual bool AcquireGraphics() const =0
Acquire a graphics device that the output device uses to draw on.
SAL_DLLPRIVATE bool ImplIsRecordLayout() const
SAL_DLLPRIVATE void InitFillColor()
void DrawPolygon(const tools::Polygon &rPoly)
Render the given polygon.
SalGraphics * mpGraphics
Graphics context to draw on.
SAL_DLLPRIVATE void ImplDrawPolyPolygonWithB2DPolyPolygon(const basegfx::B2DPolyPolygon &rB2DPolyPoly)
SAL_DLLPRIVATE void ImplDrawPolyPolygon(const tools::PolyPolygon &rPolyPoly, const tools::PolyPolygon *pClipPolyPoly)
AntialiasingFlags mnAntialiasing
bool IsDeviceOutputNecessary() const
VclPtr< VirtualDevice > mpAlphaVDev
void DrawPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Render the given poly-polygon.
SAL_DLLPRIVATE basegfx::B2DHomMatrix ImplGetDeviceTransformation() const
Get device transformation.
virtual bool supportsOperation(OutDevSupportType) const =0
void DrawPolyLine(sal_uInt32 nPoints, Point const *pPtAry, const OutputDevice &rOutDev)
bool DrawPolyPolygonBezier(sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry, const OutputDevice &rOutDev)
bool DrawPolygonBezier(sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry, const OutputDevice &rOutDev)
void DrawPolyPolygon(sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry, const OutputDevice &rOutDev)
void DrawPolygon(sal_uInt32 nPoints, const Point *pPtAry, const OutputDevice &rOutDev)
void setClosed(bool bNew)
void setClosed(bool bNew)
constexpr double deg2rad(double v)
constexpr OUStringLiteral last
#define OUTDEV_POLYPOLY_STACKBUF