From: Simon Glass <sjg@chromium.org> Add some simple tests for drawing the mouse pointer on a white and black background. Signed-off-by: Simon Glass <sjg@chromium.org> --- test/dm/video.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/dm/video.c b/test/dm/video.c index 6c96eee1b8b..a802228b790 100644 --- a/test/dm/video.c +++ b/test/dm/video.c @@ -667,6 +667,35 @@ static int dm_test_video_comp_bmp8(struct unit_test_state *uts) } DM_TEST(dm_test_video_comp_bmp8, UTF_SCAN_PDATA | UTF_SCAN_FDT); +/* Test drawing the riscos pointer */ +static int dm_test_video_bmp_alpha(struct unit_test_state *uts) +{ + struct video_priv *priv; + struct udevice *dev; + ulong addr; + + ut_assertok(video_get_nologo(uts, &dev)); + priv = dev_get_uclass_priv(dev); + addr = map_to_sysmem(video_image_getptr(riscos_arrow)); + + /* Draw a black rectangle first */ + video_draw_box(dev, 100, 100, 200, 200, 0, + video_index_to_colour(priv, VID_BLACK), true); + + /* Draw the pointer on top of the black rectangle */ + ut_assertok(video_bmp_display(dev, addr, 110, 110, false)); + ut_asserteq(174, video_compress_fb(uts, dev, false)); + ut_assertok(video_check_copy_fb(uts, dev)); + + /* Draw the pointer on top of the black rectangle */ + ut_assertok(video_bmp_display(dev, addr, 350, 110, false)); + ut_asserteq(249, video_compress_fb(uts, dev, false)); + ut_assertok(video_check_copy_fb(uts, dev)); + + return 0; +} +DM_TEST(dm_test_video_bmp_alpha, UTF_SCAN_PDATA | UTF_SCAN_FDT); + /* Test TrueType console */ static int dm_test_video_truetype(struct unit_test_state *uts) { -- 2.43.0