SWT2D日報

今日は、CairoやQuartz(Mac OS X 10.2未満)が想定しているような、パス1つの2DドローイングAPIから作ることに決めた。実際、パス1つの処理があれば、複数のパスを扱うのって多分そんなに難しくない気がするので。多分。
ところで、昨日寝る前に悩んでいた再描画の問題はとりあえずほんのり分かったような。うまくいくパターンではうまくいくので…。とりあえず、再描画のタイミングでPathを作り直すとうまくいく。本質的にはcairo_t構造体がパス情報を持っているはずなので、Pathクラスの抱えているcairo_t構造体が失わなければ問題はないはずなんだけど、なんらかのタイミングでcairo_tのなかのパスが失われている様子。もしくは、再描画時にやってくるDrawableと再描画前にやってくるDrawableが別物とかいろいろ…心当たりありすぎ。
…よくわかってないんじゃん、やっぱり。
あと、Quartz(Mac OS X 10.2未満)とか書いたんですが、どうせEclipse(SWT3.x)がMac OS X 10.3以降を想定しているので、CGPath関連のAPI使ってもまあいいような。EclipseのSupported Platformっていうのが実際のところどうなのかは知らないけど…。