Files
Slnkdwf/SlnkDWFImpl/Whip2DCImpl.h
Jos Groot Lipman e87b9abef1 Label is eigenlijk key
Versie 2.80

svn path=/Slnkdwf/trunk/; revision=12533
2012-01-11 19:35:54 +00:00

152 lines
8.5 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:
STDMETHOD(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, long lRotation=0);
STDMETHOD(Paint)(VARIANT_BOOL forceBW, VARIANT_BOOL markers = VARIANT_FALSE);
STDMETHOD(Find)(LONG findX, LONG findY, BYTE AsMap,
CString &pContourKey, CString &pContourLayer,
CString &pTextLabel, CString &pTextLayer,
double &EdgeAngle, double &EdgeDistance);
STDMETHOD(FindTexts) (const CString &findText);
STDMETHOD(DPtoDWG)(LONG findX, LONG findY, DOUBLE* resX, DOUBLE* resY);
STDMETHOD(DWGExtents)(DOUBLE* resminX, DOUBLE* resminY, DOUBLE* resmaxX, DOUBLE* resmaxY);
STDMETHOD(get_LayerCount)(LONG* pVal);
STDMETHOD(get_LayerItem)(LONG i, CString* pVal);
STDMETHOD(get_TextCount)(LONG* pVal);
STDMETHOD(get_TextItem)(LONG i, CFoundText &pVal);
STDMETHOD(get_paperColor)(LONG* pVal);
STDMETHOD(put_paperColor)(LONG newVal);
STDMETHOD(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;
};
};