cairo_draw_from_gl
Description:
[ Version ( since = "3.16" ) ]
public void cairo_draw_from_gl (Context cr, Window window, int source, int source_type, int buffer_scale, int x, int y, int width, int height)
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 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_t.
This will work for *all* cairo_t, 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.
Parameters:
cr |
a cairo context |
window |
The window we're rendering for (not necessarily into) |
source |
The GL ID of the source buffer |
source_type |
The type of the |
buffer_scale |
The scale-factor that the |
x |
The source x position in |
y |
The source y position in |
width |
The width of the region to draw |
height |
The height of the region to draw |