FMHN#67510 ARC ondersteuning via S("minMergeDistance")

svn path=/Slnkdwf/trunk/; revision=52705
This commit is contained in:
Jos Groot Lipman
2021-08-16 11:02:13 +00:00
parent 96511e3611
commit e62a5ad44f
4 changed files with 10 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
// Zorg dat versies alfabetisch altijd op elkaar volgen!
#define SLNK_MAJOR_VERSION 4
#define SLNK_MINOR_VERSION 25
#define SLNK_MINOR_VERSION 26
#define SLNK_BUILD_VERSION 0
// Define resource strings

View File

@@ -515,7 +515,7 @@ void arc2poly(WT_Logical_Point builder[], int &builder_len,
int arcsteps = myRound(abs (er - sr) / TWO_PI * 16); // 16 segmenten voor een hele cirkel
if (COUNT_OF(builder) < builder_len + arcsteps) // overflow
if (MAX_BUILDER < builder_len + arcsteps) // overflow
return;
for (int i = 1; i < arcsteps; i++)
@@ -531,7 +531,7 @@ WT_Result CWhipFile::my_process_outlineEllipse(WT_Outline_Ellipse & outlineEllip
if (deze->m_minMergeDistance < 0)
return WT_Result::Success; // We doen niet aan builden
if (COUNT_OF(deze->m_builder) < deze->m_builder_len + 5) // overflow
if (MAX_BUILDER < deze->m_builder_len + 5) // overflow
{
deze->m_builder_len = 0; // reset builder
return WT_Result::Success;
@@ -631,7 +631,7 @@ WT_Result CWhipFile::my_process_polyline(WT_Polyline & polyline, WT_File & file)
if (!pointnearend(deze, units, polyline.points()[0])) //
deze->m_builder_len = 0;
if (COUNT_OF(deze->m_builder) < deze->m_builder_len + polyline.count()) // overflow
if (MAX_BUILDER < deze->m_builder_len + polyline.count()) // overflow
{
deze->m_builder_len = 0; // reset builder
}

View File

@@ -13,6 +13,8 @@ using namespace DWFToolkit;
#include "SLNKDWF.h"
#define MAX_BUILDER 1000
// CWhipFile
class ATL_NO_VTABLE CWhipFile :
public CComObjectRootEx<CComSingleThreadModel>,
@@ -89,7 +91,7 @@ private:
long m_vdpi;
WT_View m_view; // Initial view
WT_Logical_Point m_builder[1000]; // om lijnstukken aan elkaar te plakken. 1000 lijkt me genoeg
WT_Logical_Point m_builder[MAX_BUILDER+1]; // om lijnstukken aan elkaar te plakken. 1000 lijkt me genoeg
int m_builder_len;
HRESULT ProcessContouren();

View File

@@ -1,3 +1,6 @@
V4.26 16-08-2021
- FMHN#67510 ARC ondersteuning fixje #define MAX_BUILDER 1000
V4.25 16-08-2021
- FMHN#67510 ARC ondersteuning via minMergeDistance