SWT2D日報

Cairoでうまくいってなかったのは、どうやらGDK固有部分のせいだった様子。
いままで、GtkWidgetもらったら、そいつのGdkWindowに対応するX Drawableをもらってきて、それに描画していたが、ダブルバッファリングやら再描画のためにpixbufに描画命令をバイパスすることがあるそうな。そういうわけで、その時点で実際に描画すべきX Drawableは別のものだったりしうる。そういう場合に利用できる関数として、gdk_window_internal_paint_info()が用意されていて、これを利用するようにしたら描画はできるようになった。
が、今度は再描画の時にちゃんと描かれない。結局cairo_tはPathの数だけ作ってるし、そいつに対してtarget drawableを指定するタイミングやらが非常にアヤシイのは確か。明日以降はその辺を調整していきたいのココロ。
さて、眠さで電波が出てきたのでお休みなさい。