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;
Таким образом, вы можете проверить ширину и высоту, со старыми.