X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3ab1c18017bb08329e73918f9f502ea00cdb447..5c7b506103cfc078a821860766e31c47d595e07f:/include/wx/os2/pen.h diff --git a/include/wx/os2/pen.h b/include/wx/os2/pen.h index 1656eec288..2a745cb584 100644 --- a/include/wx/os2/pen.h +++ b/include/wx/os2/pen.h @@ -17,11 +17,11 @@ typedef long wxPMDash; -class WXDLLEXPORT wxPen; +class WXDLLIMPEXP_FWD_CORE wxPen; class WXDLLEXPORT wxPenRefData: public wxGDIRefData { - friend class WXDLLEXPORT wxPen; + friend class WXDLLIMPEXP_FWD_CORE wxPen; public: wxPenRefData(); wxPenRefData(const wxPenRefData& rData); @@ -35,17 +35,17 @@ public: m_nJoin == data.m_nJoin && m_nCap == data.m_nCap && m_vColour == data.m_vColour && - (m_style != wxSTIPPLE || m_stipple.IsSameAs(data.m_stipple)) && - (m_style != wxUSER_DASH || + (m_nStyle != wxSTIPPLE || m_vStipple.IsSameAs(data.m_vStipple)) && + (m_nStyle != wxUSER_DASH || (m_dash == data.m_dash && memcmp(m_dash, data.m_dash, m_nbDash*sizeof(wxDash)) == 0)); } protected: int m_nWidth; - int m_nStyle; - int m_nJoin; - int m_nCap; + wxPenStyle m_nStyle; + wxPenJoin m_nJoin; + wxPenCap m_nCap; wxBitmap m_vStipple; int m_nbDash; wxDash * m_dash; @@ -56,15 +56,18 @@ protected: #define M_PENDATA ((wxPenRefData *)m_refData) // Pen -class WXDLLEXPORT wxPen : public wxGDIObject +class WXDLLEXPORT wxPen : public wxPenBase { - DECLARE_DYNAMIC_CLASS(wxPen) public: wxPen(); wxPen( const wxColour& rColour ,int nWidth = 1 - ,int nStyle = wxSOLID + ,wxPenStyle nStyle = wxPENSTYLE_SOLID ); +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) ); +#endif + wxPen( const wxBitmap& rStipple ,int nWidth ); @@ -72,7 +75,7 @@ public: inline bool operator == (const wxPen& rPen) const { - const wxPenRefData *penData = (wxPenRefData *)pen.m_refData; + 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; @@ -81,9 +84,6 @@ public: inline bool operator != (const wxPen& rPen) const { return !(*this == rPen); } - virtual bool Ok() const { return IsOk(); } - virtual bool IsOk(void) const { return (m_refData != NULL); } - // // Override in order to recreate the pen // @@ -91,20 +91,20 @@ public: void SetColour(unsigned char cRed, unsigned char cGreen, unsigned char cBlue); void SetWidth(int nWidth); - void SetStyle(int nStyle); + void SetStyle(wxPenStyle nStyle); void SetStipple(const wxBitmap& rStipple); void SetDashes( int nNbDashes ,const wxDash* pDash ); - void SetJoin(int nJoin); - void SetCap(int nCap); + void SetJoin(wxPenJoin nJoin); + 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 : 0); }; - inline int GetStyle(void) const { return (M_PENDATA ? M_PENDATA->m_nStyle : 0); }; - inline int GetJoin(void) const { return (M_PENDATA ? M_PENDATA->m_nJoin : 0); }; - inline int GetCap(void) const { return (M_PENDATA ? M_PENDATA->m_nCap : 0); }; + inline wxPenStyle GetStyle(void) const { return (M_PENDATA ? M_PENDATA->m_nStyle : 0); }; + inline wxPenJoin GetJoin(void) const { return (M_PENDATA ? M_PENDATA->m_nJoin : 0); }; + inline wxPenCap GetCap(void) const { return (M_PENDATA ? M_PENDATA->m_nCap : 0); }; inline int GetPS(void) const { return (M_PENDATA ? M_PENDATA->m_hPen : 0); }; inline int GetDashes(wxDash **ptr) const { @@ -127,14 +127,22 @@ public: bool FreeResource(bool bForce = false); virtual WXHANDLE GetResourceHandle(void) const; bool IsFree(void) const; - void Unshare(void); private: LINEBUNDLE m_vLineBundle; AREABUNDLE m_vAreaBundle; + +protected: + virtual wxGDIRefData* CreateGDIRefData() const; + virtual wxGDIRefData* CloneGDIRefData(const wxGDIRefData* data) const; + + // same as FreeResource() + RealizeResource() + bool Recreate(); + + DECLARE_DYNAMIC_CLASS(wxPen) }; // end of CLASS wxPen -extern int wx2os2PenStyle(int nWxStyle); +extern int wx2os2PenStyle(wxPenStyle nWxStyle); #endif // _WX_PEN_H_