summaryrefslogtreecommitdiffstats
path: root/numbers/numbers.go
diff options
context:
space:
mode:
Diffstat (limited to 'numbers/numbers.go')
-rw-r--r--numbers/numbers.go72
1 files changed, 0 insertions, 72 deletions
diff --git a/numbers/numbers.go b/numbers/numbers.go
deleted file mode 100644
index f4f90b2..0000000
--- a/numbers/numbers.go
+++ /dev/null
@@ -1,72 +0,0 @@
-package numbers
-
-import (
- "github.com/veandco/go-sdl2/sdl"
-)
-
-const width = 60
-
-var digitSegments = [][]int{
- {0, 1, 2, 4, 5, 6},
- {2, 5},
- {0, 2, 3, 4, 6},
- {0, 2, 3, 5, 6},
- {1, 2, 3, 5},
- {0, 1, 3, 5, 6},
- {0, 1, 3, 4, 5, 6},
- {0, 2, 5},
- {0, 1, 2, 3, 4, 5, 6},
- {0, 1, 2, 3, 5, 6},
-}
-
-func drawDigit(renderer *sdl.Renderer, d int, x, y int32) error {
- const (
- height = 100
- thickness = 10
- )
- for _, segment := range digitSegments[d] {
- var err error
- switch segment {
- case 0:
- err = renderer.FillRect(&sdl.Rect{X: x, Y: y, W: width, H: thickness})
- case 1:
- err = renderer.FillRect(&sdl.Rect{X: x, Y: y, W: thickness, H: height / 2})
- case 2:
- err = renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y, W: thickness, H: height / 2})
- case 3:
- err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2 - thickness/2, W: width, H: thickness})
- case 4:
- err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2, W: thickness, H: height / 2})
- case 5:
- err = renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y + height/2, W: thickness, H: height / 2})
- case 6:
- err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height - thickness, W: width, H: thickness})
- }
- if err != nil {
- return err
- }
- }
- return nil
-}
-
-func Draw(renderer *sdl.Renderer, n int, x, y int32) error {
- const padding = 20
-
- if err := renderer.SetDrawColor(245, 245, 245, 255); err != nil {
- return err
- }
- if n == 0 {
- return drawDigit(renderer, 0, x, y)
- }
- digits := make([]int, 0, 19)
- for ; n > 0; n /= 10 {
- digits = append(digits, n%10)
- }
- for i := len(digits) - 1; i >= 0; i-- {
- if err := drawDigit(renderer, digits[i], x, y); err != nil {
- return err
- }
- x += width + padding
- }
- return nil
-}