X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888dde65f43d5f57e8fb2028b27191cca1741403..fa61b1df36e12ffdb77ec07677f6e14881c96a3b:/include/wx/msw/dc.h diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h index 87abc35421..0eea5ca268 100644 --- a/include/wx/msw/dc.h +++ b/include/wx/msw/dc.h @@ -43,7 +43,7 @@ public: // this is an ABC: use one of the derived classes to create a DC associated // with a window, screen, printer and so on -class WXDLLEXPORT wxMSWDCImpl: public wxDCImpl +class WXDLLIMPEXP_CORE wxMSWDCImpl: public wxDCImpl { public: wxMSWDCImpl(wxDC *owner, WXHDC hDC); @@ -86,7 +86,7 @@ public: 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); // implementation from now on @@ -164,6 +164,7 @@ protected: void RealizeScaleAndOrigin(); +public: virtual void DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y, wxCoord *descent = NULL, @@ -198,7 +199,7 @@ protected: double radius); virtual void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height); -#if wxUSE_SPLINES +#if wxUSE_SPLINES && !defined(__WXWINCE__) virtual void DoDrawSpline(const wxPointList *points); #endif @@ -224,11 +225,9 @@ protected: int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord); - // this is gnarly - we can't even call this function DoSetClippingRegion() - // because of virtual function hiding - virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); + virtual void DoSetDeviceClippingRegion(const wxRegion& region); virtual void DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const; @@ -242,8 +241,11 @@ protected: virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle = wxODDEVEN_RULE); - virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const - { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const + { + return subrect == NULL ? GetSelectedBitmap() + : GetSelectedBitmap().GetSubBitmap(*subrect); + } #if wxUSE_PALETTE @@ -257,10 +259,11 @@ protected: void InitializePalette(); #endif // wxUSE_PALETTE +protected: // common part of DoDrawText() and DoDrawRotatedText() void DrawAnyText(const wxString& text, wxCoord x, wxCoord y); - // common part of DoSetClippingRegion() and DoSetClippingRegionAsRegion() + // common part of DoSetClippingRegion() and DoSetDeviceClippingRegion() void SetClippingHrgn(WXHRGN hrgn); // implementation of DoGetSize() for wxScreen/PrinterDC: this simply @@ -314,7 +317,7 @@ protected: // only/mainly) // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxDCTempImpl: public wxMSWDCImpl +class WXDLLIMPEXP_CORE wxDCTempImpl : public wxMSWDCImpl { public: // construct a temporary DC with the specified HDC and size (it should be @@ -331,7 +334,6 @@ public: SetHDC((WXHDC)NULL); } -protected: virtual void DoGetSize(int *w, int *h) const { wxASSERT_MSG( m_size.IsFullySpecified(), @@ -351,17 +353,14 @@ private: DECLARE_NO_COPY_CLASS(wxDCTempImpl) }; -class WXDLLEXPORT wxDCTemp: public wxDC +class WXDLLIMPEXP_CORE wxDCTemp : public wxDC { public: - wxDCTemp( WXHDC hdc, const wxSize& size = wxDefaultSize ) + wxDCTemp(WXHDC hdc, const wxSize& size = wxDefaultSize) + : wxDC(new wxDCTempImpl(this, hdc, size)) { - m_pimpl = new wxDCTempImpl( this, hdc, size ); } - }; - - #endif // _WX_MSW_DC_H_