Drawing fixed according to patch #1523304.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -874,7 +874,7 @@ void wxDC::DoDrawPolygon(
|
|||||||
// POLYGON_WINDING Constructs interior in winding mode.
|
// POLYGON_WINDING Constructs interior in winding mode.
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
ULONG flModel = 0L; // Drawing model.
|
ULONG flModel = POLYGON_INCL; // Drawing model.
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
// Drawing model.
|
// Drawing model.
|
||||||
@@ -902,20 +902,17 @@ void wxDC::DoDrawPolygon(
|
|||||||
|
|
||||||
for(i = 0; i < n; i++)
|
for(i = 0; i < n; i++)
|
||||||
{
|
{
|
||||||
vPlgn.aPointl[i].x = vPoints[i].x; // +xoffset;
|
vPlgn.aPointl[i].x = vPoints[i].x+vXoffset;
|
||||||
vPlgn.aPointl[i].y = OS2Y(vPoints[i].y,0); // +yoffset;
|
vPlgn.aPointl[i].y = OS2Y(vPoints[i].y+vYoffset,0);
|
||||||
}
|
}
|
||||||
flModel = POLYGON_BOUNDARY;
|
flOptions = POLYGON_BOUNDARY;
|
||||||
if(nFillStyle == wxWINDING_RULE)
|
if(nFillStyle == wxWINDING_RULE)
|
||||||
flModel |= POLYGON_WINDING;
|
flOptions |= POLYGON_WINDING;
|
||||||
else
|
else
|
||||||
flModel |= POLYGON_ALTERNATE;
|
flOptions |= POLYGON_ALTERNATE;
|
||||||
|
|
||||||
vPoint.x = vXoffset;
|
|
||||||
vPoint.y = OS2Y(vYoffset,0);
|
|
||||||
|
|
||||||
::GpiSetColor(m_hPS, lBorderColor);
|
::GpiSetColor(m_hPS, lBorderColor);
|
||||||
::GpiMove(m_hPS, &vPoint);
|
::GpiMove(m_hPS, &vPlgn.aPointl[0]);
|
||||||
lHits = ::GpiPolygons(m_hPS, ulCount, &vPlgn, flOptions, flModel);
|
lHits = ::GpiPolygons(m_hPS, ulCount, &vPlgn, flOptions, flModel);
|
||||||
free(vPlgn.aPointl);
|
free(vPlgn.aPointl);
|
||||||
} // end of wxDC::DoDrawPolygon
|
} // end of wxDC::DoDrawPolygon
|
||||||
@@ -1746,13 +1743,7 @@ void wxDC::DrawAnyText( const wxString& rsText,
|
|||||||
m_vRclPaint.xRight == 0 &&
|
m_vRclPaint.xRight == 0 &&
|
||||||
m_vRclPaint.xLeft == 0))
|
m_vRclPaint.xLeft == 0))
|
||||||
{
|
{
|
||||||
//
|
|
||||||
// Position Text a little differently in the Statusbar from other panels
|
|
||||||
//
|
|
||||||
if (m_pCanvas && m_pCanvas->IsKindOf(CLASSINFO(wxStatusBar)))
|
|
||||||
vPtlStart.y = OS2Y(vY,vTextY);
|
vPtlStart.y = OS2Y(vY,vTextY);
|
||||||
else
|
|
||||||
vPtlStart.y = (wxCoord)(OS2Y(vY,vTextY/1.5)); // Full extent is a bit much
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1760,10 +1751,7 @@ void wxDC::DrawAnyText( const wxString& rsText,
|
|||||||
{
|
{
|
||||||
m_vRclPaint.yTop = m_vSelectedBitmap.GetHeight();
|
m_vRclPaint.yTop = m_vSelectedBitmap.GetHeight();
|
||||||
m_vRclPaint.xRight = m_vSelectedBitmap.GetWidth();
|
m_vRclPaint.xRight = m_vSelectedBitmap.GetWidth();
|
||||||
if (m_pCanvas && m_pCanvas->IsKindOf(CLASSINFO(wxStatusBar)))
|
|
||||||
vPtlStart.y = OS2Y(vY,vTextY);
|
vPtlStart.y = OS2Y(vY,vTextY);
|
||||||
else
|
|
||||||
vPtlStart.y = (LONG)(OS2Y(vY,vTextY/1.5));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
vPtlStart.y = vY;
|
vPtlStart.y = vY;
|
||||||
|
Reference in New Issue
Block a user