2012-03-16 8 views
1

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

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

У кого-нибудь есть ключ?

ответ

2

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

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