X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a5001e9361fe01a134b45fa5caf55477e8368d26..7198c3368055d88249a338eb33b21f051f674806:/src/dfb/pen.cpp diff --git a/src/dfb/pen.cpp b/src/dfb/pen.cpp index 799f99cf0c..f1b9f9d686 100644 --- a/src/dfb/pen.cpp +++ b/src/dfb/pen.cpp @@ -26,10 +26,10 @@ // wxPen //----------------------------------------------------------------------------- -class wxPenRefData: public wxObjectRefData +class wxPenRefData : public wxGDIRefData { public: - wxPenRefData(const wxColour& clr = wxNullColour, int style = wxSOLID) + wxPenRefData(const wxColour& clr = wxNullColour, wxPenStyle style = wxPENSTYLE_SOLID) { m_colour = clr; SetStyle(style); @@ -38,18 +38,20 @@ public: wxPenRefData(const wxPenRefData& data) : m_style(data.m_style), m_colour(data.m_colour) {} - void SetStyle(int style) + virtual bool IsOk() const { return m_colour.IsOk(); } + + void SetStyle(wxPenStyle style) { - if ( style != wxSOLID && style != wxTRANSPARENT ) + if ( style != wxPENSTYLE_SOLID && style != wxPENSTYLE_TRANSPARENT ) { wxFAIL_MSG( "only wxSOLID and wxTRANSPARENT styles are supported" ); - style = wxSOLID; + style = wxPENSTYLE_SOLID; } m_style = style; } - int m_style; + wxPenStyle m_style; wxColour m_colour; }; @@ -59,13 +61,20 @@ public: IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject) -wxPen::wxPen(const wxColour &colour, int width, int style) +wxPen::wxPen(const wxColour &colour, int width, wxPenStyle style) { wxASSERT_MSG( width <= 1, "only width=0,1 are supported" ); m_refData = new wxPenRefData(colour, style); } +#if FUTURE_WXWIN_COMPATIBILITY_3_0 +wxPen::wxPen(const wxColour& col, int width, int style) +{ + m_refData = new wxPenRefData(col, (wxPenStyle)style); +} +#endif + wxPen::wxPen(const wxBitmap& WXUNUSED(stipple), int WXUNUSED(width)) { wxFAIL_MSG( "stipple pens not supported" ); @@ -96,17 +105,17 @@ void wxPen::SetColour(unsigned char red, unsigned char green, unsigned char blue M_PENDATA->m_colour.Set(red, green, blue); } -void wxPen::SetCap(int WXUNUSED(capStyle)) +void wxPen::SetCap(wxPenCap WXUNUSED(capStyle)) { wxFAIL_MSG( "SetCap not implemented" ); } -void wxPen::SetJoin(int WXUNUSED(joinStyle)) +void wxPen::SetJoin(wxPenJoin WXUNUSED(joinStyle)) { wxFAIL_MSG( "SetJoin not implemented" ); } -void wxPen::SetStyle(int style) +void wxPen::SetStyle(wxPenStyle style) { AllocExclusive(); M_PENDATA->SetStyle(style); @@ -144,62 +153,57 @@ wxDash* wxPen::GetDash() const return NULL; } -int wxPen::GetCap() const +wxPenCap wxPen::GetCap() const { - wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), wxCAP_INVALID, wxT("invalid pen") ); wxFAIL_MSG( "GetCap not implemented" ); - return -1; + return wxCAP_INVALID; } -int wxPen::GetJoin() const +wxPenJoin wxPen::GetJoin() const { - wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), wxJOIN_INVALID, wxT("invalid pen") ); wxFAIL_MSG( "GetJoin not implemented" ); - return -1; + return wxJOIN_INVALID; } -int wxPen::GetStyle() const +wxPenStyle wxPen::GetStyle() const { - wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), wxPENSTYLE_INVALID, wxT("invalid pen") ); return M_PENDATA->m_style; } int wxPen::GetWidth() const { - wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), -1, wxT("invalid pen") ); return 1; } -wxColour &wxPen::GetColour() const +wxColour wxPen::GetColour() const { - wxCHECK_MSG( Ok(), wxNullColour, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), wxNullColour, wxT("invalid pen") ); return M_PENDATA->m_colour; } wxBitmap *wxPen::GetStipple() const { - wxCHECK_MSG( Ok(), NULL, wxT("invalid pen") ); + wxCHECK_MSG( IsOk(), NULL, wxT("invalid pen") ); wxFAIL_MSG( "GetStipple not implemented" ); return NULL; } -bool wxPen::IsOk() const -{ - return ((m_refData) && M_PENDATA->m_colour.Ok()); -} - -wxObjectRefData *wxPen::CreateRefData() const +wxGDIRefData *wxPen::CreateGDIRefData() const { return new wxPenRefData; } -wxObjectRefData *wxPen::CloneRefData(const wxObjectRefData *data) const +wxGDIRefData *wxPen::CloneGDIRefData(const wxGDIRefData *data) const { return new wxPenRefData(*(wxPenRefData *)data); }