summaryrefslogtreecommitdiff
path: root/drw/drw.go
diff options
context:
space:
mode:
Diffstat (limited to 'drw/drw.go')
-rw-r--r--drw/drw.go21
1 files changed, 10 insertions, 11 deletions
diff --git a/drw/drw.go b/drw/drw.go
index e5a16c2..55a9be5 100644
--- a/drw/drw.go
+++ b/drw/drw.go
@@ -3,6 +3,7 @@ package drw // import "hhvn.uk/hbspbar/drw"
import (
"image"
"image/draw"
+ "image/color"
"hhvn.uk/hbspbar/config"
@@ -11,7 +12,7 @@ import (
"github.com/BurntSushi/freetype-go/freetype"
)
-func DrawText(i *image.RGBA, x int, col uint32, text string) (int, error) {
+func DrawText(i *image.RGBA, x int, col color.Color, text string) (int, error) {
ft := freetype.NewContext()
ft.SetDPI(72)
ft.SetFont(font)
@@ -19,7 +20,7 @@ func DrawText(i *image.RGBA, x int, col uint32, text string) (int, error) {
ft.SetClip(i.Bounds())
ft.SetDst(i)
- src := image.NewUniform(int2rgb(col))
+ src := image.NewUniform(col)
ft.SetSrc(src)
pt := freetype.Pt(x, config.FontYPad+
@@ -34,16 +35,14 @@ func TextWidth(text string) (int) {
return w
}
-func DrawRect(i *image.RGBA, x, y, w, h int, c uint32, fill bool) {
- col := int2rgb(c)
-
+func DrawRect(i *image.RGBA, x, y, w, h int, c color.Color, fill bool) {
var ix, iy int
for ix = x; ix < x + w; ix++ {
for iy = y; iy < y + h; iy++ {
if fill || ix == x || ix == x + w - 1 ||
iy == y || iy == y + h - 1 {
- i.Set(ix, iy, col)
+ i.Set(ix, iy, c)
}
}
}
@@ -54,7 +53,7 @@ func AddImg(dst *image.RGBA, x, w int, src *image.RGBA) {
draw.Draw(dst, r, src, image.Pt(0,0), draw.Src)
}
-func Blend3(a, b, c uint32, percent int) uint32 {
+func Blend3(a, b, c color.Color, percent int) color.Color {
if percent <= 50 {
return Blend(a, b, percent * 2)
} else {
@@ -63,10 +62,10 @@ func Blend3(a, b, c uint32, percent int) uint32 {
}
// Conversion hell, I know
-func Blend(a, b uint32, percent int) uint32 {
- ac, _ := col.MakeColor(int2rgb(a))
- bc, _ := col.MakeColor(int2rgb(b))
+func Blend(a, b color.Color, percent int) color.Color {
+ ac, _ := col.MakeColor(a)
+ bc, _ := col.MakeColor(b)
- return rgb2int(ac.BlendHcl(bc, float64(percent) / 100).Clamped())
+ return color.Color(ac.BlendHcl(bc, float64(percent) / 100).Clamped())
}