Ignore:
Timestamp:
May 21, 2009, 10:55:13 PM (11 years ago)
Author:
Sam Hocevar
Message:

Change the dirty rectangle API once again so that calling applications get
a more natural (x,y,w,h) 4-tuple to handle.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/tests/dirty.cpp

    r3470 r3494  
    11/*
    22 *  caca-test     testsuite program for libcaca
    3  *  Copyright (c) 2009 Sam Hocevar <sam@zoy.org>
     3 *  Copyright (c) 2009 Sam Hocevar <sam@hocevar.net>
    44 *                All Rights Reserved
    55 *
     
    3939    {
    4040        caca_canvas_t *cv;
    41         int i, xmin, xmax, ymin, ymax;
     41        int i, dx, dy, dw, dh;
    4242
    4343        /* Check that the dirty rectangle contains the whole canvas
    4444         * upon creation. */
    4545        cv = caca_create_canvas(WIDTH, HEIGHT);
    46         i = caca_get_dirty_rectangle_count(cv);
     46        i = caca_get_dirty_rect_count(cv);
    4747        CPPUNIT_ASSERT_EQUAL(i, 1);
    4848
    49         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    50         CPPUNIT_ASSERT_EQUAL(xmin, 0);
    51         CPPUNIT_ASSERT_EQUAL(ymin, 0);
    52         CPPUNIT_ASSERT_EQUAL(xmax, caca_get_canvas_width(cv) - 1);
    53         CPPUNIT_ASSERT_EQUAL(ymax, caca_get_canvas_height(cv) - 1);
     49        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     50        CPPUNIT_ASSERT_EQUAL(dx, 0);
     51        CPPUNIT_ASSERT_EQUAL(dy, 0);
     52        CPPUNIT_ASSERT_EQUAL(dw, caca_get_canvas_width(cv));
     53        CPPUNIT_ASSERT_EQUAL(dh, caca_get_canvas_height(cv));
    5454
    5555        /* Invalidate the dirty rectangle and check that it stays so. */
    56         caca_clear_dirty_rectangle_list(cv);
    57         i = caca_get_dirty_rectangle_count(cv);
     56        caca_clear_dirty_rect_list(cv);
     57        i = caca_get_dirty_rect_count(cv);
    5858        CPPUNIT_ASSERT_EQUAL(i, 0);
    5959
     
    6464    {
    6565        caca_canvas_t *cv;
    66         int i, xmin, xmax, ymin, ymax;
     66        int i, dx, dy, dw, dh;
    6767
    6868        cv = caca_create_canvas(WIDTH, HEIGHT);
    6969
    70         caca_clear_dirty_rectangle_list(cv);
     70        caca_clear_dirty_rect_list(cv);
    7171        caca_put_char(cv, 7, 3, 'x');
    72         i = caca_get_dirty_rectangle_count(cv);
     72        i = caca_get_dirty_rect_count(cv);
    7373        CPPUNIT_ASSERT_EQUAL(i, 1);
    74         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    75         CPPUNIT_ASSERT_EQUAL(xmin, 7);
    76         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    77         CPPUNIT_ASSERT_EQUAL(xmax, 7);
    78         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     74        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     75        CPPUNIT_ASSERT_EQUAL(dx, 7);
     76        CPPUNIT_ASSERT_EQUAL(dy, 3);
     77        CPPUNIT_ASSERT_EQUAL(dw, 1);
     78        CPPUNIT_ASSERT_EQUAL(dh, 1);
    7979
    8080        caca_clear_canvas(cv);
    81         caca_clear_dirty_rectangle_list(cv);
     81        caca_clear_dirty_rect_list(cv);
    8282        caca_put_char(cv, 7, 3, 0x2f06 /* ⼆ */);
    83         i = caca_get_dirty_rectangle_count(cv);
     83        i = caca_get_dirty_rect_count(cv);
    8484        CPPUNIT_ASSERT_EQUAL(i, 1);
    85         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    86         CPPUNIT_ASSERT_EQUAL(xmin, 7);
    87         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    88         CPPUNIT_ASSERT_EQUAL(xmax, 8);
    89         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     85        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     86        CPPUNIT_ASSERT_EQUAL(dx, 7);
     87        CPPUNIT_ASSERT_EQUAL(dy, 3);
     88        CPPUNIT_ASSERT_EQUAL(dw, 2);
     89        CPPUNIT_ASSERT_EQUAL(dh, 1);
    9090
    9191        caca_clear_canvas(cv);
    9292        caca_put_char(cv, 7, 3, 0x2f06 /* ⼆ */);
    93         caca_clear_dirty_rectangle_list(cv);
     93        caca_clear_dirty_rect_list(cv);
    9494        caca_put_char(cv, 7, 3, 'x');
    95         i = caca_get_dirty_rectangle_count(cv);
     95        i = caca_get_dirty_rect_count(cv);
    9696        CPPUNIT_ASSERT_EQUAL(i, 1);
    97         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    98         CPPUNIT_ASSERT_EQUAL(xmin, 7);
    99         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    100         CPPUNIT_ASSERT_EQUAL(xmax, 8);
    101         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     97        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     98        CPPUNIT_ASSERT_EQUAL(dx, 7);
     99        CPPUNIT_ASSERT_EQUAL(dy, 3);
     100        CPPUNIT_ASSERT_EQUAL(dw, 2);
     101        CPPUNIT_ASSERT_EQUAL(dh, 1);
    102102
    103103        caca_clear_canvas(cv);
    104104        caca_put_char(cv, 7, 3, 0x2f06 /* ⼆ */);
    105         caca_clear_dirty_rectangle_list(cv);
     105        caca_clear_dirty_rect_list(cv);
    106106        caca_put_char(cv, 8, 3, 'x');
    107         i = caca_get_dirty_rectangle_count(cv);
     107        i = caca_get_dirty_rect_count(cv);
    108108        CPPUNIT_ASSERT_EQUAL(i, 1);
    109         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    110         CPPUNIT_ASSERT_EQUAL(xmin, 7);
    111         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    112         CPPUNIT_ASSERT_EQUAL(xmax, 8);
    113         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     109        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     110        CPPUNIT_ASSERT_EQUAL(dx, 7);
     111        CPPUNIT_ASSERT_EQUAL(dy, 3);
     112        CPPUNIT_ASSERT_EQUAL(dw, 2);
     113        CPPUNIT_ASSERT_EQUAL(dh, 1);
    114114
    115115        caca_clear_canvas(cv);
    116116        caca_put_char(cv, 7, 3, 0x2f06 /* ⼆ */);
    117         caca_clear_dirty_rectangle_list(cv);
     117        caca_clear_dirty_rect_list(cv);
    118118        caca_put_char(cv, 6, 3, 0x2f06 /* ⼆ */);
    119         i = caca_get_dirty_rectangle_count(cv);
     119        i = caca_get_dirty_rect_count(cv);
    120120        CPPUNIT_ASSERT_EQUAL(i, 1);
    121         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    122         CPPUNIT_ASSERT_EQUAL(xmin, 6);
    123         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    124         CPPUNIT_ASSERT_EQUAL(xmax, 8);
    125         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     121        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     122        CPPUNIT_ASSERT_EQUAL(dx, 6);
     123        CPPUNIT_ASSERT_EQUAL(dy, 3);
     124        CPPUNIT_ASSERT_EQUAL(dw, 3);
     125        CPPUNIT_ASSERT_EQUAL(dh, 1);
    126126
    127127        caca_clear_canvas(cv);
    128128        caca_put_char(cv, 7, 3, 0x2f06 /* ⼆ */);
    129         caca_clear_dirty_rectangle_list(cv);
     129        caca_clear_dirty_rect_list(cv);
    130130        caca_put_char(cv, 8, 3, 0x2f06 /* ⼆ */);
    131         i = caca_get_dirty_rectangle_count(cv);
     131        i = caca_get_dirty_rect_count(cv);
    132132        CPPUNIT_ASSERT_EQUAL(i, 1);
    133         caca_get_dirty_rectangle(cv, 0, &xmin, &ymin, &xmax, &ymax);
    134         CPPUNIT_ASSERT_EQUAL(xmin, 7);
    135         CPPUNIT_ASSERT_EQUAL(ymin, 3);
    136         CPPUNIT_ASSERT_EQUAL(xmax, 9);
    137         CPPUNIT_ASSERT_EQUAL(ymax, 3);
     133        caca_get_dirty_rect(cv, 0, &dx, &dy, &dw, &dh);
     134        CPPUNIT_ASSERT_EQUAL(dx, 7);
     135        CPPUNIT_ASSERT_EQUAL(dy, 3);
     136        CPPUNIT_ASSERT_EQUAL(dw, 3);
     137        CPPUNIT_ASSERT_EQUAL(dh, 1);
    138138    }
    139139
Note: See TracChangeset for help on using the changeset viewer.