X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc18b1c7af38025eb0848e117ca72d3e496e81e6..c347101b66e941922bf6f266bf155be4db0be793:/include/wx/dcgraph.h diff --git a/include/wx/dcgraph.h b/include/wx/dcgraph.h index 7ac6f8b47e..0db43629ac 100644 --- a/include/wx/dcgraph.h +++ b/include/wx/dcgraph.h @@ -14,33 +14,43 @@ #if wxUSE_GRAPHICS_CONTEXT +#include "wx/dc.h" #include "wx/geometry.h" -#include "wx/dynarray.h" #include "wx/graphics.h" class WXDLLIMPEXP_FWD_CORE wxWindowDC; -#ifdef __WXMAC__ -#define wxGCDC wxDC -#endif -class WXDLLEXPORT wxGCDC: -#ifdef __WXMAC__ - public wxDCBase -#else - public wxDC -#endif +class WXDLLIMPEXP_CORE wxGCDC: public wxDC { +public: + wxGCDC( const wxWindowDC& dc ); + wxGCDC( const wxMemoryDC& dc ); +#if wxUSE_PRINTING_ARCHITECTURE + wxGCDC( const wxPrinterDC& dc ); +#endif + wxGCDC(); + virtual ~wxGCDC(); + + wxGraphicsContext* GetGraphicsContext(); + void SetGraphicsContext( wxGraphicsContext* ctx ); + DECLARE_DYNAMIC_CLASS(wxGCDC) DECLARE_NO_COPY_CLASS(wxGCDC) +}; + +class WXDLLIMPEXP_CORE wxGCDCImpl: public wxDCImpl +{ public: - wxGCDC(const wxWindowDC& dc); -#ifdef __WXMSW__ - wxGCDC( const wxMemoryDC& dc); -#endif - wxGCDC(); - virtual ~wxGCDC(); + wxGCDCImpl( wxDC *owner, const wxWindowDC& dc ); + wxGCDCImpl( wxDC *owner, const wxMemoryDC& dc ); +#if wxUSE_PRINTING_ARCHITECTURE + wxGCDCImpl( wxDC *owner, const wxPrinterDC& dc ); +#endif + wxGCDCImpl( wxDC *owner ); + + virtual ~wxGCDCImpl(); void Init(); @@ -76,14 +86,9 @@ public: virtual int GetDepth() const; virtual wxSize GetPPI() const; - virtual void SetMapMode(int mode); - virtual void SetUserScale(double x, double y); + virtual void SetMapMode(wxMappingMode mode); - virtual void SetLogicalScale(double x, double y); - virtual void SetLogicalOrigin(wxCoord x, wxCoord y); - virtual void SetDeviceOrigin(wxCoord x, wxCoord y); - virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp); - virtual void SetLogicalFunction(int function); + virtual void SetLogicalFunction(wxRasterOperationMode function); virtual void SetTextForeground(const wxColour& colour); virtual void SetTextBackground(const wxColour& colour); @@ -93,10 +98,9 @@ public: wxGraphicsContext* GetGraphicsContext() { return m_graphicContext; } virtual void SetGraphicsContext( wxGraphicsContext* ctx ); -protected: // the true implementations virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, - int style = wxFLOOD_SURFACE); + wxFloodFillStyle style = wxFLOOD_SURFACE); virtual void DoGradientFillLinear(const wxRect& rect, const wxColour& initialColour, @@ -145,15 +149,16 @@ protected: double angle); virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); + wxDC *source, wxCoord xsrc, wxCoord ysrc, + wxRasterOperationMode 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, + wxRasterOperationMode = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord); virtual void DoGetSize(int *,int *) const; @@ -162,13 +167,13 @@ protected: virtual void DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset); virtual void DoDrawPolygon(int n, wxPoint points[], - wxCoord xoffset, wxCoord yoffset, - int fillStyle = wxODDEVEN_RULE); + wxCoord xoffset, wxCoord yoffset, + wxPolygonFillMode fillStyle = wxODDEVEN_RULE); virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[], - wxCoord xoffset, wxCoord yoffset, - int fillStyle); + wxCoord xoffset, wxCoord yoffset, + wxPolygonFillMode fillStyle); - virtual void DoSetClippingRegionAsRegion(const wxRegion& region); + virtual void DoSetDeviceClippingRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); @@ -190,8 +195,10 @@ protected: double m_formerScaleX, m_formerScaleY; wxGraphicsContext* m_graphicContext; + + DECLARE_CLASS(wxGCDCImpl) + DECLARE_NO_COPY_CLASS(wxGCDCImpl) }; -#endif - +#endif // wxUSE_GRAPHICS_CONTEXT #endif // _WX_GRAPHICS_DC_H_