diff options
| author | nsfisis <nsfisis@gmail.com> | 2023-03-10 00:20:47 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2023-03-10 00:20:47 +0900 |
| commit | bf5a7df4608a0cdf5b1c145fcf2002560f3ecf44 (patch) | |
| tree | 7fdb6a4782ffd8a748316b2b6f322459cd8005c0 /cmd/util.go | |
| parent | 67c1fcf7467e59edea1d50358dc35bb5dcde3224 (diff) | |
| download | term-clock-bf5a7df4608a0cdf5b1c145fcf2002560f3ecf44.tar.gz term-clock-bf5a7df4608a0cdf5b1c145fcf2002560f3ecf44.tar.zst term-clock-bf5a7df4608a0cdf5b1c145fcf2002560f3ecf44.zip | |
refactor: move common snippet to util.go
Diffstat (limited to 'cmd/util.go')
| -rw-r--r-- | cmd/util.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cmd/util.go b/cmd/util.go new file mode 100644 index 0000000..93199da --- /dev/null +++ b/cmd/util.go @@ -0,0 +1,29 @@ +package cmd + +import ( + "github.com/nsfisis/term-clock/internal/term" +) + +func calcSquareSize(scr *term.Screen) (int, int, int, int) { + // Calculate square width/height and offset. + scrW, scrH := scr.Size() + // 17 + // <---------------> + // ### ### ### ### ^ + // # # # # # # # # # | + // # # # # # # # # | 5 + // # # # # # # # # # | + // ### ### ### ### v + squareW := scrW / (17 + 2) + squareH := scrH / (5 + 2) + if squareH > squareW { + squareH = squareW + } + if squareW > squareH*3/2 { + squareW = squareH * 3 / 2 + } + xOffset := (scrW - squareW*17) / 2 + yOffset := (scrH - squareH*5) / 2 + + return squareW, squareH, xOffset, yOffset +} |
