37 for (pBE=rEntities.
pFirst; pBE!=
nullptr; pBE=pBE->
pSucc) nRes++;
59 if (pLayer!=
nullptr) nColor=pLayer->
nColor;
85 else if ( aDXFLineInfo.
fDotLen ==
x ) {
130 if (pLayer!=
nullptr) {
152 if (nColor<0)
return false;
174 if (nColor<0)
return false;
197 while (nAngle>=3600) nAngle-=3600;
198 while (nAngle<0) nAngle+=3600;
201 if (nColor<0)
return false;
230 aLineInfo = rTransform.
Transform(aDXFLineInfo);
263 sal_uInt16 nPoints,
i;
277 for (
i=0;
i<nPoints;
i++) {
278 fAng=2*M_PI/
static_cast<double>(nPoints-1)*
static_cast<double>(
i);
287 for (
i=0;
i<nPoints;
i++) {
288 fAng=2*M_PI/
static_cast<double>(nPoints-1)*
static_cast<double>(
i);
315 sal_uInt16 nPoints,
i;
320 double fdA=rE.
fEnd-fA1;
321 fdA = fmod(fdA, 360.0);
322 if (fdA<=0) fdA+=360.0;
332 if (rTransform.
Mirror()) {
348 nPoints=
static_cast<sal_uInt16
>(fdA/360.0*
static_cast<double>(
OptPointsPerCircle)+0.5);
349 if (nPoints<2) nPoints=2;
351 for (
i=0;
i<nPoints;
i++) {
352 fAng=
basegfx::deg2rad( fA1 + fdA/
static_cast<double>(nPoints-1)*
static_cast<double>(
i) );
361 for (
i=0;
i<nPoints;
i++) {
362 fAng=
basegfx::deg2rad( fA1 + fdA/
static_cast<double>(nPoints-1)*
static_cast<double>(
i) );
369 for (
i=0;
i<nPoints;
i++)
406 if (rE.
aP2==rE.
aP3) nN=3;
else nN=4;
437 nHeight=
static_cast<sal_uInt16
>(aV.
Abs()+0.5);
439 nAng=
static_cast<short>(fA*10.0+0.5);
464 tools::Long nSavedBlockColor, nSavedParentLayerColor;
465 DXFLineInfo aSavedBlockDXFLineInfo, aSavedParentLayerDXFLineInfo;
474 if (pLayer!=
nullptr) {
498 nHeight=
static_cast<sal_uInt16
>(aV.
Abs()+0.5);
500 nAng=
static_cast<short>(fA*10.0+0.5);
514 sal_uInt16
i,nPolySize;
527 for (
i=0;
i<nPolySize;
i++) {
542 for (
i=0;
i<nPolySize;
i++) {
556 sal_Int32 nPolySize = rE.
aP.size();
561 for (sal_Int32
i = 0;
i < nPolySize; ++
i)
563 rTransform.
Transform( rE.
aP[
static_cast<sal_uInt16
>(
i) ], aPoly[
static_cast<sal_uInt16
>(
i) ] );
567 if ( ( rE.
nFlags & 1 ) != 0 )
583 std::vector< Point > aPtAry;
586 for (
const auto&
a : rPathData.
aP)
590 aPtAry.push_back( aPt );
595 for (
auto& rEdge : rPathData.
aEdges )
604 aPtAry.push_back( aPt );
606 aPtAry.push_back( aPt );
616 sal_uInt16
i, nSize =
static_cast<sal_uInt16
>(aPtAry.size());
620 for (
i = 0;
i < nSize;
i++ )
621 aPoly[
i ] = aPtAry[
i ];
622 aPolyPoly.
Insert( aPoly );
625 if ( aPolyPoly.
Count() )
635 if (rE.
aP2==rE.
aP3) nN=3;
else nN=4;
643 for (
i=0;
i<nN;
i++) {
662 tools::Long nSavedBlockColor, nSavedParentLayerColor;
663 DXFLineInfo aSavedBlockDXFLineInfo, aSavedParentLayerDXFLineInfo;
672 if (pLayer!=
nullptr) {
699 if (
pE->aExtrusion.fz==1.0) {
764 , OptPointsPerCircle(0)
768 , nMainEntitiesCount(0)
770 , nParentLayerColor(0)
782 double fWidth,fHeight,fScale(0.0);
808 if (pLayer!=
nullptr) {
831 if (pVPort!=
nullptr) {
836 if (pVPort==
nullptr) {
842 if (fWidth<=0 || fHeight<=0) {
847 fScale=10000.0/fWidth;
849 fScale=10000.0/fHeight;
862 if (fWidth<=0 || fHeight<=0) {
866 fScale=10000.0/fWidth;
868 fScale=10000.0/fHeight;
891 if( ( aPrefSize.
Width() < 500 ) && ( aPrefSize.
Height() < 500 ) )
DXFBlock * Search(std::string_view rName) const
std::vector< DXFBoundaryPathData > aBoundaryPathData
double fDash[DXF_MAX_DASH_COUNT]
std::vector< DXFVector > aP
sal_uInt8 GetGreen(sal_uInt8 nIndex) const
sal_uInt8 GetRed(sal_uInt8 nIndex) const
sal_uInt8 GetBlue(sal_uInt8 nIndex) const
OUString ToOUString(std::string_view s) const
double getGlobalLineTypeScale() const
DXFBoundingBox aBoundingBox
DXFVPort * SearchVPort(std::string_view rName) const
DXFLayer * SearchLayer(std::string_view rName) const
DXFLType * SearchLType(std::string_view rName) const
GDIMetaFile * GetConnectMetaFile() const
const vcl::Font & GetFont() const
void DrawPolyLine(const tools::Polygon &rPoly)
Render the given polygon as a line stroke.
void EnableOutput(bool bEnable=true)
void SetFont(const vcl::Font &rNewFont)
void DrawEllipse(const tools::Rectangle &rRect)
void DrawLine(const Point &rStartPt, const Point &rEndPt)
void DrawPolygon(const tools::Polygon &rPoly)
Render the given polygon.
void DrawPixel(const Point &rPt)
const Color & GetLineColor() const
void DrawArc(const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
void DrawPolyPolygon(const tools::PolyPolygon &rPolyPoly)
Render the given poly-polygon.
void DrawText(const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
const Color & GetFillColor() const
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
static VclPtr< reference_type > Create(Arg &&... arg)
A construction helper for VclPtr.
void SetFontSize(const Size &)
void SetOrientation(Degree10 nLineOrientation)
void SetTransparent(bool bTransparent)
void SetColor(const Color &)
void SetFamily(FontFamily)
void SetAlignment(TextAlign)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr double deg2rad(double v)
std::vector< DXFVector > aP
std::vector< std::unique_ptr< DXFEdgeType > > aEdges