diff --git a/elements/basic/checkbox.go b/elements/basic/checkbox.go index 14690bb..ab2217e 100644 --- a/elements/basic/checkbox.go +++ b/elements/basic/checkbox.go @@ -4,6 +4,7 @@ import "image" import "git.tebibyte.media/sashakoshka/tomo/input" import "git.tebibyte.media/sashakoshka/tomo/theme" import "git.tebibyte.media/sashakoshka/tomo/config" +import "git.tebibyte.media/sashakoshka/tomo/artist" import "git.tebibyte.media/sashakoshka/tomo/textdraw" import "git.tebibyte.media/sashakoshka/tomo/elements/core" @@ -175,7 +176,7 @@ func (element *Checkbox) draw () { backgroundPattern.Draw(element.core, bounds) pattern := element.theme.Pattern(theme.PatternButton, state) - pattern.Draw(element.core, boxBounds) + artist.DrawBounds(element.core, pattern, boxBounds) textBounds := element.drawer.LayoutBounds() margin := element.theme.Margin(theme.PatternBackground) diff --git a/elements/basic/listentry.go b/elements/basic/listentry.go index cad33df..d1020c2 100644 --- a/elements/basic/listentry.go +++ b/elements/basic/listentry.go @@ -67,7 +67,7 @@ func (entry *ListEntry) Draw ( On: on, } - pattern := entry.theme.Pattern (theme.PatternRaised, state) + pattern := entry.theme.Pattern(theme.PatternRaised, state) padding := entry.theme.Padding(theme.PatternRaised) bounds := entry.Bounds().Add(offset) artist.DrawBounds(destination, pattern, bounds) diff --git a/elements/testing/artist.go b/elements/testing/artist.go index 9277041..bb42bfa 100644 --- a/elements/testing/artist.go +++ b/elements/testing/artist.go @@ -118,6 +118,13 @@ func (element *Artist) draw () { Inset: artist.Inset { 8, 8, 8, 8 }, }.Draw(c03, c03.Bounds()) + // 1, 3 + c13 := element.cellAt(1, 3) + patterns.Border { + Canvas: element.thingy(c42), + Inset: artist.Inset { 8, 8, 8, 8 }, + }.Draw(c13, c13.Bounds().Inset(10)) + // how long did that take to render? drawTime := time.Since(drawStart) textDrawer := textdraw.Drawer { } diff --git a/theme/assets/wintergreen.png b/theme/assets/wintergreen.png index 2abe477..ea9871c 100644 Binary files a/theme/assets/wintergreen.png and b/theme/assets/wintergreen.png differ diff --git a/theme/default.go b/theme/default.go index 96a3d86..e953f7e 100644 --- a/theme/default.go +++ b/theme/default.go @@ -117,8 +117,17 @@ func (Default) Color (id Color, state State, c Case) color.RGBA { } // Padding returns the default padding value for the given pattern. -func (Default) Padding (pattern Pattern, c Case) artist.Inset { - return artist.Inset { 8, 8, 8, 8 } +func (Default) Padding (id Pattern, c Case) artist.Inset { + switch id { + case PatternSunken: + if c == C("basic", "list") { + return artist.Inset { 2, 2, 2, 2 } + } else { + return artist.Inset { 8, 8, 8, 8 } + } + case PatternGutter: return artist.Inset { } + default: return artist.Inset { 8, 8, 8, 8 } + } } // Margin returns the default margin value for the given pattern.