X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cdf1e7142564c55f5299f1f2d0909090534eb97c..f8c5636c42238296eb67bf73d1da3c5acb010fee:/src/os2/pen.cpp diff --git a/src/os2/pen.cpp b/src/os2/pen.cpp index 3d6fea538d..1e99b340b2 100644 --- a/src/os2/pen.cpp +++ b/src/os2/pen.cpp @@ -24,6 +24,8 @@ #include "wx/os2/private.h" #include "assert.h" +IMPLEMENT_DYNAMIC_CLASS(wxPen, wxGDIObject) + wxPenRefData::wxPenRefData() { m_style = wxSOLID; @@ -31,7 +33,7 @@ wxPenRefData::wxPenRefData() m_join = wxJOIN_ROUND ; m_cap = wxCAP_ROUND ; m_nbDash = 0 ; - m_dash = 0 ; + m_dash = (wxPMDash*)NULL; m_hPen = 0; } @@ -80,7 +82,7 @@ wxPen::wxPen(const wxColour& col, int Width, int Style) M_PENDATA->m_join = wxJOIN_ROUND ; M_PENDATA->m_cap = wxCAP_ROUND ; M_PENDATA->m_nbDash = 0 ; - M_PENDATA->m_dash = 0 ; + M_PENDATA->m_dash = (wxPMDash*)NULL; M_PENDATA->m_hPen = 0 ; // TODO: @@ -106,7 +108,7 @@ wxPen::wxPen(const wxBitmap& stipple, int Width) M_PENDATA->m_join = wxJOIN_ROUND ; M_PENDATA->m_cap = wxCAP_ROUND ; M_PENDATA->m_nbDash = 0 ; - M_PENDATA->m_dash = 0 ; + M_PENDATA->m_dash = (wxPMDash*)NULL; M_PENDATA->m_hPen = 0 ; RealizeResource(); @@ -133,13 +135,18 @@ bool wxPen::FreeResource(bool force) { if (M_PENDATA && (M_PENDATA->m_hPen != 0)) { - DeleteObject((HPEN) M_PENDATA->m_hPen); +// TODO: DeleteObject((HPEN) M_PENDATA->m_hPen); M_PENDATA->m_hPen = 0; return TRUE; } else return FALSE; } +bool wxPen::IsFree() const +{ + return (M_PENDATA && M_PENDATA->m_hPen == 0); +} + void wxPen::Unshare() { // Don't change shared data @@ -160,7 +167,7 @@ void wxPen::SetColour(const wxColour& col) Unshare(); M_PENDATA->m_colour = col; - + RealizeResource(); } @@ -169,7 +176,7 @@ void wxPen::SetColour(unsigned char r, unsigned char g, unsigned char b) Unshare(); M_PENDATA->m_colour.Set(r, g, b); - + RealizeResource(); } @@ -197,7 +204,7 @@ void wxPen::SetStipple(const wxBitmap& Stipple) M_PENDATA->m_stipple = Stipple; M_PENDATA->m_style = wxSTIPPLE; - + RealizeResource(); } @@ -206,8 +213,8 @@ void wxPen::SetDashes(int nb_dashes, const wxDash *Dash) Unshare(); M_PENDATA->m_nbDash = nb_dashes; - M_PENDATA->m_dash = (wxDash *)Dash; - + M_PENDATA->m_dash = (wxPMDash *)Dash; + RealizeResource(); } @@ -229,22 +236,13 @@ void wxPen::SetCap(int Cap) RealizeResource(); } -void wxPen::SetCap(int Cap) -{ - Unshare(); - - M_PENDATA->m_cap = Cap; - - RealizeResource(); -} - int wx2os2PenStyle(int wx_style) { - int cstyle; + int cstyle = 0; // TODO: /* switch (wx_style) - { + { case wxDOT: cstyle = PS_DOT; break;