OSStatus err = cEvent.GetParameter<CGContextRef>(kEventParamCGContextRef, &cgContext) ;
if ( err != noErr )
{
- wxFAIL_MSG("Unable to retrieve CGContextRef");
+ // for non-composite drawing, since we don't support it ourselves, send it through the
+ // the default handler
+ // CallNextEventHandler( handler,event ) ;
+ // result = noErr ;
+ if ( allocatedRgn )
+ CFRelease( allocatedRgn ) ;
+ break;
}
thisWindow->MacSetCGContextRef( cgContext ) ;
void wxMacControl::Move(int x, int y, int width, int height)
{
+ UInt32 attr = 0 ;
+ GetWindowAttributes( GetControlOwner(m_controlRef) , &attr ) ;
+
HIRect hir = CGRectMake(x,y,width,height);
+ if ( !(attr & kWindowCompositingAttribute) )
+ {
+ HIRect parent;
+ HIViewGetFrame( HIViewGetSuperview(m_controlRef), &parent );
+ hir.origin.x += parent.origin.x;
+ hir.origin.y += parent.origin.y;
+ }
HIViewSetFrame ( m_controlRef , &hir );
}
GetControlBounds( m_controlRef , &r );
x = r.left;
y = r.top;
+
+ UInt32 attr = 0 ;
+ GetWindowAttributes( GetControlOwner(m_controlRef) , &attr ) ;
+
+ if ( !(attr & kWindowCompositingAttribute) )
+ {
+ HIRect parent;
+ HIViewGetFrame( HIViewGetSuperview(m_controlRef), &parent );
+ x -= parent.origin.x;
+ y -= parent.origin.y;
+ }
+
}
void wxMacControl::GetSize( int &width, int &height ) const
// HITextViewSetBackgroundColor( m_textView , color );
}
+bool wxMacControl::SetBackgroundStyle(wxBackgroundStyle style)
+{
+ if ( style != wxBG_STYLE_PAINT )
+ {
+ OSStatus err = HIViewChangeFeatures(m_controlRef , 0 , kHIViewIsOpaque);
+ verify_noerr( err );
+ }
+ else
+ {
+ OSStatus err = HIViewChangeFeatures(m_controlRef , kHIViewIsOpaque , 0);
+ verify_noerr( err );
+ }
+
+ return true ;
+}
+
void wxMacControl::SetRange( SInt32 minimum , SInt32 maximum )
{
::SetControl32BitMinimum( m_controlRef , minimum );
OffsetRect( r , (short) hiPoint.x , (short) hiPoint.y ) ;
}
}
-
+
void wxMacControl::GetBestRect( wxRect *rect ) const
{
short baselineoffset;
}
// the root control level handler
- contentview->InstallEventHandler() ;
+ if ( !now->IsNativeWindowWrapper() )
+ contentview->InstallEventHandler() ;
+
return contentview;
}