Как вы используете GdkRectangle, чтобы определить, увеличивается или уменьшается ваш размер? - PullRequest
0 голосов
/ 25 августа 2011

У меня есть обратный вызов для сигнала size-allocate в моем GtkScrolledWindow.Я хочу прокрутить вправо, когда я добавляю материал в это окно.Это работает нормально, но вносит небольшую ошибку при удалении элементов из этого окна.Я хотел бы только прокрутить окно при добавлении материала.Я вижу, что сигнал получает GdkRectangle, но я не уверен, как его использовать.

1 Ответ

1 голос
/ 26 августа 2011

First size-allocate signal run-first , что означает, если я не ошибаюсь, перед обработчиком по умолчанию.Таким образом, вы можете получить GdkRectangle виджета с помощью gtk_widget_get_allocation и сравнить его с новым.Теперь GdkRectangle является cairo_rectangle_int_t , и определение этого:

typedef struct {
    int x, y;
    int width, height;
} cairo_rectangle_int_t;

Таким образом, вы можете проверить ширину и высоту, со старыми.

...