Add function drawWall()

This commit is contained in:
Petar Kapriš 2021-08-27 17:39:05 +02:00 committed by Петар Каприш
parent 4d0c4c78a6
commit b7f2276d18

25
Main.go
View file

@ -117,6 +117,28 @@ func drawMonth(m time.Month, x, y int) {
} }
func drawWall() { func drawWall() {
w, h := wall.Size()
if w < monthWidth + 2 * smallGap || h < monthHeight + 2 * smallGap + titleHeight {
wrappedText("Екран је премали за календар.", wall, defStyle)
return
}
monthsWide := (w - 2*smallGap + largeGap) / (monthWidth + largeGap)
monthsHigh := (h - smallGap - titleHeight) / (monthHeight + smallGap)
monthsDrawn := min(monthsHigh*monthsWide, 12) // TODO: izraziti 12 drugacije??
startingMonth := time.Month((int(selTime.Month()) - 1) / monthsDrawn * monthsDrawn + 1)
endingMonth := time.Month(min(12, int(startingMonth) + monthsDrawn - 1))
centerVert := (w - monthsWide*monthWidth - (monthsWide-1)*largeGap) / 2
for i, m := 0, startingMonth ; i < monthsHigh ; i++ {
for j := 0 ; j < monthsWide ; j++ {
drawMonth(m, centerVert + j*(monthWidth+largeGap), titleHeight + smallGap + i*(monthHeight+smallGap))
if m >= endingMonth {
return
}
m++
}
}
} }
func main() { func main() {
@ -135,8 +157,7 @@ func main() {
wall.SetStyle(defStyle) wall.SetStyle(defStyle)
wall.Clear() wall.Clear()
drawMonth(time.January, 0, 0) drawWall()
drawMonth(time.July, monthWidth * 2, 0)
quit := func() { quit := func() {