mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-03 08:25:34 +00:00
f114acdb02
iconvg seems to expect a linear premultiplied color. Fixes gio#132 Signed-off-by: Egon Elbre <egonelbre@gmail.com>
39 lines
941 B
Go
39 lines
941 B
Go
// SPDX-License-Identifier: Unlicense OR MIT
|
|
|
|
package f32color
|
|
|
|
import (
|
|
"image/color"
|
|
"testing"
|
|
)
|
|
|
|
func TestNRGBAToRGBA_PostAlpha_Boundary(t *testing.T) {
|
|
for col := 0; col <= 0xFF; col++ {
|
|
for alpha := 0; alpha <= 0xFF; alpha++ {
|
|
in := color.NRGBA{R: uint8(col), A: uint8(alpha)}
|
|
premul := NRGBAToRGBA_PostAlpha(in)
|
|
if premul.A != uint8(alpha) {
|
|
t.Errorf("%v: got %v expected %v", in, premul.A, alpha)
|
|
}
|
|
if premul.R > premul.A {
|
|
t.Errorf("%v: R=%v > A=%v", in, premul.R, premul.A)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestNRGBAToLinearRGBA_Boundary(t *testing.T) {
|
|
for col := 0; col <= 0xFF; col++ {
|
|
for alpha := 0; alpha <= 0xFF; alpha++ {
|
|
in := color.NRGBA{R: uint8(col), A: uint8(alpha)}
|
|
premul := NRGBAToLinearRGBA(in)
|
|
if premul.A != uint8(alpha) {
|
|
t.Errorf("%v: got %v expected %v", in, premul.A, alpha)
|
|
}
|
|
if premul.R > premul.A {
|
|
t.Errorf("%v: R=%v > A=%v", in, premul.R, premul.A)
|
|
}
|
|
}
|
|
}
|
|
}
|