From 0bdbaa39cac15fa3a70a4d06706e7e60ec5b66ea Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Fri, 3 Feb 2023 18:32:22 -0500 Subject: [PATCH] Artist and test examples work --- elements/testing/artist.go | 6 +++++- elements/testing/mouse.go | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/elements/testing/artist.go b/elements/testing/artist.go index f9a2290..968143e 100644 --- a/elements/testing/artist.go +++ b/elements/testing/artist.go @@ -4,6 +4,7 @@ import "fmt" import "time" import "image" import "image/color" +import "git.tebibyte.media/sashakoshka/tomo/theme" import "git.tebibyte.media/sashakoshka/tomo/artist" import "git.tebibyte.media/sashakoshka/tomo/defaultfont" import "git.tebibyte.media/sashakoshka/tomo/elements/core" @@ -19,13 +20,16 @@ type Artist struct { // NewArtist creates a new artist test element. func NewArtist () (element *Artist) { element = &Artist { } - element.Core, element.core = core.NewCore(element.draw) + element.Core, element.core = core.NewCore ( + element.draw, nil, nil, theme.C("testing", "artist")) element.core.SetMinimumSize(480, 600) return } func (element *Artist) draw () { bounds := element.Bounds() + artist.FillRectangle(element, artist.NewUniform(hex(0)), bounds) + element.cellBounds.Max.X = bounds.Min.X + bounds.Dx() / 5 element.cellBounds.Max.Y = bounds.Min.Y + (bounds.Dy() - 48) / 8 diff --git a/elements/testing/mouse.go b/elements/testing/mouse.go index baf6044..d027284 100644 --- a/elements/testing/mouse.go +++ b/elements/testing/mouse.go @@ -20,15 +20,25 @@ type Mouse struct { // NewMouse creates a new mouse test element. func NewMouse () (element *Mouse) { element = &Mouse { } - element.Core, element.core = core.NewCore(element.draw) + element.Core, element.core = core.NewCore ( + element.draw, + element.redo, + element.redo, + theme.C("testing", "mouse")) element.core.SetMinimumSize(32, 32) element.color = artist.NewUniform(color.Black) return } +func (element *Mouse) redo () { + if !element.core.HasImage() { return } + element.draw() + element.core.DamageAll() +} + func (element *Mouse) draw () { bounds := element.Bounds() - pattern, _ := theme.AccentPattern(theme.PatternState { }) + pattern := element.core.Pattern(theme.PatternAccent, theme.PatternState { }) artist.FillRectangle(element, pattern, bounds) artist.StrokeRectangle ( element,