// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#include <wx/wxprec.h>
-#ifndef WX_PRECOMP
-#endif
+#include "wx/wxprec.h"
#include "wx/settings.h"
-#include "wx/gdicmn.h"
-#include "wx/utils.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/utils.h"
+ #include "wx/gdicmn.h"
+#endif
#include "wx/cocoa/autorelease.h"
+#include "wx/cocoa/private/fontfactory.h"
#import <AppKit/NSColor.h>
+#import <AppKit/NSFont.h>
// ----------------------------------------------------------------------------
// wxSystemSettingsNative
wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
{
-// return a nonworking font object, crash from wxInitializeStockObjects
- return wxFont();
+ // Return the system font for now
+ { wxAutoNSAutoreleasePool pool;
+ return wxCocoaFontFactory::InstanceForNSFont([NSFont systemFontOfSize:0.0], false);
+ }
switch (index)
{
case wxSYS_ANSI_VAR_FONT :
return *wxNORMAL_FONT ;
} ;
break ;
-
+
}
return *wxNORMAL_FONT;
}
// ----------------------------------------------------------------------------
// Get a system metric, e.g. scrollbar size
-int wxSystemSettingsNative::GetMetric(wxSystemMetric index)
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(win))
{
switch ( index)
{
case wxSYS_MOUSE_BUTTONS:
return 2; // we emulate a two button mouse (ctrl + click = right button )
-
+
// TODO case wxSYS_BORDER_X:
// TODO case wxSYS_BORDER_Y:
// TODO case wxSYS_CURSOR_X:
return 16;
case wxSYS_HTHUMB_X:
return 16;
-
+
// TODO case wxSYS_ICON_X:
// TODO case wxSYS_ICON_Y:
// TODO case wxSYS_ICONSPACING_X:
// TODO case wxSYS_FRAMESIZE_Y:
// TODO case wxSYS_SMALLICON_X:
// TODO case wxSYS_SMALLICON_Y:
-
+
case wxSYS_HSCROLL_Y:
return 16;
case wxSYS_VSCROLL_X:
return 16;
case wxSYS_VTHUMB_Y:
return 16;
-
+
// TODO case wxSYS_CAPTION_Y:
// TODO case wxSYS_MENU_Y:
// TODO case wxSYS_NETWORK_PRESENT:
-
+
case wxSYS_PENWINDOWS_PRESENT:
return 0;
-
+
// TODO case wxSYS_SHOW_SOUNDS:
case wxSYS_SWAP_BUTTONS:
return 0;
-
+
default:
return -1; // unsupported metric
}
{
switch (index)
{
- case wxSYS_CAN_ICONIZE_FRAME:
+ case wxSYS_CAN_ICONIZE_FRAME:
case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
- return TRUE;
-
+ return true;
+
default:
- return FALSE;
+ return false;
}
}