2011-12-26 78 views

回答

1

杂波没有提供围绕窗口系统特定API的包装:Stage作为场景图元素被定义为始终在(0,0)处,因此您不能使用ClutterActor set_position()方法。

如果你在X11,你可以使用X11 API移动舞台窗口,如:


    Display *xdpy = clutter_x11_get_default_display(); 
    Window xwin = clutter_x11_stage_get_window (stage); 

    XMoveWindow (xdpy, xwin, 0, 500); 

显然,有一个在X11人工窗口位置的整个棘手的问题:你真的不应该那样做,你应该推迟到窗口管理器来实际定位你的窗口。

在Windows上,您可以使用clutter_win32_get_stage_window()获取舞台窗口的WHND,并使用SetWindowPos()类似于它在X11上的工作方式。

在OS X上有点棘手,因为Clutter不会暴露NSWindow,也不会暴露舞台使用的NSView,因此您必须在Clutter内部进行一些修改。

+0

显然,我还应该提到,你可以使用clutter-gtk库和GtkWindow API来获得窗口大小和位置。 – ebassi 2011-12-26 15:52:04

+0

tnx ...也许我会用gtk来定位窗口。非常感谢......:D – joi 2011-12-27 03:47:01