У меня есть область рисования внутри прокручиваемого окна (с вспомогательным окном просмотра), и эта область рисования обновляется в соответствии с входящими событиями движения-уведомления.Когда я прокручиваю область, хотя, очевидно, никакие события движения не генерируются, но я хотел обойти это, и поэтому попытался соединить сигнал «событие прокрутки» области рисования с тем же обратным вызовом с уведомлением о движении.
Проблема, с которой я здесь сталкиваюсь, заключается в том, что этот сигнал испускается до того, как прокручиваемое окно обновит свой видовой экран, поэтому при обратном вызове я получаю координаты указателя, которые были истинными непосредственно перед прокруткой, создавая впечатление, что область рисования всегда "запаздываетшаг позади "фактического указателя при прокрутке, не перемещая сам указатель.Я думал, что смогу компенсировать это, вручную извлекая координаты с помощью gdk_window_get_pointer, но потом я понял, что это не может работать, поскольку указатель технически все еще находится в своей старой позиции, когда начинается обратный вызов.Я также попытался использовать g_signal_connect_after в надежде, что после прокрутки области просмотра будет вызван обратный вызов, но это не помогло.
Моя последняя надежда состояла бы в том, чтобы запустить таймер на событиях прокрутки и получитьобратный вызов срабатывает через минимальное количество времени, но это звучит по-настоящему безобразно, и я бы хотел избежать этого любой ценой.
Есть идеи относительно того, как это можно реализовать?Заранее спасибо!