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.
if (!m_image.Resample(m_width, m_height, /*mode*/ 2))
return myAtlReportError (GetObjectCLSID(), "Error resizing to w=%d, h=%d\n%s",
m_height, m_width, m_image.GetLastError());
// if (!m_image.Resample(m_width, m_height, /*mode*/ 2))
// return myAtlReportError (GetObjectCLSID(), "Error resizing to w=%d, h=%d\n%s",
// 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);

View File

@@ -75,6 +75,8 @@ interface IWhipFile : IDispatch{
[propget, id(32), helpstring("property UnmatchedLabels")] HRESULT UnmatchedLabels([out, retval] BSTR* pUnmatched);
[propget, id(33), helpstring("property flags")] HRESULT flags([out, retval] LONG* pVal);
[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,

View File

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

View File

@@ -91,6 +91,7 @@ CWhipFile::CWhipFile()
m_vdpi = 0;
m_builder_len = 0;
m_flags = 0;
m_forcePlan = FALSE;
// Predefine fixed symbols
// 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;
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)
{
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
comment(my_file, "== Contouren end (solid=true)");
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
&& !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:
{
my_file.desired_rendition().color() = *((WT_Color *)obj);
if (!m_forcePlan) // gewoon originele kleur
my_file.desired_rendition().color() = *((WT_Color *)obj);
break;
}
case WT_Object::Font_ID:
@@ -1728,3 +1743,18 @@ STDMETHODIMP CWhipFile::get_UnmatchedLabels(BSTR* pUnmatched)
(*pUnmatched) = result.AllocSysString();
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;
long m_vdpi;
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
int m_builder_len;
@@ -132,6 +133,8 @@ public:
STDMETHOD(put_flags)(LONG newVal);
STDMETHOD(get_vectorDpi)(LONG* pVal);
STDMETHOD(get_DwgLimits)(IBoundingBox** pVal);
STDMETHOD(get_forcePlanColor)(LONG* pVal);
STDMETHOD(put_forcePlanColor)(LONG newVal);
// Voorheen WhipFileState
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
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
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