cairoDrawFromGl

fun cairoDrawFromGl(cr: <Error class: unknown class>, surface: Surface, source: <Error class: unknown class>, sourceType: <Error class: unknown class>, bufferScale: <Error class: unknown class>, x: <Error class: unknown class>, y: <Error class: unknown class>, width: <Error class: unknown class>, height: <Error class: unknown class>)(source)

⚠️ Deprecated ⚠️

This is deprecated since version 4.6.

The function is overly complex and produces broken output in various combinations of arguments. If you want to draw with GL textures in GTK, use ctor@Gdk.GLTexture.new; if you want to use that texture in Cairo, use method@Gdk.Texture.download to download the data into a Cairo image surface.

The main way to not 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 @surface 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 surface 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

surface

The surface we're rendering for (not necessarily into)

source

The GL ID of the source buffer

sourceType

The type of the @source

bufferScale

The scale-factor that the @source buffer is allocated for

x

The source x position in @source to start copying from in GL coordinates

y

The source y position in @source to start copying from in GL coordinates

width

The width of the region to draw

height

The height of the region to draw