Получите текущую ширину и высоту стадии Embed Clutter - PullRequest
1 голос
/ 16 марта 2012

Я использую Clutter для создания интерактивного / анимационного интерфейса.
Я использую два контейнера для ящиков (ClutterBox) со встроенным FixedLayout, и я хочу иметь возможность переставить эти ящики на экран, используя жестко заданный макет во время изменения размера окна (gtk-). При поиске в некоторых примерах gtk3 я обнаружил, что этого можно достичь, подключив сигнал "size-allocate" GtkWindow.
Чего я все еще не могу сделать, так это получить ширину и высоту Embed ClutterStage.

Я использовал gtk_widget_get_preferred_size, передавая виджет ClutterStage, но он возвращает мне только предпочтительный размер, а не текущее значение с измененным размером.

У кого-нибудь есть подсказка?

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

вызов clutter_actor_get_size() на сцене, возвращенной виджетом GtkClutterEmbed, достаточен для получения размера сцены: виджет GtkClutterEmbed, которому принадлежит внедренная сцена, изменяет размер сцены каждый раз, когда GTK + согласовывает геометрию виджетов окно.

Вы также можете использовать объект ClutterBindConstraint для привязки размера актера к размеру сцены или объекты ClutterSnapConstraint или ClutterAlignConstraint для изменения размера или выравнивания акторов на сцене.

2 голосов
/ 17 марта 2012

Попробуйте gtk_widget_get_allocation().

...