From e104adcd970a281bbac0cf01fad07872f5eea1f8 Mon Sep 17 00:00:00 2001 From: Chris Elliott Date: Wed, 19 Jun 2002 09:17:46 +0000 Subject: [PATCH] wxSVGDC class include files git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- contrib/include/wx/svg/dcsvg.h | 323 +++++++++++++++++++++++++++++++++ include/wx/dcsvg.h | 323 +++++++++++++++++++++++++++++++++ 2 files changed, 646 insertions(+) create mode 100644 contrib/include/wx/svg/dcsvg.h create mode 100644 include/wx/dcsvg.h diff --git a/contrib/include/wx/svg/dcsvg.h b/contrib/include/wx/svg/dcsvg.h new file mode 100644 index 0000000000..12e18db630 --- /dev/null +++ b/contrib/include/wx/svg/dcsvg.h @@ -0,0 +1,323 @@ +#ifndef __DCSVG_H +#define __DCSVG_H +#include +#include + +#define wxSVGVersion wxT("v0100") +#ifdef __BORLANDC__ +#pragma warn -rch +#pragma warn -ccc +#endif + +//----------------------------------------------------------------------------- +// constants +//----------------------------------------------------------------------------- + +#define mm2inches 0.0393700787402 +#define inches2mm 25.4 +#define mm2twips 56.6929133859 +#define twips2mm 0.0176388888889 +#define mm2pt 2.83464566929 +#define pt2mm 0.352777777778 + +class wxSVGFileDC : public wxDC +{ + + private: + wxFileOutputStream * m_outfile ; + wxString m_filename ; + //holds number of png format images we have + int m_sub_images ; + bool m_OK, m_graphics_changed ; + int m_width, m_height ; + + double + m_logicalScaleX, + m_logicalScaleY, + m_userScaleX, + m_userScaleY, + m_scaleX, + m_scaleY, + m_OriginX, + m_OriginY, + m_mm_to_pix_x, + m_mm_to_pix_y; + + bool + m_needComputeScaleX, + m_needComputeScaleY; // not yet used + + + bool DoGetPixel(wxCoord, wxCoord, class wxColour *) const + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoGetPixel Call not implemented")); return TRUE ; }; + + virtual bool DoBlit(wxCoord, wxCoord, wxCoord, wxCoord, class wxDC *, + wxCoord, wxCoord, int = wxCOPY, bool = 0, int = -1, int = -1) ; + + void DoCrossHair(wxCoord, wxCoord) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::CrossHair Call not implemented")); return ; }; + + void DoDrawArc(wxCoord, wxCoord, wxCoord, wxCoord, wxCoord, wxCoord); + + void DoDrawBitmap(const class wxBitmap &, wxCoord, wxCoord, bool = 0) ; + + void DoDrawCheckMark(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea) ; + + void DoDrawIcon(const class wxIcon &, wxCoord, wxCoord) ; + + void DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) ; + + void DoDrawPoint(wxCoord, wxCoord) ; + + void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset,int fillStyle) ; + + void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle) ; + + void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20) ; + + void DoDrawText(const wxString& text, wxCoord x, wxCoord y); + + bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, + int style = wxFLOOD_SURFACE) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoFloodFill Call not implemented")); return FALSE ; }; + + void DoGetSize(int * x, int *y) const { *x = m_width; *y = m_height ; return ; } ; + + void DoGetTextExtent(const wxString& string, wxCoord *w, wxCoord *h, wxCoord *descent = NULL, wxCoord *externalLeading = NULL, wxFont *font = NULL) const ; + + void DoSetClippingRegionAsRegion(const class wxRegion &) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoSetClippingRegionAsRegion Call not yet implemented")); return ; }; + + void Init (wxString f, int Width, int Height, float dpi); + + void NewGraphics () ; + +#ifdef XDEV2LOG +#undef XDEV2LOG +#endif + wxCoord XDEV2LOG(wxCoord x) const + { + wxCoord new_x = x - m_deviceOriginX; + if (new_x > 0) + return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX; + else + return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX; + } +#ifdef XDEV2LOGREL +#undef XDEV2LOGREL +#endif + wxCoord XDEV2LOGREL(wxCoord x) const + { + if (x > 0) + return (wxCoord)((double)(x) / m_scaleX + 0.5); + else + return (wxCoord)((double)(x) / m_scaleX - 0.5); + } +#ifdef YDEV2LOG +#undef YDEV2LOG +#endif + wxCoord YDEV2LOG(wxCoord y) const + { + wxCoord new_y = y - m_deviceOriginY; + if (new_y > 0) + return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY; + else + return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY; + } +#ifdef YDEV2LOGREL +#undef YDEV2LOGREL +#endif + wxCoord YDEV2LOGREL(wxCoord y) const + { + if (y > 0) + return (wxCoord)((double)(y) / m_scaleY + 0.5); + else + return (wxCoord)((double)(y) / m_scaleY - 0.5); + } +#ifdef XLOG2DEV +#undef XLOG2DEV +#endif + wxCoord XLOG2DEV(wxCoord x) const + { + wxCoord new_x = x - m_logicalOriginX; + if (new_x > 0) + return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX; + else + return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX; + } +#ifdef XLOG2DEVREL +#undef XLOG2DEVREL +#endif + wxCoord XLOG2DEVREL(wxCoord x) const + { + if (x > 0) + return (wxCoord)((double)(x) * m_scaleX + 0.5); + else + return (wxCoord)((double)(x) * m_scaleX - 0.5); + } +#ifdef YLOG2DEV +#undef YLOG2DEV +#endif + wxCoord YLOG2DEV(wxCoord y) const + { + wxCoord new_y = y - m_logicalOriginY; + if (new_y > 0) + return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY; + else + return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY; + } +#ifdef YLOG2DEVREL +#undef YLOG2DEVREL +#endif + wxCoord YLOG2DEVREL(wxCoord y) const + { + if (y > 0) + return (wxCoord)((double)(y) * m_scaleY + 0.5); + else + return (wxCoord)((double)(y) * m_scaleY - 0.5); + } + + + public: + + wxSVGFileDC (wxString f); + wxSVGFileDC (wxString f, int Width, int Height); + wxSVGFileDC (wxString f, int Width, int Height, float dpi); + ~wxSVGFileDC(); + + + bool CanDrawBitmap() const { return TRUE ; }; + + bool CanGetTextExtent() const { return TRUE ; }; + + int GetDepth() const + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetDepth Call not implemented")); return -1 ; }; + + void BeginDrawing() { return;}; + + bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC* source, wxCoord xsrc, wxCoord ysrc, int logicalFunc = wxCOPY, bool useMask = FALSE) + { return DoBlit(xdest, ydest, width, height, source, xsrc, ysrc, logicalFunc, useMask); }; + + void Clear() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::Clear() Call not implemented \nNot sensible for an output file?")); return ; }; + + void CrossHair(wxCoord x, wxCoord y) + { DoCrossHair (x,y); return; }; + + void ComputeScaleAndOrigin() ; + + void DestroyClippingRegion() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::void Call not yet implemented")); return ; }; + + wxCoord DeviceToLogicalX(wxCoord x) const ; + + wxCoord DeviceToLogicalXRel(wxCoord x) const ; + + wxCoord DeviceToLogicalY(wxCoord y) const ; + + wxCoord DeviceToLogicalYRel(wxCoord y) const ; + + void DrawBitmap(const wxBitmap& bitmap, wxCoord x, wxCoord y, bool transparent) + { DoDrawBitmap ( bitmap, x, y, transparent ) ; return ;}; + + + void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y) + {DoDrawIcon(icon, x, y) ; return ; }; + + void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0) ; + + void EndDoc() + { return ; }; + + void EndDrawing() + { return ; }; + + void EndPage() + { return ; }; + + void FloodFill(wxCoord x, wxCoord y, wxColour *colour, int style=wxFLOOD_SURFACE) + { DoFloodFill (x, y, *colour, style); return ;} ; + + wxCoord GetCharHeight() const; + + wxCoord GetCharWidth() const; + + void GetClippingBox(wxCoord *x, wxCoord *y, wxCoord *width, wxCoord *height) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetClippingBox Call not yet implemented")); return ; }; + + int GetLogicalFunction() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetLogicalFunction() Call not implemented")); return wxCOPY ; }; + + int GetMapMode() ; + + bool GetOptimization() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetOptimization() No optimization code used")); return TRUE ; }; + + bool GetPixel(wxCoord x, wxCoord y, wxColour *colour) + { return DoGetPixel (x, y, colour) ; } ; + + void GetUserScale(double *x, double *y) const ; + + wxCoord LogicalToDeviceX(wxCoord x) const ; + + wxCoord LogicalToDeviceXRel(wxCoord x) const ; + + wxCoord LogicalToDeviceY(wxCoord y) const ; + + wxCoord LogicalToDeviceYRel(wxCoord y) const ; + + bool Ok() const {return m_OK;}; + + void SetAxisOrientation( bool xLeftRight, bool yBottomUp ) ; + + void SetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetClippingRegion Call not yet implemented")); return ; }; + + void SetPalette(const wxPalette& palette) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetPalette Call not yet implemented")); return ; }; + + void SetBackground( const wxBrush &brush ) ; + + void SetBackgroundMode( int mode ) ; + + void SetBrush(const wxBrush& brush) ; + + void SetFont(const wxFont& font) ; + + void SetLogicalFunction(int function) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetLogicalFunction Call implemented")); return ; }; + + void SetLogicalScale( double x, double y ) ; + + void SetLogicalOrigin( wxCoord x, wxCoord y ) ; + + void SetDeviceOrigin( wxCoord x, wxCoord y ) ; + + void SetMapMode(int anint) ; + + void SetOptimization(bool optimize) { return ; }; + + void SetPen(const wxPen& pen) ; + + void SetUserScale(double xScale, double yScale) ; + + bool StartDoc(const wxString& message) + { return FALSE; }; + + void StartPage() + { return ; }; + + +}; + +#ifdef __BORLANDC__ +#pragma warn .rch +#pragma warn .ccc +#endif +#endif diff --git a/include/wx/dcsvg.h b/include/wx/dcsvg.h new file mode 100644 index 0000000000..12e18db630 --- /dev/null +++ b/include/wx/dcsvg.h @@ -0,0 +1,323 @@ +#ifndef __DCSVG_H +#define __DCSVG_H +#include +#include + +#define wxSVGVersion wxT("v0100") +#ifdef __BORLANDC__ +#pragma warn -rch +#pragma warn -ccc +#endif + +//----------------------------------------------------------------------------- +// constants +//----------------------------------------------------------------------------- + +#define mm2inches 0.0393700787402 +#define inches2mm 25.4 +#define mm2twips 56.6929133859 +#define twips2mm 0.0176388888889 +#define mm2pt 2.83464566929 +#define pt2mm 0.352777777778 + +class wxSVGFileDC : public wxDC +{ + + private: + wxFileOutputStream * m_outfile ; + wxString m_filename ; + //holds number of png format images we have + int m_sub_images ; + bool m_OK, m_graphics_changed ; + int m_width, m_height ; + + double + m_logicalScaleX, + m_logicalScaleY, + m_userScaleX, + m_userScaleY, + m_scaleX, + m_scaleY, + m_OriginX, + m_OriginY, + m_mm_to_pix_x, + m_mm_to_pix_y; + + bool + m_needComputeScaleX, + m_needComputeScaleY; // not yet used + + + bool DoGetPixel(wxCoord, wxCoord, class wxColour *) const + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoGetPixel Call not implemented")); return TRUE ; }; + + virtual bool DoBlit(wxCoord, wxCoord, wxCoord, wxCoord, class wxDC *, + wxCoord, wxCoord, int = wxCOPY, bool = 0, int = -1, int = -1) ; + + void DoCrossHair(wxCoord, wxCoord) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::CrossHair Call not implemented")); return ; }; + + void DoDrawArc(wxCoord, wxCoord, wxCoord, wxCoord, wxCoord, wxCoord); + + void DoDrawBitmap(const class wxBitmap &, wxCoord, wxCoord, bool = 0) ; + + void DoDrawCheckMark(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea) ; + + void DoDrawIcon(const class wxIcon &, wxCoord, wxCoord) ; + + void DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) ; + + void DoDrawPoint(wxCoord, wxCoord) ; + + void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset,int fillStyle) ; + + void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) ; + + void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, double angle) ; + + void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20) ; + + void DoDrawText(const wxString& text, wxCoord x, wxCoord y); + + bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, + int style = wxFLOOD_SURFACE) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoFloodFill Call not implemented")); return FALSE ; }; + + void DoGetSize(int * x, int *y) const { *x = m_width; *y = m_height ; return ; } ; + + void DoGetTextExtent(const wxString& string, wxCoord *w, wxCoord *h, wxCoord *descent = NULL, wxCoord *externalLeading = NULL, wxFont *font = NULL) const ; + + void DoSetClippingRegionAsRegion(const class wxRegion &) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::DoSetClippingRegionAsRegion Call not yet implemented")); return ; }; + + void Init (wxString f, int Width, int Height, float dpi); + + void NewGraphics () ; + +#ifdef XDEV2LOG +#undef XDEV2LOG +#endif + wxCoord XDEV2LOG(wxCoord x) const + { + wxCoord new_x = x - m_deviceOriginX; + if (new_x > 0) + return (wxCoord)((double)(new_x) / m_scaleX + 0.5) * m_signX + m_logicalOriginX; + else + return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX; + } +#ifdef XDEV2LOGREL +#undef XDEV2LOGREL +#endif + wxCoord XDEV2LOGREL(wxCoord x) const + { + if (x > 0) + return (wxCoord)((double)(x) / m_scaleX + 0.5); + else + return (wxCoord)((double)(x) / m_scaleX - 0.5); + } +#ifdef YDEV2LOG +#undef YDEV2LOG +#endif + wxCoord YDEV2LOG(wxCoord y) const + { + wxCoord new_y = y - m_deviceOriginY; + if (new_y > 0) + return (wxCoord)((double)(new_y) / m_scaleY + 0.5) * m_signY + m_logicalOriginY; + else + return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY; + } +#ifdef YDEV2LOGREL +#undef YDEV2LOGREL +#endif + wxCoord YDEV2LOGREL(wxCoord y) const + { + if (y > 0) + return (wxCoord)((double)(y) / m_scaleY + 0.5); + else + return (wxCoord)((double)(y) / m_scaleY - 0.5); + } +#ifdef XLOG2DEV +#undef XLOG2DEV +#endif + wxCoord XLOG2DEV(wxCoord x) const + { + wxCoord new_x = x - m_logicalOriginX; + if (new_x > 0) + return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX; + else + return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX; + } +#ifdef XLOG2DEVREL +#undef XLOG2DEVREL +#endif + wxCoord XLOG2DEVREL(wxCoord x) const + { + if (x > 0) + return (wxCoord)((double)(x) * m_scaleX + 0.5); + else + return (wxCoord)((double)(x) * m_scaleX - 0.5); + } +#ifdef YLOG2DEV +#undef YLOG2DEV +#endif + wxCoord YLOG2DEV(wxCoord y) const + { + wxCoord new_y = y - m_logicalOriginY; + if (new_y > 0) + return (wxCoord)((double)(new_y) * m_scaleY + 0.5) * m_signY + m_deviceOriginY; + else + return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY; + } +#ifdef YLOG2DEVREL +#undef YLOG2DEVREL +#endif + wxCoord YLOG2DEVREL(wxCoord y) const + { + if (y > 0) + return (wxCoord)((double)(y) * m_scaleY + 0.5); + else + return (wxCoord)((double)(y) * m_scaleY - 0.5); + } + + + public: + + wxSVGFileDC (wxString f); + wxSVGFileDC (wxString f, int Width, int Height); + wxSVGFileDC (wxString f, int Width, int Height, float dpi); + ~wxSVGFileDC(); + + + bool CanDrawBitmap() const { return TRUE ; }; + + bool CanGetTextExtent() const { return TRUE ; }; + + int GetDepth() const + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetDepth Call not implemented")); return -1 ; }; + + void BeginDrawing() { return;}; + + bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC* source, wxCoord xsrc, wxCoord ysrc, int logicalFunc = wxCOPY, bool useMask = FALSE) + { return DoBlit(xdest, ydest, width, height, source, xsrc, ysrc, logicalFunc, useMask); }; + + void Clear() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::Clear() Call not implemented \nNot sensible for an output file?")); return ; }; + + void CrossHair(wxCoord x, wxCoord y) + { DoCrossHair (x,y); return; }; + + void ComputeScaleAndOrigin() ; + + void DestroyClippingRegion() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::void Call not yet implemented")); return ; }; + + wxCoord DeviceToLogicalX(wxCoord x) const ; + + wxCoord DeviceToLogicalXRel(wxCoord x) const ; + + wxCoord DeviceToLogicalY(wxCoord y) const ; + + wxCoord DeviceToLogicalYRel(wxCoord y) const ; + + void DrawBitmap(const wxBitmap& bitmap, wxCoord x, wxCoord y, bool transparent) + { DoDrawBitmap ( bitmap, x, y, transparent ) ; return ;}; + + + void DrawIcon(const wxIcon& icon, wxCoord x, wxCoord y) + {DoDrawIcon(icon, x, y) ; return ; }; + + void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0) ; + + void EndDoc() + { return ; }; + + void EndDrawing() + { return ; }; + + void EndPage() + { return ; }; + + void FloodFill(wxCoord x, wxCoord y, wxColour *colour, int style=wxFLOOD_SURFACE) + { DoFloodFill (x, y, *colour, style); return ;} ; + + wxCoord GetCharHeight() const; + + wxCoord GetCharWidth() const; + + void GetClippingBox(wxCoord *x, wxCoord *y, wxCoord *width, wxCoord *height) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetClippingBox Call not yet implemented")); return ; }; + + int GetLogicalFunction() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetLogicalFunction() Call not implemented")); return wxCOPY ; }; + + int GetMapMode() ; + + bool GetOptimization() + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::GetOptimization() No optimization code used")); return TRUE ; }; + + bool GetPixel(wxCoord x, wxCoord y, wxColour *colour) + { return DoGetPixel (x, y, colour) ; } ; + + void GetUserScale(double *x, double *y) const ; + + wxCoord LogicalToDeviceX(wxCoord x) const ; + + wxCoord LogicalToDeviceXRel(wxCoord x) const ; + + wxCoord LogicalToDeviceY(wxCoord y) const ; + + wxCoord LogicalToDeviceYRel(wxCoord y) const ; + + bool Ok() const {return m_OK;}; + + void SetAxisOrientation( bool xLeftRight, bool yBottomUp ) ; + + void SetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetClippingRegion Call not yet implemented")); return ; }; + + void SetPalette(const wxPalette& palette) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetPalette Call not yet implemented")); return ; }; + + void SetBackground( const wxBrush &brush ) ; + + void SetBackgroundMode( int mode ) ; + + void SetBrush(const wxBrush& brush) ; + + void SetFont(const wxFont& font) ; + + void SetLogicalFunction(int function) + { wxASSERT_MSG (FALSE, wxT("wxSVGFILEDC::SetLogicalFunction Call implemented")); return ; }; + + void SetLogicalScale( double x, double y ) ; + + void SetLogicalOrigin( wxCoord x, wxCoord y ) ; + + void SetDeviceOrigin( wxCoord x, wxCoord y ) ; + + void SetMapMode(int anint) ; + + void SetOptimization(bool optimize) { return ; }; + + void SetPen(const wxPen& pen) ; + + void SetUserScale(double xScale, double yScale) ; + + bool StartDoc(const wxString& message) + { return FALSE; }; + + void StartPage() + { return ; }; + + +}; + +#ifdef __BORLANDC__ +#pragma warn .rch +#pragma warn .ccc +#endif +#endif -- 2.47.2