X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/82cddbd97a4dfbd0dcf5c44c9336173d6dd386ef..ee6c519a4b1c8e919c1353b977e6396a160bc4b3:/src/msw/pen.cpp diff --git a/src/msw/pen.cpp b/src/msw/pen.cpp index 4eed257800..518e4d91e0 100644 --- a/src/msw/pen.cpp +++ b/src/msw/pen.cpp @@ -64,8 +64,8 @@ public: m_join == data.m_join && m_cap == data.m_cap && m_colour == data.m_colour && - (m_style != wxSTIPPLE || m_stipple.IsSameAs(data.m_stipple)) && - (m_style != wxUSER_DASH || + (m_style != wxPENSTYLE_STIPPLE || m_stipple.IsSameAs(data.m_stipple)) && + (m_style != wxPENSTYLE_USER_DASH || (m_nbDash == data.m_nbDash && memcmp(m_dash, data.m_dash, m_nbDash*sizeof(wxDash)) == 0)); } @@ -74,14 +74,14 @@ public: // accessors and setters // --------------------- - wxColour& GetColour() const { return wx_const_cast(wxColour&, m_colour); } + wxColour& GetColour() const { return const_cast(m_colour); } int GetWidth() const { return m_width; } wxPenStyle GetStyle() const { return m_style; } wxPenJoin GetJoin() const { return m_join; } wxPenCap GetCap() const { return m_cap; } wxDash* GetDash() const { return m_dash; } int GetDashCount() const { return m_nbDash; } - wxBitmap* GetStipple() const { return wx_const_cast(wxBitmap *, &m_stipple); } + wxBitmap* GetStipple() const { return const_cast(&m_stipple); } void SetColour(const wxColour& col) { Free(); m_colour = col; } void SetWidth(int width) { Free(); m_width = width; } @@ -90,7 +90,7 @@ public: { Free(); - m_style = wxSTIPPLE; + m_style = wxPENSTYLE_STIPPLE; m_stipple = stipple; } @@ -99,7 +99,7 @@ public: Free(); m_nbDash = nb_dashes; - m_dash = wx_const_cast(wxDash *, dash); + m_dash = const_cast(dash); } void SetJoin(wxPenJoin join) { Free(); m_join = join; } @@ -144,7 +144,7 @@ private: wxColour m_colour; HPEN m_hPen; - DECLARE_NO_ASSIGN_CLASS(wxPenRefData) + wxDECLARE_NO_ASSIGN_CLASS(wxPenRefData); }; // ============================================================================ @@ -159,7 +159,7 @@ wxPenRefData::wxPenRefData() { Init(); - m_style = wxSOLID; + m_style = wxPENSTYLE_SOLID; m_width = 1; } @@ -190,7 +190,7 @@ wxPenRefData::wxPenRefData(const wxBitmap& stipple, int width) { Init(); - m_style = wxSTIPPLE; + m_style = wxPENSTYLE_STIPPLE; m_width = width; m_stipple = stipple; @@ -210,35 +210,35 @@ static int ConvertPenStyle(wxPenStyle style) { switch ( style ) { - case wxSHORT_DASH: - case wxLONG_DASH: + case wxPENSTYLE_SHORT_DASH: + case wxPENSTYLE_LONG_DASH: return PS_DASH; - case wxTRANSPARENT: + case wxPENSTYLE_TRANSPARENT: return PS_NULL; default: - wxFAIL_MSG( _T("unknown pen style") ); + wxFAIL_MSG( wxT("unknown pen style") ); // fall through #ifdef wxHAVE_EXT_CREATE_PEN - case wxDOT: + case wxPENSTYLE_DOT: return PS_DOT; - case wxDOT_DASH: + case wxPENSTYLE_DOT_DASH: return PS_DASHDOT; - case wxUSER_DASH: + case wxPENSTYLE_USER_DASH: return PS_USERSTYLE; - case wxSTIPPLE: - case wxBDIAGONAL_HATCH: - case wxCROSSDIAG_HATCH: - case wxFDIAGONAL_HATCH: - case wxCROSS_HATCH: - case wxHORIZONTAL_HATCH: - case wxVERTICAL_HATCH: - case wxSOLID: + case wxPENSTYLE_STIPPLE: + case wxPENSTYLE_BDIAGONAL_HATCH: + case wxPENSTYLE_CROSSDIAG_HATCH: + case wxPENSTYLE_FDIAGONAL_HATCH: + case wxPENSTYLE_CROSS_HATCH: + case wxPENSTYLE_HORIZONTAL_HATCH: + case wxPENSTYLE_VERTICAL_HATCH: + case wxPENSTYLE_SOLID: #endif // wxHAVE_EXT_CREATE_PEN return PS_SOLID; @@ -258,7 +258,7 @@ static int ConvertJoinStyle(wxPenJoin join) return PS_JOIN_MITER; default: - wxFAIL_MSG( _T("unknown pen join style") ); + wxFAIL_MSG( wxT("unknown pen join style") ); // fall through case wxJOIN_ROUND: @@ -277,7 +277,7 @@ static int ConvertCapStyle(wxPenCap cap) return PS_ENDCAP_FLAT; default: - wxFAIL_MSG( _T("unknown pen cap style") ); + wxFAIL_MSG( wxT("unknown pen cap style") ); // fall through case wxCAP_ROUND: @@ -292,7 +292,7 @@ bool wxPenRefData::Alloc() if ( m_hPen ) return false; - if ( m_style == wxTRANSPARENT ) + if ( m_style == wxPENSTYLE_TRANSPARENT ) { m_hPen = (HPEN)::GetStockObject(NULL_PEN); return true; @@ -304,11 +304,11 @@ bool wxPenRefData::Alloc() // Only NT can display dashed or dotted lines with width > 1 static const int os = wxGetOsVersion(); if ( os != wxOS_WINDOWS_NT && - (m_style == wxDOT || - m_style == wxLONG_DASH || - m_style == wxSHORT_DASH || - m_style == wxDOT_DASH || - m_style == wxUSER_DASH) && + (m_style == wxPENSTYLE_DOT || + m_style == wxPENSTYLE_LONG_DASH || + m_style == wxPENSTYLE_SHORT_DASH || + m_style == wxPENSTYLE_DOT_DASH || + m_style == wxPENSTYLE_USER_DASH) && m_width > 1 ) { m_width = 1; @@ -318,9 +318,9 @@ bool wxPenRefData::Alloc() // CreatePen() if ( m_join == wxJOIN_ROUND && m_cap == wxCAP_ROUND && - m_style != wxUSER_DASH && - m_style != wxSTIPPLE && - (m_width <= 1 || m_style == wxSOLID) ) + m_style != wxPENSTYLE_USER_DASH && + m_style != wxPENSTYLE_STIPPLE && + (m_width <= 1 || m_style == wxPENSTYLE_SOLID) ) #endif // !wxHAVE_EXT_CREATE_PEN { m_hPen = ::CreatePen(ConvertPenStyle(m_style), m_width, col); @@ -336,55 +336,53 @@ bool wxPenRefData::Alloc() LOGBRUSH lb; switch( m_style ) { - case wxSTIPPLE: + case wxPENSTYLE_STIPPLE: lb.lbStyle = BS_PATTERN; lb.lbHatch = wxPtrToUInt(m_stipple.GetHBITMAP()); break; - case wxBDIAGONAL_HATCH: + case wxPENSTYLE_BDIAGONAL_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_BDIAGONAL; break; - case wxCROSSDIAG_HATCH: + case wxPENSTYLE_CROSSDIAG_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_DIAGCROSS; break; - case wxFDIAGONAL_HATCH: + case wxPENSTYLE_FDIAGONAL_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_FDIAGONAL; break; - case wxCROSS_HATCH: + case wxPENSTYLE_CROSS_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_CROSS; break; - case wxHORIZONTAL_HATCH: + case wxPENSTYLE_HORIZONTAL_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_HORIZONTAL; break; - case wxVERTICAL_HATCH: + case wxPENSTYLE_VERTICAL_HATCH: lb.lbStyle = BS_HATCHED; lb.lbHatch = HS_VERTICAL; break; default: lb.lbStyle = BS_SOLID; -#ifdef __WXDEBUG__ // this should be unnecessary (it's unused) but suppresses the // Purify messages about uninitialized memory read lb.lbHatch = 0; -#endif break; } lb.lbColor = col; DWORD *dash; - if ( m_style == wxUSER_DASH && m_nbDash && m_dash ) + if ( m_style == wxPENSTYLE_USER_DASH && m_nbDash && m_dash ) { dash = new DWORD[m_nbDash]; int rw = m_width > 1 ? m_width : 1; @@ -419,7 +417,7 @@ bool wxPenRefData::Free() WXHPEN wxPenRefData::GetHPEN() const { if ( !m_hPen ) - wx_const_cast(wxPenRefData *, this)->Alloc(); + const_cast(this)->Alloc(); return (WXHPEN)m_hPen; } @@ -430,15 +428,17 @@ WXHPEN wxPenRefData::GetHPEN() const IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject) -wxPen::wxPen(const wxColour& col, int width, int style) +wxPen::wxPen(const wxColour& col, int width, wxPenStyle style) { m_refData = new wxPenRefData(col, width, style); } -wxPen::wxPen(const wxColour& colour, int width, wxBrushStyle style) +#if FUTURE_WXWIN_COMPATIBILITY_3_0 +wxPen::wxPen(const wxColour& colour, int width, int style) { - m_refData = new wxPenRefData(col, width, (wxPenStyle)style); + m_refData = new wxPenRefData(colour, width, (wxPenStyle)style); } +#endif wxPen::wxPen(const wxBitmap& stipple, int width) { @@ -448,7 +448,7 @@ wxPen::wxPen(const wxBitmap& stipple, int width) bool wxPen::operator==(const wxPen& pen) const { const wxPenRefData * - penData = wx_static_cast(const wxPenRefData *, pen.m_refData); + penData = static_cast(pen.m_refData); // an invalid pen is only equal to another invalid pen return m_refData ? penData && *M_PENDATA == *penData : !penData; @@ -481,7 +481,7 @@ wxGDIRefData* wxPen::CreateGDIRefData() const wxGDIRefData* wxPen::CloneGDIRefData(const wxGDIRefData* data) const { - return new wxPenRefData(*wx_static_cast(const wxPenRefData*, data)); + return new wxPenRefData(*static_cast(data)); } void wxPen::SetColour(const wxColour& col) @@ -538,38 +538,44 @@ void wxPen::SetCap(wxPenCap cap) M_PENDATA->SetCap(cap); } -wxColour& wxPen::GetColour() const +wxColour wxPen::GetColour() const { - return m_refData ? M_PENDATA->GetColour() : wxNullColour; + wxCHECK_MSG( IsOk(), wxNullColour, wxT("invalid pen") ); + + return M_PENDATA->GetColour(); } int wxPen::GetWidth() const { - return m_refData ? M_PENDATA->GetWidth() : 0; + wxCHECK_MSG( IsOk(), -1, wxT("invalid pen") ); + + return M_PENDATA->GetWidth(); } wxPenStyle wxPen::GetStyle() const { - return m_refData ? M_PENDATA->GetStyle() : 0; + wxCHECK_MSG( IsOk(), wxPENSTYLE_INVALID, wxT("invalid pen") ); + + return M_PENDATA->GetStyle(); } wxPenJoin wxPen::GetJoin() const { - return m_refData ? M_PENDATA->GetJoin() : 0; + wxCHECK_MSG( IsOk(), wxJOIN_INVALID, wxT("invalid pen") ); + + return M_PENDATA->GetJoin(); } wxPenCap wxPen::GetCap() const { - return m_refData ? M_PENDATA->GetCap() : 0; + wxCHECK_MSG( IsOk(), wxCAP_INVALID, wxT("invalid pen") ); + + return M_PENDATA->GetCap(); } int wxPen::GetDashes(wxDash** ptr) const { - if ( !m_refData ) - { - *ptr = NULL; - return 0; - } + wxCHECK_MSG( IsOk(), -1, wxT("invalid pen") ); *ptr = M_PENDATA->GetDash(); return M_PENDATA->GetDashCount(); @@ -577,15 +583,21 @@ int wxPen::GetDashes(wxDash** ptr) const wxDash* wxPen::GetDash() const { + wxCHECK_MSG( IsOk(), NULL, wxT("invalid pen") ); + return m_refData ? M_PENDATA->GetDash() : NULL; } int wxPen::GetDashCount() const { + wxCHECK_MSG( IsOk(), -1, wxT("invalid pen") ); + return m_refData ? M_PENDATA->GetDashCount() : 0; } wxBitmap* wxPen::GetStipple() const { + wxCHECK_MSG( IsOk(), NULL, wxT("invalid pen") ); + return m_refData ? M_PENDATA->GetStipple() : NULL; }