nrzled/rasterSPI: fix ordering

This is supposed to be sent out in GRB order (and the comment below also
below claims it), but the code (and corresponding unit tests) did output
RGB order.
pull/1/head
Florian Klink 5 years ago committed by Marc-Antoine Ruel
parent ca5540146f
commit 51e659fc71

@ -309,8 +309,8 @@ func (d *Dev) rasterSPI(dst []byte, src []byte, srcHasAlpha bool) {
dOff := 3 * stride * i //3 channels * stride dOff := 3 * stride * i //3 channels * stride
r, g, b := src[sOff], src[sOff+1], src[sOff+2] r, g, b := src[sOff], src[sOff+1], src[sOff+2]
//grb color order, msb first //grb color order, msb first
copy(dst[dOff+stride*0:dOff+stride*1], nrzMSB4[r][:]) copy(dst[dOff+stride*0:dOff+stride*1], nrzMSB4[g][:])
copy(dst[dOff+stride*1:dOff+stride*2], nrzMSB4[g][:]) copy(dst[dOff+stride*1:dOff+stride*2], nrzMSB4[r][:])
copy(dst[dOff+stride*2:dOff+stride*3], nrzMSB4[b][:]) copy(dst[dOff+stride*2:dOff+stride*3], nrzMSB4[b][:])
} }
} }

@ -165,7 +165,7 @@ var writeTests = []struct {
{0x80, 0xFF, 0x00, 0x00}, {0x80, 0xFF, 0x00, 0x00},
}), }),
want: []byte{ want: []byte{
/*80*/ 0xE8, 0x88, 0x88, 0x88 /*FF*/, 0xEE, 0xEE, 0xEE, 0xEE /*00*/, 0x88, 0x88, 0x88, 0x88, /*FF*/ 0xEE, 0xEE, 0xEE, 0xEE /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*EOF*/ 0x00, 0x00, 0x00, /*EOF*/ 0x00, 0x00, 0x00,
}, },
opts: Opts{ opts: Opts{
@ -180,7 +180,7 @@ var writeTests = []struct {
{0x80, 0x00, 0x00, 0x00}, {0x80, 0x00, 0x00, 0x00},
}), }),
want: []byte{ want: []byte{
/*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*EOF*/ 0x00, 0x00, 0x00, /*EOF*/ 0x00, 0x00, 0x00,
}, },
opts: Opts{ opts: Opts{
@ -195,7 +195,7 @@ var writeTests = []struct {
{0x00, 0x80, 0x00, 0x00}, {0x00, 0x80, 0x00, 0x00},
}), }),
want: []byte{ want: []byte{
/*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*EOF*/ 0x00, 0x00, 0x00, /*EOF*/ 0x00, 0x00, 0x00,
}, },
opts: Opts{ opts: Opts{
@ -241,8 +241,8 @@ var writeTests = []struct {
/*F0*/ 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88, /*F0*/ 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88,
/*80*/ 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88, /*80*/ 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88,
/*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88,
/*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88,
/*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*10*/, 0x88, 0x8E, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*10*/, 0x88, 0x8E, 0x88, 0x88,
@ -351,8 +351,8 @@ var drawTests = []struct {
want: func() []byte { want: func() []byte {
var b []byte var b []byte
for i := 0; i < 4; i++ { for i := 0; i < 4; i++ {
b = append(b, 0x88, 0x88, 0x88, 0x88) //0x00
b = append(b, 0xE8, 0x88, 0x88, 0x88) //0x80 b = append(b, 0xE8, 0x88, 0x88, 0x88) //0x80
b = append(b, 0x88, 0x88, 0x88, 0x88) //0x00
b = append(b, 0xEE, 0xEE, 0xEE, 0xEE) //0xFF b = append(b, 0xEE, 0xEE, 0xEE, 0xEE) //0xFF
} }
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {

Loading…
Cancel
Save