]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/pen.cpp
capture mouse to be notified when it exists the popup rect (bug 1372228)
[wxWidgets.git] / src / os2 / pen.cpp
index a19f195160122f7423026a1ccf4c876e30370feb..24d89e39b2a1397e725dee7130e09f71d7f27f1a 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        pen.cpp
+// Name:        src/os2/pen.cpp
 // Purpose:     wxPen
 // Author:      David Webster
 // Modified by:
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#ifndef WX_PRECOMP
-#include <stdio.h>
-#include "wx/setup.h"
-#include "wx/list.h"
-#include "wx/utils.h"
-#include "wx/app.h"
 #include "wx/pen.h"
-#include "wx/log.h"
+
+#ifndef WX_PRECOMP
+    #include <stdio.h>
+    #include "wx/list.h"
+    #include "wx/utils.h"
+    #include "wx/app.h"
+    #include "wx/log.h"
 #endif
 
 #include "wx/os2/private.h"
@@ -33,6 +33,8 @@ wxPenRefData::wxPenRefData()
     m_nWidth  = 1;
     m_nJoin   = wxJOIN_ROUND ;
     m_nCap    = wxCAP_ROUND ;
+    m_nbDash  = 0 ;
+    m_dash    = (wxDash*)NULL;
     m_hPen    = 0L;
 } // end of wxPenRefData::wxPenRefData
 
@@ -44,6 +46,8 @@ wxPenRefData::wxPenRefData(
     m_nWidth  = rData.m_nWidth;
     m_nJoin   = rData.m_nJoin;
     m_nCap    = rData.m_nCap;
+    m_nbDash  = rData.m_nbDash;
+    m_dash    = rData.m_dash;
     m_vColour = rData.m_vColour;
     m_hPen    = 0L;
 } // end of wxPenRefData::wxPenRefData
@@ -57,14 +61,10 @@ wxPenRefData::~wxPenRefData()
 //
 wxPen::wxPen()
 {
-    if ( wxThePenList )
-        wxThePenList->AddPen(this);
 } // end of wxPen::wxPen
 
 wxPen::~wxPen()
 {
-    if (wxThePenList)
-        wxThePenList->RemovePen(this);
 } // end of wxPen::wxPen
 
 // Should implement Create
@@ -84,9 +84,6 @@ wxPen::wxPen(
     M_PENDATA->m_hPen    = 0L;
 
     RealizeResource();
-
-    if ( wxThePenList )
-        wxThePenList->AddPen(this);
 } // end of wxPen::wxPen
 
 wxPen::wxPen(
@@ -104,9 +101,6 @@ wxPen::wxPen(
     M_PENDATA->m_hPen     = 0;
 
     RealizeResource();
-
-    if ( wxThePenList )
-        wxThePenList->AddPen(this);
 } // end of wxPen::wxPen
 
 int wx2os2PenStyle(
@@ -152,7 +146,7 @@ bool wxPen::RealizeResource()
             vError = ::WinGetLastError(vHabmain);
             sError = wxPMErrorToStr(vError);
             wxLogError(_T("Unable to set current color table to RGB mode. Error: %s\n"), sError.c_str());
-            return FALSE;
+            return false;
         }
         if (M_PENDATA->m_nStyle == wxTRANSPARENT)
         {
@@ -199,6 +193,8 @@ bool wxPen::RealizeResource()
         }
         m_vLineBundle.lColor     = (LONG)vPmColour;
         m_vLineBundle.usMixMode  = FM_OVERPAINT;
+        if (M_PENDATA->m_nWidth < 1)
+            M_PENDATA->m_nWidth = 1;
         m_vLineBundle.fxWidth    = M_PENDATA->m_nWidth;
         m_vLineBundle.lGeomWidth = M_PENDATA->m_nWidth;
         m_vLineBundle.usType     = uLineType;
@@ -216,7 +212,7 @@ bool wxPen::RealizeResource()
             vError = ::WinGetLastError(vHabmain);
             sError = wxPMErrorToStr(vError);
             wxLogError(_T("Can't set Gpi attributes for a LINEBUNDLE. Error: %s\n"), sError.c_str());
-            return FALSE;
+            return false;
         }
 
         ULONG                           flAttrMask = 0L;
@@ -308,7 +304,7 @@ bool wxPen::RealizeResource()
     return false;
 } // end of wxPen::RealizeResource
 
-WXHANDLE wxPen::GetResourceHandle()
+WXHANDLE wxPen::GetResourceHandle() const
 {
     if (!M_PENDATA)
         return 0;
@@ -346,29 +342,21 @@ void wxPen::Unshare()
     }
 } // end of wxPen::Unshare
 
-void wxPen::SetColour(
-  const wxColour&                   rColour
-)
+void wxPen::SetColour( const wxColour& rColour )
 {
     Unshare();
     M_PENDATA->m_vColour = rColour;
     RealizeResource();
 } // end of wxPen::SetColour
 
-void wxPen::SetColour(
-  unsigned char                     cRed
-, unsigned char                     cGreen
-, unsigned char                     cBlue
-)
+void wxPen::SetColour( unsigned char cRed, unsigned char cGreen, unsigned char cBlue)
 {
     Unshare();
     M_PENDATA->m_vColour.Set(cRed, cGreen, cBlue);
     RealizeResource();
 } // end of wxPen::SetColour
 
-void wxPen::SetPS(
-  HPS                               hPS
-)
+void wxPen::SetPS( HPS hPS )
 {
     Unshare();
     if (M_PENDATA->m_hPen)