more fixes to double to int conversions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-10-30 23:19:10 +00:00
parent fae47b81e8
commit 8a438f46b5
3 changed files with 21 additions and 21 deletions

View File

@@ -786,13 +786,13 @@ void wxGCDC::DoGetTextExtent( const wxString &str, wxCoord *width, wxCoord *heig
m_graphicContext->GetTextExtent( str, &w, &h, &d, &e ); m_graphicContext->GetTextExtent( str, &w, &h, &d, &e );
if ( height ) if ( height )
*height = h; *height = (wxCoord)h;
if ( descent ) if ( descent )
*descent = d; *descent = (wxCoord)d;
if ( externalLeading ) if ( externalLeading )
*externalLeading =e; *externalLeading = (wxCoord)e;
if ( width ) if ( width )
*width = w; *width = (wxCoord)w;
if ( theFont ) if ( theFont )
{ {

View File

@@ -135,7 +135,7 @@ wxWindowDC::wxWindowDC(wxWindow *window)
{ {
CGContextSaveGState( cg ); CGContextSaveGState( cg );
m_release = true ; m_release = true ;
// make sure the context is having its origin at the wx-window coordinates of the // make sure the context is having its origin at the wx-window coordinates of the
// view (read at the top of window.cpp about the differences) // view (read at the top of window.cpp about the differences)
if ( window->MacGetLeftBorderSize() != 0 || window->MacGetTopBorderSize() != 0 ) if ( window->MacGetLeftBorderSize() != 0 || window->MacGetTopBorderSize() != 0 )
CGContextTranslateCTM( cg , -window->MacGetLeftBorderSize() , -window->MacGetTopBorderSize() ); CGContextTranslateCTM( cg , -window->MacGetLeftBorderSize() , -window->MacGetTopBorderSize() );
@@ -189,36 +189,36 @@ void wxWindowDC::DoGetSize( int* width, int* height ) const
wxBitmap wxWindowDC::DoGetAsBitmap(const wxRect *subrect) const wxBitmap wxWindowDC::DoGetAsBitmap(const wxRect *subrect) const
{ {
ControlRef handle = (ControlRef) m_window->GetHandle(); ControlRef handle = (ControlRef) m_window->GetHandle();
if ( !handle ) if ( !handle )
return wxNullBitmap; return wxNullBitmap;
HIRect rect; HIRect rect;
CGImageRef image; CGImageRef image;
CGContextRef context; CGContextRef context;
void* data; void* data;
size_t bytesPerRow; size_t bytesPerRow;
HIViewCreateOffscreenImage( handle, 0, &rect, &image); HIViewCreateOffscreenImage( handle, 0, &rect, &image);
int width = subrect != NULL ? subrect->width : rect.size.width; int width = subrect != NULL ? subrect->width : (int)rect.size.width;
int height = subrect != NULL ? subrect->height : rect.size.height ; int height = subrect != NULL ? subrect->height : (int)rect.size.height ;
bytesPerRow = ( ( width * 8 * 4 + 7 ) / 8 ); bytesPerRow = ( ( width * 8 * 4 + 7 ) / 8 );
data = calloc( 1, bytesPerRow * height ); data = calloc( 1, bytesPerRow * height );
context = CGBitmapContextCreate( data, width, height, 8, bytesPerRow, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedFirst ); context = CGBitmapContextCreate( data, width, height, 8, bytesPerRow, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaPremultipliedFirst );
if ( subrect ) if ( subrect )
rect = CGRectOffset( rect, -subrect->x, -subrect->y ) ; rect = CGRectOffset( rect, -subrect->x, -subrect->y ) ;
CGContextDrawImage( context, rect, image ); CGContextDrawImage( context, rect, image );
unsigned char* buffer = (unsigned char*) data; unsigned char* buffer = (unsigned char*) data;
wxBitmap bmp = wxBitmap(width, height, 32); wxBitmap bmp = wxBitmap(width, height, 32);
wxAlphaPixelData pixData(bmp, wxPoint(0,0), wxSize(width, height)); wxAlphaPixelData pixData(bmp, wxPoint(0,0), wxSize(width, height));
pixData.UseAlpha(); pixData.UseAlpha();
wxAlphaPixelData::Iterator p(pixData); wxAlphaPixelData::Iterator p(pixData);
for (int y=0; y<height; y++) { for (int y=0; y<height; y++) {
@@ -229,12 +229,12 @@ wxBitmap wxWindowDC::DoGetAsBitmap(const wxRect *subrect) const
p.Green() = a; buffer++; p.Green() = a; buffer++;
p.Blue() = a; buffer++; p.Blue() = a; buffer++;
p.Alpha() = a; buffer++; p.Alpha() = a; buffer++;
++p; ++p;
} }
p = rowStart; p = rowStart;
p.OffsetY(pixData, 1); p.OffsetY(pixData, 1);
} }
return bmp; return bmp;
} }

View File

@@ -535,8 +535,8 @@ wxSize wxFont::GetPixelSize() const
wxGraphicsContext* dc = wxGraphicsContext::CreateFromNative((CGContextRef) NULL); wxGraphicsContext* dc = wxGraphicsContext::CreateFromNative((CGContextRef) NULL);
dc->SetFont(*(wxFont *)this,*wxBLACK); dc->SetFont(*(wxFont *)this,*wxBLACK);
wxDouble width, height = 0; wxDouble width, height = 0;
dc->GetTextExtent( wxT("g"), &width, &height, NULL, NULL); dc->GetTextExtent( wxT("g"), &width, &height, NULL, NULL);
return wxSize(width, height); return wxSize((int)width, (int)height);
#else #else
wxFontBase::GetPixelSize(); wxFontBase::GetPixelSize();
#endif #endif