X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2e2f9507bc0e44b74906480670a242ddbe70af1..8cb1060f1e2f2cbbcaebcc668dccefdd79804662:/src/mac/carbon/overlay.cpp diff --git a/src/mac/carbon/overlay.cpp b/src/mac/carbon/overlay.cpp index fb4804d288..0a1fb54073 100644 --- a/src/mac/carbon/overlay.cpp +++ b/src/mac/carbon/overlay.cpp @@ -65,8 +65,8 @@ void wxOverlayImpl::MacGetBounds( Rect *bounds ) Point localwhere = { y, x }; wxMacLocalToGlobal( window, &localwhere ) ; - bounds->top = localwhere.v; - bounds->left = localwhere.h; + bounds->top = localwhere.v+m_y; + bounds->left = localwhere.h+m_x; bounds->bottom = localwhere.v+m_y+m_height; bounds->right = localwhere.h+m_x+m_width; } @@ -95,10 +95,10 @@ OSStatus wxOverlayImpl::CreateOverlayWindow() CGRect cgbounds ; cgbounds = CGDisplayBounds(CGMainDisplayID()); Rect bounds; - bounds.top = cgbounds.origin.y; - bounds.left = cgbounds.origin.x; - bounds.bottom = bounds.top + cgbounds.size.height; - bounds.right = bounds.left + cgbounds.size.width; + bounds.top = (short)cgbounds.origin.y; + bounds.left = (short)cgbounds.origin.x; + bounds.bottom = (short)(bounds.top + cgbounds.size.height); + bounds.right = (short)(bounds.left + cgbounds.size.width); err = CreateNewWindow( kOverlayWindowClass, overlayAttributes, &bounds, &m_overlayWindow ); } ShowWindow(m_overlayWindow); @@ -115,7 +115,7 @@ void wxOverlayImpl::Init( wxWindowDC* dc, int x , int y , int width , int height if ( dc->IsKindOf( CLASSINFO( wxClientDC ) )) { wxPoint origin = m_window->GetClientAreaOrigin(); - m_x += origin.x; + m_x += origin.x; m_y += origin.y; } m_width = width ; @@ -126,17 +126,15 @@ void wxOverlayImpl::Init( wxWindowDC* dc, int x , int y , int width , int height #ifndef __LP64__ err = QDBeginCGContext(GetWindowPort(m_overlayWindow), &m_overlayContext); #endif - CGContextTranslateCTM( m_overlayContext, 0, m_height+m_y ); + CGContextTranslateCTM( m_overlayContext, 0, m_height ); CGContextScaleCTM( m_overlayContext, 1, -1 ); + CGContextTranslateCTM( m_overlayContext, -m_x , -m_y ); wxASSERT_MSG( err == noErr , _("Couldn't init the context on the overlay window") ); } void wxOverlayImpl::BeginDrawing( wxWindowDC* dc) { -// TODO CS dc->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) ); - // triggers an application of the already set device origins to the native context - dc->SetUserScale(1,1); wxSize size = dc->GetSize() ; dc->SetClippingRegion( 0 , 0 , size.x , size.y ) ; }