paint

package
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2021 License: MIT, Unlicense Imports: 9 Imported by: 0

Documentation

Overview

Package paint provides drawing operations for 2D graphics.

The PaintOp operation fills the current clip with the current brush, taking the current transformation into account.

The current brush is set by either a ColorOp for a constant color, or ImageOp for an image, or LinearGradientOp for gradients.

All color.NRGBA values are in the sRGB color space.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Fill

func Fill(ops *op.Ops, c color.NRGBA)

Fill paints an infinitely large plane with the provided color. It is intended to be used with a clip.Op already in place to limit the painted area. Use FillShape unless you need to paint several times within the same clip.Op.

func FillShape

func FillShape(ops *op.Ops, c color.NRGBA, shape clip.Op)

FillShape fills the clip shape with a color.

Types

type ColorOp

type ColorOp struct {
	Color color.NRGBA
}

ColorOp sets the brush to a constant color.

func (ColorOp) Add

func (c ColorOp) Add(o *op.Ops)

type ImageOp

type ImageOp struct {
	// contains filtered or unexported fields
}

ImageOp sets the brush to an image.

Note: the ImageOp may keep a reference to the backing image. See NewImageOp for details.

func NewImageOp

func NewImageOp(src image.Image) ImageOp

NewImageOp creates an ImageOp backed by src. See github.com/l0k18/giocore/io/system.FrameEvent for a description of when data referenced by operations is safe to re-use.

NewImageOp assumes the backing image is immutable, and may cache a copy of its contents in a GPU-friendly way. Create new ImageOps to ensure that changes to an image is reflected in the display of it.

func (ImageOp) Add

func (i ImageOp) Add(o *op.Ops)

func (ImageOp) Size

func (i ImageOp) Size() image.Point

type LinearGradientOp

type LinearGradientOp struct {
	Stop1  f32.Point
	Color1 color.NRGBA
	Stop2  f32.Point
	Color2 color.NRGBA
}

LinearGradientOp sets the brush to a gradient starting at stop1 with color1 and ending at stop2 with color2.

func (LinearGradientOp) Add

func (c LinearGradientOp) Add(o *op.Ops)

type PaintOp

type PaintOp struct {
}

PaintOp fills fills the current clip area with the current brush.

func (PaintOp) Add

func (d PaintOp) Add(o *op.Ops)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL