X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/942d5e2d7223bde6ae7aceab3ddb3d417b55d48c..880d76dfb12d4e8466df30d641bb25c6f71bd398:/include/wx/dcgraph.h diff --git a/include/wx/dcgraph.h b/include/wx/dcgraph.h index a5c7e6ff97..d010b63ae4 100644 --- a/include/wx/dcgraph.h +++ b/include/wx/dcgraph.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wx/graphdc.h +// Name: wx/dcgraph.h // Purpose: graphics context device bridge header // Author: Stefan Csomor // Modified by: @@ -29,10 +29,15 @@ public: #if wxUSE_PRINTING_ARCHITECTURE wxGCDC( const wxPrinterDC& dc ); #endif +#if defined(__WXMSW__) && wxUSE_ENH_METAFILE + wxGCDC( const wxEnhMetaFileDC& dc ); +#endif + wxGCDC(wxGraphicsContext* context); + wxGCDC(); virtual ~wxGCDC(); - wxGraphicsContext* GetGraphicsContext(); + wxGraphicsContext* GetGraphicsContext() const; void SetGraphicsContext( wxGraphicsContext* ctx ); #ifdef __WXMSW__ @@ -55,14 +60,14 @@ public: wxGCDCImpl( wxDC *owner, const wxMemoryDC& dc ); #if wxUSE_PRINTING_ARCHITECTURE wxGCDCImpl( wxDC *owner, const wxPrinterDC& dc ); +#endif +#if defined(__WXMSW__) && wxUSE_ENH_METAFILE + wxGCDCImpl( wxDC *owner, const wxEnhMetaFileDC& dc ); #endif wxGCDCImpl( wxDC *owner ); virtual ~wxGCDCImpl(); - void Init(); - - // implement base class pure virtuals // ---------------------------------- @@ -94,8 +99,6 @@ public: virtual int GetDepth() const; virtual wxSize GetPPI() const; - virtual void SetMapMode(wxMappingMode mode); - virtual void SetLogicalFunction(wxRasterOperationMode function); virtual void SetTextForeground(const wxColour& colour); @@ -103,9 +106,11 @@ public: virtual void ComputeScaleAndOrigin(); - wxGraphicsContext* GetGraphicsContext() { return m_graphicContext; } + wxGraphicsContext* GetGraphicsContext() const { return m_graphicContext; } virtual void SetGraphicsContext( wxGraphicsContext* ctx ); + virtual void* GetHandle() const; + // the true implementations virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, wxFloodFillStyle style = wxFLOOD_SURFACE); @@ -193,10 +198,17 @@ public: virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const; +#ifdef __WXMSW__ + virtual wxRect MSWApplyGDIPlusTransform(const wxRect& r) const; +#endif // __WXMSW__ + protected: + // unused int parameter distinguishes this version, which does not create a + // wxGraphicsContext, in the expectation that the derived class will do it + wxGCDCImpl(wxDC* owner, int); + // scaling variables bool m_logicalFunctionSupported; - double m_mm_to_pix_x, m_mm_to_pix_y; wxGraphicsMatrix m_matrixOriginal; wxGraphicsMatrix m_matrixCurrent; @@ -204,6 +216,9 @@ protected: wxGraphicsContext* m_graphicContext; +private: + void Init(wxGraphicsContext*); + DECLARE_CLASS(wxGCDCImpl) wxDECLARE_NO_COPY_CLASS(wxGCDCImpl); };