スクロールされたウィンドウ (便利なビューポートを使用) 内に描画領域があり、この描画領域は着信モーション通知イベントに従って更新されます。領域をスクロールすると、明らかにモーションイベントは発生しませんが、これを回避したかったので、描画領域の「スクロールイベント」信号を同じモーション通知コールバックに接続しようとしました。
ここで私が直面している問題は、スクロールされたウィンドウがそのビューポートを更新する前にこのシグナルが発行されることです。そのため、コールバックでは、スクロールする直前に true であったポインター座標になってしまい、描画領域が常に "ポインター自体を動かさずにスクロールすると、実際のポインターよりも 1 ステップ遅れます。gdk_window_get_pointer を使用して座標を手動で抽出することでこれを補うことができると思っていましたが、コールバックが開始されたときにポインターが技術的にはまだ古い位置にあるため、これは機能しないことに気付きました。また、ビューポートがスクロールされた後にコールバックが呼び出されることを期待して g_signal_connect_after を使用してみましたが、役に立ちませんでした。
私の最後の希望は、スクロールイベントでタイマーを開始し、最小限の時間後にコールバックを起動させることですが、これは本当に醜く聞こえます.
これをどのように実現できるかについてのアイデアはありますか? 前もって感謝します!