blob: 4f36950737c811df194d83482d55c817facfcd26 [file] [log] [blame]
/*
* Test009
*
* (C) Copyright 2002 Geert Uytterhoeven
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file COPYING in the main directory of this archive for
* more details.
*/
#include <unistd.h>
#include "types.h"
#include "fb.h"
#include "color.h"
#include "drawops.h"
#include "image.h"
#include "pixmap.h"
#include "visual.h"
#include "visops.h"
#include "test.h"
#include "util.h"
static enum test_res test009_func(void)
{
const struct image *image;
pixel_t *pixmap;
int x, y, width, height;
image = &penguin;
pixmap = create_pixmap(image);
width = image->width;
height = image->height;
if (width > fb_var.xres || height > fb_var.yres) {
Message("Screen size too small for this test\n");
return TEST_NA;
}
fill_rect(0, 0, fb_var.xres, fb_var.yres, match_color(&c_black));
draw_pixmap(0, 0, width, height, pixmap);
wait_ms(1000);
for (x = width; x < fb_var.xres; x += width) {
copy_rect(x, 0, min(width, fb_var.xres-x), height, 0, 0);
wait_ms(20);
}
wait_ms(1000);
for (y = height; y < fb_var.yres; y += height) {
copy_rect(0, y, fb_var.xres, min(height, fb_var.yres-y), 0, 0);
wait_ms(20);
}
wait_for_key(10);
return TEST_OK;
}
const struct test test009 = {
.name = "test009",
.desc = "Show the penguins using copy_rect",
.visual = VISUAL_GENERIC,
.func = test009_func,
};