X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c5b8c66a843fc33777ce99c183694b987bee4f03..35bb3cb155917b4287fb2a3841bea22919a3d499:/src/msw/graphics.cpp diff --git a/src/msw/graphics.cpp b/src/msw/graphics.cpp index a637adf8c4..c7489e54a3 100644 --- a/src/msw/graphics.cpp +++ b/src/msw/graphics.cpp @@ -1043,7 +1043,7 @@ void wxGDIPlusContext::DrawBitmap( const wxBitmap &bmp, wxDouble x, wxDouble y, helper->GetPixelFormat(),&data); image = new Bitmap(data.Width, data.Height, data.Stride, - PixelFormat32bppARGB , (BYTE*) data.Scan0); + PixelFormat32bppPARGB , (BYTE*) data.Scan0); helper->UnlockBits(&data); } @@ -1123,11 +1123,11 @@ void wxGDIPlusContext::GetTextExtent( const wxString &str, wxDouble *width, wxDo f->GetSize() / ffamily.GetEmHeight(FontStyleRegular); if ( height ) - *height = rHeight * factorY + 0.5 ; + *height = rHeight * factorY; if ( descent ) - *descent = rDescent * factorY + 0.5 ; + *descent = rDescent * factorY; if ( externalLeading ) - *externalLeading = (rHeight - rAscent - rDescent) * factorY + 0.5 ; + *externalLeading = (rHeight - rAscent - rDescent) * factorY; // measuring empty strings is not guaranteed, so do it by hand if ( str.IsEmpty()) { @@ -1142,12 +1142,14 @@ void wxGDIPlusContext::GetTextExtent( const wxString &str, wxDouble *width, wxDo StringFormat strFormat; CharacterRange strRange(0,wcslen(s)); strFormat.SetMeasurableCharacterRanges(1,&strRange); + strFormat.SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces); + Region region ; m_context->MeasureCharacterRanges(s, -1 , f,layoutRect, &strFormat,1,®ion) ; RectF bbox ; region.GetBounds(&bbox,m_context); if ( width ) - *width = bbox.GetRight()-bbox.GetLeft()+0.5; + *width = bbox.GetRight()-bbox.GetLeft(); } } @@ -1176,6 +1178,7 @@ void wxGDIPlusContext::GetPartialTextExtents(const wxString& text, wxArrayDouble ranges[i].Length = 1 ; } strFormat.SetMeasurableCharacterRanges(len,ranges); + strFormat.SetFormatFlags(StringFormatFlagsMeasureTrailingSpaces); m_context->MeasureCharacterRanges(ws, -1 , f,layoutRect, &strFormat,1,regions) ; RectF bbox ;