Skip to content

Commit

Permalink
fixup! feat(pandagl): update image reader to support reading one row …
Browse files Browse the repository at this point in the history
…of data
  • Loading branch information
lc-soft committed Feb 10, 2024
1 parent 47d471f commit 93f68dc
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 18 deletions.
3 changes: 2 additions & 1 deletion lib/pandagl/src/image/reader.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ static pd_image_reader_methods_t pd_image_readers[] = {
pd_jpeg_reader_read_header, pd_jpeg_reader_start,
pd_jpeg_reader_read_row, pd_jpeg_reader_finish },
#endif
{ ".bmp", PD_BMP_READER, pd_bmp_reader_create, pd_png_reader_destroy,
{ ".bmp", PD_BMP_READER, pd_bmp_reader_create, pd_bmp_reader_destroy,
pd_bmp_reader_jmpbuf, pd_bmp_reader_read_header, pd_bmp_reader_start,
pd_bmp_reader_read_row, pd_bmp_reader_finish },
};
Expand Down Expand Up @@ -222,6 +222,7 @@ pd_error_t pd_image_reader_read_data(pd_image_reader_t *reader,
}
pd_image_reader_start(reader);
for (reader->pass = 0; reader->pass < reader->passes; ++reader->pass) {
reader->read_row_index = 0;
while (reader->read_row_index < reader->header.height) {
pd_image_reader_read_row(reader, out);
}
Expand Down
32 changes: 15 additions & 17 deletions tests/cases/test_image_reader.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,20 @@

void test_image_reader(void)
{
pd_canvas_t img;
int i, width, height;
char file[256], *formats[] = { "png", "bmp", "jpg" };
pd_canvas_t img;
int i;
char file[256], *formats[] = { "png", "bmp", "jpg" };

for (i = 0; i < 3; ++i) {
width = height = 0;
pd_canvas_init(&img);
snprintf(file, 255, "test_image_reader.%s", formats[i]);
logger_debug("image file: %s\n", file);
ctest_equal_int("check pd_read_image_from_file", pd_read_image_from_file(file, &img),
0);
ctest_equal_int("check image width with ReadImageFile", img.width, 91);
ctest_equal_int("check image height with ReadImageFile", img.height, 69);
logger_debug("image size: (%d, %d)\n", width, height);
ctest_equal_int("check image width with GetImageSize", width, 91);
ctest_equal_int("check image height with GetImageSize", height, 69);
pd_canvas_destroy(&img);
}
for (i = 0; i < 3; ++i) {
pd_canvas_init(&img);
snprintf(file, 255, "test_image_reader.%s", formats[i]);
logger_debug("image file: %s\n", file);
ctest_equal_int("check pd_read_image_from_file",
pd_read_image_from_file(file, &img), 0);
ctest_equal_int("check image width with ReadImageFile",
img.width, 91);
ctest_equal_int("check image height with ReadImageFile",
img.height, 69);
pd_canvas_destroy(&img);
}
}

0 comments on commit 93f68dc

Please sign in to comment.