- ~wxDC(void);
-
- virtual void BeginDrawing(void) { };
- virtual void EndDrawing(void) { };
-
-//-----------------------------------------------------------------------------
-// Pure virtuals from wxDCBase that need defining
-//-----------------------------------------------------------------------------
- virtual bool CanDrawBitmap(void) const { return TRUE; };
- virtual bool CanGetTextExtent(void) const { return TRUE; };
- virtual int GetDepth(void) const;
- virtual wxSize GetPPI(void) const;
- virtual void GetTextExtent( const wxString& string
- ,long* width
- ,long* height
- ,long* descent = NULL
- ,long* externalLeading = NULL
- ,wxFont* theFont = NULL
- ) const;
- virtual long GetCharWidth(void) const;
- virtual long GetCharHeight(void) const;
- virtual void Clear(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 SetLogicalFunction(int function);
- virtual void SetBackgroundMode(int mode);
- virtual void SetPalette(const wxPalette& palette);
- virtual void SetMapMode(int mode);
- virtual void DestroyClippingRegion(void);
- virtual void SetUserScale(double x, double y);
- virtual void SetLogicalOrigin(long x, long y);
- virtual void SetDeviceOrigin(long x, long y);
- virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp);
-
- virtual void DoFloodFill( long x
- ,long y
- ,const wxColour& col
- ,int style = wxFLOOD_SURFACE
+ ~wxDC();
+
+ // implement base class pure virtuals
+ // ----------------------------------
+
+ virtual void Clear(void);
+
+ virtual bool StartDoc(const wxString& rsMessage);
+ virtual void EndDoc(void);
+
+ virtual void StartPage(void);
+ virtual void EndPage(void);
+
+ virtual void SetFont(const wxFont& rFont);
+ virtual void SetPen(const wxPen& rPen);
+ virtual void SetBrush(const wxBrush& rBrush);
+ virtual void SetBackground(const wxBrush& rBrush);
+ virtual void SetBackgroundMode(int nMode);
+ virtual void SetPalette(const wxPalette& rPalette);
+
+ virtual void DestroyClippingRegion(void);
+
+ virtual wxCoord GetCharHeight(void) const;
+ virtual wxCoord GetCharWidth(void) const;
+ virtual void DoGetTextExtent( const wxString& rsString
+ ,wxCoord* pX
+ ,wxCoord* pY
+ ,wxCoord* pDescent = NULL
+ ,wxCoord* pExternalLeading = NULL
+ ,wxFont* pTheFont = NULL
+ ) const;
+ virtual bool CanDrawBitmap(void) const;
+ virtual bool CanGetTextExtent(void) const;
+ virtual int GetDepth(void) const;
+ virtual wxSize GetPPI(void) const;
+
+ virtual void SetMapMode(int nMode);
+ virtual void SetUserScale( double dX
+ ,double dY
+ );
+ virtual void SetSystemScale( double dX
+ ,double dY
+ );
+ virtual void SetLogicalScale( double dX
+ ,double dY
+ );
+ virtual void SetLogicalOrigin( wxCoord vX
+ ,wxCoord vY
+ );
+ virtual void SetDeviceOrigin( wxCoord vX
+ ,wxCoord vY
+ );
+ virtual void SetAxisOrientation( bool bXLeftRight
+ ,bool bYBottomUp
+ );
+ virtual void SetLogicalFunction(int nFunction);
+
+ // implementation from now on
+ // --------------------------
+
+ virtual void SetRop(WXHDC hCdc);
+ virtual void SelectOldObjects(WXHDC hDc);
+
+ wxWindow* GetWindow(void) const { return m_pCanvas; }
+ void SetWindow(wxWindow* pWin) { m_pCanvas = pWin; }
+
+ WXHDC GetHDC(void) const { return m_hDC; }
+ void SetHDC( WXHDC hDc
+ ,bool bOwnsDC = FALSE
+ )
+ {
+ m_hDC = hDc;
+ m_bOwnsDC = bOwnsDC;
+ }
+
+ HPS GetHPS(void) const { return m_hPS; }
+ void SetHPS(HPS hPS)
+ {
+ HDC hDC = ::GpiQueryDevice(hPS);
+ m_hPS = hPS;
+ }
+ const wxBitmap& GetSelectedBitmap(void) const { return m_vSelectedBitmap; }
+ wxBitmap& GetSelectedBitmap(void) { return m_vSelectedBitmap; }
+
+protected:
+ virtual void DoFloodFill( wxCoord vX
+ ,wxCoord vY
+ ,const wxColour& rCol
+ ,int nStyle = wxFLOOD_SURFACE
+ );
+
+ virtual bool DoGetPixel( wxCoord vX
+ ,wxCoord vY
+ ,wxColour* pCol
+ ) const;
+
+ virtual void DoDrawPoint( wxCoord vX
+ ,wxCoord vY
+ );
+ virtual void DoDrawLine( wxCoord vX1
+ ,wxCoord vY1
+ ,wxCoord vX2
+ ,wxCoord vY2
+ );
+
+ virtual void DoDrawArc( wxCoord vX1
+ ,wxCoord vY1
+ ,wxCoord vX2
+ ,wxCoord vY2
+ ,wxCoord vXc
+ ,wxCoord vYc
+ );
+ virtual void DoDrawCheckMark( wxCoord vX
+ ,wxCoord vY
+ ,wxCoord vWidth
+ ,wxCoord vHeight
+ );
+ virtual void DoDrawEllipticArc( wxCoord vX
+ ,wxCoord vY
+ ,wxCoord vW
+ ,wxCoord vH
+ ,double dSa
+ ,double dEa
+ );
+
+ virtual void DoDrawRectangle( wxCoord vX
+ ,wxCoord vY
+ ,wxCoord vWidth
+ ,wxCoord vHeight
+ );
+ virtual void DoDrawRoundedRectangle( wxCoord vX
+ ,wxCoord vY
+ ,wxCoord vWidth
+ ,wxCoord vHeight
+ ,double dRadius
+ );
+ virtual void DoDrawEllipse( wxCoord vX
+ ,wxCoord vY
+ ,wxCoord vWidth
+ ,wxCoord vHeight