mirror of
https://github.com/darlinghq/darling-cocotron.git
synced 2025-02-07 12:48:43 +00:00
Moved -[NSDisplay menuFontNameAndSize:] to KTFont
This commit is contained in:
parent
090430cc4b
commit
63a0128401
@ -13,6 +13,18 @@ CTFontRef CTFontCreateWithGraphicsFont(CGFontRef cgFont,CGFloat size,CGAffineTra
|
||||
return [[KTFont alloc] initWithFont:cgFont size:size];
|
||||
}
|
||||
|
||||
CTFontRef CTFontCreateUIFontForLanguage(CTFontUIFontType uiFontType,CGFloat size,NSString *language ) {
|
||||
return [[KTFont alloc] initWithUIFontType:uiFontType size:size language:language];
|
||||
}
|
||||
|
||||
NSString *CTFontCopyFullName(CTFontRef self) {
|
||||
return [[self name] copy];
|
||||
}
|
||||
|
||||
CGFloat CTFontGetSize(CTFontRef self) {
|
||||
return [self pointSize];
|
||||
}
|
||||
|
||||
size_t CTFontGetGlyphCount(CTFontRef self) {
|
||||
return [self numberOfGlyphs];
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ enum {
|
||||
}
|
||||
|
||||
-initWithFont:(KGFont *)font size:(CGFloat)size;
|
||||
-initWithUIFontType:(CTFontUIFontType)uiFontType size:(CGFloat)size language:(NSString *)language;
|
||||
|
||||
-(NSString *)name;
|
||||
-(CGFloat)pointSize;
|
||||
|
@ -18,6 +18,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
return self;
|
||||
}
|
||||
|
||||
-initWithUIFontType:(CTFontUIFontType)uiFontType size:(CGFloat)size language:(NSString *)language {
|
||||
KGInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
-(void)dealloc {
|
||||
[_font release];
|
||||
[super dealloc];
|
||||
|
@ -30,8 +30,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
-(NSColor *)colorWithName:(NSString *)colorName;
|
||||
-(void)_addSystemColor:(NSColor *) result forName:(NSString *)colorName;
|
||||
|
||||
-(NSString *)menuFontNameAndSize:(float *)pointSize;
|
||||
|
||||
-(NSTimeInterval)textCaretBlinkInterval;
|
||||
|
||||
-(void)hideCursor;
|
||||
|
@ -74,12 +74,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
}
|
||||
|
||||
|
||||
-(NSString *)menuFontNameAndSize:(float *)pointSize {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
-(NSTimeInterval)textCaretBlinkInterval {
|
||||
NSInvalidAbstractInvocation();
|
||||
return 1;
|
||||
|
@ -107,14 +107,31 @@ static NSFont **_fontCache=NULL;
|
||||
}
|
||||
|
||||
+(NSFont *)menuFontOfSize:(float)size {
|
||||
float pointSize=0;
|
||||
NSString *name=[[NSDisplay currentDisplay] menuFontNameAndSize:&pointSize];
|
||||
|
||||
return [NSFont fontWithName:name size:(size==0)?pointSize:size];
|
||||
CTFontRef ctFont=CTFontCreateUIFontForLanguage(kCTFontMenuItemFontType,size,nil);
|
||||
NSString *name=CTFontCopyFullName(ctFont);
|
||||
|
||||
size=CTFontGetSize(ctFont);
|
||||
|
||||
NSFont *result=[NSFont fontWithName:name size:size];
|
||||
|
||||
[ctFont release];
|
||||
[name release];
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+(NSFont *)menuBarFontOfSize:(float)size {
|
||||
return [self menuFontOfSize:size];
|
||||
CTFontRef ctFont=CTFontCreateUIFontForLanguage(kCTFontMenuTitleFontType,size,nil);
|
||||
NSString *name=CTFontCopyFullName(ctFont);
|
||||
|
||||
size=CTFontGetSize(ctFont);
|
||||
|
||||
NSFont *result=[NSFont fontWithName:name size:size];
|
||||
|
||||
[ctFont release];
|
||||
[name release];
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
+(NSFont *)messageFontOfSize:(float)size {
|
||||
|
@ -1,4 +1,5 @@
|
||||
#import "KTFont_gdi.h"
|
||||
#import <AppKit/KGFont.h>
|
||||
#import "KGContext_gdi.h"
|
||||
#import "Win32Display.h"
|
||||
#import "Win32Font.h"
|
||||
@ -396,6 +397,49 @@ static inline CGGlyphMetrics *fetchGlyphAdvancementIfNeeded(KTFont_gdi *self,CGG
|
||||
return self;
|
||||
}
|
||||
|
||||
-initWithUIFontType:(CTFontUIFontType)uiFontType size:(CGFloat)size language:(NSString *)language {
|
||||
KGFont *font=nil;
|
||||
|
||||
switch(uiFontType){
|
||||
|
||||
case kCTFontMenuTitleFontType:
|
||||
case kCTFontMenuItemFontType:
|
||||
if(size==0)
|
||||
size=10;
|
||||
font=[KGFont createWithFontName:@"Tahoma"];
|
||||
|
||||
#if 0
|
||||
// We should be able to get the menu font but this doesnt work
|
||||
// MS Shell Dlg
|
||||
// MS Shell Dlg 2
|
||||
// DEFAULT_GUI_FONT
|
||||
HGDIOBJ font=GetStockObject(SYSTEM_FONT);
|
||||
EXTLOGFONT fontData;
|
||||
|
||||
GetObject(font,sizeof(fontData),&fontData);
|
||||
|
||||
*pointSize=fontData.elfLogFont.lfHeight;
|
||||
|
||||
HDC dc=GetDC(NULL);
|
||||
*pointSize=(fontData.elfLogFont.lfHeight*72.0)/GetDeviceCaps(dc,LOGPIXELSY);
|
||||
ReleaseDC(NULL,dc);
|
||||
NSLog(@"name=%@,size=%f",[NSString stringWithCString:fontData. elfLogFont.lfFaceName],*pointSize);
|
||||
#endif
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
self=[self initWithFont:font size:size];
|
||||
|
||||
[font release];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)dealloc {
|
||||
_glyphRangeTable=NULL;
|
||||
|
||||
|
@ -46,8 +46,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
-(void)invalidateSystemColors;
|
||||
-(NSColor *)colorWithName:(NSString *)colorName;
|
||||
|
||||
-(NSString *)menuFontNameAndSize:(float *)pointSize;
|
||||
|
||||
-(void)hideCursor;
|
||||
-(void)unhideCursor;
|
||||
|
||||
|
@ -268,31 +268,6 @@ BOOL CALLBACK monitorEnumerator(HMONITOR hMonitor,HDC hdcMonitor,LPRECT rect,LPA
|
||||
[_nameToColor setObject: color forKey: name];
|
||||
}
|
||||
|
||||
-(NSString *)menuFontNameAndSize:(float *)pointSize {
|
||||
#if 1
|
||||
*pointSize=10;
|
||||
|
||||
return @"Tahoma";
|
||||
#else
|
||||
// MS Shell Dlg
|
||||
// MS Shell Dlg 2
|
||||
// DEFAULT_GUI_FONT
|
||||
HGDIOBJ font=GetStockObject(SYSTEM_FONT);
|
||||
EXTLOGFONT fontData;
|
||||
|
||||
GetObject(font,sizeof(fontData),&fontData);
|
||||
|
||||
*pointSize=fontData.elfLogFont.lfHeight;
|
||||
|
||||
HDC dc=GetDC(NULL);
|
||||
*pointSize=(fontData.elfLogFont.lfHeight*72.0)/GetDeviceCaps(dc,LOGPIXELSY);
|
||||
ReleaseDC(NULL,dc);
|
||||
NSLog(@"name=%@,size=%f",[NSString stringWithCString:fontData. elfLogFont.lfFaceName],*pointSize);
|
||||
|
||||
return [NSString stringWithCString:fontData. elfLogFont.lfFaceName];
|
||||
#endif
|
||||
}
|
||||
|
||||
-(NSTimeInterval)textCaretBlinkInterval {
|
||||
return ((float)GetCaretBlinkTime())/1000.0;
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import "TTFFont.h"
|
||||
#import <AppKit/KGFont.h>
|
||||
|
||||
@implementation KTFont(TTFFont)
|
||||
+(id)allocWithZone:(NSZone*)zone
|
||||
@ -68,6 +69,30 @@ FT_Library library;
|
||||
return self;
|
||||
}
|
||||
|
||||
-initWithUIFontType:(CTFontUIFontType)uiFontType size:(CGFloat)size language:(NSString *)language {
|
||||
KGFont *font=nil;
|
||||
|
||||
switch(uiFontType){
|
||||
|
||||
case kCTFontMenuTitleFontType:
|
||||
case kCTFontMenuItemFontType:
|
||||
if(size==0)
|
||||
size=12;
|
||||
font=[KGFont createWithFontName:@"Vera"];
|
||||
break;
|
||||
|
||||
default:
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
self=[self initWithFont:font size:size];
|
||||
|
||||
[font release];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)getGlyphs:(CGGlyph *)glyphs forCharacters:(const unichar *)characters length:(unsigned)length {
|
||||
int i;
|
||||
for(i=0; i<length; i++)
|
||||
|
@ -50,11 +50,6 @@
|
||||
return _display;
|
||||
}
|
||||
|
||||
-(NSString *)menuFontNameAndSize:(float *)pointSize {
|
||||
*pointSize=12.0;
|
||||
return @"Vera";
|
||||
}
|
||||
|
||||
-(NSArray *)screens {
|
||||
NSRect frame=NSMakeRect(0, 0,
|
||||
DisplayWidth(_display, DefaultScreen(_display)),
|
||||
|
@ -15,7 +15,15 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
typedef KTFont *CTFontRef;
|
||||
|
||||
typedef enum {
|
||||
kCTFontMenuTitleFontType,
|
||||
kCTFontMenuItemFontType,
|
||||
} CTFontUIFontType;
|
||||
|
||||
COREGRAPHICS_EXPORT CTFontRef CTFontCreateWithGraphicsFont(CGFontRef cgFont,CGFloat size,CGAffineTransform *xform,id attributes);
|
||||
COREGRAPHICS_EXPORT CTFontRef CTFontCreateUIFontForLanguage(CTFontUIFontType uiFontType,CGFloat size,NSString *language);
|
||||
COREGRAPHICS_EXPORT NSString *CTFontCopyFullName(CTFontRef self);
|
||||
COREGRAPHICS_EXPORT CGFloat CTFontGetSize(CTFontRef self);
|
||||
COREGRAPHICS_EXPORT size_t CTFontGetGlyphCount(CTFontRef self);
|
||||
COREGRAPHICS_EXPORT BOOL CTFontGetGlyphsForCharacters(CTFontRef self,const unichar *characters,CGGlyph *glyphs,size_t count);
|
||||
COREGRAPHICS_EXPORT CGRect CTFontGetBoundingBox(CTFontRef self);
|
||||
|
@ -5,9 +5,8 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
// Original - Christopher Lloyd <cjwl@objc.net>
|
||||
#import <Foundation/NSConnection.h>
|
||||
#import <Foundation/NSPortNameServer.h>
|
||||
#import <Foundation/NSPort.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSArray.h>
|
||||
@ -50,8 +49,7 @@ NSString *NSConnectionReplyMode=@"NSConnectionReplyMode";
|
||||
}
|
||||
|
||||
+(NSConnection *)connectionWithRegisteredName:(NSString *)name host:(NSString *)hostName {
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
return [self connectionWithRegisteredName:name host:hostName usingNameServer:[NSPortNameServer systemDefaultPortNameServer]];
|
||||
}
|
||||
|
||||
+(NSDistantObject *)rootProxyForConnectionWithRegisteredName:(NSString *)name host:(NSString *)hostName usingNameServer:(NSPortNameServer *)nameServer {
|
||||
|
@ -7,6 +7,7 @@
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSConditionLock.h>
|
||||
#import <pthread.h>
|
||||
|
||||
@class NSThread;
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
#import <Foundation/NSException.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSThread.h>
|
||||
#import <pthread.h>
|
||||
#import <time.h>
|
||||
#import <math.h>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user