]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/window.cpp
fix compilation without wxUSE_STREAMS (closes #10900)
[wxWidgets.git] / src / osx / carbon / window.cpp
index af31a5cce99f075aea29bd54db1c995c8bf72dfe..b3d85ada77500fb4724bf2dfc7e81d4b5e43ac58 100644 (file)
 #define wxMAC_DEBUG_REDRAW 0
 #endif
 
+// Get the window with the focus
+WXWidget wxWidgetImpl::FindFocus()
+{
+    ControlRef control = NULL ;
+    GetKeyboardFocus( GetUserFocusWindow() , &control ) ;
+    return control;
+}
+
 // ---------------------------------------------------------------------------
 // Carbon Events
 // ---------------------------------------------------------------------------
@@ -176,7 +184,6 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
 #endif
 
                 {
-                    bool created = false ;
                     CGContextRef cgContext = NULL ;
                     OSStatus err = cEvent.GetParameter<CGContextRef>(kEventParamCGContextRef, &cgContext) ;
                     if ( err != noErr )
@@ -200,7 +207,7 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
                                     iter = iter->GetParent() ;
                             }
                         }
-                        CGContextSetAlpha( cgContext , alpha ) ;
+                        CGContextSetAlpha( cgContext, alpha ) ;
 
                         if ( thisWindow->GetBackgroundStyle() == wxBG_STYLE_TRANSPARENT )
                         {
@@ -221,16 +228,20 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
                                     ( thisWindow->IsTopLevel() && thisWindow->GetBackgroundStyle() == wxBG_STYLE_SYSTEM ) )
                                 {
                                     if ( thisWindow->GetBackgroundStyle() != wxBG_STYLE_TRANSPARENT )
-                                        CallNextEventHandler( handler ,event ) ;
+                                    {
+                                        CallNextEventHandler( handler,event ) ;
+                                        result = noErr ;
+                                    }
                                 }
                             }
+                            else 
+                            {
+                                result = noErr ;
+                            }
                             thisWindow->MacPaintChildrenBorders();
                         }
                         thisWindow->MacSetCGContextRef( NULL ) ;
                     }
-
-                    if ( created )
-                        CGContextRelease( cgContext ) ;
                 }
 
                 if ( allocatedRgn )
@@ -814,8 +825,13 @@ pascal void wxMacLiveScrollbarActionProc( ControlRef control , ControlPartCode p
 }
 wxMAC_DEFINE_PROC_GETTER( ControlActionUPP , wxMacLiveScrollbarActionProc ) ;
 
-wxWidgetImplType* wxWidgetImpl::CreateUserPane( wxWindowMac* wxpeer, wxWindowMac* parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
-                            long style, long extraStyle)
+wxWidgetImplType* wxWidgetImpl::CreateUserPane( wxWindowMac* wxpeer, 
+                            wxWindowMac* WXUNUSED(parent), 
+                            wxWindowID WXUNUSED(id), 
+                            const wxPoint& pos, 
+                            const wxSize& size,
+                            long WXUNUSED(style), 
+                            long WXUNUSED(extraStyle))
 {
     OSStatus err = noErr;
     Rect bounds = wxMacGetBoundsForControl( wxpeer , pos , size ) ;
@@ -1228,7 +1244,7 @@ void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , l
             flush = kHIThemeTextHorizontalFlushCenter;
         else if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_RIGHT )
             flush = kHIThemeTextHorizontalFlushRight;
-        HIViewSetTextFont( m_controlRef , part , (CTFontRef) font.GetCTFont() );
+        HIViewSetTextFont( m_controlRef , part , (CTFontRef) font.OSXGetCTFont() );
         HIViewSetTextHorizontalFlush( m_controlRef, part, flush );
 
         if ( foreground != *wxBLACK || ignoreBlack == false )