xgb-render: go back to RGBA because of alignment
Size 9 just happened to have the buffer 16 bytes wide.
This commit is contained in:
parent
23586eae01
commit
41e04fdc9f
|
@ -226,7 +226,7 @@ func main() {
|
||||||
|
|
||||||
// LCD subpixel rendering isn't supported. :(
|
// LCD subpixel rendering isn't supported. :(
|
||||||
opts := &truetype.Options{
|
opts := &truetype.Options{
|
||||||
Size: 9,
|
Size: 10,
|
||||||
DPI: 96, // TODO: Take this from the screen or monitor.
|
DPI: 96, // TODO: Take this from the screen or monitor.
|
||||||
Hinting: font.HintingFull,
|
Hinting: font.HintingFull,
|
||||||
}
|
}
|
||||||
|
@ -234,10 +234,12 @@ func main() {
|
||||||
bounds := f.Bounds(fixed.Int26_6(opts.Size * float64(opts.DPI) *
|
bounds := f.Bounds(fixed.Int26_6(opts.Size * float64(opts.DPI) *
|
||||||
(64.0 / 72.0)))
|
(64.0 / 72.0)))
|
||||||
|
|
||||||
var alphaFormat render.Pictformat
|
var rgbFormat render.Pictformat
|
||||||
for _, pf := range pformats.Formats {
|
for _, pf := range pformats.Formats {
|
||||||
if pf.Depth == 8 && pf.Direct.AlphaMask == 0xff {
|
// Hopefully. Might want to check byte order.
|
||||||
alphaFormat = pf.Id
|
if pf.Depth == 32 && pf.Direct.AlphaMask != 0 {
|
||||||
|
rgbFormat = pf.Id
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -248,11 +250,12 @@ func main() {
|
||||||
|
|
||||||
// NOTE: A depth of 24 will not work, the server always rejects it.
|
// NOTE: A depth of 24 will not work, the server always rejects it.
|
||||||
// Composite alpha doesn't make sense since golang/freetype can't use it.
|
// Composite alpha doesn't make sense since golang/freetype can't use it.
|
||||||
_ = render.CreateGlyphSet(X, gsid, alphaFormat)
|
// We use RGBA here just so that lines are padded to 32 bits.
|
||||||
|
_ = render.CreateGlyphSet(X, gsid, rgbFormat)
|
||||||
|
|
||||||
// NOTE: We could do gamma post-correction in higher precision if we
|
// NOTE: We could do gamma post-correction in higher precision if we
|
||||||
// implemented our own clone of the image.Image implementation.
|
// implemented our own clone of the image.Image implementation.
|
||||||
nrgb := image.NewGray(image.Rect(
|
nrgb := image.NewRGBA(image.Rect(
|
||||||
+bounds.Min.X.Floor(),
|
+bounds.Min.X.Floor(),
|
||||||
-bounds.Min.Y.Floor(),
|
-bounds.Min.Y.Floor(),
|
||||||
+bounds.Max.X.Ceil(),
|
+bounds.Max.X.Ceil(),
|
||||||
|
|
Loading…
Reference in New Issue