gl: Drop GdkGLContextClass.upload_texture()

It's unnecessary to allow per-backend overrides.
This commit is contained in:
Emmanuele Bassi 2015-02-09 19:09:31 +00:00
parent 3b4bf963f6
commit 843475bd2e
3 changed files with 16 additions and 19 deletions

View File

@ -716,8 +716,7 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
e.height *= sy; e.height *= sy;
image = cairo_surface_map_to_image (surface, &e); image = cairo_surface_map_to_image (surface, &e);
/* We might have a different alignment, stride or format, so allow overriding here if needed */ gdk_gl_context_upload_texture (paint_context, image, e.width, e.height, target);
GDK_GL_CONTEXT_GET_CLASS (paint_context)->upload_texture (paint_context, image, e.width, e.height, target);
cairo_surface_unmap_image (surface, image); cairo_surface_unmap_image (surface, image);
@ -746,6 +745,8 @@ gdk_gl_texture_from_surface (cairo_surface_t *surface,
} }
} }
#undef FLIP_Y
glDisable (GL_SCISSOR_TEST); glDisable (GL_SCISSOR_TEST);
glDeleteTextures (1, &texture_id); glDeleteTextures (1, &texture_id);
} }

View File

@ -240,8 +240,7 @@ gdk_gl_context_get_property (GObject *gobject,
} }
} }
/* Default implementation of upload_texture() for gdk_gl_texture_from_surface() */ void
static void
gdk_gl_context_upload_texture (GdkGLContext *context, gdk_gl_context_upload_texture (GdkGLContext *context,
cairo_surface_t *image_surface, cairo_surface_t *image_surface,
int width, int width,
@ -332,9 +331,6 @@ gdk_gl_context_class_init (GdkGLContextClass *klass)
gobject_class->dispose = gdk_gl_context_dispose; gobject_class->dispose = gdk_gl_context_dispose;
gobject_class->finalize = gdk_gl_context_finalize; gobject_class->finalize = gdk_gl_context_finalize;
/* Default Implementation of upload_texture() for gdk_gl_texture_from_surface() */
klass->upload_texture = gdk_gl_context_upload_texture;
g_object_class_install_properties (gobject_class, LAST_PROP, obj_pspecs); g_object_class_install_properties (gobject_class, LAST_PROP, obj_pspecs);
} }

View File

@ -49,11 +49,6 @@ struct _GdkGLContextClass
gboolean (* texture_from_surface) (GdkGLContext *context, gboolean (* texture_from_surface) (GdkGLContext *context,
cairo_surface_t *surface, cairo_surface_t *surface,
cairo_region_t *region); cairo_region_t *region);
void (* upload_texture) (GdkGLContext *context,
cairo_surface_t *image_surface,
int width,
int height,
guint texture_target);
}; };
typedef struct { typedef struct {
@ -74,13 +69,18 @@ typedef struct {
GdkGLContextProgram *current_program; GdkGLContextProgram *current_program;
} GdkGLContextPaintData; } GdkGLContextPaintData;
GdkGLContextPaintData * gdk_gl_context_get_paint_data (GdkGLContext *context); void gdk_gl_context_upload_texture (GdkGLContext *context,
gboolean gdk_gl_context_use_texture_rectangle (GdkGLContext *context); cairo_surface_t *image_surface,
gboolean gdk_gl_context_has_framebuffer_blit (GdkGLContext *context); int width,
gboolean gdk_gl_context_has_frame_terminator (GdkGLContext *context); int height,
void gdk_gl_context_end_frame (GdkGLContext *context, guint texture_target);
cairo_region_t *painted, GdkGLContextPaintData * gdk_gl_context_get_paint_data (GdkGLContext *context);
cairo_region_t *damage); gboolean gdk_gl_context_use_texture_rectangle (GdkGLContext *context);
gboolean gdk_gl_context_has_framebuffer_blit (GdkGLContext *context);
gboolean gdk_gl_context_has_frame_terminator (GdkGLContext *context);
void gdk_gl_context_end_frame (GdkGLContext *context,
cairo_region_t *painted,
cairo_region_t *damage);
G_END_DECLS G_END_DECLS