painter

package
v0.0.0-...-93bd7ba Latest Latest
Warning

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

Go to latest
Published: May 2, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var UpdateOp = updateOp{}

UpdateOp операція, яка не змінює текстуру, але сигналізує, що текстуру потрібно розглядати як готову.

Functions

This section is empty.

Types

type Loop

type Loop struct {
	Receiver Receiver
	// contains filtered or unexported fields
}

Loop реалізує цикл подій для формування текстури отриманої через виконання операцій отриманих з внутрішньої черги.

func (*Loop) Post

func (l *Loop) Post(op Operation) error

Post додає нову операцію у внутрішню чергу.

func (*Loop) Start

func (l *Loop) Start(s screen.Screen)

Start запускає цикл подій. Цей метод потрібно запустити до того, як викликати на ньому будь-які інші методи.

func (*Loop) StopAndWait

func (l *Loop) StopAndWait() error

StopAndWait сигналізує про необхідність завершення циклу подій після виконання всіх операцій з черги і чекає на завершення.

type MoveTweaker

type MoveTweaker struct {
	Offset RelativePoint
}

func (MoveTweaker) SetState

func (t MoveTweaker) SetState(sol *StatefulOperationList)

type Operation

type Operation interface {
	// Do виконує зміну операції, повертаючи true, якщо текстура вважається готовою для відображення.
	Do(t screen.Texture) (ready bool)
}

Operation змінює вхідну текстуру.

type OperationBGRect

type OperationBGRect struct {
	Min RelativePoint
	Max RelativePoint
}

func (OperationBGRect) Do

func (OperationBGRect) SetState

func (op OperationBGRect) SetState(sol *StatefulOperationList)

type OperationFigure

type OperationFigure struct {
	Center RelativePoint
}

func (OperationFigure) Do

Функція оптимізована для моєї версії MacOS. Вона не використовує імплементацію з пакету ui, тому що з неявних причин відлік системи координат починається в різних місцях для screen.Texture і screen.Window.

func (OperationFigure) SetState

func (op OperationFigure) SetState(sol *StatefulOperationList)

type OperationFill

type OperationFill struct {
	Color color.Color
}

OperationFill зафарбовує текстуру у будь-який колір.

func (OperationFill) Do

func (op OperationFill) Do(t screen.Texture) bool

func (OperationFill) SetState

func (op OperationFill) SetState(sol *StatefulOperationList)

type OperationFunc

type OperationFunc func(t screen.Texture)

OperationFunc використовується для перетворення функції оновлення текстури в Operation.

func (OperationFunc) Do

func (f OperationFunc) Do(t screen.Texture) bool

type Receiver

type Receiver interface {
	Update(t screen.Texture)
}

Receiver отримує текстуру, яка була підготовлена в результаті виконання команд у циелі подій.

type RelativePoint

type RelativePoint struct {
	X float64
	Y float64
}

func (RelativePoint) ToAbs

func (p RelativePoint) ToAbs(size image.Point) image.Point

type ResetTweaker

type ResetTweaker struct{}

func (ResetTweaker) SetState

func (op ResetTweaker) SetState(sol *StatefulOperationList)

type StateTweaker

type StateTweaker interface {
	// SetState виконує зміну переданої операції зі станом.
	SetState(sol *StatefulOperationList)
}

StateTweaker вміє змінювати стан малюнку.

type StatefulOperationList

type StatefulOperationList struct {
	BgOperation      Operation
	BgRectOperation  Operation
	FigureOperations []*OperationFigure
}

StatefulOperationList групує операції, що впливають на стан, в одну.

func (StatefulOperationList) Do

func (sol StatefulOperationList) Do(t screen.Texture) (ready bool)

Виконує операції відносно до збереженого стану.

func (*StatefulOperationList) Update

func (sol *StatefulOperationList) Update(o StateTweaker)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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