summaryrefslogtreecommitdiff
path: root/x
diff options
context:
space:
mode:
authorhhvn <dev@hhvn.uk>2023-11-18 14:13:25 +0000
committerhhvn <dev@hhvn.uk>2023-11-18 19:55:08 +0000
commit6117c8a98a39cd8bc1ca6b2436b6dab8873053f9 (patch)
treef122e56d14c4d7f4facb154186443e932e21026f /x
parent2b7504f96fcb8878ac5ed089940868517a74da79 (diff)
Draw to an image.RGBA
Diffstat (limited to 'x')
-rw-r--r--x/x.go100
1 files changed, 0 insertions, 100 deletions
diff --git a/x/x.go b/x/x.go
deleted file mode 100644
index ff00484..0000000
--- a/x/x.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package x // import "hhvn.uk/hbspbar/x"
-
-import (
- "os"
- "image"
-
- "hhvn.uk/hbspbar/config"
- "hhvn.uk/hbspbar/common"
-
- "github.com/jezek/xgb"
- "github.com/jezek/xgb/xproto"
- "github.com/jezek/xgbutil"
- "github.com/jezek/xgbutil/xgraphics"
- "github.com/BurntSushi/freetype-go/freetype/truetype"
-)
-
-var InitErr error
-var X *xgb.Conn
-var XU *xgbutil.XUtil
-var Screen *xproto.ScreenInfo
-
-var font *truetype.Font
-var tw, th int
-var tbpad int
-
-func init() {
- var err error
-
- X, err = xgb.NewConn()
- if err != nil {
- InitErr = err
- return
- }
-
- XU, err = xgbutil.NewConnXgb(X)
- if err != nil {
- InitErr = err
- return
- }
-
- setup := xproto.Setup(X)
- Screen = setup.DefaultScreen(X)
-
- read, err := os.Open(config.Font)
- if err != nil {
- InitErr = common.Perror("os.Open", err)
- return
- }
-
- font, err = xgraphics.ParseFont(read)
- if err != nil {
- InitErr = common.Perror("xgraphics.ParseFont", err)
- return
- }
-
- test := xgraphics.New(XU, image.Rect(0, 0, int(config.FontSize * 10), int(config.FontSize * 10)))
- tw, th, _ = test.Text(0, 0, int2BGRA(config.Fg), config.FontSize, font, "X")
- tbpad = (int(config.H) - th) / 2
-}
-
-func int2BGRA(argb uint32) (xgraphics.BGRA) {
- return xgraphics.BGRA{
- B: uint8( argb & 0x000000ff),
- G: uint8((argb & 0x0000ff00) >> 8),
- R: uint8((argb & 0x00ff0000) >> 16),
- A: uint8((argb & 0xff000000) >> 24) }
-}
-
-func GraphicReInit(i **xgraphics.Image, r image.Rectangle) {
- if *i != nil {
- (*i).Destroy()
- }
-
- *i = xgraphics.New(XU, r)
-}
-
-func DrawText(i *xgraphics.Image, x int, col uint32, text string) (int, error) {
- nx, _, err := i.Text(x, config.FontYPad,
- int2BGRA(col), config.FontSize, font, text)
- return nx - x, err
-}
-
-func TextWidth(text string) (int) {
- return tw * len(text)
-}
-
-func DrawRect(i *xgraphics.Image, x, y, w, h int, c uint32, fill bool) {
- col := int2BGRA(c)
-
- 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)
- }
- }
- }
-}