Added some bad hacks to make region processing work at least a bit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@24399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Neis
2003-11-03 00:15:37 +00:00
parent be4cc9317b
commit 081d6e4def

View File

@@ -39,6 +39,7 @@ public:
RGNRECT vRgnData; RGNRECT vRgnData;
PRECTL pRect = NULL; PRECTL pRect = NULL;
vRgnData.ulDirection = RECTDIR_LFRT_TOPBOT;
if (::GpiQueryRegionRects( rData.m_hPS // Pres space if (::GpiQueryRegionRects( rData.m_hPS // Pres space
,rData.m_hRegion // Handle of region to query ,rData.m_hRegion // Handle of region to query
,NULL // Return all RECTs ,NULL // Return all RECTs
@@ -554,6 +555,7 @@ void wxRegion::SetPS(
RGNRECT vRgnData; RGNRECT vRgnData;
PRECTL pRect = NULL; PRECTL pRect = NULL;
vRgnData.ulDirection = RECTDIR_LFRT_TOPBOT;
if (::GpiQueryRegionRects( ((wxRegionRefData*)m_refData)->m_hPS if (::GpiQueryRegionRects( ((wxRegionRefData*)m_refData)->m_hPS
,((wxRegionRefData*)m_refData)->m_hRegion ,((wxRegionRefData*)m_refData)->m_hRegion
,NULL ,NULL
@@ -644,6 +646,7 @@ void wxRegionIterator::Reset(
RGNRECT vRgnData; RGNRECT vRgnData;
PRECTL pRect; PRECTL pRect;
vRgnData.ulDirection = RECTDIR_LFRT_TOPBOT;
if (::GpiQueryRegionRects( ((wxRegionRefData*)rRegion.m_refData)->m_hPS // Pres space if (::GpiQueryRegionRects( ((wxRegionRefData*)rRegion.m_refData)->m_hPS // Pres space
,((wxRegionRefData*)rRegion.m_refData)->m_hRegion // Handle of region to query ,((wxRegionRefData*)rRegion.m_refData)->m_hRegion // Handle of region to query
,NULL // Return all RECTs ,NULL // Return all RECTs
@@ -663,10 +666,12 @@ void wxRegionIterator::Reset(
,pRect // Will contain the actual RECTS ,pRect // Will contain the actual RECTS
)) ))
{ {
#if 0
M_REGION = ::GpiCreateRegion( ((wxRegionRefData*)rRegion.m_refData)->m_hPS M_REGION = ::GpiCreateRegion( ((wxRegionRefData*)rRegion.m_refData)->m_hPS
,vRgnData.crcReturned ,vRgnData.crcReturned
,pRect ,pRect
); );
#endif
for( LONG i = 0; i < m_lNumRects; i++) for( LONG i = 0; i < m_lNumRects; i++)
{ {
m_pRects[i].x = pRect[i].xLeft; m_pRects[i].x = pRect[i].xLeft;
@@ -674,7 +679,9 @@ void wxRegionIterator::Reset(
m_pRects[i].y = pRect[i].yBottom; m_pRects[i].y = pRect[i].yBottom;
m_pRects[i].height = pRect[i].yTop - pRect[i].yBottom; m_pRects[i].height = pRect[i].yTop - pRect[i].yBottom;
} }
#if 0
((wxRegionRefData*)m_refData)->m_hPS = ((wxRegionRefData*)rRegion.m_refData)->m_hPS; ((wxRegionRefData*)m_refData)->m_hPS = ((wxRegionRefData*)rRegion.m_refData)->m_hPS;
#endif
} }
} }
} }