From c5789d15269c02979eef2b5a1779c35af5151473 Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Mon, 6 Dec 2004 15:48:50 +0000 Subject: [PATCH] Use Get*Box instead Get*Region if you are asking about position and size. And it is enough to have it in base class only. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/dc.h | 5 ++++- include/wx/mac/carbon/dc.h | 37 ++++++++++++++++--------------------- include/wx/mac/classic/dc.h | 37 ++++++++++++++++--------------------- include/wx/mgl/dc.h | 27 +++++++++++---------------- include/wx/msw/dc.h | 5 ----- include/wx/os2/dc.h | 11 ----------- include/wx/palmos/dc.h | 7 +------ 7 files changed, 48 insertions(+), 81 deletions(-) diff --git a/include/wx/dc.h b/include/wx/dc.h index 37babb269c..d696bcb49e 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -686,10 +686,13 @@ protected: virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height) = 0; - // FIXME are these functions really different? +#if WXWIN_COMPATIBILITY_2_4 + // this was only for confusing people, use DoGetClippingBox only virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) { DoGetClippingBox(x, y, w, h); } +#endif + virtual void DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const { diff --git a/include/wx/mac/carbon/dc.h b/include/wx/mac/carbon/dc.h index 5fc2601e55..4410680253 100644 --- a/include/wx/mac/carbon/dc.h +++ b/include/wx/mac/carbon/dc.h @@ -57,7 +57,7 @@ class WXDLLEXPORT wxDC: public wxDCBase wxDC(); ~wxDC(); - + // implement base class pure virtuals // ---------------------------------- @@ -66,7 +66,7 @@ class WXDLLEXPORT wxDC: public wxDCBase virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; } virtual void EndDoc(void) {}; - + virtual void StartPage(void) {}; virtual void EndPage(void) {}; @@ -107,8 +107,8 @@ class WXDLLEXPORT wxDC: public wxDCBase void ComputeScaleAndOrigin(void); public: - - + + wxCoord XDEV2LOG(wxCoord x) const { long new_x = x - m_deviceOriginX ; @@ -118,7 +118,7 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX; } wxCoord XDEV2LOGREL(wxCoord x) const - { + { if (x > 0) return (wxCoord)((double)(x) / m_scaleX + 0.5); else @@ -133,14 +133,14 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY; } wxCoord YDEV2LOGREL(wxCoord y) const - { + { if (y > 0) return (wxCoord)((double)(y) / m_scaleY + 0.5); else return (wxCoord)((double)(y) / m_scaleY - 0.5); } wxCoord XLOG2DEV(wxCoord x) const - { + { long new_x = x - m_logicalOriginX; if (new_x > 0) return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX ; @@ -148,7 +148,7 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX ; } wxCoord XLOG2DEVREL(wxCoord x) const - { + { if (x > 0) return (wxCoord)((double)(x) * m_scaleX + 0.5); else @@ -163,14 +163,14 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY ; } wxCoord YLOG2DEVREL(wxCoord y) const - { + { if (y > 0) return (wxCoord)((double)(y) * m_scaleY + 0.5); else return (wxCoord)((double)(y) * m_scaleY - 0.5); } wxCoord XLOG2DEVMAC(wxCoord x) const - { + { long new_x = x - m_logicalOriginX; if (new_x > 0) return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX + m_macLocalOrigin.x ; @@ -202,7 +202,7 @@ protected: virtual void DoDrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord xc, wxCoord yc); - + virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h, double sa, double ea); @@ -231,11 +231,6 @@ protected: virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, - wxCoord *width, wxCoord *height) - { - GetClippingBox(x, y, width, height); - } virtual void DoGetSizeMM(int* width, int* height) const; @@ -248,23 +243,23 @@ protected: protected: //begin wxmac // Variables used for scaling - double m_mm_to_pix_x,m_mm_to_pix_y; + double m_mm_to_pix_x,m_mm_to_pix_y; // not yet used - bool m_needComputeScaleX,m_needComputeScaleY; + bool m_needComputeScaleX,m_needComputeScaleY; // If un-scrolled is non-zero or d.o. changes with scrolling. // Set using SetInternalDeviceOrigin(). long m_internalDeviceOriginX,m_internalDeviceOriginY; // To be set by external classes such as wxScrolledWindow // using SetDeviceOrigin() long m_externalDeviceOriginX,m_externalDeviceOriginY; - + // Begin implementation for Mac public: - + WXHDC m_macPort ; WXHBITMAP m_macMask ; - // in order to preserve the const inheritance of the virtual functions, we have to + // in order to preserve the const inheritance of the virtual functions, we have to // use mutable variables starting from CWPro 5 void MacInstallFont() const ; diff --git a/include/wx/mac/classic/dc.h b/include/wx/mac/classic/dc.h index 5fc2601e55..4410680253 100644 --- a/include/wx/mac/classic/dc.h +++ b/include/wx/mac/classic/dc.h @@ -57,7 +57,7 @@ class WXDLLEXPORT wxDC: public wxDCBase wxDC(); ~wxDC(); - + // implement base class pure virtuals // ---------------------------------- @@ -66,7 +66,7 @@ class WXDLLEXPORT wxDC: public wxDCBase virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return TRUE; } virtual void EndDoc(void) {}; - + virtual void StartPage(void) {}; virtual void EndPage(void) {}; @@ -107,8 +107,8 @@ class WXDLLEXPORT wxDC: public wxDCBase void ComputeScaleAndOrigin(void); public: - - + + wxCoord XDEV2LOG(wxCoord x) const { long new_x = x - m_deviceOriginX ; @@ -118,7 +118,7 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_x) / m_scaleX - 0.5) * m_signX + m_logicalOriginX; } wxCoord XDEV2LOGREL(wxCoord x) const - { + { if (x > 0) return (wxCoord)((double)(x) / m_scaleX + 0.5); else @@ -133,14 +133,14 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_y) / m_scaleY - 0.5) * m_signY + m_logicalOriginY; } wxCoord YDEV2LOGREL(wxCoord y) const - { + { if (y > 0) return (wxCoord)((double)(y) / m_scaleY + 0.5); else return (wxCoord)((double)(y) / m_scaleY - 0.5); } wxCoord XLOG2DEV(wxCoord x) const - { + { long new_x = x - m_logicalOriginX; if (new_x > 0) return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX ; @@ -148,7 +148,7 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_x) * m_scaleX - 0.5) * m_signX + m_deviceOriginX ; } wxCoord XLOG2DEVREL(wxCoord x) const - { + { if (x > 0) return (wxCoord)((double)(x) * m_scaleX + 0.5); else @@ -163,14 +163,14 @@ class WXDLLEXPORT wxDC: public wxDCBase return (wxCoord)((double)(new_y) * m_scaleY - 0.5) * m_signY + m_deviceOriginY ; } wxCoord YLOG2DEVREL(wxCoord y) const - { + { if (y > 0) return (wxCoord)((double)(y) * m_scaleY + 0.5); else return (wxCoord)((double)(y) * m_scaleY - 0.5); } wxCoord XLOG2DEVMAC(wxCoord x) const - { + { long new_x = x - m_logicalOriginX; if (new_x > 0) return (wxCoord)((double)(new_x) * m_scaleX + 0.5) * m_signX + m_deviceOriginX + m_macLocalOrigin.x ; @@ -202,7 +202,7 @@ protected: virtual void DoDrawArc(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2, wxCoord xc, wxCoord yc); - + virtual void DoDrawEllipticArc(wxCoord x, wxCoord y, wxCoord w, wxCoord h, double sa, double ea); @@ -231,11 +231,6 @@ protected: virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, - wxCoord *width, wxCoord *height) - { - GetClippingBox(x, y, width, height); - } virtual void DoGetSizeMM(int* width, int* height) const; @@ -248,23 +243,23 @@ protected: protected: //begin wxmac // Variables used for scaling - double m_mm_to_pix_x,m_mm_to_pix_y; + double m_mm_to_pix_x,m_mm_to_pix_y; // not yet used - bool m_needComputeScaleX,m_needComputeScaleY; + bool m_needComputeScaleX,m_needComputeScaleY; // If un-scrolled is non-zero or d.o. changes with scrolling. // Set using SetInternalDeviceOrigin(). long m_internalDeviceOriginX,m_internalDeviceOriginY; // To be set by external classes such as wxScrolledWindow // using SetDeviceOrigin() long m_externalDeviceOriginX,m_externalDeviceOriginY; - + // Begin implementation for Mac public: - + WXHDC m_macPort ; WXHBITMAP m_macMask ; - // in order to preserve the const inheritance of the virtual functions, we have to + // in order to preserve the const inheritance of the virtual functions, we have to // use mutable variables starting from CWPro 5 void MacInstallFont() const ; diff --git a/include/wx/mgl/dc.h b/include/wx/mgl/dc.h index db07868a65..b182a2d952 100644 --- a/include/wx/mgl/dc.h +++ b/include/wx/mgl/dc.h @@ -100,7 +100,7 @@ public: // implementation from now on // -------------------------- - + virtual void ComputeScaleAndOrigin(); wxCoord XDEV2LOG(wxCoord x) const @@ -207,11 +207,6 @@ protected: virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, - wxCoord *width, wxCoord *height) - { - GetClippingBox(x, y, width, height); - } virtual void DoGetSize(int *width, int *height) const; virtual void DoGetSizeMM(int* width, int* height) const; @@ -231,50 +226,50 @@ protected: // common part of DoDrawText() and DoDrawRotatedText() void DrawAnyText(const wxString& text, wxCoord x, wxCoord y); - + // MGL uses pens as both wxPens and wxBrushes, so we have to // switch them as needed: void SelectPen(); void SelectBrush(); void SelectMGLStipplePen(int style); void SelectMGLFatPen(int style, int flag); - + // Select m_font into m_MGLDC: bool SelectMGLFont(); - + // Convert wxWin logical function to MGL rop: int LogicalFunctionToMGLRop(int logFunc) const; - + // Unified implementation of DrawIcon, DrawBitmap and Blit: - void DoDrawSubBitmap(const wxBitmap &bmp, + void DoDrawSubBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y, wxCoord w, wxCoord h, wxCoord destx, wxCoord desty, int rop, bool useMask); // MGL DC class we use: MGLDevCtx *m_MGLDC; bool m_OwnsMGLDC:1; - + // helper variables for SelectXXXX(): bool m_penSelected; bool m_brushSelected; bool m_downloadedPatterns[2]; - // MGL does not render lines with width>1 with endings centered + // MGL does not render lines with width>1 with endings centered // at given coords but with top left corner of the pen at them, // these offsets are used to correct it. They are computed by // SelectPen. int m_penOfsX, m_penOfsY; double m_mm_to_pix_x, m_mm_to_pix_y; - + wxPalette m_oldPalette; - + wxRegion m_currentClippingRegion; wxRegion m_globalClippingRegion; // wxDC::Blit handles memoryDCs as special cases :( bool m_isMemDC; - + font_t *m_mglFont; }; diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h index 045299277b..3ee358dad6 100644 --- a/include/wx/msw/dc.h +++ b/include/wx/msw/dc.h @@ -183,11 +183,6 @@ protected: virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, - wxCoord *width, wxCoord *height) - { - GetClippingBox(x, y, width, height); - } virtual void DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const; diff --git a/include/wx/os2/dc.h b/include/wx/os2/dc.h index 009cc6c746..e1ad714f22 100644 --- a/include/wx/os2/dc.h +++ b/include/wx/os2/dc.h @@ -300,17 +300,6 @@ protected: ,wxCoord vWidth ,wxCoord vHeight ); - virtual void DoGetClippingRegion( wxCoord* pX - ,wxCoord* pY - ,wxCoord* pWidth - ,wxCoord* pHeight) - { - GetClippingBox( pX - ,pY - ,pWidth - ,pHeight - ); - } virtual void DoGetSize( int* pWidth ,int* pHeight diff --git a/include/wx/palmos/dc.h b/include/wx/palmos/dc.h index fa18e1372f..fb95b043ce 100644 --- a/include/wx/palmos/dc.h +++ b/include/wx/palmos/dc.h @@ -4,7 +4,7 @@ // Author: William Osborne // Modified by: // Created: 10/13/04 -// RCS-ID: $Id: +// RCS-ID: $Id: // Copyright: (c) William Osborne // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -184,11 +184,6 @@ protected: virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height); - virtual void DoGetClippingRegion(wxCoord *x, wxCoord *y, - wxCoord *width, wxCoord *height) - { - GetClippingBox(x, y, width, height); - } virtual void DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) const; -- 2.47.2