mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[kandinsky/color] Add tests on color blending
Change-Id: If1792bd9ec44052238632d28b806f5582b190fe9
This commit is contained in:
committed by
EmilieNumworks
parent
078bba2fb9
commit
e33543aacb
@@ -17,10 +17,25 @@ QUIZ_CASE(kandinsky_color_rgb) {
|
||||
quiz_assert(KDColor::RGB24(0x123456) == 0x11AA);
|
||||
}
|
||||
|
||||
void assert_colors_blend_to(KDColor c1, KDColor c2, uint8_t alpha, KDColor res) {
|
||||
quiz_assert(KDColor::blend(c1, c2, alpha) == res );
|
||||
}
|
||||
|
||||
QUIZ_CASE(kandinsky_color_blend) {
|
||||
KDColor midGray = KDColor::RGB24(0x7F7F7F);
|
||||
KDColor res = KDColor::blend(KDColorWhite, KDColorBlack, 0xFF);
|
||||
quiz_assert(res == KDColorWhite);
|
||||
quiz_assert(KDColor::blend(KDColorWhite, KDColorBlack, 0) == KDColorBlack);
|
||||
quiz_assert(KDColor::blend(KDColorWhite, KDColorBlack, 0x7F) == midGray);
|
||||
KDColor midTurquoise = KDColor::RGB24(0x007F7F);
|
||||
|
||||
assert_colors_blend_to(KDColorWhite, KDColorBlack, 0x00, KDColorBlack);
|
||||
assert_colors_blend_to(KDColorWhite, KDColorBlack, 0xFF, KDColorWhite);
|
||||
assert_colors_blend_to(KDColorWhite, KDColorBlack, 0x7F, midGray);
|
||||
|
||||
assert_colors_blend_to(KDColorGreen, KDColorBlue, 0x00, KDColorBlue);
|
||||
assert_colors_blend_to(KDColorGreen, KDColorBlue, 0xFF, KDColorGreen);
|
||||
assert_colors_blend_to(KDColorGreen, KDColorBlue, 0x7F, midTurquoise);
|
||||
|
||||
// Assert that blending two identical colors does not produce strange colors.
|
||||
for (uint16_t col = 0; col < 0xFFFF; col++) {
|
||||
KDColor color = KDColor::RGB16(col);
|
||||
assert_colors_blend_to(color, color, col>>8, color);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user