X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8acd14d1779dd5610b0fa16b0863adc7df5d9a82..469d3e9b7b28900f27130a69f2ecea7bce2078a1:/include/wx/dcgraph.h diff --git a/include/wx/dcgraph.h b/include/wx/dcgraph.h old mode 100755 new mode 100644 index 894e33ea56..cce940f27a --- a/include/wx/dcgraph.h +++ b/include/wx/dcgraph.h @@ -16,10 +16,9 @@ #include "wx/geometry.h" #include "wx/dynarray.h" +#include "wx/graphics.h" -class WXDLLEXPORT wxGraphicsContext; -class WXDLLEXPORT wxWindowDC; - +class WXDLLIMPEXP_FWD_CORE wxWindowDC; #ifdef __WXMAC__ #define wxGCDC wxDC @@ -27,9 +26,9 @@ class WXDLLEXPORT wxWindowDC; 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,9 +87,9 @@ public: virtual void ComputeScaleAndOrigin(); - wxGraphicsContext* GetGraphicContext() { return m_graphicContext; } - virtual void SetGraphicsContext( wxGraphicsContext* ctx ) - { delete m_graphicContext; m_graphicContext = ctx; } + wxGraphicsContext* GetGraphicsContext() { return m_graphicContext; } + virtual void SetGraphicsContext( wxGraphicsContext* ctx ); + protected: // the true implementations virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, @@ -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; @@ -163,15 +173,18 @@ protected: wxCoord *x, wxCoord *y, wxCoord *descent = NULL, wxCoord *externalLeading = NULL, - wxFont *theFont = NULL) const; + const wxFont *theFont = NULL) const; virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const; 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; };