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.

Reply via email to