package painter

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

Index

Constants

const (
	// DefaultTabWidth is the default width in spaces
	DefaultTabWidth = 4

	// TextDPI is a global constant that determines how text scales to interface sizes
	TextDPI = 78
)

Functions

func CachedFontFace

func CachedFontFace(style fyne.TextStyle, opts *truetype.Options) font.Face

CachedFontFace returns a font face held in memory. These are loaded from the current theme.

func ClearFontCache

func ClearFontCache()

ClearFontCache is used to remove cached fonts in the case that we wish to re-load font faces

func DrawCircle

func DrawCircle(circle *canvas.Circle, vectorPad float32, scale func(float32) float32) *image.RGBA

DrawCircle rasterizes the given circle object into an image. The bounds of the output image will be increased by vectorPad to allow for stroke overflow at the edges. The scale function is used to understand how many pixels are required per unit of size.

func DrawLine

func DrawLine(line *canvas.Line, vectorPad float32, scale func(float32) float32) *image.RGBA

DrawLine rasterizes the given line object into an image. The bounds of the output image will be increased by vectorPad to allow for stroke overflow at the edges. The scale function is used to understand how many pixels are required per unit of size.

func DrawRectangle

func DrawRectangle(rect *canvas.Rectangle, vectorPad float32, scale func(float32) float32) *image.RGBA

DrawRectangle rasterizes the given rectangle object with stroke border into an image. The bounds of the output image will be increased by vectorPad to allow for stroke overflow at the edges. The scale function is used to understand how many pixels are required per unit of size.

func DrawString

func DrawString(dst draw.Image, s string, color color.Color, face font.Face, height int, tabWidth int)

DrawString draws a string into an image.

func GetAspect

func GetAspect(img *canvas.Image) float32

GetAspect looks up an aspect ratio of an image

func IsResourceSVG

func IsResourceSVG(res fyne.Resource) bool

IsResourceSVG checks if the resource is an SVG or not.

func MeasureString

func MeasureString(f font.Face, s string, tabWidth int) (advance fixed.Int26_6)

MeasureString returns how far dot would advance by drawing s with f. Tabs are translated into a dot location change.

func PaintImage

func PaintImage(img *canvas.Image, c fyne.Canvas, width, height int) image.Image

PaintImage renders a given fyne Image to a Go standard image If a fyne.Canvas is given and the image’s fill mode is “fill original” the image’s min size has to fit its original size. If it doesn’t, PaintImage does not paint the image but adjusts its min size. The image will then be painted on the next frame because of the min size change.

func RenderedTextSize

func RenderedTextSize(text string, fontSize float32, style fyne.TextStyle) (size fyne.Size, baseline float32)

RenderedTextSize looks up how big a string would be if drawn on screen. It also returns the distance from top to the text baseline.

func VectorPad

func VectorPad(obj fyne.CanvasObject) float32

VectorPad returns the number of additional points that should be added around a texture. This is to accommodate overflow caused by stroke and line endings etc. THe result is in fyne.Size type coordinates and should be scaled for output.

Source Files

draw.go font.go image.go vector.go

Directories

PathSynopsis
internal/painter/glPackage gl provides a full Fyne render implementation using system OpenGL libraries.
internal/painter/software
Version
v2.2.2-rc1
Published
Jun 21, 2022
Platform
darwin/amd64
Imports
26 packages
Last checked
1 hour ago

Tools for package owners.