X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1d63b79352db5290a9f86428d193bd6a08ef32f..2d14a14c573db4b8f8959b1460a269cf23defbcf:/include/wx/palmos/pen.h?ds=sidebyside diff --git a/include/wx/palmos/pen.h b/include/wx/palmos/pen.h index 6b6d144b35..58eecece9e 100644 --- a/include/wx/palmos/pen.h +++ b/include/wx/palmos/pen.h @@ -2,7 +2,7 @@ // Name: wx/palmos/pen.h // Purpose: wxPen class // Author: William Osborne - minimal working wxPalmOS port -// Modified by: +// Modified by: Yunhui Fu // Created: 10/13/04 // RCS-ID: $Id$ // Copyright: (c) William Osborne @@ -12,20 +12,16 @@ #ifndef _WX_PEN_H_ #define _WX_PEN_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "pen.h" -#endif - #include "wx/gdiobj.h" #include "wx/bitmap.h" #include "wx/colour.h" typedef WXDWORD wxMSWDash; -class WXDLLEXPORT wxPen; +class WXDLLIMPEXP_FWD_CORE wxPen; // VZ: this class should be made private -class WXDLLEXPORT wxPenRefData : public wxGDIRefData +class WXDLLIMPEXP_CORE wxPenRefData : public wxGDIRefData { public: wxPenRefData(); @@ -40,7 +36,7 @@ public: m_join == data.m_join && m_cap == data.m_cap && m_colour == data.m_colour && - (m_style != wxSTIPPLE || m_stipple == data.m_stipple) && + (m_style != wxSTIPPLE || m_stipple.IsSameAs(data.m_stipple)) && (m_style != wxUSER_DASH || (m_nbDash == data.m_nbDash && memcmp(m_dash, data.m_dash, m_nbDash*sizeof(wxDash)) == 0)); @@ -48,7 +44,7 @@ public: protected: int m_width; - int m_style; + wxPenStyle m_style; int m_join; int m_cap; wxBitmap m_stipple; @@ -58,10 +54,10 @@ protected: WXHPEN m_hPen; private: - friend class WXDLLEXPORT wxPen; + friend class WXDLLIMPEXP_FWD_CORE wxPen; // Cannot use - // DECLARE_NO_COPY_CLASS(wxPenRefData) + // wxDECLARE_NO_COPY_CLASS(wxPenRefData); // because copy constructor is explicitly declared above; // but no copy assignment operator is defined, so declare // it private to prevent the compiler from defining it: @@ -75,23 +71,18 @@ private: // Pen // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxPen : public wxGDIObject +class WXDLLIMPEXP_CORE wxPen : public wxPenBase { public: wxPen(); - wxPen(const wxColour& col, int width = 1, int style = wxSOLID); + wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID); +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) ); +#endif + wxPen(const wxBitmap& stipple, int width); - wxPen(const wxPen& pen) { Ref(pen); } virtual ~wxPen(); - wxPen& operator=(const wxPen& pen) - { - if ( this != &pen ) - Ref(pen); - - return *this; - } - bool operator==(const wxPen& pen) const { const wxPenRefData *penData = (wxPenRefData *)pen.m_refData; @@ -102,44 +93,51 @@ public: bool operator!=(const wxPen& pen) const { return !(*this == pen); } - virtual bool Ok() const { return (m_refData != NULL); } - // Override in order to recreate the pen void SetColour(const wxColour& col); void SetColour(unsigned char r, unsigned char g, unsigned char b); void SetWidth(int width); - void SetStyle(int style); + void SetStyle(wxPenStyle style); void SetStipple(const wxBitmap& stipple); void SetDashes(int nb_dashes, const wxDash *dash); - void SetJoin(int join); - void SetCap(int cap); + void SetJoin(wxPenJoin join); + void SetCap(wxPenCap cap); wxColour& GetColour() const { return (M_PENDATA ? M_PENDATA->m_colour : wxNullColour); }; int GetWidth() const { return (M_PENDATA ? M_PENDATA->m_width : 0); }; - int GetStyle() const { return (M_PENDATA ? M_PENDATA->m_style : 0); }; - int GetJoin() const { return (M_PENDATA ? M_PENDATA->m_join : 0); }; - int GetCap() const { return (M_PENDATA ? M_PENDATA->m_cap : 0); }; + wxPenStyle GetStyle() const { return (M_PENDATA ? M_PENDATA->m_style : 0); }; + wxPenJoin GetJoin() const { return (M_PENDATA ? M_PENDATA->m_join : 0); }; + wxPenCap GetCap() const { return (M_PENDATA ? M_PENDATA->m_cap : 0); }; int GetDashes(wxDash **ptr) const { - *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); + *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : NULL); return (M_PENDATA ? M_PENDATA->m_nbDash : 0); } - wxDash* GetDash() const { return (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*)NULL); }; + wxDash* GetDash() const { return (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : NULL); }; inline int GetDashCount() const { return (M_PENDATA ? M_PENDATA->m_nbDash : 0); }; - inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : (wxBitmap*) NULL); }; + inline wxBitmap *GetStipple() const { return (M_PENDATA ? (& M_PENDATA->m_stipple) : NULL); }; // Internal bool RealizeResource(); - bool FreeResource(bool force = FALSE); + bool FreeResource(bool force = false); WXHANDLE GetResourceHandle() const; bool IsFree() const; - void Unshare(); + +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( void SetStyle(int style) ) + { SetStyle((wxPenStyle)style); } +#endif + +protected: + virtual wxGDIRefData* CreateGDIRefData() const; + virtual wxGDIRefData* CloneGDIRefData(const wxGDIRefData* data) const; + // same as FreeResource() + RealizeResource() + bool Recreate(); private: DECLARE_DYNAMIC_CLASS(wxPen) }; #endif // _WX_PEN_H_ -