使用Cairo的GtkDrawingArea不适用于Windows 7

时间:2015-04-03 06:48:50

标签: gtk cairo gtk2

我在Windows 7 64位和Fedora 21 64位中使用GTK + 2.24。我使用开罗画了一个白色的绘图区域。它适用于Fedora,但不适用于Windows。有谁知道原因?

这是我的代码:

static gboolean draw_background_cb(GtkWidget *widget _U_, cairo_t *cr, gpointer data _U_)
{
    /* Set background color */
    cairo_set_source_rgb(cr, 1, 1, 1);
    cairo_rectangle(cr, 0, 0, 300, 300);
    cairo_paint(cr);
    return FALSE;
}

int main(int argc, char *argv[])
{
    GtkWidget *window;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    g_signal_connect(window, "draw", G_CALLBACK (draw_background), NULL);

    gtk_widget_show(window);

    gtk_main();

    return 0;
}

1 个答案:

答案 0 :(得分:0)

GTK + 2使用expose-event代替draw进行绘制。我不知道其他的差异是什么;遗憾。