我已经复制并编译了标题为“完整源代码”部分的源代码。
http://cairographics.org/threaded_animation_with_cairo/
我将此代码修改为我正在处理的项目,结果发现当我将窗口设置得太大时应用程序会崩溃。回到最初的示例代码,当窗口太大(> 1000x1000 左右)时它也会崩溃。
我在示例中缩小了这一行似乎是负责任的:
pixmap = gdk_pixmap_new(window->window,500,500,-1);
其中 pixmap 的类型为 GdkPixmap*。调整窗口大小会用与窗口大小相同的新像素图覆盖像素图。
我在 32 位 Windows Vista 的 Eclipse Juno 中执行此操作。我的编译器是 MinGW 版本 0.5-beta-20120426-1。我的 GTK+ 版本是 2.24.10,显然 Cairo 是 1.10.2 我添加了 GTK 的所有包含和库,还添加了编译器开关 -mms-bitfields。
像素图的大小有限制吗?我只是从 GTK 开始,所以如果这个例子不起作用,我不知道该去哪里。