package gl

import "fyne.io/fyne/v2/internal/painter/gl"

Package gl provides a full Fyne render implementation using system OpenGL libraries.

Index

Types

type Attribute

type Attribute int32

Attribute represents a GL attribute

type Buffer

type Buffer uint32

Buffer represents a GL buffer

type Painter

type Painter interface {
	// Init tell a new painter to initialise, usually called after a context is available
	Init()
	// Capture requests that the specified canvas be drawn to an in-memory image
	Capture(fyne.Canvas) image.Image
	// Clear tells our painter to prepare a fresh paint
	Clear()
	// Free is used to indicate that a certain canvas object is no longer needed
	Free(fyne.CanvasObject)
	// Paint a single fyne.CanvasObject but not its children.
	Paint(fyne.CanvasObject, fyne.Position, fyne.Size)
	// SetFrameBufferScale tells us when we have more than 1 framebuffer pixel for each output pixel
	SetFrameBufferScale(float32)
	// SetOutputSize is used to change the resolution of our output viewport
	SetOutputSize(int, int)
	// StartClipping tells us that the following paint actions should be clipped to the specified area.
	StartClipping(fyne.Position, fyne.Size)
	// StopClipping stops clipping paint actions.
	StopClipping()
}

Painter defines the functionality of our OpenGL based renderer

func NewPainter

func NewPainter(c fyne.Canvas, ctx driver.WithContext) Painter

NewPainter creates a new GL based renderer for the provided canvas. If it is a master painter it will also initialise OpenGL

type Program

type Program uint32

Program represents a compiled GL program

type Shader

type Shader uint32

Shader represents a GL shader

type Texture

type Texture cache.TextureType

Texture represents an uploaded GL texture

type Uniform

type Uniform int32

Uniform represents a GL uniform

Source Files

capture.go context.go draw.go gl.go gl_core.go painter.go shaders.go texture.go

Version
v2.5.4 (latest)
Published
Feb 1, 2025
Platform
linux/amd64
Imports
17 packages
Last checked
1 month ago

Tools for package owners.