From 87f373370e60befbd9de02acec63c10691993b2d Mon Sep 17 00:00:00 2001 From: vsariola <5684185+vsariola@users.noreply.github.com> Date: Thu, 11 Mar 2021 22:14:33 +0200 Subject: [PATCH] feat(gioui): add empty cell grid lines to order list Refer #48. --- tracker/gioui/patterns.go | 8 +++++++- tracker/gioui/theme.go | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tracker/gioui/patterns.go b/tracker/gioui/patterns.go index 29cfae7..9a1865e 100644 --- a/tracker/gioui/patterns.go +++ b/tracker/gioui/patterns.go @@ -11,6 +11,7 @@ import ( "gioui.org/op" "gioui.org/op/clip" "gioui.org/op/paint" + "gioui.org/text" "gioui.org/widget" "github.com/vsariola/sointu/tracker" ) @@ -51,9 +52,14 @@ func (t *Tracker) layoutPatterns(gtx C) D { stack := op.Save(gtx.Ops) op.Offset(f32.Pt(patternRowMarkerWidth, 0)).Add(gtx.Ops) for i, track := range t.Song().Score.Tracks { + paint.FillShape(gtx.Ops, patternCellColor, clip.Rect{Min: image.Pt(1, 1), Max: image.Pt(patternCellWidth-1, patternCellHeight-1)}.Op()) paint.ColorOp{Color: patternTextColor}.Add(gtx.Ops) if j < len(track.Order) && track.Order[j] >= 0 { - widget.Label{}.Layout(gtx, textShaper, trackerFont, trackerFontSize, patternIndexToString(track.Order[j])) + gtx := gtx + gtx.Constraints.Max.X = patternCellWidth + op.Offset(f32.Pt(0, -2)).Add(gtx.Ops) + widget.Label{Alignment: text.Middle}.Layout(gtx, textShaper, trackerFont, trackerFontSize, patternIndexToString(track.Order[j])) + op.Offset(f32.Pt(0, 2)).Add(gtx.Ops) } point := tracker.SongPoint{Track: i, SongRow: tracker.SongRow{Pattern: j}} if t.EditMode() == tracker.EditPatterns || t.EditMode() == tracker.EditTracks { diff --git a/tracker/gioui/theme.go b/tracker/gioui/theme.go index 7592876..7badbb3 100644 --- a/tracker/gioui/theme.go +++ b/tracker/gioui/theme.go @@ -44,6 +44,7 @@ var twoBeatHighlight = color.NRGBA{R: 31, G: 51, B: 53, A: 255} var patternPlayColor = color.NRGBA{R: 55, G: 55, B: 61, A: 255} var patternTextColor = primaryColor +var patternCellColor = color.NRGBA{R: 255, G: 255, B: 255, A: 3} var instrumentHoverColor = color.NRGBA{R: 30, G: 31, B: 38, A: 255} var instrumentNameColor = color.NRGBA{R: 255, G: 255, B: 255, A: 255}