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: *
  • 図形・形状
    • Shape: 図形(直線、曲線、長方形、楕円、多角形など)
      • w: GraphicsPath
      • m: CGPath
      • x: cairo
    • Geometry: 図形同士の幾何学的関係
      • w: Region
      • m: CGGeometry
      • x: cairo
    • AffineTransform: アフィン変換
      • w: Matrix
      • m: CGAffineTransform
      • x: cairo_matrix
  • 線および塗りつぶし
    • Stroke: ストロークパターン
      • w: Pen
      • m: Pattern
      • x: cairo_line, cairo_pattern
    • Paint: 塗りつぶしパターン
      • w: Brush
      • m: Pattern
      • x: cairo_pattern