Gjsify LogoGjsify Logo

A render node using a GL shader when drawing its children nodes.

Hierarchy

Index

Constructors

  • Creates a GskRenderNode that will render the given shader into the area given by bounds.

    The args is a block of data to use for uniform input, as per types and offsets defined by the shader. Normally this is generated by [methodGsk.GLShader.format_args] or [structGsk.ShaderArgsBuilder].

    See [classGsk.GLShader] for details about how the shader should be written.

    All the children will be rendered into textures (if they aren't already GskTextureNodes, which will be used directly). These textures will be sent as input to the shader.

    If the renderer doesn't support GL shaders, or if there is any problem when compiling the shader, then the node will draw pink. You should use [methodGsk.GLShader.compile] to ensure the shader will work for the renderer before using it.

    Parameters

    • shader: Gsk.GLShader

      the GskGLShader

    • bounds: Graphene.Rect

      the rectangle to render the shader into

    • args: Bytes

      Arguments for the uniforms

    • children: RenderNode[]

      array of child nodes, these will be rendered to textures and used as input.

    Returns GLShaderNode

Properties

name: string

Methods

  • Draw the contents of node to the given cairo context.

    Typically, you'll use this function to implement fallback rendering of GskRenderNodes on an intermediate Cairo context, instead of using the drawing context associated to a [classGdk.Surface]'s rendering buffer.

    For advanced nodes that cannot be supported using Cairo, in particular for nodes doing 3D operations, this function may fail.

    Parameters

    Returns void

  • get_n_children(): number
  • Serializes the node for later deserialization via gsk_render_node_deserialize(). No guarantees are made about the format used other than that the same version of GTK will be able to deserialize the result of a call to gsk_render_node_serialize() and gsk_render_node_deserialize() will correctly reject files it cannot open that were created with previous versions of GTK.

    The intended use of this functions is testing, benchmarking and debugging. The format is not meant as a permanent storage format.

    Returns Bytes

  • unref(): void
  • write_to_file(filename: string): boolean
  • This function is equivalent to calling [methodGsk.RenderNode.serialize] followed by [funcGLib.file_set_contents].

    See those two functions for details on the arguments.

    It is mostly intended for use inside a debugger to quickly dump a render node to a file for later inspection.

    Parameters

    • filename: string

      the file to save it to.

    Returns boolean

  • Creates a GskRenderNode that will render the given shader into the area given by bounds.

    The args is a block of data to use for uniform input, as per types and offsets defined by the shader. Normally this is generated by [methodGsk.GLShader.format_args] or [structGsk.ShaderArgsBuilder].

    See [classGsk.GLShader] for details about how the shader should be written.

    All the children will be rendered into textures (if they aren't already GskTextureNodes, which will be used directly). These textures will be sent as input to the shader.

    If the renderer doesn't support GL shaders, or if there is any problem when compiling the shader, then the node will draw pink. You should use [methodGsk.GLShader.compile] to ensure the shader will work for the renderer before using it.

    Parameters

    • shader: Gsk.GLShader

      the GskGLShader

    • bounds: Graphene.Rect

      the rectangle to render the shader into

    • args: Bytes

      Arguments for the uniforms

    • children: RenderNode[]

      array of child nodes, these will be rendered to textures and used as input.

    Returns GLShaderNode

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method