#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 );
+ wxGCDC( const wxPrinterDC& dc );
+ 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 );
+ wxGCDCImpl( wxDC *owner, const wxPrinterDC& dc );
+ wxGCDCImpl( wxDC *owner );
+
+ virtual ~wxGCDCImpl();
void Init();
virtual wxSize GetPPI() const;
virtual void SetMapMode(int mode);
- virtual void SetUserScale(double x, double y);
- 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 SetTextForeground(const wxColour& colour);
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);
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_