ページ

2008年10月22日水曜日

範囲選択履歴(その3)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

文字の描画サイズは NSString#sizeWithAttributes: で取得できる。

文字描画のコードは次のようになっていた。

- (void)drawInformation
{
NSString *info =
[NSString stringWithFormat:@"%.0f x %.0f",
fabs(_rect.size.width), fabs(_rect.size.height)];
NSMutableDictionary *stringAttributes = [NSMutableDictionary dictionary];

[stringAttributes setObject:[NSFont boldSystemFontOfSize:18.0]
forKey: NSFontAttributeName];
[stringAttributes setObject:[NSColor whiteColor]
forKey:NSForegroundColorAttributeName];
[stringAttributes setObject:[NSColor blackColor]
forKey:NSStrokeColorAttributeName];
[stringAttributes setObject:[NSNumber numberWithFloat: -1.5]
forKey:NSStrokeWidthAttributeName];
:
:


文字属性の設定に使っているこのstringAttributes を先ほどのメソッドへ渡してやれば良い。

NSSize size = [info sizeWithAttributes:stringAttributes];


これで描画しようとしている文字の大きさがわかる。このサイズを前回のボタン表示のオフセット位置として使ってやれば良い。

桁が大きくなっても大丈夫。


もちろん小さくなっても大丈夫。



よし。次はプルダウンだな。