fixed wxPenRefData::operator==() (part of patch 742783)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-06-03 10:32:26 +00:00
parent 55e18dbe2f
commit 17be85312c
2 changed files with 44 additions and 28 deletions

View File

@ -43,25 +43,33 @@ public:
m_capStyle = data.m_capStyle;
m_colour = data.m_colour;
m_countDashes = data.m_countDashes;
/*
if (data.m_dash) TODO
m_dash = new
*/
m_dash = data.m_dash;
}
bool operator == (const wxPenRefData& data) const
{
// It is impossible to tell if the dashes have changed
// so the only thing to do is assume they have
if (m_countDashes != 0 || data.m_countDashes != 0)
return false;
if ( m_countDashes != data.m_countDashes )
return FALSE;
return (m_style == data.m_style &&
m_width == data.m_width &&
m_joinStyle == data.m_joinStyle &&
m_capStyle == data.m_capStyle &&
m_colour == data.m_colour);
if ( m_dash )
{
if ( !data.m_dash ||
memcmp(m_dash, data.m_dash, m_countDashes*sizeof(wxGTKDash)) )
{
return FALSE;
}
}
else if ( data.m_dash )
{
return FALSE;
}
return m_style == data.m_style &&
m_width == data.m_width &&
m_joinStyle == data.m_joinStyle &&
m_capStyle == data.m_capStyle &&
m_colour == data.m_colour;
}
int m_width;
@ -123,7 +131,7 @@ void wxPen::SetDashes( int number_of_dashes, const wxDash *dash )
AllocExclusive();
M_PENDATA->m_countDashes = number_of_dashes;
M_PENDATA->m_dash = (wxGTKDash *)dash; /* TODO */
M_PENDATA->m_dash = (wxGTKDash *)dash;
}
void wxPen::SetColour( int red, int green, int blue )

View File

@ -43,25 +43,33 @@ public:
m_capStyle = data.m_capStyle;
m_colour = data.m_colour;
m_countDashes = data.m_countDashes;
/*
if (data.m_dash) TODO
m_dash = new
*/
m_dash = data.m_dash;
}
bool operator == (const wxPenRefData& data) const
{
// It is impossible to tell if the dashes have changed
// so the only thing to do is assume they have
if (m_countDashes != 0 || data.m_countDashes != 0)
return false;
if ( m_countDashes != data.m_countDashes )
return FALSE;
return (m_style == data.m_style &&
m_width == data.m_width &&
m_joinStyle == data.m_joinStyle &&
m_capStyle == data.m_capStyle &&
m_colour == data.m_colour);
if ( m_dash )
{
if ( !data.m_dash ||
memcmp(m_dash, data.m_dash, m_countDashes*sizeof(wxGTKDash)) )
{
return FALSE;
}
}
else if ( data.m_dash )
{
return FALSE;
}
return m_style == data.m_style &&
m_width == data.m_width &&
m_joinStyle == data.m_joinStyle &&
m_capStyle == data.m_capStyle &&
m_colour == data.m_colour;
}
int m_width;
@ -123,7 +131,7 @@ void wxPen::SetDashes( int number_of_dashes, const wxDash *dash )
AllocExclusive();
M_PENDATA->m_countDashes = number_of_dashes;
M_PENDATA->m_dash = (wxGTKDash *)dash; /* TODO */
M_PENDATA->m_dash = (wxGTKDash *)dash;
}
void wxPen::SetColour( int red, int green, int blue )