fixing 10.5 only compiles

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2007-11-30 15:36:22 +00:00
parent 8b534a7bb0
commit b7dbd50c89
3 changed files with 71 additions and 32 deletions

View File

@@ -46,7 +46,7 @@
IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog) IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
#include "wx/mac/private.h" #include "wx/mac/uma.h"
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// wxFontDialog // wxFontDialog
@@ -72,8 +72,23 @@ wxMacCarbonFontPanelHandler(EventHandlerCallRef WXUNUSED(nextHandler),
{ {
case kEventFontSelection : case kEventFontSelection :
{ {
bool setup = false ;
#if wxMAC_USE_CORE_TEXT
if ( UMAGetSystemVersion() >= 0x1050 )
{
CTFontDescriptorRef descr;
if ( cEvent.GetParameter<CTFontDescriptorRef>( kEventParamCTFontDescriptor, typeCTFontDescriptorRef, &descr ) == noErr )
{
wxFont font;
font.MacCreateFromCTFontDescriptor(descr);
fontdata.SetChosenFont( font ) ;
setup = true;
}
}
#endif
#if wxMAC_USE_ATSU_TEXT
ATSUFontID fontId = 0 ; ATSUFontID fontId = 0 ;
if ( cEvent.GetParameter<ATSUFontID>(kEventParamATSUFontID, &fontId) == noErr ) if ( !setup && (cEvent.GetParameter<ATSUFontID>(kEventParamATSUFontID, &fontId) == noErr) )
{ {
FMFontStyle fontStyle = cEvent.GetParameter<FMFontStyle>(kEventParamFMFontStyle); FMFontStyle fontStyle = cEvent.GetParameter<FMFontStyle>(kEventParamFMFontStyle);
FMFontSize fontSize = cEvent.GetParameter<FMFontSize>(kEventParamFMFontSize); FMFontSize fontSize = cEvent.GetParameter<FMFontSize>(kEventParamFMFontSize);
@@ -115,7 +130,6 @@ wxMacCarbonFontPanelHandler(EventHandlerCallRef WXUNUSED(nextHandler),
if ( c!=NULL ) if ( c!=NULL )
free(c); free(c);
#endif #endif
if ( cfName!=NULL ) if ( cfName!=NULL )
{ {
fontdata.m_chosenFont.SetFaceName(wxMacCFStringHolder(cfName).AsString(wxLocale::GetSystemEncoding())); fontdata.m_chosenFont.SetFaceName(wxMacCFStringHolder(cfName).AsString(wxLocale::GetSystemEncoding()));
@@ -125,7 +139,9 @@ wxMacCarbonFontPanelHandler(EventHandlerCallRef WXUNUSED(nextHandler),
fontdata.m_chosenFont.SetWeight(fontStyle & bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL); fontdata.m_chosenFont.SetWeight(fontStyle & bold ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL);
} }
} }
#endif // wxMAC_USE_ATSU_TEXT
// retrieving the color
RGBColor fontColor ; RGBColor fontColor ;
if ( cEvent.GetParameter<RGBColor>(kEventParamFontColor, &fontColor) == noErr ) if ( cEvent.GetParameter<RGBColor>(kEventParamFontColor, &fontColor) == noErr )
{ {
@@ -201,8 +217,23 @@ int wxFontDialog::ShowModal()
font = m_fontData.m_initialFont ; font = m_fontData.m_initialFont ;
} }
bool setup = false;
#if wxMAC_USE_CORE_TEXT
if ( UMAGetSystemVersion() >= 0x1050 )
{
CTFontDescriptorRef descr = (CTFontDescriptorRef)font.MacGetCTFontDescriptor();
err = SetFontInfoForSelection (kFontSelectionCoreTextType,1, &descr , NULL);
setup = true;
}
#endif
#if wxMAC_USE_ATSU_TEXT
if ( !setup )
{
ATSUStyle style = (ATSUStyle)font.MacGetATSUStyle(); ATSUStyle style = (ATSUStyle)font.MacGetATSUStyle();
err = SetFontInfoForSelection (kFontSelectionATSUIType,1, &style , NULL); err = SetFontInfoForSelection (kFontSelectionATSUIType,1, &style , NULL);
setup = true;
}
#endif
// just clicking on ENTER will not send us any font setting event, therefore we have to make sure // just clicking on ENTER will not send us any font setting event, therefore we have to make sure
// that field is already correct // that field is already correct
m_fontData.m_chosenFont = font ; m_fontData.m_chosenFont = font ;

View File

@@ -2769,16 +2769,23 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
HIThemeTextHorizontalFlush hFlush = kHIThemeTextHorizontalFlushLeft; HIThemeTextHorizontalFlush hFlush = kHIThemeTextHorizontalFlushLeft;
HIThemeTextInfo info; HIThemeTextInfo info;
bool setup = false;
#ifdef __LP64__ #if wxMAC_USE_CORE_TEXT
if ( UMAGetSystemVersion() >= 0x1050 )
{
info.version = kHIThemeTextInfoVersionOne; info.version = kHIThemeTextInfoVersionOne;
info.fontID = kThemeViewsFont; info.fontID = kThemeViewsFont;
if (font.Ok()) if (font.Ok())
{ {
info.fontID = kThemeSpecifiedFont; info.fontID = kThemeSpecifiedFont;
info.font = (CTFontRef) font.MacGetCTFont(); info.font = (CTFontRef) font.MacGetCTFont();
setup = true;
} }
#else }
#endif
#if wxMAC_USE_ATSU_TEXT
if ( !setup )
{
info.version = kHIThemeTextInfoVersionZero; info.version = kHIThemeTextInfoVersionZero;
info.fontID = kThemeViewsFont; info.fontID = kThemeViewsFont;
@@ -2790,6 +2797,7 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
::TextSize( (short)(font.MacGetFontSize()) ) ; ::TextSize( (short)(font.MacGetFontSize()) ) ;
::TextFace( font.MacGetFontStyle() ) ; ::TextFace( font.MacGetFontStyle() ) ;
} }
}
#endif #endif
wxListItem item; wxListItem item;

View File

@@ -1101,7 +1101,7 @@ void wxWindowMac::DoSetWindowVariant( wxWindowVariant variant )
m_peer->SetData<ControlSize>(kControlEntireControl, kControlSizeTag, &size ) ; m_peer->SetData<ControlSize>(kControlEntireControl, kControlSizeTag, &size ) ;
wxFont font ; wxFont font ;
font.MacCreateThemeFont( themeFont ) ; font.MacCreateFromThemeFont( themeFont ) ;
SetFont( font ) ; SetFont( font ) ;
} }