Как вы используете GdkRectangle, чтобы определить, увеличивается или уменьшается ваш размер?
У меня есть обратный звонок для size-allocate
сигнал на моем GtkScrolledWindow. Я хочу прокрутить вправо, когда я добавляю материал в это окно. Это работает нормально, но вносит небольшую ошибку при удалении элементов из этого окна. Я хотел бы только прокрутить окно при добавлении материала. Я вижу, что сигнал получает GdkRectangle, но я не уверен, как его использовать.
1 ответ
Первый сигнал выделения размера запускается первым, это означает, что если я не ошибаюсь, перед обработчиком по умолчанию. Таким образом, вы можете получить GdkRectangle виджета с помощью gtk_widget_get_allocation и сравнить его с новым. Теперь GdkRectangle является cairo_rectangle_int_t, и определение этого:
typedef struct {
int x, y;
int width, height;
} cairo_rectangle_int_t;
Таким образом, вы можете проверить ширину и высоту, со старыми.