tests/internal-screenshot: use image-iter.h
Simplify the code by using ready-made helpers. This also change the loop to draw the image row by row rather than column by column. Row by row is more natural as it is linear with the memory layout. No other change in behaviour. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
This commit is contained in:
committed by
Pekka Paalanen
parent
884c5f80e8
commit
67331be0cd
@@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
#include "weston-test-client-helper.h"
|
#include "weston-test-client-helper.h"
|
||||||
#include "weston-test-fixture-compositor.h"
|
#include "weston-test-fixture-compositor.h"
|
||||||
|
#include "image-iter.h"
|
||||||
#include "test-config.h"
|
#include "test-config.h"
|
||||||
|
|
||||||
static enum test_result_code
|
static enum test_result_code
|
||||||
@@ -55,31 +56,21 @@ DECLARE_FIXTURE_SETUP(fixture_setup);
|
|||||||
static void
|
static void
|
||||||
draw_stuff(pixman_image_t *image)
|
draw_stuff(pixman_image_t *image)
|
||||||
{
|
{
|
||||||
int w, h;
|
struct image_header ih = image_header_from(image);
|
||||||
int stride; /* bytes */
|
|
||||||
int x, y;
|
int x, y;
|
||||||
uint32_t r, g, b;
|
uint32_t r, g, b;
|
||||||
uint32_t *pixels;
|
|
||||||
uint32_t *pixel;
|
|
||||||
pixman_format_code_t fmt;
|
|
||||||
|
|
||||||
fmt = pixman_image_get_format(image);
|
for (y = 0; y < ih.height; y++) {
|
||||||
w = pixman_image_get_width(image);
|
uint32_t *pixel = image_header_get_row_u32(&ih, y);
|
||||||
h = pixman_image_get_height(image);
|
|
||||||
stride = pixman_image_get_stride(image);
|
|
||||||
pixels = pixman_image_get_data(image);
|
|
||||||
|
|
||||||
assert(PIXMAN_FORMAT_BPP(fmt) == 32);
|
for (x = 0; x < ih.width; x++, pixel++) {
|
||||||
|
|
||||||
for (x = 0; x < w; x++)
|
|
||||||
for (y = 0; y < h; y++) {
|
|
||||||
b = x;
|
b = x;
|
||||||
g = x + y;
|
g = x + y;
|
||||||
r = y;
|
r = y;
|
||||||
pixel = pixels + (y * stride / 4) + x;
|
|
||||||
*pixel = (255U << 24) | (r << 16) | (g << 8) | b;
|
*pixel = (255U << 24) | (r << 16) | (g << 8) | b;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TEST(internal_screenshot)
|
TEST(internal_screenshot)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user