#include "wx/os2/dc.h"
#endif
+#if wxUSE_GRAPHICS_CONTEXT
+ #include "wx/dcgraph.h"
+#endif
+
// ----------------------------------------------------------------------------
// helper class: you can use it to temporarily change the DC text colour and
// restore it automatically when the object goes out of scope
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/graphdc.h
+// Purpose: graphics context device bridge header
+// Author: Stefan Csomor
+// Modified by:
+// Created:
+// Copyright: (c) Stefan Csomor
+// RCS-ID: $Id$
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GRAPHICS_DC_H_
+#define _WX_GRAPHICS_DC_H_
+
+#if wxUSE_GRAPHICS_CONTEXT
+
+#include "wx/geometry.h"
+#include "wx/dynarray.h"
+
+class WXDLLEXPORT wxGraphicsContext;
+class WXDLLEXPORT wxWindowDC;
+
+
+#ifdef __WXMAC__
+#define wxGCDC wxDC
+#endif
+
+class WXDLLEXPORT wxGCDC:
+#ifdef __WXMAC__
+ public wxDCBase
+#else
+ public wxDC
+#endif
+{
+ DECLARE_DYNAMIC_CLASS(wxGCDC)
+ DECLARE_NO_COPY_CLASS(wxGCDC)
+
+public:
+ wxGCDC(const wxWindowDC& dc);
+ wxGCDC();
+ virtual ~wxGCDC();
+
+ void Init();
+
+
+ // implement base class pure virtuals
+ // ----------------------------------
+
+ virtual void Clear();
+
+ virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return true; }
+ virtual void EndDoc(void) {}
+
+ virtual void StartPage(void) {}
+ virtual void EndPage(void) {}
+
+ virtual void SetFont(const wxFont& font);
+ virtual void SetPen(const wxPen& pen);
+ virtual void SetBrush(const wxBrush& brush);
+ virtual void SetBackground(const wxBrush& brush);
+ virtual void SetBackgroundMode(int mode);
+ virtual void SetPalette(const wxPalette& palette);
+
+ virtual void DestroyClippingRegion();
+
+ virtual wxCoord GetCharHeight() const;
+ virtual wxCoord GetCharWidth() const;
+
+ virtual bool CanDrawBitmap() const;
+ virtual bool CanGetTextExtent() const;
+ virtual int GetDepth() const;
+ 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);
+ virtual void SetTextBackground(const wxColour& colour);
+
+ virtual void ComputeScaleAndOrigin();
+
+ wxGraphicsContext* GetGraphicContext() { return m_graphicContext; }
+ virtual void SetGraphicsContext( wxGraphicsContext* ctx )
+ { delete m_graphicContext; m_graphicContext = ctx; }
+protected:
+ // the true implementations
+ virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
+ int style = wxFLOOD_SURFACE);
+
+ virtual void DoGradientFillLinear(const wxRect& rect,
+ const wxColour& initialColour,
+ const wxColour& destColour,
+ wxDirection nDirection = wxEAST);
+
+ virtual void DoGradientFillConcentric(const wxRect& rect,
+ const wxColour& initialColour,
+ const wxColour& destColour,
+ const wxPoint& circleCenter);
+
+ virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const;
+
+ virtual void DoDrawPoint(wxCoord x, wxCoord y);
+
+#if wxUSE_SPLINES
+ virtual void DoDrawSpline(wxList *points);
+#endif
+
+ virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
+
+ virtual void DoDrawArc(wxCoord x1, wxCoord y1,
+ wxCoord x2, wxCoord y2,
+ wxCoord xc, wxCoord yc);
+
+ virtual void DoDrawCheckMark(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height);
+
+ virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
+ double sa, double ea);
+
+ virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+ virtual void DoDrawRoundedRectangle(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height,
+ double radius);
+ virtual void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
+
+ virtual void DoCrossHair(wxCoord x, wxCoord y);
+
+ virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
+ virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
+ bool useMask = false);
+
+ virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y);
+ virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
+ 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);
+
+ virtual void DoGetSize(int *,int *) const;
+ virtual void DoGetSizeMM(int* width, int* height) const;
+
+ 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);
+ virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+ wxCoord xoffset, wxCoord yoffset,
+ int fillStyle);
+
+ virtual void DoSetClippingRegionAsRegion(const wxRegion& region);
+ virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
+ wxCoord width, wxCoord height);
+
+ virtual void DoGetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent = NULL,
+ wxCoord *externalLeading = NULL,
+ wxFont *theFont = NULL) const;
+
+ virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
+
+protected:
+ // scaling variables
+ double m_mm_to_pix_x, m_mm_to_pix_y;
+
+ double m_formerScaleX, m_formerScaleY;
+
+ wxGraphicsContext* m_graphicContext;
+};
+
+#endif
+
+#endif // _WX_GRAPHICS_DC_H_
#ifndef _WX_GRAPHICS_H_
#define _WX_GRAPHICS_H_
+#if wxUSE_GRAPHICS_CONTEXT
+
#include "wx/geometry.h"
#include "wx/dynarray.h"
-#include "wx/dc.h"
class WXDLLEXPORT wxWindowDC;
-#if wxUSE_GRAPHICS_CONTEXT
-
/*
* notes about the graphics context apis
*
DECLARE_NO_COPY_CLASS(wxGraphicsContext)
};
-#ifdef __WXMAC__
-#define wxGCDC wxDC
-#endif
-
-class WXDLLEXPORT wxGCDC:
-#ifdef __WXMAC__
- public wxDCBase
-#else
- public wxDC
#endif
-{
- DECLARE_DYNAMIC_CLASS(wxGCDC)
- DECLARE_NO_COPY_CLASS(wxGCDC)
-
-public:
- wxGCDC(const wxWindowDC& dc);
- wxGCDC();
- virtual ~wxGCDC();
-
- void Init();
-
-
- // implement base class pure virtuals
- // ----------------------------------
-
- virtual void Clear();
-
- virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return true; }
- virtual void EndDoc(void) {}
-
- virtual void StartPage(void) {}
- virtual void EndPage(void) {}
-
- virtual void SetFont(const wxFont& font);
- virtual void SetPen(const wxPen& pen);
- virtual void SetBrush(const wxBrush& brush);
- virtual void SetBackground(const wxBrush& brush);
- virtual void SetBackgroundMode(int mode);
- virtual void SetPalette(const wxPalette& palette);
-
- virtual void DestroyClippingRegion();
-
- virtual wxCoord GetCharHeight() const;
- virtual wxCoord GetCharWidth() const;
-
- virtual bool CanDrawBitmap() const;
- virtual bool CanGetTextExtent() const;
- virtual int GetDepth() const;
- 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);
- virtual void SetTextBackground(const wxColour& colour);
-
- virtual void ComputeScaleAndOrigin();
-
- wxGraphicsContext* GetGraphicsContext() { return m_graphicContext; }
- virtual void SetGraphicsContext( wxGraphicsContext* ctx )
- { delete m_graphicContext; m_graphicContext = ctx; }
-protected:
- // the true implementations
- virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
- int style = wxFLOOD_SURFACE);
-
- virtual void DoGradientFillLinear(const wxRect& rect,
- const wxColour& initialColour,
- const wxColour& destColour,
- wxDirection nDirection = wxEAST);
- virtual void DoGradientFillConcentric(const wxRect& rect,
- const wxColour& initialColour,
- const wxColour& destColour,
- const wxPoint& circleCenter);
-
- virtual bool DoGetPixel(wxCoord x, wxCoord y, wxColour *col) const;
-
- virtual void DoDrawPoint(wxCoord x, wxCoord y);
-
-#if wxUSE_SPLINES
- virtual void DoDrawSpline(wxList *points);
-#endif
-
- virtual void DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
-
- virtual void DoDrawArc(wxCoord x1, wxCoord y1,
- wxCoord x2, wxCoord y2,
- wxCoord xc, wxCoord yc);
-
- virtual void DoDrawCheckMark(wxCoord x, wxCoord y,
- wxCoord width, wxCoord height);
-
- virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h,
- double sa, double ea);
-
- virtual void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
- virtual void DoDrawRoundedRectangle(wxCoord x, wxCoord y,
- wxCoord width, wxCoord height,
- double radius);
- virtual void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
-
- virtual void DoCrossHair(wxCoord x, wxCoord y);
-
- virtual void DoDrawIcon(const wxIcon& icon, wxCoord x, wxCoord y);
- virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
- bool useMask = false);
-
- virtual void DoDrawText(const wxString& text, wxCoord x, wxCoord y);
- virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
- 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);
-
- virtual void DoGetSize(int *,int *) const;
- virtual void DoGetSizeMM(int* width, int* height) const;
-
- 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);
- virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
- wxCoord xoffset, wxCoord yoffset,
- int fillStyle);
-
- virtual void DoSetClippingRegionAsRegion(const wxRegion& region);
- virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
- wxCoord width, wxCoord height);
-
- virtual void DoGetTextExtent(const wxString& string,
- wxCoord *x, wxCoord *y,
- wxCoord *descent = NULL,
- wxCoord *externalLeading = NULL,
- wxFont *theFont = NULL) const;
-
- virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
-
-protected:
- // scaling variables
- double m_mm_to_pix_x, m_mm_to_pix_y;
-
- double m_formerScaleX, m_formerScaleY;
-
- wxGraphicsContext* m_graphicContext;
-};
-
-#endif
-
-#endif
- // _WX_GRID_H_BASE_
+#endif // _WX_GRAPHICS_H_
class wxMacPortStateHelper;
-#if wxUSE_GRAPHICS_CONTEXT
-
-#include "wx/graphics.h"
-
-#else
+#if !wxUSE_GRAPHICS_CONTEXT
class WXDLLEXPORT wxGraphicPath
{
#ifdef __WXMAC__
#include "wx/mac/private.h"
+#include "wx/graphics.h"
#endif
#ifdef __WXGTK__
#include "wx/mac/private.h"
#include "wx/toplevel.h"
+#include "wx/graphics.h"
class wxOverlayImpl
{
#include "wx/region.h"
#endif
+#include "wx/graphics.h"
#include "wx/mac/private.h"
//-----------------------------------------------------------------------------
#include "wx/wxprec.h"
#include "wx/dcmemory.h"
+#include "wx/graphics.h"
#include "wx/mac/private.h"
#include "wx/mac/uma.h"
#include "wx/mac/private/print.h"
+#include "wx/graphics.h"
IMPLEMENT_CLASS(wxPrinterDC, wxDC)
#include "wx/dcscreen.h"
#include "wx/mac/uma.h"
+#include "wx/graphics.h"
IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
#include "wx/metafile.h"
#include "wx/clipbrd.h"
#include "wx/mac/private.h"
+#include "wx/graphics.h"
#include <stdio.h>
#include <string.h>
#endif
#include "wx/renderer.h"
+#include "wx/graphics.h"
#include "wx/mac/uma.h"