]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/pen.cpp
work around probable bug in GTK+ 2.18 when calling WriteText on a new, empty control...
[wxWidgets.git] / src / msw / pen.cpp
index 89cac5ba678edfcb60709cadfae49a6dedb76250..fd0e4c622e42c2b4047985d1b5cda29cbd40f1ae 100644 (file)
@@ -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<wxColour&>(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<wxBitmap *>(&m_stipple); }
 
     void SetColour(const wxColour& col) { Free(); m_colour = col; }
     void SetWidth(int width) { Free(); m_width = width; }
@@ -99,7 +99,7 @@ public:
         Free();
 
         m_nbDash = nb_dashes;
-        m_dash = wx_const_cast(wxDash *, dash);
+        m_dash = const_cast<wxDash *>(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);
 };
 
 // ============================================================================
@@ -218,7 +218,7 @@ static int ConvertPenStyle(wxPenStyle style)
             return PS_NULL;
 
         default:
-            wxFAIL_MSG( _T("unknown pen style") );
+            wxFAIL_MSG( wxT("unknown pen style") );
             // fall through
 
 #ifdef wxHAVE_EXT_CREATE_PEN
@@ -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:
@@ -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);
@@ -373,11 +373,9 @@ bool wxPenRefData::Alloc()
 
            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;
        }
 
@@ -419,7 +417,7 @@ bool wxPenRefData::Free()
 WXHPEN wxPenRefData::GetHPEN() const
 {
     if ( !m_hPen )
-        wx_const_cast(wxPenRefData *, this)->Alloc();
+        const_cast<wxPenRefData *>(this)->Alloc();
 
     return (WXHPEN)m_hPen;
 }
@@ -435,10 +433,12 @@ 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(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<const wxPenRefData *>(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<const wxPenRefData*>(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( Ok(), wxNullColour, wxT("invalid pen") );
+
+    return M_PENDATA->GetColour();
 }
 
 int wxPen::GetWidth() const
 {
-    return m_refData ? M_PENDATA->GetWidth() : 0;
+    wxCHECK_MSG( Ok(), -1, wxT("invalid pen") );
+
+    return M_PENDATA->GetWidth();
 }
 
 wxPenStyle wxPen::GetStyle() const
 {
-    return m_refData ? M_PENDATA->GetStyle() : wxPENSTYLE_MAX;
+    wxCHECK_MSG( Ok(), wxPENSTYLE_INVALID, wxT("invalid pen") );
+
+    return M_PENDATA->GetStyle();
 }
 
 wxPenJoin wxPen::GetJoin() const
 {
-    return m_refData ? M_PENDATA->GetJoin() : wxJOIN_INVALID;
+    wxCHECK_MSG( Ok(), wxJOIN_INVALID, wxT("invalid pen") );
+
+    return M_PENDATA->GetJoin();
 }
 
 wxPenCap wxPen::GetCap() const
 {
-    return m_refData ? M_PENDATA->GetCap() : wxCAP_INVALID;
+    wxCHECK_MSG( Ok(), wxCAP_INVALID, wxT("invalid pen") );
+
+    return M_PENDATA->GetCap();
 }
 
 int wxPen::GetDashes(wxDash** ptr) const
 {
-    if ( !m_refData )
-    {
-        *ptr = NULL;
-        return 0;
-    }
+    wxCHECK_MSG( Ok(), -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( Ok(), NULL, wxT("invalid pen") );
+
     return m_refData ? M_PENDATA->GetDash() : NULL;
 }
 
 int wxPen::GetDashCount() const
 {
+    wxCHECK_MSG( Ok(), -1, wxT("invalid pen") );
+
     return m_refData ? M_PENDATA->GetDashCount() : 0;
 }
 
 wxBitmap* wxPen::GetStipple() const
 {
+    wxCHECK_MSG( Ok(), NULL, wxT("invalid pen") );
+
     return m_refData ? M_PENDATA->GetStipple() : NULL;
 }