drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:
グリフ範囲に下線を描画します
-(void)drawUnderlineForGlyphRange:(NSRange)glyphRange: underlineType:(int)underlineType: baselineOffset:(float)baselineOffset: lineFragmentRect:(NSRect)lineRect: lineFragmentGlyphRange:(NSRange)lineGlyphRange: containerOrigin:(NSPoint)containerOrigin:
解説
グリフ範囲に下線を描画します。
underlineGlyphRange:,underlineType,lineFragmentRect,lineFragmentGlyphRange,containerOriginによって自動的に呼び出されるので直接呼び出す必要はありません。
サブクラスでオーバーライドできます。
【underlineType】
● NSNoUnderlineStyle
● NSSingleUnderlineStyle
返り値
( void )
なし
引数
( NSRange )glyphRange
グリフの範囲
( int )underlineType
下線のタイプ
( float )baselineOffset
ベースラインオフセット
( NSRect )lineRect
下線が描画されるグリフが格納されているラインブレーク矩形
( NSRange )lineGlyphRange
下線が描画されるグリフが格納されているラインブレーク矩形に入る全てのグリフ範囲
( NSPoint )containerOrigin
病がされるNSViewの座標系で示されたラインブレーク矩形のNSTextContainerの位置
フレームワーク
ApplicationKit
クラス
NSLayoutManager
Instance Methods
使用可能
10.0
参照
例文
//下線を引く(日本語変換の時の下線ではなく、装飾の下線) - (void)drawUnderlineForGlyphRange:(NSRange)glyphRange underlineType:(int)underlineVal baselineOffset:(float)baselineOffset lineFragmentRect:(NSRect)lineRect lineFragmentGlyphRange:(NSRange)lineGlyphRange containerOrigin:(NSPoint)containerOrigin; { //(char *)glyphs length: //(unsigned)glyphLen glyphRange: //(NSRange)glyphRange atPoint: //(NSFont *)font color: //(NSColor *)color printingAdjustment: //(NSSize)printingAdjustment //描画に回転をかける /* NSGraphicsContext *context = [NSGraphicsContext currentContext]; [context saveGraphicsState]; NSAffineTransform* affine = [NSAffineTransform transform]; // move axis [affine translateXBy: 0 //currentPoint.x + attrSize.width/2 yBy: -5 ];//currentPoint.y + attrSize.height/2 ]; // Someone modifies here properly please. [affine rotateByDegrees:10.0]; [affine concat]; */ NSPoint newPoint = NSMakePoint(containerOrigin.x,containerOrigin.y);//y //NSSize newSize = NSMakeSize(printingAdjustment.width,printingAdjustment.height+100); NSLog(NSLocalizedString( @"LM00005", @"")); [super drawUnderlineForGlyphRange:glyphRange underlineType:underlineVal baselineOffset:baselineOffset lineFragmentRect:lineRect lineFragmentGlyphRange:lineGlyphRange containerOrigin: newPoint]; //[super drawUnderlineForGlyphRange:glyphRange underlineType:underlineVal baselineOffset:baselineOffset lineFragmentRect:lineRect lineFragmentGlyphRange:lineGlyphRange containerOrigin:containerOrigin]; ////描画に回転をかけるおわり //[context restoreGraphicsState]; }