From 442275372dda9517ce11c6a57728d69bef62f259 Mon Sep 17 00:00:00 2001 From: David Webster Date: Mon, 18 Dec 2000 20:06:39 +0000 Subject: [PATCH] Additions to help Fonts compile clean and add SetPS impelementation to wxRegion for OS2 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/data.cpp | 1 + src/os2/region.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/os2/data.cpp b/src/os2/data.cpp index d588b780f6..03f4aabf10 100644 --- a/src/os2/data.cpp +++ b/src/os2/data.cpp @@ -96,6 +96,7 @@ wxBrush wxNullBrush; wxPalette wxNullPalette; wxFont wxNullFont; wxColour wxNullColour; +wxNativeFontInfo wxNullNativeFontInfo; // Default window names const wxChar *wxButtonNameStr = wxT("button"); diff --git a/src/os2/region.cpp b/src/os2/region.cpp index 112fccc32f..bc036241c2 100644 --- a/src/os2/region.cpp +++ b/src/os2/region.cpp @@ -555,6 +555,51 @@ WXHRGN wxRegion::GetHRGN() const return (WXHRGN) M_REGION; } +// +// Set a new PS, this means we have to recreate the old region in the new +// PS +// +void wxRegion::SetPS( + HPS hPS +) +{ + RGNRECT vRgnData; + PRECTL pRect = NULL; + + if (::GpiQueryRegionRects( ((wxRegionRefData*)m_refData)->m_hPS + ,((wxRegionRefData*)m_refData)->m_hRegion + ,NULL + ,&vRgnData + ,NULL + )) + { + pRect = new RECTL[vRgnData.crcReturned]; + vRgnData.crc = vRgnData.crcReturned; + vRgnData.ircStart = 1; + if (::GpiQueryRegionRects( ((wxRegionRefData*)m_refData)->m_hPS + ,((wxRegionRefData*)m_refData)->m_hRegion + ,NULL + ,&vRgnData + ,pRect + )) + { + // + // First destroy the region out of the old PS + // and then create it in the new and set the new to current + // + ::GpiDestroyRegion( ((wxRegionRefData*)m_refData)->m_hPS + ,M_REGION + ); + ((wxRegionRefData*)m_refData)->m_hRegion = ::GpiCreateRegion( hPS + ,vRgnData.crcReturned + ,pRect + ); + ((wxRegionRefData*)m_refData)->m_hPS = hPS; + } + delete [] pRect; + } +} // end of wxRegion::SetPS + /////////////////////////////////////////////////////////////////////////////// // // // wxRegionIterator // -- 2.45.2