152 lines
8.4 KiB
C++
152 lines
8.4 KiB
C++
// Whip2DC.h : Declaration of the CWhip2DC
|
|
|
|
#pragma once
|
|
#include "resource.h" // main symbols
|
|
|
|
#include "mywt_file.h"
|
|
|
|
#include "whip2dcState.h"
|
|
#include "myEPlotSectionImpl.h"
|
|
|
|
#ifdef USE_CIMAGE
|
|
#include "atlimage.h"
|
|
#endif
|
|
|
|
// CWhip2DC
|
|
|
|
typedef BOOL (* WHIP2DC_Progress_Action) (void *param, double progress);
|
|
|
|
class CWhip2DCImpl
|
|
{
|
|
public:
|
|
CWhip2DCImpl()
|
|
{
|
|
m_progress_action = NULL;
|
|
m_progress_param = NULL;
|
|
}
|
|
|
|
public:
|
|
|
|
protected:
|
|
WT_String m_WhipPath;
|
|
CEPlotSectionImpl *m_iEPlotSection;
|
|
|
|
CWhip2DCState m_State;
|
|
#ifdef USE_CIMAGE
|
|
// Dummy globale CImage aanhouden zodat CImage::count > 0 blijft
|
|
// en GDIShutdown niet te vaak wordt aan geroepen. Scheelt fors bij
|
|
// Telecommunications.dwf met 3000 PNG objectjes
|
|
CImage m_pBitmapDummy;
|
|
#endif
|
|
|
|
WT_Result read_dwf_for_extracting_Objects(myWT_File &my_input_file, BOOL findIt);
|
|
|
|
static CString PolyToMap(WT_Polygon & polygon, WT_Object_Node node, WT_URL URL, CWhip2DCState *m_State);
|
|
|
|
static WT_Result my_process_author (WT_Author & author, WT_File & file);
|
|
static WT_Result my_process_creator (WT_Creator & creator, WT_File & file);
|
|
static WT_Result my_process_created (WT_Creation_Time & created, WT_File & file);
|
|
static WT_Result my_process_modified (WT_Modification_Time & modified, WT_File & file);
|
|
static WT_Result my_process_sourceFilename (WT_Source_Filename & sourceFilename, WT_File & file);
|
|
static WT_Result my_process_sourceCreationTime (WT_Source_Creation_Time & sourceCreated, WT_File & file);
|
|
static WT_Result my_process_sourceModificationTime (WT_Source_Modification_Time & sourceModified, WT_File & file);
|
|
static WT_Result my_process_units (WT_Units & units, WT_File & file);
|
|
static WT_Result my_process_embed (WT_Embed & embed, WT_File & file);
|
|
static WT_Result my_process_namedView (WT_Named_View & namedView, WT_File & file);
|
|
static WT_Result my_process_view (WT_View & view, WT_File & file);
|
|
static WT_Result my_process_plotInfo (WT_Plot_Info & plotInfo, WT_File & file);
|
|
static WT_Result my_process_background (WT_Background & background, WT_File & file);
|
|
static WT_Result my_process_color (WT_Color & color, WT_File & file);
|
|
static WT_Result my_process_lineWeight (WT_Line_Weight & lineWeight, WT_File & file);
|
|
static WT_Result my_process_lineStyle (WT_Line_Style & lineStyle, WT_File & file);
|
|
static WT_Result my_process_linePattern (WT_Line_Pattern & linePattern, WT_File & file);
|
|
static WT_Result my_process_layer (WT_Layer & layer, WT_File & file);
|
|
static WT_Result my_process_viewport (WT_Viewport & viewport, WT_File & file);
|
|
static WT_Result my_process_visibility (WT_Visibility & visibility, WT_File & file);
|
|
static WT_Result my_process_codePage (WT_Code_Page & codePage, WT_File & file);
|
|
static WT_Result my_process_colorMap (WT_Color_Map & colorMap, WT_File & file);
|
|
static WT_Result my_process_comments (WT_Comments & comments, WT_File & file);
|
|
static WT_Result my_process_contourSet (WT_Contour_Set & contourSet, WT_File & file);
|
|
static WT_Result my_process_copyright (WT_Copyright & copyright, WT_File & file);
|
|
static WT_Result my_process_dashPattern (WT_Dash_Pattern & dashPattern, WT_File & file);
|
|
static WT_Result my_process_description (WT_Description & description, WT_File & file);
|
|
static WT_Result my_process_fill (WT_Fill & fill, WT_File & file);
|
|
static WT_Result my_process_font (WT_Font & font, WT_File & file);
|
|
static WT_Result my_process_font_extension (WT_Font_Extension & font_extension, WT_File & file);
|
|
static WT_Result my_process_gouraudPolyline (WT_Gouraud_Polyline & gouraudPolyline, WT_File & file);
|
|
static WT_Result my_process_gouraudPolytriangle (WT_Gouraud_Polytriangle & gouraudPolytriangle, WT_File & file);
|
|
static WT_Result my_process_image (WT_Image & image, WT_File & file);
|
|
static WT_Result my_process_keywords (WT_Keywords & keywords, WT_File & file);
|
|
static WT_Result my_process_markerSize (WT_Marker_Size & markerSize, WT_File & file);
|
|
static WT_Result my_process_markerSymbol (WT_Marker_Symbol & markerSymbol, WT_File & file);
|
|
static WT_Result my_process_namedViewList (WT_Named_View_List & namedViewList, WT_File & file);
|
|
static WT_Result my_process_origin (WT_Origin & origin, WT_File & file);
|
|
static WT_Result my_process_Ellipse (WT_Ellipse & Ellipse, WT_File & file, WT_Boolean fill);
|
|
static WT_Result my_process_filledEllipse (WT_Filled_Ellipse & filledEllipse, WT_File & file);
|
|
static WT_Result my_process_outlineEllipse (WT_Outline_Ellipse & outlineEllipse, WT_File & file);
|
|
static WT_Result my_process_polygon (WT_Polygon & polygon, WT_File & file);
|
|
static WT_Result my_process_polygon_find (WT_Polygon & polygon, WT_File & file);
|
|
static WT_Result my_process_polymarker (WT_Polymarker & polymarker, WT_File & file);
|
|
static WT_Result my_process_polytriangle (WT_Polytriangle & polytriangle, WT_File & file);
|
|
static WT_Result my_process_projection (WT_Projection & projection, WT_File & file);
|
|
static WT_Result my_process_subject (WT_Subject & subject, WT_File & file);
|
|
static WT_Result my_process_title (WT_Title & title, WT_File & file);
|
|
static WT_Result my_process_unknown (WT_Unknown & unknown, WT_File & file);
|
|
static WT_Result my_process_url (WT_URL & url, WT_File & file);
|
|
static WT_Result my_process_pngGroup4Image (WT_PNG_Group4_Image & pngGroup4Image, WT_File & file);
|
|
static WT_Result my_process_polyline (WT_Polyline & polyline, WT_File & file);
|
|
static WT_Result my_process_text (WT_Text & text, WT_File & file);
|
|
static WT_Result my_process_text_find (WT_Text & text, WT_File & file);
|
|
static WT_Result my_process_text_scan (WT_Text & text, WT_File & file);
|
|
static WT_Result my_process_inkedArea (WT_Inked_Area & inkedArea, WT_File & file);
|
|
static WT_Result my_process_plotOptimized (WT_Plot_Optimized & plotOptimized, WT_File & file);
|
|
static WT_Result my_process_groupBegin (WT_Group_Begin & groupBegin, WT_File & file);
|
|
static WT_Result my_process_groupEnd (WT_Group_End & groupEnd, WT_File & file);
|
|
|
|
static WT_Result my_process_embeddedFont (WT_Embedded_Font & embeddedFont, WT_File & file);
|
|
static WT_Result my_process_trustedFontList (WT_Trusted_Font_List & tustedFontList, WT_File & file);
|
|
static WT_Result my_process_blockref (WT_BlockRef & blockref, WT_File & file);
|
|
static WT_Result my_process_blockMeaning (WT_Block_Meaning & blockMeaning, WT_File & file);
|
|
static WT_Result my_process_encryption (WT_Encryption & encryption, WT_File & file);
|
|
static WT_Result my_process_orientation (WT_Orientation & orientation, WT_File & file);
|
|
static WT_Result my_process_alignment (WT_Alignment & alignment, WT_File & file);
|
|
static WT_Result my_process_password (WT_Password & password, WT_File & file);
|
|
static WT_Result my_process_guid (WT_Guid & guid, WT_File & file);
|
|
static WT_Result my_process_fileTime (WT_FileTime & fileTime, WT_File & file);
|
|
static WT_Result my_process_userData (WT_UserData & userData, WT_File & file);
|
|
static WT_Result my_process_penPattern (WT_Pen_Pattern & penPattern, WT_File & file);
|
|
static WT_Result my_process_fillPattern (WT_Fill_Pattern & fillPattern, WT_File & file);
|
|
static WT_Result my_process_DigitalSign (WT_SignData & digitalSing, WT_File & file);
|
|
static WT_Result my_process_dwf_header (WT_DWF_Header & dwf_header, WT_File & file);
|
|
|
|
WHIP2DC_Progress_Action m_progress_action;
|
|
void * m_progress_param;
|
|
public:
|
|
int Load(HDC hDC, CEPlotSectionImpl *EPlotSection, const CString &WhipPath,
|
|
const CString &RegExp, long sizeX, long sizeY,
|
|
VARIANT_BOOL centerImage, VARIANT_BOOL maximize=FALSE,
|
|
double dwgScale=0.0);
|
|
int Paint(VARIANT_BOOL forceBW, VARIANT_BOOL markers = VARIANT_FALSE);
|
|
int Find(LONG findX, LONG findY, BYTE AsMap,
|
|
CString &pContourKey, CString &pContourLayer,
|
|
CString &pTextLabel, CString &pTextLayer,
|
|
double &EdgeAngle, double &EdgeDistance);
|
|
int FindTexts(const CString &findText);
|
|
int DPtoDWG(LONG findX, LONG findY, DOUBLE* resX, DOUBLE* resY);
|
|
int DWGExtents(DOUBLE* resminX, DOUBLE* resminY, DOUBLE* resmaxX, DOUBLE* resmaxY);
|
|
int get_LayerCount(LONG* pVal);
|
|
int get_LayerItem(LONG i, CString* pVal);
|
|
int get_TextCount(LONG* pVal);
|
|
int get_TextItem(LONG i, CFoundText &pVal);
|
|
int get_paperColor(LONG* pVal);
|
|
int put_paperColor(LONG newVal);
|
|
int ReplaceColor(LONG paperColor, LONG oldColor, LONG newColor);
|
|
CSize &get_Size();
|
|
|
|
void set_progress_action(WHIP2DC_Progress_Action action, void * param)
|
|
{
|
|
m_progress_action = action;
|
|
m_progress_param = param;
|
|
};
|
|
};
|