瀏覽代碼

* Disabled USE_RGB12_FGBG for now, as it was reported not to work.

tags/v0.99.beta14
Sam Hocevar sam 17 年之前
父節點
當前提交
1deb19790d
共有 1 個文件被更改,包括 16 次插入16 次删除
  1. +16
    -16
      caca/driver_cocoa.m

+ 16
- 16
caca/driver_cocoa.m 查看文件

@@ -44,7 +44,7 @@
// build a complete color table cache for the view
#define PRECACHE_WHOLE_COLOR_TABLE 1

#define USE_RGB12_FGBG 1
//#define USE_RGB12_FGBG 1

//#define USE_GLOBAL_AUTORELEASE_POOL 1

@@ -267,13 +267,13 @@ static BOOL s_quitting = NO;
{
attrs = _attrs + x + y * _w;
NSColor* color = nil;
#if USE_RGB12_FGBG
#if USE_RGB12_FGBG
uint16_t bg = _cucul_attr_to_rgb12bg(*attrs);
if(bg)
{
#ifdef PRECACHE_WHOLE_COLOR_TABLE
# ifdef PRECACHE_WHOLE_COLOR_TABLE
color = _colorCache[bg];
#else
# else
NSNumber* numberBg = [NSNumber numberWithInt:bg];
color = [_colorCache objectForKey:numberBg];
if(!color)
@@ -282,16 +282,16 @@ static BOOL s_quitting = NO;
if(color)
[_colorCache setObject:color forKey:numberBg];
}
#endif
# endif
}
#else
#else
uint8_t argb[8];
_cucul_attr_to_argb4(*attrs, argb);
color = [NSColor colorWithCalibratedRed:((float)argb[1]) / 15.0
green:((float)argb[2]) / 15.0
blue:((float)argb[3]) / 15.0
alpha:1.0];
#endif
#endif
if(color)
{
_bkg_colors[arrayLength] = color;
@@ -325,11 +325,11 @@ static BOOL s_quitting = NO;
if(NSIntersectsRect(r, rect))
{
NSColor* color = nil;
#if USE_RGB12_FGBG
#if USE_RGB12_FGBG
uint16_t fg = _cucul_attr_to_rgb12fg(*attrs);
#ifdef PRECACHE_WHOLE_COLOR_TABLE
# ifdef PRECACHE_WHOLE_COLOR_TABLE
color = _colorCache[fg];
#else // PRECACHE_WHOLE_COLOR_TABLE
# else // PRECACHE_WHOLE_COLOR_TABLE
NSNumber* numberFg = [NSNumber numberWithInt:fg];
color = [_colorCache objectForKey:numberFg];
if(!color)
@@ -338,8 +338,8 @@ static BOOL s_quitting = NO;
if(color)
[_colorCache setObject:color forKey:numberFg];
}
#endif // PRECACHE_WHOLE_COLOR_TABLE
#else // USE_RGB12_FGBG
# endif // PRECACHE_WHOLE_COLOR_TABLE
#else // USE_RGB12_FGBG
uint8_t argb[8];
_cucul_attr_to_argb4(*attrs, argb);
debug_log(@"x,y=[%d,%d] r,g,b back=[%u %u %u] front=[%u %u %u]",
@@ -348,7 +348,7 @@ static BOOL s_quitting = NO;
green:((float)argb[6]) / 15.0
blue:((float)argb[7]) / 15.0
alpha:1.0];
#endif // USE_RGB12_FGBG
#endif // USE_RGB12_FGBG

if(color)
{
@@ -359,13 +359,13 @@ static BOOL s_quitting = NO;
unichar ch = *chars;
NSString* str = [[NSString alloc] initWithCharacters:&ch length:1];

#ifdef USE_LOWLEVEL_COCOA
#ifdef USE_LOWLEVEL_COCOA
[[_textStorage mutableString] setString:str];
[_textStorage setAttributes:attrDict range:NSMakeRange(0, 1)];
[_layoutManager drawGlyphsForGlyphRange:NSMakeRange(0, 1) atPoint:r.origin];
#else
#else
[str drawInRect:r withAttributes:attrDict];
#endif
#endif
[str release];
}
}


Loading…
取消
儲存