X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd368161d9d135bab529e92ef6b9a1bfc2716acd..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/os2/pen.h?ds=inline diff --git a/include/wx/os2/pen.h b/include/wx/os2/pen.h index e40ea0e562..9ae321a020 100644 --- a/include/wx/os2/pen.h +++ b/include/wx/os2/pen.h @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: pen.h +// Name: wx/os2/pen.h // Purpose: wxPen class // Author: David Webster // Modified by: // Created: 10/10/99 -// RCS-ID: $Id$ // Copyright: (c) David Webster // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,77 +16,62 @@ typedef long wxPMDash; -class WXDLLEXPORT wxPen; - -class WXDLLEXPORT wxPenRefData: public wxGDIRefData -{ - friend class WXDLLEXPORT wxPen; -public: - wxPenRefData(); - wxPenRefData(const wxPenRefData& rData); - ~wxPenRefData(); - -protected: - int m_nWidth; - int m_nStyle; - int m_nJoin; - int m_nCap; - wxBitmap m_vStipple; - 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 wxGDIObject +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxPen : public wxPenBase { - DECLARE_DYNAMIC_CLASS(wxPen) public: - wxPen(); + wxPen() { } wxPen( const wxColour& rColour - ,int nWidth - ,int nStyle + ,int nWidth = 1 + ,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 ); - inline wxPen(const wxPen& rPen) { Ref(rPen); } - ~wxPen(); - - inline wxPen& operator = (const wxPen& rPen) { if (*this == rPen) return (*this); Ref(rPen); return *this; } - inline bool operator == (const wxPen& rPen) { return m_refData == rPen.m_refData; } - inline bool operator != (const wxPen& rPen) { return m_refData != rPen.m_refData; } + virtual ~wxPen() { } - virtual bool Ok(void) const { return (m_refData != NULL); } + bool operator == (const wxPen& rPen) const; + inline bool operator != (const wxPen& rPen) const + { return !(*this == rPen); } // // Override in order to recreate the pen // void SetColour(const wxColour& rColour); - void SetColour( unsigned char cRed - ,unsigned char cGreen - ,unsigned char cBlue - ); + 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 int GetPS(void) const { return (M_PENDATA ? M_PENDATA->m_hPen : 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 @@ -97,15 +81,25 @@ public: // Useful helper: create the brush resource // bool RealizeResource(void); - bool FreeResource(bool bForce = FALSE); - WXHANDLE GetResourceHandle(void); + 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(wxPenStyle nWxStyle); + #endif // _WX_PEN_H_