2D Graphics on SWT
GDI+とQuartzを見ながら、必要そうな大まかな概念を洗い出してみた。こんな感じ?ついでに、対応しそうな関数郡もメモ。Cairoも追加したけど、やっぱりちょっとだけ貧弱かもしれない。
- 色・フォント・画像
- Color: アルファチャンネルを持つ色。(org.eclipse.swt.graphics.Colorをアルファチャンネルなしの色とみなせるように)
- w: *
- m: CGColor
- x: cairo_color
- Font: レンダリング品質つきフォント。(org.eclipse.swt.graphics.Fontをデフォルト品質フォントとみなせるように)
- w: Font, FontFamily
- m: CGFont
- x: cairo_font
- Image: 画像。(org.eclipse.swt.graphics.Imageが使えればそのままでよい。更なるオペレーションが必要ならサポートクラスにする)
- w: Image, *Bitmap
- m: CGImage
- x: *
- Color: アルファチャンネルを持つ色。(org.eclipse.swt.graphics.Colorをアルファチャンネルなしの色とみなせるように)
- 図形・形状
- Shape: 図形(直線、曲線、長方形、楕円、多角形など)
- w: GraphicsPath
- m: CGPath
- x: cairo
- Geometry: 図形同士の幾何学的関係
- w: Region
- m: CGGeometry
- x: cairo
- AffineTransform: アフィン変換
- w: Matrix
- m: CGAffineTransform
- x: cairo_matrix
- Shape: 図形(直線、曲線、長方形、楕円、多角形など)
- 線および塗りつぶし
- Stroke: ストロークパターン
- w: Pen
- m: Pattern
- x: cairo_line, cairo_pattern
- Paint: 塗りつぶしパターン
- w: Brush
- m: Pattern
- x: cairo_pattern
- Stroke: ストロークパターン