Compare commits
1 Commits
wip-iterat
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc3bbf894f |
@@ -98,7 +98,7 @@ func main() {
|
||||
draw.Draw(img, img.Bounds(), &image.Uniform{bg}, image.Point{}, draw.Src)
|
||||
charW := font.MeasureString(stripFont, "0").Ceil()
|
||||
pad := 8
|
||||
for e := 0; e < count; e++ {
|
||||
for e := range count {
|
||||
ci := p.Start + e
|
||||
ch := channels[ci]
|
||||
cc := ch.Color
|
||||
@@ -107,10 +107,7 @@ func main() {
|
||||
valStr := fmt.Sprintf("%03d %02x", ch.Value, ch.Value)
|
||||
nameW := font.MeasureString(stripFont, ch.Name).Ceil()
|
||||
valW := font.MeasureString(stripFont, valStr).Ceil()
|
||||
textW := nameW
|
||||
if valW > textW {
|
||||
textW = valW
|
||||
}
|
||||
textW := max(valW, nameW)
|
||||
x0 := mid - textW/2 - pad
|
||||
x1 := mid + textW/2 + pad
|
||||
|
||||
@@ -155,8 +152,8 @@ func main() {
|
||||
if i == page {
|
||||
img := image.NewRGBA(image.Rect(0, 0, sz, sz))
|
||||
draw.Draw(img, img.Bounds(), txt, image.Point{}, draw.Src)
|
||||
for y := 0; y < sz; y++ {
|
||||
for x := 0; x < sz; x++ {
|
||||
for y := range sz {
|
||||
for x := range sz {
|
||||
if x < b || x >= sz-b || y < b || y >= sz-b {
|
||||
img.Set(x, y, color.RGBA{255, 255, 255, 255})
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package main
|
||||
|
||||
import "strings"
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Show struct {
|
||||
@@ -30,11 +32,12 @@ type Trigger struct {
|
||||
}
|
||||
|
||||
func (t *Trigger) String() string {
|
||||
s := fmt.Sprintf("%s/%s ->", t.Source.Block, t.Source.Signal)
|
||||
var s strings.Builder
|
||||
s.WriteString(fmt.Sprintf("%s/%s ->", t.Source.Block, t.Source.Signal))
|
||||
for _, target := range t.Targets {
|
||||
s += fmt.Sprintf(" %s/%s", target.Block, target.Hook)
|
||||
s.WriteString(fmt.Sprintf(" %s/%s", target.Block, target.Hook))
|
||||
}
|
||||
return s
|
||||
return s.String()
|
||||
}
|
||||
|
||||
type TriggerSource struct {
|
||||
|
||||
@@ -49,12 +49,7 @@ func (t *TimelineTrack) cellTypeAt(index int, types ...CellType) bool {
|
||||
if index < 0 || index >= len(t.Cells) {
|
||||
return false
|
||||
}
|
||||
for _, typ := range types {
|
||||
if t.Cells[index].Type == typ {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.Contains(types, t.Cells[index].Type)
|
||||
}
|
||||
|
||||
func (c *TimelineCell) String() string {
|
||||
@@ -98,14 +93,15 @@ func (g exclusiveGroup) satisfied(tracks []*TimelineTrack) bool {
|
||||
}
|
||||
|
||||
func (g exclusiveGroup) String() string {
|
||||
s := "exclusive("
|
||||
var s strings.Builder
|
||||
s.WriteString("exclusive(")
|
||||
for i, m := range g.members {
|
||||
if i > 0 {
|
||||
s += ", "
|
||||
s.WriteString(", ")
|
||||
}
|
||||
s += m.String()
|
||||
s.WriteString(m.String())
|
||||
}
|
||||
return s + ")"
|
||||
return s.String() + ")"
|
||||
}
|
||||
|
||||
func (tl *Timeline) debugf(format string, args ...any) {
|
||||
|
||||
@@ -69,7 +69,7 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
for i := uint8(0); i < 8; i++ {
|
||||
for i := range uint8(8) {
|
||||
updateLCD(out, i)
|
||||
}
|
||||
|
||||
|
||||
@@ -150,8 +150,8 @@ func (d *Device) SetKeyImage(key int, img image.Image) error {
|
||||
var src image.Image = scaled
|
||||
if d.model.FlipKeys {
|
||||
flipped := image.NewRGBA(scaled.Bounds())
|
||||
for y := 0; y < sz; y++ {
|
||||
for x := 0; x < sz; x++ {
|
||||
for y := range sz {
|
||||
for x := range sz {
|
||||
flipped.Set(sz-1-x, sz-1-y, scaled.At(x, y))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,11 +108,11 @@ type TextSpan struct {
|
||||
func DrawOutlinedSpans(img *image.RGBA, face font.Face, defaultOutline color.Color, thickness int, lines ...[]TextSpan) {
|
||||
var full []string
|
||||
for _, line := range lines {
|
||||
s := ""
|
||||
var s strings.Builder
|
||||
for _, span := range line {
|
||||
s += span.Text
|
||||
s.WriteString(span.Text)
|
||||
}
|
||||
full = append(full, s)
|
||||
full = append(full, s.String())
|
||||
}
|
||||
|
||||
metrics := face.Metrics()
|
||||
|
||||
Reference in New Issue
Block a user