X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bdb5b32a582a6181ec05910bad97384c46a389b3..b79aa5000fef6952836829a48f3ef060b9c10594:/src/osx/carbon/nonownedwnd.cpp diff --git a/src/osx/carbon/nonownedwnd.cpp b/src/osx/carbon/nonownedwnd.cpp index f5e87300b6..2a44f32486 100644 --- a/src/osx/carbon/nonownedwnd.cpp +++ b/src/osx/carbon/nonownedwnd.cpp @@ -254,6 +254,7 @@ void wxNonOwnedWindowCarbonImpl::MacSetUnifiedAppearance( bool set ) static pascal long wxShapedMacWindowDef(short varCode, WindowRef window, SInt16 message, SInt32 param); +void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent ); // --------------------------------------------------------------------------- // Carbon Events @@ -929,7 +930,7 @@ wxNonOwnedWindowEventHandler(EventHandlerCallRef WXUNUSED(handler), // mix this in from window.cpp pascal OSStatus wxMacUnicodeTextEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) ; -pascal OSStatus wxNonOwnedEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) +static pascal OSStatus wxNonOwnedEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) { OSStatus result = eventNotHandledErr ; @@ -1134,7 +1135,7 @@ wxNonOwnedWindowCarbonImpl::~wxNonOwnedWindowCarbonImpl() m_macEventHandler = NULL ; } - if ( m_macWindow ) + if ( m_macWindow && !m_wxPeer->IsNativeWindowWrapper()) DisposeWindow( m_macWindow ); FullScreenData *data = (FullScreenData *) m_macFullScreenData ; @@ -1154,7 +1155,7 @@ void wxNonOwnedWindowCarbonImpl::WillBeDestroyed() } } -void wxNonOwnedWindowInstallTopLevelWindowEventHandler(WindowRef window, EventHandlerRef* handler, void *ref) +static void wxNonOwnedWindowInstallTopLevelWindowEventHandler(WindowRef window, EventHandlerRef* handler, void *ref) { InstallWindowEventHandler(window, GetwxNonOwnedEventHandlerUPP(), GetEventTypeCount(eventList), eventList, ref, handler ); @@ -1191,11 +1192,18 @@ void wxNonOwnedWindowCarbonImpl::MacInstallTopLevelWindowEventHandler() } void wxNonOwnedWindowCarbonImpl::Create( - wxWindow* parent, - const wxPoint& pos, - const wxSize& size, - long style, long extraStyle, - const wxString& WXUNUSED(name) ) + wxWindow* WXUNUSED(parent), + WXWindow nativeWindow ) +{ + m_macWindow = nativeWindow; +} + +void wxNonOwnedWindowCarbonImpl::Create( + wxWindow* parent, + const wxPoint& pos, + const wxSize& size, + long style, long extraStyle, + const wxString& WXUNUSED(name) ) { OSStatus err = noErr ; @@ -1221,7 +1229,7 @@ void wxNonOwnedWindowCarbonImpl::Create( if ( ( style & wxMINIMIZE_BOX ) || ( style & wxMAXIMIZE_BOX ) || ( style & wxSYSTEM_MENU ) || ( style & wxCAPTION ) || - ( style &wxTINY_CAPTION_HORIZ) || ( style &wxTINY_CAPTION_VERT) + ( style & wxTINY_CAPTION) ) { if ( ( style & wxSTAY_ON_TOP ) ) @@ -1229,7 +1237,7 @@ void wxNonOwnedWindowCarbonImpl::Create( else wclass = kFloatingWindowClass ; - if ( ( style &wxTINY_CAPTION_VERT) ) + if ( ( style & wxTINY_CAPTION) ) attr |= kWindowSideTitlebarAttribute ; } else @@ -1328,13 +1336,13 @@ void wxNonOwnedWindowCarbonImpl::Create( customWindowDefSpec.defType = kWindowDefProcPtr; customWindowDefSpec.u.defProc = #ifdef __LP64__ - (WindowDefUPP) wxShapedMacWindowDef; + (WindowDefUPP) wxShapedMacWindowDef; #else - NewWindowDefUPP(wxShapedMacWindowDef); + NewWindowDefUPP(wxShapedMacWindowDef); #endif err = ::CreateCustomWindow( &customWindowDefSpec, wclass, - attr, &theBoundsRect, - (WindowRef*) &m_macWindow); + attr, &theBoundsRect, + (WindowRef*) &m_macWindow); } else { @@ -1689,3 +1697,11 @@ wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWind now->Create( parent, pos, size, style , extraStyle, name ); return now; } + +wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, WXWindow nativeWindow ) +{ + wxNonOwnedWindowCarbonImpl* now = new wxNonOwnedWindowCarbonImpl( wxpeer ); + now->Create( parent, nativeWindow ); + return now; +} +