V4.30 23-08-2022

- SZDB#82496 plaatjes verkleinen met Resample2 ipv. Resample
  - CIZN#82871 tekeningen met zwarte lijnen forceren (whipfile.forcePlanColor)

svn path=/Slnkdwf/trunk/; revision=65166
This commit is contained in:
Jos Groot Lipman
2024-06-17 10:32:44 +00:00
parent 7d01fc5e9f
commit 6e502e509d
7 changed files with 57 additions and 6 deletions

View File

@@ -168,9 +168,14 @@ STDMETHODIMP CImageConvert::SaveAs(BSTR IMGPath)
} }
// mode 1 for fast (nearest pixel) method, or 2 for accurate (bicubic spline interpolation) method. // mode 1 for fast (nearest pixel) method, or 2 for accurate (bicubic spline interpolation) method.
if (!m_image.Resample(m_width, m_height, /*mode*/ 2)) // if (!m_image.Resample(m_width, m_height, /*mode*/ 2))
return myAtlReportError (GetObjectCLSID(), "Error resizing to w=%d, h=%d\n%s", // return myAtlReportError (GetObjectCLSID(), "Error resizing to w=%d, h=%d\n%s",
m_height, m_width, m_image.GetLastError()); // m_height, m_width, m_image.GetLastError());
// Die IM_GAUSSIAN wordt alleen gebruikt bij vergroten wat wij nooit doen eigenlijk
if (!m_image.Resample2(m_width, m_height, /*mode*/ CxImage::IM_GAUSSIAN))
return myAtlReportError(GetObjectCLSID(), "Error resizing to w=%d, h=%d\n%s",
m_height, m_width, m_image.GetLastError());
} }
CString fileout(IMGPath); CString fileout(IMGPath);

View File

