This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository legacy-imlib2.
View the commit online.
commit 567bb5aa75dd65be0f28b3d7f12f84822eb33256
Author: Kim Woelders <[email protected]>
AuthorDate: Wed Mar 1 12:50:33 2023 +0100
test_grab: Add some tests for imlib_copy_drawable_to_image()
---
test/test_grab.cpp | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 86 insertions(+), 1 deletion(-)
diff --git a/test/test_grab.cpp b/test/test_grab.cpp
index b8cfcff..74f2167 100644
--- a/test/test_grab.cpp
+++ b/test/test_grab.cpp
@@ -180,6 +180,23 @@ _img_dump(Imlib_Image im, const char *file)
imlib_save_image(buf);
}
+static void
+_img_fill_solid(Imlib_Image im, uint32_t color)
+{
+ uint32_t *dptr;
+ int x, y, w, h;
+
+ imlib_context_set_image(im);
+
+ w = imlib_image_get_width();
+ h = imlib_image_get_height();
+ dptr = imlib_image_get_data();
+
+ for (y = 0; y < h; y++)
+ for (x = 0; x < w; x++)
+ dptr[y * w + x] = color;
+}
+
static void
_test_grab_1(const int wsrc, const int hsrc, const int xsrc, const int ysrc,
const int xdst, const int ydst)
@@ -255,6 +272,19 @@ _test_grab_1(const int wsrc, const int hsrc, const int xsrc, const int ysrc,
wo = wimg;
ho = himg;
break;
+ case 4:
+ wimg += 8;
+ himg += 8;
+ // fallthrough
+ case 3:
+ im = imlib_create_image(wimg, himg);
+ imlib_context_set_image(im);
+ _img_fill_solid(im, 0);
+ err = !imlib_copy_drawable_to_image(mask, xsrc, ysrc, wsrc, hsrc,
+ xdst, ydst, 0);
+ xo = xdst - xsrc;
+ yo = ydst - ysrc;
+ break;
}
if (mask != None)
@@ -319,7 +349,7 @@ _test_grab_2(const char *test, int depth, int func, int opt, int mask)
{
char buf[64];
Pixmap pmap;
- int w, h, d;
+ int w, h, d, d2;
D("%s: %s: depth=%d func=%d opt=%d mask=%d", __func__,
test, depth, func, opt, mask);
@@ -379,6 +409,29 @@ _test_grab_2(const char *test, int depth, int func, int opt, int mask)
_test_grab_1(w, h, d, -d, 0, 0);
}
break;
+ case 2:
+ d = 2;
+ d2 = 3;
+ _test_grab_1(w, h, -d, -d, -d2, -d2);
+ _test_grab_1(w, h, -d, -d, -d2, d2);
+ _test_grab_1(w, h, -d, -d, d2, d2);
+ _test_grab_1(w, h, -d, -d, d2, -d2);
+
+ _test_grab_1(w, h, -d, d, -d2, -d2);
+ _test_grab_1(w, h, -d, d, -d2, d2);
+ _test_grab_1(w, h, -d, d, d2, d2);
+ _test_grab_1(w, h, -d, d, d2, -d2);
+
+ _test_grab_1(w, h, d, d, -d2, -d2);
+ _test_grab_1(w, h, d, d, -d2, d2);
+ _test_grab_1(w, h, d, d, d2, d2);
+ _test_grab_1(w, h, d, d, d2, -d2);
+
+ _test_grab_1(w, h, d, -d, -d2, -d2);
+ _test_grab_1(w, h, d, -d, -d2, -d2);
+ _test_grab_1(w, h, d, -d, d2, d2);
+ _test_grab_1(w, h, d, -d, d2, -d2);
+ break;
}
XFreePixmap(xd.dpy, pmap);
@@ -441,3 +494,35 @@ TEST(GRAB, grab_offs_sd2)
{
_test_grab("grab_offs", -2, 1);
}
+
+// No scaling - imlib_copy_drawable_to_image
+
+TEST(GRAB, grab_noof_t3)
+{
+ _test_grab("grab_noof", 3, 0);
+}
+
+TEST(GRAB, grab_offs_t3a)
+{
+ _test_grab("grab_noof", 3, 1);
+}
+
+TEST(GRAB, grab_offs_t3b)
+{
+ _test_grab("grab_offs", 3, 2);
+}
+
+TEST(GRAB, grab_noof_t4)
+{
+ _test_grab("grab_noof", 4, 0);
+}
+
+TEST(GRAB, grab_offs_t4a)
+{
+ _test_grab("grab_noof", 4, 1);
+}
+
+TEST(GRAB, grab_offs_t4b)
+{
+ _test_grab("grab_offs", 4, 2);
+}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.