X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/26ac77dbe2e99a137619ce316dd5fbaa5bb81093..1978421a6d8b81c1f8a961da4b8ddf544fec7b1b:/src/os2/pen.cpp diff --git a/src/os2/pen.cpp b/src/os2/pen.cpp index 4e47b28cbb..dbecd515ea 100644 --- a/src/os2/pen.cpp +++ b/src/os2/pen.cpp @@ -19,6 +19,7 @@ #include "wx/utils.h" #include "wx/app.h" #include "wx/pen.h" +#include "wx/log.h" #endif #include "wx/os2/private.h" @@ -108,6 +109,10 @@ wxPen::wxPen( wxThePenList->AddPen(this); } // end of wxPen::wxPen +int wx2os2PenStyle( + int nWxStyle +); + bool wxPen::RealizeResource() { BOOL bOk; @@ -214,6 +219,8 @@ bool wxPen::RealizeResource() return FALSE; } + ULONG flAttrMask = 0L; + ULONG flDefMask = 0L; switch(M_PENDATA->m_nStyle) { case wxSTIPPLE: @@ -224,54 +231,69 @@ bool wxPen::RealizeResource() ::GpiSetPatternSet( M_PENDATA->m_hPen ,(USHORT)M_PENDATA->m_vStipple.GetId() ); + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SET | ABB_SYMBOL; + flDefMask = ABB_REF_POINT; break; case wxBDIAGONAL_HATCH: m_vAreaBundle.usSymbol = PATSYM_DIAG3; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; case wxCROSSDIAG_HATCH: m_vAreaBundle.usSymbol = PATSYM_DIAGHATCH; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; case wxFDIAGONAL_HATCH: m_vAreaBundle.usSymbol = PATSYM_DIAG1; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; case wxCROSS_HATCH: m_vAreaBundle.usSymbol = PATSYM_HATCH; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; case wxHORIZONTAL_HATCH: m_vAreaBundle.usSymbol = PATSYM_HORIZ; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; case wxVERTICAL_HATCH: m_vAreaBundle.usSymbol = PATSYM_VERT; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; default: m_vAreaBundle.usSymbol = PATSYM_SOLID; m_vAreaBundle.usSet = LCID_DEFAULT; + flAttrMask = ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | ABB_SYMBOL; + flDefMask = ABB_SET | ABB_REF_POINT; break; } m_vAreaBundle.lColor = vPmColour; - m_vAreaBundle.lBackColor = CLR_DEFAULT; + m_vAreaBundle.lBackColor = RGB_WHITE; m_vAreaBundle.usMixMode = FM_OVERPAINT; m_vAreaBundle.usBackMixMode = BM_OVERPAINT; bOk = ::GpiSetAttrs( M_PENDATA->m_hPen ,PRIM_AREA - ,ABB_COLOR | ABB_BACK_COLOR | ABB_MIX_MODE | ABB_BACK_MIX_MODE | - ABB_SET | ABB_SYMBOL - ,ABB_REF_POINT + ,flAttrMask + ,flDefMask ,&m_vAreaBundle ); if (!bOk)