return theDepth;
#else
- return 32; // TODO
+ return 32; // TODO
#endif
}
*height = bounds.size.height;
#else
int w, h;
- wxDisplaySize(&w,&h);
+ wxDisplaySize(&w,&h);
if ( x )
*x = 0;
if ( y )
IMPLEMENT_DYNAMIC_CLASS( wxMacControl , wxObject )
-wxMacControl::wxMacControl()
+wxMacControl::wxMacControl()
{
Init();
}
void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , long windowStyle )
{
m_font = font;
-#ifndef __LP64__
+#if wxMAC_USE_CORE_TEXT
+ if ( UMAGetSystemVersion() >= 0x1050 )
+ {
+ HIViewPartCode part = 0;
+ HIThemeTextHorizontalFlush flush = kHIThemeTextHorizontalFlushDefault;
+ if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_CENTER_HORIZONTAL )
+ flush = kHIThemeTextHorizontalFlushCenter;
+ else if ( ( windowStyle & wxALIGN_MASK ) & wxALIGN_RIGHT )
+ flush = kHIThemeTextHorizontalFlushRight;
+ HIViewSetTextFont( m_controlRef , part , (CTFontRef) font.MacGetCTFont() );
+ HIViewSetTextHorizontalFlush( m_controlRef, part, flush );
+
+ if ( foreground != *wxBLACK )
+ {
+ ControlFontStyleRec fontStyle;
+ foreground.GetRGBColor( &fontStyle.foreColor );
+ fontStyle.flags = kControlUseForeColorMask;
+ ::SetControlFontStyle( m_controlRef , &fontStyle );
+ }
+
+ }
+#endif
+#if wxMAC_USE_ATSU_TEXT
ControlFontStyleRec fontStyle;
if ( font.MacGetThemeFontID() != kThemeCurrentPortFont )
{
void wxMacControl::SetBackgroundColour( const wxColour &WXUNUSED(col) )
{
- // TODO
- // setting up a color proc is not recommended anymore
+// HITextViewSetBackgroundColor( m_textView , color );
}
void wxMacControl::SetRange( SInt32 minimum , SInt32 maximum )
void wxMacControl::GetRectInWindowCoords( Rect *r )
{
GetControlBounds( m_controlRef , r ) ;
-
+
WindowRef tlwref = GetControlOwner( m_controlRef ) ;
-
+
wxTopLevelWindowMac* tlwwx = wxFindWinFromMacWindow( tlwref ) ;
if ( tlwwx != NULL )
{
else
encoding = wxFont::GetDefaultEncoding();
- SetControlTitleWithCFString( m_controlRef , wxMacCFStringHolder( title , encoding ) );
+ SetControlTitleWithCFString( m_controlRef , wxCFStringRef( title , encoding ) );
}
void wxMacControl::GetFeatures( UInt32 * features )
void wxMacDataItem::SetLabel( const wxString& str)
{
m_label = str;
- m_cfLabel.Assign( str , wxLocale::GetSystemEncoding());
+ m_cfLabel = wxCFStringRef( str , wxLocale::GetSystemEncoding());
}
const wxString& wxMacDataItem::GetLabel() const
enc = m_font.GetEncoding();
else
enc = wxLocale::GetSystemEncoding();
- wxMacCFStringHolder cfTitle;
- cfTitle.Assign( title, enc );
+ wxCFStringRef cfTitle( title, enc );
columnDesc.headerBtnDesc.titleString = cfTitle;
columnDesc.headerBtnDesc.minimumWidth = 0;
GetScrollPosition( &top , &left ) ;
wxMacDataItem * item = (wxMacDataItem*) GetItemFromLine( n );
+ // there is a bug in RevealItem that leads to situations
+ // in large lists, where the item does not get scrolled
+ // into sight, so we do a pre-scroll if necessary
UInt16 height ;
GetRowHeight( (DataBrowserItemID) item , &height ) ;
- SetScrollPosition( n * ((UInt32)height) , left ) ;
+ UInt32 linetop = n * ((UInt32) height );
+ UInt32 linebottom = linetop + height;
+ Rect rect ;
+ GetRect( &rect );
+
+ if ( linetop < top || linebottom > (top + rect.bottom - rect.top ) )
+ SetScrollPosition( wxMax( n-2, 0 ) * ((UInt32)height) , left ) ;
RevealItem( item , kDataBrowserRevealWithoutSelecting );
}
CGColorSpaceRef wxMacGetGenericRGBColorSpace()
{
- static wxMacCFRefHolder<CGColorSpaceRef> genericRGBColorSpace;
+ static wxCFRef<CGColorSpaceRef> genericRGBColorSpace;
if (genericRGBColorSpace == NULL)
{
- genericRGBColorSpace.Set( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) );
+ genericRGBColorSpace.reset( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) );
}
return genericRGBColorSpace;
}
-CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush )
+CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush )
{
CGColorRef color ;
HIThemeBrushCreateCGColor( brush, &color );
return color;
}
-#ifndef __LP64__
-
-wxMacPortSaver::wxMacPortSaver( GrafPtr port )
-{
- ::GetPort( &m_port );
- ::SetPort( port );
-}
+#if wxMAC_USE_QUICKDRAW
-wxMacPortSaver::~wxMacPortSaver()
+static inline void PointFromHIPoint(const HIPoint& p, Point *pt)
{
- ::SetPort( m_port );
+ pt->h = wx_static_cast(short, p.x);
+ pt->v = wx_static_cast(short, p.y);
}
-#endif
-
-#if wxMAC_USE_QUICKDRAW
void wxMacGlobalToLocal( WindowRef window , Point*pt )
{
// TODO check toolbar offset
HIViewFindByID( HIViewGetRoot( window ), kHIViewWindowContentID , &contentView) ;
HIPointConvert( &p, kHICoordSpace72DPIGlobal, NULL, kHICoordSpaceView, contentView );
- pt->h = p.x;
- pt->v = p.y;
+ PointFromHIPoint(p, pt);
}
void wxMacLocalToGlobal( WindowRef window , Point*pt )
// TODO check toolbar offset
HIViewFindByID( HIViewGetRoot( window ), kHIViewWindowContentID , &contentView) ;
HIPointConvert( &p, kHICoordSpaceView, contentView, kHICoordSpace72DPIGlobal, NULL );
- pt->h = p.x;
- pt->v = p.y;
+ PointFromHIPoint(p, pt);
}
-#endif
+
+#endif // wxMAC_USE_QUICKDRAW
#endif // wxUSE_GUI