Package: gdk
Function gdk-cairo-draw-from-gl
Lambda Listgdk-cairo-draw-from-gl (cr window source type scale x y width height) Argumentscr -- a cairo-t context window -- a gdk-window object we are rendering for, not necessarily into source -- an integer with the GL ID of the source buffer type -- an integer with the type of the source scale -- an integer with the scale factor that the source buffer is allocated for x -- an integer with the source x position in source to start copying from in GL coordinates y -- an integer with the source y position in source to start copying from in GL coordinates width -- an integer with the width of the region to draw height -- an integer with the height of the region to draw Details
This is the main way to draw GL content in GTK. It takes a render buffer ID (type == GL_RENDERBUFFER) or a texture ID (type == GL_TEXTURE) and draws it onto cr with an OVER operation, respecting the current clip. The top left corner of the rectangle specified by x, y, width and height will
be drawn at the current (0,0) position of the Cairo context. This will work for all Cairo contexts, as long as window is 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 to cr it 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. | See also |
2021-12-11