@@ -75,6 +75,8 @@ interface IWhipFile : IDispatch{
[propget, id(32), helpstring("property UnmatchedLabels")] HRESULT UnmatchedLabels([out, retval] BSTR* pUnmatched); [propget, id(32), helpstring("property UnmatchedLabels")] HRESULT UnmatchedLabels([out, retval] BSTR* pUnmatched);
[propget, id(33), helpstring("property flags")] HRESULT flags([out, retval] LONG* pVal); [propget, id(33), helpstring("property flags")] HRESULT flags([out, retval] LONG* pVal);
[propput, id(33), helpstring("property flags")] HRESULT flags([in] LONG newVal); [propput, id(33), helpstring("property flags")] HRESULT flags([in] LONG newVal);
[propget, id(34), helpstring("property forcePlanColor")] HRESULT forcePlanColor([out, retval] LONG* pVal);
[propput, id(34), helpstring("property forcePlanColor")] HRESULT forcePlanColor([in] LONG newVal);
}; };
[ [
object, object,

View File

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

View File

@@ -91,6 +91,7 @@ CWhipFile::CWhipFile()
m_vdpi = 0; m_vdpi = 0;
m_builder_len = 0; m_builder_len = 0;
m_flags = 0; m_flags = 0;
m_forcePlan = FALSE;
// Predefine fixed symbols // Predefine fixed symbols
// Merk op dat m_contunits hier nog gewoon de default identity matrix is // Merk op dat m_contunits hier nog gewoon de default identity matrix is
@@ -820,6 +821,14 @@ HRESULT CWhipFile::SerializePlan(WT_File & my_plan_file, myWT_File & my_file, do
CString last_layer; CString last_layer;
m_activeLayerName = ""; // reset m_activeLayerName = ""; // reset
WT_Color planclr(m_forcePlanColor >> 16, (m_forcePlanColor & 0xff00) >> 8, m_forcePlanColor & 0xff);
if (m_forcePlan) // plattegrond grijzig maken
{
my_file.desired_rendition().color() = my_file.rendition().color() = planclr;
planclr.serialize(my_file);
}
while ((result = my_plan_file.process_next_object()) == WT_Result::Success) while ((result = my_plan_file.process_next_object()) == WT_Result::Success)
{ {
switch(my_plan_file.current_object()->object_type()) switch(my_plan_file.current_object()->object_type())
@@ -831,6 +840,11 @@ HRESULT CWhipFile::SerializePlan(WT_File & my_plan_file, myWT_File & my_file, do
GenerateContouren(my_plan_file, my_file, scale, true); // Alle 'solid' kleuren GenerateContouren(my_plan_file, my_file, scale, true); // Alle 'solid' kleuren
comment(my_file, "== Contouren end (solid=true)"); comment(my_file, "== Contouren end (solid=true)");
firstDrawable = false; firstDrawable = false;
if (m_forcePlan) // plattegrond (opnieuw) grijzig maken
{
my_file.desired_rendition().color() = my_file.rendition().color() = planclr;
planclr.serialize(my_file);
}
} }
if (my_plan_file.current_object()->object_id() == WT_Object::Origin_ID if (my_plan_file.current_object()->object_id() == WT_Object::Origin_ID
&& !my_file.heuristics().allow_binary_data() && !my_file.heuristics().allow_binary_data()
@@ -886,7 +900,8 @@ HRESULT CWhipFile::SerializePlan(WT_File & my_plan_file, myWT_File & my_file, do
} }
case WT_Object::Color_ID: case WT_Object::Color_ID:
{ {
my_file.desired_rendition().color() = *((WT_Color *)obj); if (!m_forcePlan) // gewoon originele kleur
my_file.desired_rendition().color() = *((WT_Color *)obj);
break; break;
} }
case WT_Object::Font_ID: case WT_Object::Font_ID:
@@ -1728,3 +1743,18 @@ STDMETHODIMP CWhipFile::get_UnmatchedLabels(BSTR* pUnmatched)
(*pUnmatched) = result.AllocSysString(); (*pUnmatched) = result.AllocSysString();
return S_OK; return S_OK;
} }
STDMETHODIMP CWhipFile::get_forcePlanColor(LONG* pVal)
{
(*pVal) = m_forcePlanColor;
return S_OK;
}
STDMETHODIMP CWhipFile::put_forcePlanColor(LONG newVal)
{
m_forcePlanColor = newVal;
m_forcePlan = TRUE;
return S_OK;
}

View File

@@ -92,6 +92,7 @@ private:
myWT_File m_W2DFile; myWT_File m_W2DFile;
long m_vdpi; long m_vdpi;
WT_View m_view; // Initial view WT_View m_view; // Initial view
COLORREF m_forcePlanColor; BOOL m_forcePlan;
WT_Logical_Point m_builder[MAX_BUILDER+1]; // 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; int m_builder_len;
@@ -132,6 +133,8 @@ public:
STDMETHOD(put_flags)(LONG newVal); STDMETHOD(put_flags)(LONG newVal);
STDMETHOD(get_vectorDpi)(LONG* pVal); STDMETHOD(get_vectorDpi)(LONG* pVal);
STDMETHOD(get_DwgLimits)(IBoundingBox** pVal); STDMETHOD(get_DwgLimits)(IBoundingBox** pVal);
STDMETHOD(get_forcePlanColor)(LONG* pVal);
STDMETHOD(put_forcePlanColor)(LONG newVal);
// Voorheen WhipFileState // Voorheen WhipFileState
public: public:

View File

@@ -1,6 +1,11 @@
V4.30 23-08-2022
- Visual Studio 2022
- SZDB#82496 plaatjes verkleinen met Resample2 ipv. Resample
- CIZN#82871 tekeningen met zwarte lijnen forceren (whipfile.forcePlanColor)
V4.30 23-08-2022 V4.30 23-08-2022
ZLMV#78395 Whip2DC ook correctie voor niet orthogonale Units ZLMV#78395 Whip2DC ook correctie voor niet orthogonale Units
Whip2PNG.flags en Whipfile.flags ingevoerd. Bitje +1 om bovenstaande te activeren Whip2PNG.flags en Whipfile.flags ingevoerd. Whip2PNG.flags bitje +1 om bovenstaande te activeren
V4.29 30-01-2023 V4.29 30-01-2023
BLOS#76236 ArchiCad - ook Whip2DC z-co<63>rdinaat correctie van LUDE#30224 laten doen BLOS#76236 ArchiCad - ook Whip2DC z-co<63>rdinaat correctie van LUDE#30224 laten doen

6
signDLL.bat Normal file
View File

@@ -0,0 +1,6 @@
if x%2==x GOTO bad
"c:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /fd sha256 /f ".\code_sign_aareonnl.pfx" /p %1 /d "Facilitor SLNKDWF" /du https://aareon.nl /t http://timestamp.digicert.com %2
GOTO end
:bad
ECHO Usage: %0 wachtwoord arxfile
:end