示例#1
0
QEMUGLContext gd_gl_area_create_context(DisplayChangeListener *dcl,
                                        QEMUGLParams *params)
{
    VirtualConsole *vc = container_of(dcl, VirtualConsole, gfx.dcl);
    GdkWindow *window;
    GdkGLContext *ctx;
    GError *err = NULL;

    gtk_gl_area_make_current(GTK_GL_AREA(vc->gfx.drawing_area));
    window = gtk_widget_get_window(vc->gfx.drawing_area);
    ctx = gdk_window_create_gl_context(window, &err);
    gdk_gl_context_set_required_version(ctx,
                                        params->major_ver,
                                        params->minor_ver);
    gdk_gl_context_realize(ctx, &err);
    return ctx;
}
示例#2
0
文件: main.c 项目: pavolzetor/voronoi
static GdkGLContext *
create_context(GtkGLArea *area)
{
        GdkWindow *window = gtk_widget_get_window(GTK_WIDGET(area));

        GError *error = NULL;
        GdkGLContext *context = gdk_window_create_gl_context(window, &error);
        if (error) {
                fprintf(stderr, "%s\n", error->message);
                g_error_free(error);

                return NULL;
        }

        gdk_gl_context_set_debug_enabled(context, TRUE);
        gdk_gl_context_set_forward_compatible(context, TRUE);
        gdk_gl_context_set_required_version(context, 3, 3);

        return context;
}