Added new methods to NSFont and moved NSControlSize into NSColor header.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20868 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2005-03-07 13:25:29 +00:00
parent 666144bbd8
commit 7133a6a263
5 changed files with 90 additions and 7 deletions

View file

@ -148,6 +148,7 @@ keyForFont(NSString *name, const float *matrix, BOOL fix,
<item>NSFont Helvetica (System Font)</item>
<item>NSLabelFont System font</item>
<item>NSMenuFont System font</item>
<item>NSMenuBarFont System font</item>
<item>NSMessageFont System font</item>
<item>NSPaletteFont System bold font</item>
<item>NSTitleBarFont System bold font</item>
@ -164,6 +165,7 @@ keyForFont(NSString *name, const float *matrix, BOOL fix,
<item>NSFontSize 12 (System Font Size)</item>
<item>NSLabelFontSize (none)</item>
<item>NSMenuFontSize (none)</item>
<item>NSMiniFontSize 6</item>
<item>NSMessageFontSize (none)</item>
<item>NSPaletteFontSize (none)</item>
<item>NSSmallFontSize 9</item>
@ -220,6 +222,7 @@ RolePaletteFont,
RoleToolTipsFont,
RoleControlContentFont,
RoleLabelFont,
RoleMenuBarFont,
RoleMax
};
@ -256,7 +259,8 @@ static font_role_info_t font_roles[RoleMax]={
{@"NSPaletteFont" , RoleBoldSystemFont, nil, nil},
{@"NSToolTipsFont" , RoleSystemFont , nil, nil},
{@"NSControlContentFont", RoleSystemFont , nil, nil},
{@"NSLabelFont" , RoleSystemFont , nil, nil}
{@"NSLabelFont" , RoleSystemFont , nil, nil},
{@"NSMenuBarFont" , RoleSystemFont , nil, nil}
};
@ -533,6 +537,11 @@ static void setNSFont(NSString *key, NSFont *font)
return getNSFont(fontSize, RoleMenuFont);
}
+ (NSFont*) menuBarFontOfSize: (float)fontSize
{
return getNSFont(fontSize, RoleMenuBarFont);
}
+ (NSFont*) titleBarFontOfSize: (float)fontSize
{
return getNSFont(fontSize, RoleTitleBarFont);
@ -592,6 +601,29 @@ static void setNSFont(NSString *key, NSFont *font)
return fontSize;
}
+ (float) systemFontSizeForControlSize: (NSControlSize)controlSize
{
switch (controlSize)
{
case NSMiniControlSize:
{
float fontSize = [defaults floatForKey: @"NSMiniFontSize"];
if (fontSize == 0)
{
fontSize = 6;
}
return fontSize;
}
case NSSmallControlSize:
return [self smallSystemFontSize];
case NSRegularControlSize:
default:
return [self systemFontSize];
}
}
/**
* Returns an autoreleased font with name aFontName and matrix fontMatrix.<br />
* The fontMatrix is a standard size element matrix as used in PostScript
@ -916,6 +948,24 @@ static BOOL flip_hack;
return [fontInfo widthOfString: string];
}
- (unsigned) numberOfGlyphs
{
// FIXME
return 0;
}
- (NSCharacterSet*) coveredCharacterSet
{
// FIXME
return nil;
}
- (NSFontDescriptor*) fontDescriptor
{
// FIXME
return nil;
}
/* The following methods have to be implemented by backends */
//
@ -1182,6 +1232,9 @@ static BOOL flip_hack;
case RoleLabelFont:
new = [NSFont labelFontOfSize: size];
break;
case RoleMenuBarFont:
new = [NSFont menuBarFontOfSize: size];
break;
default:
NSDebugLLog(@"NSFont", @"unknown role %i", the_role);