2011-12-26 16 views
2

スクロールウィンドウ(便利なビューポート付き)内に描画エリアがあります。 この描画エリアは、受信したモーション通知イベントに従って自動的に更新されます。 明らかにモーションイベントは発生しませんが、領域をスクロールすると、 が発生しましたが、これを回避したいので、描画エリアの "scroll-event"信号を同じモーション通知コールバックに接続しようとしました。GTK:スクロールイベントのポインタ位置を取得しました。

私がここで直面している問題は、スクロールされたウィンドウの前にこの信号が放出されることです。 はそのビューポートを更新するので、コールバックではスクロール直前のポインタ座標で終わります描画領域は、ポインタ自体を動かさずにスクロールするときは、実際のポインタの後ろに常に「一歩先を行く」。 私はこれをgdk_window_get_pointerで手動で座標を抽出することで補うことができると思っていましたが、コールバックの開始時にポインタが技術的にはまだ古い位置にあるので、これはうまく動作しません。 また、ビューポートがスクロールされた後にコールバックが発生することを期待してg_signal_connect_afterを使用してみましたが、役に立たなかった。

私の最後の希望は、スクロールイベントでタイマーを起動し、最小限の時間でコールバックを開始することですが、これは本当に醜いと思います。

これがどのように実現できるかについてのご意見はありますか? ありがとうございます!

+0

私はあなたがそれはあなたがあまりにも答えを自分で投稿することができます覚えて解決しました場合には、同じ問題を抱えていると答えを知っていただきたいと思います。 – Nelson

+0

@ネルソン私は実際にそれをあきらめて、それを決して固定しなかったと思う。私のGTKの知識もかなり限られていました。 – Ancurio

答えて

関連する問題