X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8bbe427f8e5a2078b266e282453595b5a634d35c..4b7b750dd1ffd0d26b78728adb613b282a37c058:/src/gtk/pen.cpp?ds=sidebyside diff --git a/src/gtk/pen.cpp b/src/gtk/pen.cpp index 8402796a46..8ac1097aa8 100644 --- a/src/gtk/pen.cpp +++ b/src/gtk/pen.cpp @@ -14,6 +14,8 @@ #include "wx/pen.h" +#include + //----------------------------------------------------------------------------- // wxPen //----------------------------------------------------------------------------- @@ -22,14 +24,16 @@ class wxPenRefData: public wxObjectRefData { public: - wxPenRefData(void); - wxPenRefData(const wxPenRefData& data); + wxPenRefData(); + wxPenRefData( const wxPenRefData& data ); int m_width; int m_style; int m_joinStyle; int m_capStyle; wxColour m_colour; + int m_countDashes; + wxGTKDash *m_dash; }; wxPenRefData::wxPenRefData() @@ -38,6 +42,8 @@ wxPenRefData::wxPenRefData() m_style = wxSOLID; m_joinStyle = wxJOIN_ROUND; m_capStyle = wxCAP_ROUND; + m_dash = (wxGTKDash*) NULL; + m_countDashes = 0; } wxPenRefData::wxPenRefData( const wxPenRefData& data ) @@ -47,6 +53,12 @@ wxPenRefData::wxPenRefData( const wxPenRefData& data ) m_joinStyle = data.m_joinStyle; 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; } //----------------------------------------------------------------------------- @@ -88,12 +100,12 @@ wxPen& wxPen::operator = ( const wxPen& pen ) return *this; } -bool wxPen::operator == ( const wxPen& pen ) +bool wxPen::operator == ( const wxPen& pen ) const { return m_refData == pen.m_refData; } -bool wxPen::operator != ( const wxPen& pen ) +bool wxPen::operator != ( const wxPen& pen ) const { return m_refData != pen.m_refData; } @@ -104,6 +116,13 @@ void wxPen::SetColour( const wxColour &colour ) M_PENDATA->m_colour = colour; } +void wxPen::SetDashes( int number_of_dashes, const wxDash *dash ) +{ + Unshare(); + M_PENDATA->m_countDashes = number_of_dashes; + M_PENDATA->m_dash = (wxGTKDash *)dash; /* TODO */ +} + void wxPen::SetColour( int red, int green, int blue ) { Unshare(); @@ -134,37 +153,53 @@ void wxPen::SetWidth( int width ) M_PENDATA->m_width = width; } +int wxPen::GetDashes( wxDash **ptr ) const +{ + *ptr = (M_PENDATA ? (wxDash*)M_PENDATA->m_dash : (wxDash*) NULL); + return (M_PENDATA ? M_PENDATA->m_countDashes : 0); +} + +int wxPen::GetDashCount() const +{ + return (M_PENDATA->m_countDashes); +} + +wxDash* wxPen::GetDash() const +{ + return (wxDash*)M_PENDATA->m_dash; +} + int wxPen::GetCap() const { - wxCHECK_MSG( Ok(), -1, "invalid pen" ); + wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); return M_PENDATA->m_capStyle; } int wxPen::GetJoin() const { - wxCHECK_MSG( Ok(), -1, "invalid pen" ); + wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); return M_PENDATA->m_joinStyle; } int wxPen::GetStyle() const { - wxCHECK_MSG( Ok(), -1, "invalid pen" ); + wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); return M_PENDATA->m_style; } int wxPen::GetWidth() const { - wxCHECK_MSG( Ok(), -1, "invalid pen" ); + wxCHECK_MSG( Ok(), -1, wxT("invalid pen") ); return M_PENDATA->m_width; } wxColour &wxPen::GetColour() const { - wxCHECK_MSG( Ok(), wxNullColour, "invalid pen" ); + wxCHECK_MSG( Ok(), wxNullColour, wxT("invalid pen") ); return M_PENDATA->m_colour; }