summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2015-04-09 22:01:16 +1000
committer Vas Crabb <vas@vastheman.com>2015-04-09 22:01:16 +1000
commit768fbd1b646d4b3a9596d4bc705a4bc72b417463 (patch)
tree66e59046ffa9a694367f8fbefb975255eb3312c1 /src/osd
parente973a403a097c6374ac90912e07ab4f0f4b57732 (diff)
Honour -debugger_font and -debugger_font_size in Cocoa debugger.
Not perfect yet - text fields and popup menus aren't sized to fit
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/debugger/osx/debugconsole.m2
-rw-r--r--src/osd/modules/debugger/osx/debugview.h2
-rw-r--r--src/osd/modules/debugger/osx/debugview.m18
-rw-r--r--src/osd/modules/debugger/osx/disassemblyviewer.m5
-rw-r--r--src/osd/modules/debugger/osx/memoryviewer.m11
-rw-r--r--src/osd/modules/debugger/osx/pointsviewer.m2
6 files changed, 27 insertions, 13 deletions
diff --git a/src/osd/modules/debugger/osx/debugconsole.m b/src/osd/modules/debugger/osx/debugconsole.m
index a0410fcedfa..2f5f7746e5f 100644
--- a/src/osd/modules/debugger/osx/debugconsole.m
+++ b/src/osd/modules/debugger/osx/debugconsole.m
@@ -77,7 +77,7 @@
// create the command field
commandField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)];
[commandField setAutoresizingMask:(NSViewWidthSizable | NSViewMaxYMargin)];
- [commandField setFont:[[MAMEDebugView class] defaultFont]];
+ [commandField setFont:[[MAMEDebugView class] defaultFontForMachine:m]];
[commandField setFocusRingType:NSFocusRingTypeNone];
[commandField setTarget:self];
[commandField setAction:@selector(doCommand:)];
diff --git a/src/osd/modules/debugger/osx/debugview.h b/src/osd/modules/debugger/osx/debugview.h
index d45d6a6e045..260bb580ac9 100644
--- a/src/osd/modules/debugger/osx/debugview.h
+++ b/src/osd/modules/debugger/osx/debugview.h
@@ -34,7 +34,7 @@
NSLayoutManager *layoutManager;
}
-+ (NSFont *)defaultFont;
++ (NSFont *)defaultFontForMachine:(running_machine &)m;
- (id)initWithFrame:(NSRect)f type:(debug_view_type)t machine:(running_machine &)m wholeLineScroll:(BOOL)w;
diff --git a/src/osd/modules/debugger/osx/debugview.m b/src/osd/modules/debugger/osx/debugview.m
index e46e814da4f..7e53ee7d803 100644
--- a/src/osd/modules/debugger/osx/debugview.m
+++ b/src/osd/modules/debugger/osx/debugview.m
@@ -13,6 +13,10 @@
#include "debug/debugcpu.h"
+#include "modules/lib/osdobj_common.h"
+
+#include <string.h>
+
static NSColor *DefaultForeground;
static NSColor *ChangedForeground;
@@ -209,8 +213,16 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
}
-+ (NSFont *)defaultFont {
- return [NSFont userFixedPitchFontOfSize:0];
++ (NSFont *)defaultFontForMachine:(running_machine &)m {
+ osd_options const &options = downcast<osd_options const &>(m.options());
+ char const *const face = options.debugger_font();
+ float const size = options.debugger_font_size();
+
+ NSFont *const result = (('\0' != *face) && (0 != strcmp(OSDOPTVAL_AUTO, face)))
+ ? [NSFont fontWithName:[NSString stringWithUTF8String:face] size:MAX(0, size)]
+ : nil;
+
+ return (nil != result) ? result : [NSFont userFixedPitchFontOfSize:MAX(0, size)];
}
@@ -238,7 +250,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
[text addLayoutManager:layoutManager];
[layoutManager release];
- [self setFont:[[self class] defaultFont]];
+ [self setFont:[[self class] defaultFontForMachine:m]];
NSMenu *contextMenu = [[NSMenu allocWithZone:[NSMenu menuZone]] initWithTitle:@"Context"];
[self addContextMenuItemsToMenu:contextMenu];
diff --git a/src/osd/modules/debugger/osx/disassemblyviewer.m b/src/osd/modules/debugger/osx/disassemblyviewer.m
index 7653b322d32..61846d2e879 100644
--- a/src/osd/modules/debugger/osx/disassemblyviewer.m
+++ b/src/osd/modules/debugger/osx/disassemblyviewer.m
@@ -31,11 +31,12 @@
if (!(self = [super initWithMachine:m title:@"Disassembly" console:c]))
return nil;
NSRect const contentBounds = [[window contentView] bounds];
+ NSFont *const defaultFont = [[MAMEDebugView class] defaultFontForMachine:m];
// create the expression field
expressionField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)];
[expressionField setAutoresizingMask:(NSViewWidthSizable | NSViewMaxXMargin | NSViewMinYMargin)];
- [expressionField setFont:[[MAMEDebugView class] defaultFont]];
+ [expressionField setFont:defaultFont];
[expressionField setFocusRingType:NSFocusRingTypeNone];
[expressionField setTarget:self];
[expressionField setAction:@selector(doExpression:)];
@@ -51,7 +52,7 @@
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinXMargin | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
- [subviewButton setFont:[[MAMEDebugView class] defaultFont]];
+ [subviewButton setFont:defaultFont];
[subviewButton setTarget:self];
[subviewButton setAction:@selector(changeSubview:)];
[[subviewButton cell] setArrowPosition:NSPopUpArrowAtBottom];
diff --git a/src/osd/modules/debugger/osx/memoryviewer.m b/src/osd/modules/debugger/osx/memoryviewer.m
index 18aa0b380da..5812aec65b0 100644
--- a/src/osd/modules/debugger/osx/memoryviewer.m
+++ b/src/osd/modules/debugger/osx/memoryviewer.m
@@ -25,16 +25,17 @@
NSScrollView *memoryScroll;
NSView *expressionContainer;
NSPopUpButton *actionButton;
- NSRect contentBounds, expressionFrame;
+ NSRect expressionFrame;
if (!(self = [super initWithMachine:m title:@"Memory" console:c]))
return nil;
- contentBounds = [[window contentView] bounds];
+ NSRect const contentBounds = [[window contentView] bounds];
+ NSFont *const defaultFont = [[MAMEDebugView class] defaultFontForMachine:m];
// create the expression field
expressionField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)];
[expressionField setAutoresizingMask:(NSViewWidthSizable | NSViewMaxXMargin | NSViewMinYMargin)];
- [expressionField setFont:[[MAMEDebugView class] defaultFont]];
+ [expressionField setFont:defaultFont];
[expressionField setFocusRingType:NSFocusRingTypeNone];
[expressionField setTarget:self];
[expressionField setAction:@selector(doExpression:)];
@@ -50,7 +51,7 @@
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinXMargin | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
- [subviewButton setFont:[[MAMEDebugView class] defaultFont]];
+ [subviewButton setFont:defaultFont];
[subviewButton setTarget:self];
[subviewButton setAction:@selector(changeSubview:)];
[[subviewButton cell] setArrowPosition:NSPopUpArrowAtBottom];
@@ -144,7 +145,7 @@
}
-- (BOOL)selectSubviewForDevice:(device_t *)device {
+- (BOOL)selectSubviewForDevice:(device_t *)device {
BOOL const result = [memoryView selectSubviewForDevice:device];
[subviewButton selectItemAtIndex:[subviewButton indexOfItemWithTag:[memoryView selectedSubviewIndex]]];
[window setTitle:[NSString stringWithFormat:@"Memory: %@", [memoryView selectedSubviewName]]];
diff --git a/src/osd/modules/debugger/osx/pointsviewer.m b/src/osd/modules/debugger/osx/pointsviewer.m
index dca14527b92..81cc4ee5f8e 100644
--- a/src/osd/modules/debugger/osx/pointsviewer.m
+++ b/src/osd/modules/debugger/osx/pointsviewer.m
@@ -36,7 +36,7 @@
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
- [subviewButton setFont:[[MAMEDebugView class] defaultFont]];
+ [subviewButton setFont:[[MAMEDebugView class] defaultFontForMachine:m]];
[subviewButton setTarget:self];
[subviewButton setAction:@selector(changeSubview:)];
[[subviewButton cell] setArrowPosition:NSPopUpArrowAtBottom];