X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ddb0ed69a947fdc330d5d8b5a1e7baee8b1b89ae..98c4eb39105531b0316a9d8dbf87d7939e4c4270:/include/wx/dcgraph.h?ds=sidebyside diff --git a/include/wx/dcgraph.h b/include/wx/dcgraph.h index 9d1e4d7fb9..35fd3f9b14 100755 --- a/include/wx/dcgraph.h +++ b/include/wx/dcgraph.h @@ -16,20 +16,19 @@ #include "wx/geometry.h" #include "wx/dynarray.h" +#include "wx/graphics.h" -class WXDLLEXPORT wxGraphicsContext; class WXDLLEXPORT wxWindowDC; - #ifdef __WXMAC__ #define wxGCDC wxDC #endif class WXDLLEXPORT wxGCDC: #ifdef __WXMAC__ - public wxDCBase + public wxDCBase #else - public wxDC + public wxDC #endif { DECLARE_DYNAMIC_CLASS(wxGCDC) @@ -37,6 +36,9 @@ class WXDLLEXPORT wxGCDC: public: wxGCDC(const wxWindowDC& dc); +#ifdef __WXMSW__ + wxGCDC( const wxMemoryDC& dc); +#endif wxGCDC(); virtual ~wxGCDC(); @@ -85,8 +87,8 @@ public: virtual void ComputeScaleAndOrigin(); - wxGraphicsContext* GetGraphicContext() { return m_graphicContext; } - virtual void SetGraphicsContext( wxGraphicsContext* ctx ); + wxGraphicsContext* GetGraphicsContext() { return m_graphicContext; } + virtual void SetGraphicsContext( wxGraphicsContext* ctx ); protected: // the true implementations @@ -143,6 +145,14 @@ protected: wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); + virtual bool DoStretchBlit(wxCoord xdest, wxCoord ydest, + wxCoord dstWidth, wxCoord dstHeight, + wxDC *source, + wxCoord xsrc, wxCoord ysrc, + wxCoord srcWidth, wxCoord srcHeight, + int rop = wxCOPY, bool useMask = false, + wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord); + virtual void DoGetSize(int *,int *) const; virtual void DoGetSizeMM(int* width, int* height) const; @@ -169,9 +179,12 @@ protected: protected: // scaling variables + bool m_logicalFunctionSupported; double m_mm_to_pix_x, m_mm_to_pix_y; - - double m_formerScaleX, m_formerScaleY; + wxGraphicsMatrix m_matrixOriginal; + wxGraphicsMatrix m_matrixCurrent; + + double m_formerScaleX, m_formerScaleY; wxGraphicsContext* m_graphicContext; };