a cairo context
The window we're rendering for (not necessarily into)
The GL ID of the source buffer
The type of the source
The scale-factor that the source buffer is allocated for
The source x position in source to start copying from in GL coordinates
The source y position in source to start copying from in GL coordinates
The width of the region to draw
The height of the region to draw
This is the main way to draw GL content in GTK+. It takes a render buffer ID (
source_type== #GL_RENDERBUFFER) or a texture id (source_type== #GL_TEXTURE) and draws it ontocrwith an OVER operation, respecting the current clip. The top left corner of the rectangle specified byx,y,widthandheightwill be drawn at the current (0,0) position of the cairo_t.This will work for all cairo_t, as long as
windowis realized, but the fallback implementation that reads back the pixels from the buffer may be used in the general case. In the case of direct drawing to a window with no special effects applied tocrit will however use a more efficient approach.For #GL_RENDERBUFFER the code will always fall back to software for buffers with alpha components, so make sure you use #GL_TEXTURE if using alpha.
Calling this may change the current GL context.