Whip2PNG.flags en Whipfile.flags ingevoerd. Bitje +1 om bovenstaande te activeren svn path=/Slnkdwf/trunk/; revision=61777
133 lines
3.7 KiB
C++
133 lines
3.7 KiB
C++
// Whip2PNG.h : Declaration of the CWhip2PNG
|
|
|
|
#pragma once
|
|
#include "resource.h" // main symbols
|
|
|
|
#include "SLNKDWF.h"
|
|
#include "SLNKEvent.h"
|
|
|
|
// CWhip2PNG
|
|
|
|
class ATL_NO_VTABLE CWhip2PNG :
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
public CComCoClass<CWhip2PNG, &CLSID_Whip2PNG>,
|
|
public IDispatchImpl<IWhip2PNG, &IID_IWhip2PNG, &LIBID_SLNKDWFLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
|
|
{
|
|
public:
|
|
|
|
DECLARE_REGISTRY_RESOURCEID(IDR_WHIP2PNG)
|
|
|
|
|
|
BEGIN_COM_MAP(CWhip2PNG)
|
|
COM_INTERFACE_ENTRY(IWhip2PNG)
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
END_COM_MAP()
|
|
|
|
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
|
|
HRESULT FinalConstruct()
|
|
{
|
|
CComObject<CSLNKEvent> *pSLNKEvent; // For when the user has clicked on the drawing
|
|
HRESULT hr = CComObject<CSLNKEvent>::CreateInstance(&pSLNKEvent);
|
|
if(FAILED(hr)) return hr;
|
|
|
|
pSLNKEvent->AddRef();
|
|
hr = pSLNKEvent->QueryInterface(IID_ISLNKEvent, (void **)&m_SLNKEvent);
|
|
pSLNKEvent->Release();
|
|
if(FAILED(hr)) return hr;
|
|
|
|
// CComObject< CWhip2DC >* pWhip2DC;
|
|
// hr = CComObject<CWhip2DC>::CreateInstance(&pWhip2DC);
|
|
// if(FAILED(hr)) return hr;
|
|
|
|
// pWhip2DC->AddRef();
|
|
// hr = pWhip2DC->QueryInterface(&m_iWhip2DC);
|
|
// pWhip2DC->Release();
|
|
|
|
return hr;
|
|
}
|
|
|
|
void FinalRelease()
|
|
{
|
|
}
|
|
|
|
public:
|
|
|
|
CWhip2PNG(); // Default constructor
|
|
|
|
// Een van de volgende twee moet gebruikt worden om de file te laden
|
|
STDMETHOD(Load)(BSTR WhipPath);
|
|
STDMETHOD(LoadStream)(VARIANT EPlotStream);
|
|
|
|
STDMETHOD(SetDimensions)(LONG sizeX, LONG sizeY, LONG offsetX, LONG offsetY, DOUBLE dScale, LONG lRotation);
|
|
STDMETHOD(SetLayers)(BSTR RegExp);
|
|
|
|
STDMETHOD(SaveAsPNG)(BSTR PNGPath);
|
|
STDMETHOD(SaveAsWMF)(BSTR WMFPath);
|
|
|
|
STDMETHOD(TextAsPNG)(BSTR Message, VARIANT *ImageData);
|
|
STDMETHOD(GetAsPNG)(VARIANT *ImageData);
|
|
STDMETHOD(GetAsTransGIF)(VARIANT *ImageData);
|
|
STDMETHOD(GetAsXXX)(VARIANT *ImageData, BOOL bPNG);
|
|
|
|
STDMETHOD(Find)(LONG findX, LONG findY, BSTR* foundLabel);
|
|
STDMETHOD(GetAsMap)(BSTR* AsMap);
|
|
STDMETHOD(get_AtlRegExp)(BSTR RegExp, BSTR TestExp, BSTR* pVal);
|
|
private:
|
|
bool CreateCxImage(CxImage* img);
|
|
void InitDC(HDC &myDC);
|
|
|
|
HRESULT StreamPNG(CxImage &img, VARIANT *ImageData, BOOL bPNG);
|
|
|
|
CComQIPtr<ISLNKEvent> m_SLNKEvent; // For when the user has clicked on the drawing
|
|
// Will also hold minmax drawing XY?
|
|
|
|
//CComQIPtr<IWhip2DC> m_iWhip2DC;
|
|
CWhip2DCImpl m_iWhip2DC;
|
|
|
|
// Een van de volgende twee zal gezet zijn
|
|
CComQIPtr<IEPlotSection> m_iEPlotSection;
|
|
CString m_WhipPath;
|
|
|
|
void putDWGInfo();
|
|
|
|
LONG m_sizeX, m_sizeY;
|
|
LONG m_offsetX, m_offsetY;
|
|
LONG m_AAFactor, m_AAMethod;
|
|
double m_dScale;
|
|
LONG m_lRotation;
|
|
COLORREF m_paperColor; BOOL m_forcePaper;
|
|
BOOL m_forceBW;
|
|
LONG m_markers;
|
|
LONG m_flags;
|
|
BOOL m_forceGray;
|
|
BOOL m_Maximize;
|
|
double m_dwgScale;
|
|
|
|
CString m_RegExp;
|
|
public:
|
|
STDMETHOD(get_SLNKEvent)(ISLNKEvent** pVal);
|
|
STDMETHOD(get_paperColor)(LONG* pVal);
|
|
STDMETHOD(put_paperColor)(LONG newVal);
|
|
STDMETHOD(ReplaceColor)(LONG paperColor, LONG oldColor, LONG newColor);
|
|
STDMETHOD(get_Maximize)(VARIANT_BOOL* pVal);
|
|
STDMETHOD(put_Maximize)(VARIANT_BOOL newVal);
|
|
STDMETHOD(get_dwgScale)(DOUBLE* pVal);
|
|
STDMETHOD(put_dwgScale)(DOUBLE newVal);
|
|
STDMETHOD(get_forceBW)(VARIANT_BOOL* pVal);
|
|
STDMETHOD(put_forceBW)(VARIANT_BOOL newVal);
|
|
STDMETHOD(get_markers)(LONG* pVal);
|
|
STDMETHOD(put_markers)(LONG newVal);
|
|
STDMETHOD(get_flags)(LONG* pVal);
|
|
STDMETHOD(put_flags)(LONG newVal);
|
|
STDMETHOD(get_forceGray)(VARIANT_BOOL* pVal);
|
|
STDMETHOD(put_forceGray)(VARIANT_BOOL newVal);
|
|
STDMETHOD(get_LayerCount)(LONG* pVal);
|
|
STDMETHOD(get_LayerItem)(ULONG i, BSTR* pVal);
|
|
STDMETHOD(SetAntialias)(LONG lFactor, LONG lMethod);
|
|
|
|
};
|
|
|
|
OBJECT_ENTRY_AUTO(__uuidof(Whip2PNG), CWhip2PNG)
|