X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8eb7181ca7a825d544c3bc590bf0d82a5f002be9..f51723055aa4334a355a19e87bb2b478b4204d15:/src/os2/dc.cpp diff --git a/src/os2/dc.cpp b/src/os2/dc.cpp index 9fb6ea2f9d..9988736141 100644 --- a/src/os2/dc.cpp +++ b/src/os2/dc.cpp @@ -444,7 +444,7 @@ void wxPMDCImpl::DoSetClippingRegion( DO_SET_CLIPPING_BOX() } // end of wxPMDCImpl::DoSetClippingRegion -void wxPMDCImpl::DoSetClippingRegionAsRegion( +void wxPMDCImpl::DoSetDeviceClippingRegion( const wxRegion& rRegion ) { @@ -457,7 +457,7 @@ void wxPMDCImpl::DoSetClippingRegionAsRegion( ,&hRgnOld ); DO_SET_CLIPPING_BOX() -} // end of wxPMDCImpl::DoSetClippingRegionAsRegion +} // end of wxPMDCImpl::DoSetDeviceClippingRegion void wxPMDCImpl::DestroyClippingRegion(void) { @@ -501,16 +501,16 @@ bool wxPMDCImpl::CanGetTextExtent() const int wxPMDCImpl::GetDepth() const { - LONG lArray[CAPS_COLOR_BITCOUNT]; + LONG lCapsColorBitcount; int nBitsPerPixel = 0; if(::DevQueryCaps( GetHDC() - ,CAPS_FAMILY ,CAPS_COLOR_BITCOUNT - ,lArray + ,1L + ,&lCapsColorBitcount )) { - nBitsPerPixel = (int)lArray[CAPS_COLOR_BITCOUNT]; + nBitsPerPixel = (int)lCapsColorBitcount; } return nBitsPerPixel; } // end of wxPMDCImpl::GetDepth @@ -540,7 +540,7 @@ bool wxPMDCImpl::DoFloodFill( wxCoord vX , wxCoord vY , const wxColour& rCol -, int nStyle +, wxFloodFillStyle nStyle ) { POINTL vPtlPos; @@ -839,7 +839,7 @@ void wxPMDCImpl::DoDrawPolygon( int n, wxPoint vPoints[], wxCoord vXoffset, wxCoord vYoffset, - int nFillStyle ) + wxPolygonFillMode nFillStyle ) { ULONG ulCount = 1; // Number of polygons. POLYGON vPlgn; // polygon. @@ -2017,7 +2017,7 @@ void wxPMDCImpl::SetBackgroundMode(int nMode) m_backgroundMode = nMode; } // end of wxPMDCImpl::SetBackgroundMode -void wxPMDCImpl::SetLogicalFunction(int nFunction) +void wxPMDCImpl::SetLogicalFunction(wxRasterOperationMode nFunction) { m_logicalFunction = nFunction; SetRop((WXHDC)m_hDC); @@ -2165,7 +2165,7 @@ void wxPMDCImpl::DoGetTextExtent( ,wxICON_INFORMATION ); } - + bRc = ::GpiQueryTextBox( m_hPS ,l ,rsString.char_str() @@ -2211,7 +2211,7 @@ void wxPMDCImpl::DoGetTextExtent( } void wxPMDCImpl::SetMapMode( - int nMode + wxMappingMode nMode ) { int nPixelWidth = 0; @@ -2285,7 +2285,7 @@ void wxPMDCImpl::SetMapMode( ::GpiSetPS(m_hPS, &vSize, ulOptions); } ComputeScaleAndOrigin(); - + }; // end of wxPMDCImpl::SetMapMode void wxPMDCImpl::SetUserScale( double dX, @@ -2357,7 +2357,7 @@ bool wxPMDCImpl::DoBlit( wxCoord vXdest, wxDC* pSource, wxCoord vXsrc, wxCoord vYsrc, - int nRop, + wxRasterOperationMode nRop, bool bUseMask, wxCoord WXUNUSED(vXsrcMask), wxCoord WXUNUSED(vYsrcMask) ) @@ -2652,57 +2652,61 @@ bool wxPMDCImpl::DoBlit( wxCoord vXdest, } void wxPMDCImpl::DoGetSize( int* pnWidth, - int* pnHeight ) const + int* pnHeight ) const { - LONG lArray[CAPS_HEIGHT]; + LONG lArray[CAPS_HEIGHT+1]; if(::DevQueryCaps( m_hDC ,CAPS_FAMILY - ,CAPS_HEIGHT + ,CAPS_HEIGHT+1 ,lArray )) { - *pnWidth = lArray[CAPS_WIDTH]; - *pnHeight = lArray[CAPS_HEIGHT]; + if (pnWidth) + *pnWidth = lArray[CAPS_WIDTH]; + if (pnHeight) + *pnHeight = lArray[CAPS_HEIGHT]; } }; // end of wxPMDCImpl::DoGetSize( void wxPMDCImpl::DoGetSizeMM( int* pnWidth, int* pnHeight ) const { - LONG lArray[CAPS_VERTICAL_RESOLUTION]; + LONG lArray[CAPS_VERTICAL_RESOLUTION+1]; if(::DevQueryCaps( m_hDC ,CAPS_FAMILY - ,CAPS_VERTICAL_RESOLUTION + ,CAPS_VERTICAL_RESOLUTION+1 ,lArray )) { if(pnWidth) { - int nWidth = lArray[CAPS_WIDTH]; - int nHorzRes = lArray[CAPS_HORIZONTAL_RESOLUTION]; // returns pel/meter - *pnWidth = (nHorzRes/1000) * nWidth; + int nWidth = lArray[CAPS_WIDTH]; + int nHorzRes = lArray[CAPS_HORIZONTAL_RESOLUTION]; // returns pel/meter + // use fp to avoid returning 0 if nHorzRes < 1000 + *pnWidth = (int)((nHorzRes/1000.0) * nWidth); } if(pnHeight) { - int nHeight = lArray[CAPS_HEIGHT]; + int nHeight = lArray[CAPS_HEIGHT]; int nVertRes = lArray[CAPS_VERTICAL_RESOLUTION]; // returns pel/meter - *pnHeight = (nVertRes/1000) * nHeight; + // use fp to avoid returning 0 if nVertRes < 1000 + *pnHeight = (int)((nVertRes/1000.0) * nHeight); } } }; // end of wxPMDCImpl::DoGetSizeMM wxSize wxPMDCImpl::GetPPI() const { - LONG lArray[CAPS_VERTICAL_RESOLUTION]; + LONG lArray[CAPS_VERTICAL_RESOLUTION+1]; int nWidth = 0; int nHeight = 0; if(::DevQueryCaps( m_hDC ,CAPS_FAMILY - ,CAPS_VERTICAL_RESOLUTION + ,CAPS_VERTICAL_RESOLUTION+1 ,lArray )) {