X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4d98fefce72245fbbe2de6434445e05b5c74786e..8e77fd8bca165aab9709649d79a7cbc6a172d4e1:/include/wx/os2/pen.h diff --git a/include/wx/os2/pen.h b/include/wx/os2/pen.h index 370de02317..5907125fc8 100644 --- a/include/wx/os2/pen.h +++ b/include/wx/os2/pen.h @@ -17,49 +17,14 @@ typedef long wxPMDash; -class WXDLLIMPEXP_FWD_CORE wxPen; - -class WXDLLEXPORT wxPenRefData: public wxGDIRefData -{ - friend class WXDLLIMPEXP_FWD_CORE wxPen; -public: - wxPenRefData(); - wxPenRefData(const wxPenRefData& rData); - virtual ~wxPenRefData(); - - bool operator==(const wxPenRefData& data) const - { - // we intentionally don't compare m_hPen fields here - return m_nStyle == data.m_nStyle && - m_nWidth == data.m_nWidth && - m_nJoin == data.m_nJoin && - m_nCap == data.m_nCap && - m_vColour == data.m_vColour && - (m_nStyle != wxPENSTYLE_STIPPLE || m_vStipple.IsSameAs(data.m_vStipple)) && - (m_nStyle != wxPENSTYLE_USER_DASH || - (m_dash == data.m_dash && - memcmp(m_dash, data.m_dash, m_nbDash*sizeof(wxDash)) == 0)); - } - -protected: - int m_nWidth; - wxPenStyle m_nStyle; - wxPenJoin m_nJoin; - wxPenCap m_nCap; - wxBitmap m_vStipple; - int m_nbDash; - wxDash * m_dash; - wxColour m_vColour; - WXHPEN m_hPen;// in OS/2 GPI this will be the PS the pen is associated with -}; - -#define M_PENDATA ((wxPenRefData *)m_refData) - +// ---------------------------------------------------------------------------- // Pen -class WXDLLEXPORT wxPen : public wxPenBase +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPen : public wxPenBase { public: - wxPen(); + wxPen() { } wxPen( const wxColour& rColour ,int nWidth = 1 ,wxPenStyle nStyle = wxPENSTYLE_SOLID @@ -71,16 +36,9 @@ public: wxPen( const wxBitmap& rStipple ,int nWidth ); - virtual ~wxPen(); - - inline bool operator == (const wxPen& rPen) const - { - const wxPenRefData *penData = (wxPenRefData *)rPen.m_refData; - - // an invalid pen is only equal to another invalid pen - return m_refData ? penData && *M_PENDATA == *penData : !penData; - } + virtual ~wxPen() { } + bool operator == (const wxPen& rPen) const; inline bool operator != (const wxPen& rPen) const { return !(*this == rPen); } @@ -100,21 +58,21 @@ public: void SetCap(wxPenCap nCap); void SetPS(HPS hPS); - inline wxColour& GetColour(void) const { return (M_PENDATA ? M_PENDATA->m_vColour : wxNullColour); }; - inline int GetWidth(void) const { return (M_PENDATA ? M_PENDATA->m_nWidth : -1); }; - inline wxPenStyle GetStyle(void) const { return (M_PENDATA ? M_PENDATA->m_nStyle : wxPENSTYLE_INVALID); }; - inline wxPenJoin GetJoin(void) const { return (M_PENDATA ? M_PENDATA->m_nJoin : wxJOIN_INVALID); }; - inline wxPenCap GetCap(void) const { return (M_PENDATA ? M_PENDATA->m_nCap : wxCAP_INVALID); }; - inline int GetPS(void) const { return (M_PENDATA ? M_PENDATA->m_hPen : 0); }; - inline int GetDashes(wxDash **ptr) const - { - *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); - return (M_PENDATA ? M_PENDATA->m_nbDash : -1); - } - inline wxDash* GetDash() const { return (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*)NULL); }; - inline int GetDashCount() const { return (M_PENDATA ? M_PENDATA->m_nbDash : 0); }; - - inline wxBitmap* GetStipple(void) const { return (M_PENDATA ? (& M_PENDATA->m_vStipple) : (wxBitmap*) NULL); }; + wxColour GetColour(void) const; + int GetWidth(void) const; + wxPenStyle GetStyle(void) const; + wxPenJoin GetJoin(void) const; + wxPenCap GetCap(void) const; + int GetPS(void) const; + int GetDashes(wxDash **ptr) const; + wxDash* GetDash() const; + int GetDashCount() const; + wxBitmap* GetStipple(void) const; + +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( void SetStyle(int style) ) + { SetStyle((wxPenStyle)style); } +#endif // // Implementation