[Gauche-devel-jp] Gauche-cairo 0.1.0 released

Zurück zum Archiv-Index

TOKUNAGA Hiroyuki tkng****@xem*****
2004年 12月 15日 (水) 05:15:44 JST


 徳永です。

 新しいGauche-cairoをリリースしました。Cairo(http://cairographics.org/)は
複数の出力先をサポートするベクトル描画ライブラリです。

 下記URLからダウンロードできます。

  http://xem.jp/~tkng/Gauche-cairo-0.1.0.tar.gz
  sha1sum: cfbaecd0297c04a68623ea4a8fecba86ce2a4ef5  Gauche-cairo-0.1.0.tar.gz


 ビルドにはCairoとGauche 0.8以上が必要です。Cairoもそれなりに新しくない
とまずいかもしれません。

 ドキュメントはまだほとんどないですが、

   - 下線をハイフンで置き換える
   - cairo_tが<cairo>になっている

 の2点を覚えてsample.scmを見れば、とりあえず遊べると思います。PNGバック
エンドとPSバックエンドしかサポートしていませんが、これに関しては将来的に
も変わらないと思います。xlibやglitzをScheme側から使うのは大変なので。ア
プリケーションをlibgaucheにリンクして、描画のロジック部分だけSchemeで書
く、というようなやり方は割と便利かもしれません。
 Cでコードを書けば、GtkCairoと一緒に使えることは確認しました。以下はC言
語で書いた場合と対比した簡単なサンプルコードです。

Sample in C:

  cairo_t *cr = cairo_create();
  FILE *fp = fopen(fp, "w");
  cairo_surface_t *surface = cairo_png_surface_create(fp, CAIRO_FORMAT_ARGB32, 256 256);
  cairo_set_target_surface(cr, surface);

  /* draw something */

  cairo_show_page(cr);
  fclose(fp);

Sample in Scheme.

  (define cr (cairo-create))
  (define port (open-output-file "test.png" :buffering :none))
  (define surface (cairo-png-surface-create port CAIRO_FORMAT_ARGB32 512 512))
  (cairo-set-target-surface cr surface)

  ;; draw something

  (cairo-show-page cr)
  (cairo-close-port p)


もっと詳しい使用法に関してはsample.scmを見てください。


-- 
徳永拓之
tkng****@xem*****
http://kodou.net/



Gauche-devel-jp メーリングリストの案内
Zurück zum Archiv-Index