36 lines · 600 B · Go
RawDownload
package draw9 // various bitpacking and decoding functions import (	"encoding/binary"	"image") func atoi(b []byte) int {	i := 0	for i < len(b) && b[i] == ' ' {		i++	}	n := 0	for ; i < len(b) && '0' <= b[i] && b[i] <= '9'; i++ {		n = n*10 + int(b[i]) - '0'	}	return n} func atop(b []byte) image.Point {	return image.Pt(atoi(b), atoi(b[12:]))} func ator(b []byte) image.Rectangle {	return image.Rectangle{atop(b), atop(b[2*12:])}} func bplong(b []byte, n uint32) {	binary.LittleEndian.PutUint32(b, n)} func bpshort(b []byte, n uint16) {	binary.LittleEndian.PutUint16(b, n)}