由于大多数gdk_gc_*
方法在 GTK+ 3 中已被弃用,如何仅使用 Cairo 在子窗口上绘制?下面是我想要实现的一个简单示例:
GdkWindow *tl_window = parent_widget->window;
GdkGC *gc = gdk_gc_new(tl_window1->window);
gdk_gc_set_subwindow(gc, GDK_INCLUDE_INFERIORS);
gdk_gc_set_exposures(gc, FALSE);
do_my_painting(tl_window, gc);
gdk_gc_unref(gc);
http://developer.gnome.org/gdk/stable/gdk-Graphics-Contexts.html#gdk-gc-set-subwindow说GDK_INCLUDE_INFERIORS
将用于来源。所以我认为诀窍是创建窗口的源,然后......好吧......我被卡住了。