X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ddb0ed69a947fdc330d5d8b5a1e7baee8b1b89ae..52170c5b4419c63d6e0083df411aad420395ec98:/include/wx/dcgraph.h diff --git a/include/wx/dcgraph.h b/include/wx/dcgraph.h old mode 100755 new mode 100644 index 9d1e4d7fb9..2359129d76 --- 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,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 @@ -108,7 +110,7 @@ protected: virtual void DoDrawPoint(wxCoord x, wxCoord y); #if wxUSE_SPLINES - virtual void DoDrawSpline(wxList *points); + virtual void DoDrawSpline(const wxPointList *points); #endif virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2); @@ -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; };