appendBezierPathWithGlyphs:count:inFont:
レシーバのパスに指定した字形のアウトラインを追加します
- (void)appendBezierPathWithGlyphs:(NSGlyph *)glyphs count:(NSInteger)count inFont:(NSFont *)fontObjfunc appendBezierPathWithGlyphs(_ glyphs: UnsafeMutablePointer<NSGlyph>, count count: Int, inFont fontObj: NSFont)
返り値
なし
引数
グリフ
Objective-C(NSGlyph *)glyphsglyphs: UnsafeMutablePointer<NSGlyph>
NSGlyphsの数
Objective-Ccount:(NSInteger)countcount count: Int
フォント
Objective-CinFont:(NSFont *)fontObjinFont fontObj: NSFont
フレームワーク
ApplicationKit
クラス
NSBezierPath
使用可能
10.0
関連記事(外部サイト)
例文
#import "MyView.h" @implementation MyView //NSViewのサブクラス MyViewのDrawRectに上書き -(void)drawRect:(NSRect)rect { //NSFont *font =[NSFont fontWithName:@"Charcoal" size:36.0]; NSFont *font =[NSFont fontWithName:@"Osaka" size:36.0]; NSBezierPath *thePath = [NSBezierPath bezierPath]; //NSGlyph glyph= [font glyphWithName:@"a"]; NSGlyph glyph= 1234; [thePath moveToPoint:NSMakePoint(200,200)]; [thePath lineToPoint:NSMakePoint(250,250)]; [thePath appendBezierPathWithGlyphs:&glyph count:2 inFont:font ]; /**/ [[NSColor blueColor] set]; [thePath stroke]; [thePath fill]; } @end//NSBezierPath appendBezierPathWithGlyphs:count:inFont: var aButton017 : NSButton? var aView017 : NSView? //実験用ビューのボタンを押した時に実行されるところ func viewAction017(sender : AnyObject?){ //準備 let aButton = aButton017 let aView = aView017 var theWindow : NSWindow = aButton!.window! //準備ここまで //ビューにフォーカスを当てる aView?.lockFocus() //バックグラウンドカラーを描画 let backgroundColor = NSColor.whiteColor() backgroundColor.setFill() NSRectFill(NSMakeRect(0, 20, 300.0, 178.0)) NSColor.redColor().setStroke() NSColor.magentaColor().setFill() let myFont : NSFont = NSFont(name: "HiraMaruPro-W4", size: 69.0)! //空のベジェパスを作成 let aBezier : NSBezierPath = NSBezierPath() var aGlyphs : [NSGlyph] = [myFont.glyphWithName("gid1800"),myFont.glyphWithName("gid1801")] aBezier.moveToPoint(CGPoint(x: 100.0,y: 75.0)) aBezier.appendBezierPathWithGlyphs( &aGlyphs , count: 2, inFont: myFont) aBezier.fill() //ビューからフォーカスを外す aView?.unlockFocus() NSLog("!!! %@",aBezier.description) } //実験用ウインドウ作成、実験用ビュー、実行ボタンを作成してウインドウに貼り付けるところまで @IBAction func function017(sender: AnyObject) { var aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false, screen: NSScreen.mainScreen()) windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄 aWindow.center()//ウインドウをスクリーンの中心に aWindow.title = "NSBezierPath"//タイトル設定 //ボタン var theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 0.0, 100.0, 30.0)) theButton.title = "Action" theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle theButton.action = Selector("viewAction017:") theButton.target = self aWindow.contentView.addSubview(theButton) //ビュー var theView : NSView = NSView(frame: NSMakeRect(0.0, 20.0, 300.0, 100.0)) //レイヤーバックドにするのだ theView.wantsLayer = true aWindow.contentView.addSubview(theView) //実験ウインドウにUIパーツを渡す self.aButton017 = theButton //ボタン self.aView017 = theView //テストビュー aWindow.orderFront(self)//前面に aWindow.makeKeyAndOrderFront(self)//表示 }
更新時バージョン
10.10