DrawingAreaの描画について
タイムラインをDrawingAreaに描画する仕様に変えた際(http://hshstter.hatenablog.com/entry/2012/04/14/190927)に、ちょっとまずいことをしていたようなのでメモ。
DrawingAreaの再描画を行うのに、いままで
Graphics.UI.Gtk.Gdk.DrawWindow.drawWindowClearAreaExpose ::
DrawWindowClass self => self -> Int -> Int -> Int -> Int -> IO ()
を使っていたのだが、これだと一旦DrawingAreaをクリアしてから再描画するので、これではなく
Graphics.UI.Gtk.Abstract.Widget.widgetQueueDraw :: WidgetClass self => self -> IO ()
を使うべきでした。
前者のほうだとタイムライン更新時に一瞬画面が白くクリアされるのが見えてしまっていましたが、これで解決。