示例#1
0
static Eina_Bool _ewk_view_tiled_smart_repaints_process(Ewk_View_Smart_Data* smartData)
{
    const Eina_Rectangle* paintRect, * endOfpaintRect;
    size_t count;
    int scrollX, scrollY;

    ewk_frame_scroll_pos_get(smartData->main_frame, &scrollX, &scrollY);

    paintRect = ewk_view_repaints_get(smartData->_priv, &count);
    endOfpaintRect = paintRect + count;
    for (; paintRect < endOfpaintRect; paintRect++) {
        Eina_Rectangle rect;
        rect.x = paintRect->x + scrollX;
        rect.y = paintRect->y + scrollY;
        rect.w = paintRect->w;
        rect.h = paintRect->h;
        ewk_tiled_backing_store_update(smartData->backing_store, &rect);
    }
    ewk_tiled_backing_store_updates_process(smartData->backing_store);

    return true;
}
示例#2
0
static Eina_Bool _ewk_view_tiled_smart_repaints_process(Ewk_View_Smart_Data *sd)
{
    const Eina_Rectangle *pr, *pr_end;
    size_t count;
    int sx, sy;

    ewk_frame_scroll_pos_get(sd->main_frame, &sx, &sy);

    pr = ewk_view_repaints_get(sd->_priv, &count);
    pr_end = pr + count;
    for (; pr < pr_end; pr++) {
        Eina_Rectangle r;
        r.x = pr->x + sx;
        r.y = pr->y + sy;
        r.w = pr->w;
        r.h = pr->h;
        ewk_tiled_backing_store_update(sd->backing_store, &r);
    }
    ewk_tiled_backing_store_updates_process(sd->backing_store);

    return EINA_TRUE;
}