37 lines
902 B
Go
37 lines
902 B
Go
package ui
|
|
|
|
import (
|
|
"image"
|
|
"image/color"
|
|
|
|
"opslag.de/schobers/geom"
|
|
)
|
|
|
|
type Renderer interface {
|
|
// Events
|
|
PushEvents(t EventTarget, wait bool)
|
|
Refresh()
|
|
|
|
// Lifetime
|
|
Destroy() error
|
|
|
|
// Drawing
|
|
Clear(c color.Color)
|
|
CreateImage(m image.Image) (Image, error)
|
|
CreateImagePath(path string) (Image, error)
|
|
CreateImageSize(w, h float32) (Image, error)
|
|
DefaultTarget() Image
|
|
DrawImage(im Image, p geom.PointF32)
|
|
DrawImageOptions(im Image, p geom.PointF32, opts DrawOptions)
|
|
FillRectangle(r geom.RectangleF32, c color.Color)
|
|
Font(font string) Font
|
|
Rectangle(r geom.RectangleF32, c color.Color, thickness float32)
|
|
RenderTo(Image)
|
|
RenderToDisplay()
|
|
SetMouseCursor(c MouseCursor)
|
|
Size() geom.PointF32
|
|
Target() Image
|
|
Text(p geom.PointF32, font string, color color.Color, text string)
|
|
TextAlign(p geom.PointF32, font string, color color.Color, text string, align HorizontalAlignment)
|
|
}
|