オフスクリーンでやっているのがだめなのかと思い、テストプログラムで、オフスクリーンを転送せずに、長方形を描画する命令だけを残してやってみる。。。
やはり、全く同じで、マウスを動かさないと、再描画してくれないよう。。orz
下記のイベントハンドラで、Contextを取得して、再描画しています。
OSStatus MyDrawEventHandler (EventHandlerCallRef myHandler, EventRef event, void *userData) { }
下記のスレッドをPスレッドで作成して、Needs なんたらで、再描画が必要だと教えているんだけど。。
やっぱり、この方法では根本的に無理なのかなぁ。。(汗)
最初数回動くんだけど、そのあとは、マウスを動かさないと全く動いてくれない。。
もちろん、その間スレッドは、ぶんぶん回り続けていますよ。(^^;;
thread_main() { int i=0; while(threadRun) { i++; printf("%d\n",i); usleep(30); HIViewSetNeedsDisplay( myHIView, TRUE); // required repaint } }
ちなみに、上記のNeedsなんたらをコメントアウトすると、全く再描画しなくなります。。(^^;;