- virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
- int style = wxFLOOD_SURFACE);
+ void Init()
+ {
+ m_bOwnsDC = false;
+ m_hDC = NULL;
+
+ m_oldBitmap = NULL;
+ m_oldPen = NULL;
+ m_oldBrush = NULL;
+ m_oldFont = NULL;
+
+#if wxUSE_PALETTE
+ m_oldPalette = NULL;
+#endif // wxUSE_PALETTE
+ }
+
+ // create an uninitialized DC: this should be only used by the derived
+ // classes
+ wxMSWDCImpl( wxDC *owner ) : wxDCImpl( owner ) { Init(); }
+
+ void RealizeScaleAndOrigin();
+
+public:
+ virtual void DoGetFontMetrics(int *height,
+ int *ascent,
+ int *descent,
+ int *internalLeading,
+ int *externalLeading,
+ int *averageWidth) const;
+ virtual void DoGetTextExtent(const wxString& string,
+ wxCoord *x, wxCoord *y,
+ wxCoord *descent = NULL,
+ wxCoord *externalLeading = NULL,
+ const wxFont *theFont = NULL) const;
+ virtual bool DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const;
+
+ virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
+ wxFloodFillStyle style = wxFLOOD_SURFACE);
+
+ virtual void DoGradientFillLinear(const wxRect& rect,
+ const wxColour& initialColour,
+ const wxColour& destColour,
+ wxDirection nDirection = wxEAST);