Example #1
0
Ewk_Paint_Context* ewk_paint_context_from_image_new(Evas_Object* image)
{
    EINA_SAFETY_ON_NULL_RETURN_VAL(image, 0);

    Evas_Coord width, height;
    uint8_t* pixels = static_cast<uint8_t*>(evas_object_image_data_get(image, true));
    evas_object_image_size_get(image, &width, &height);

    Ewk_Paint_Context* context = ewk_paint_context_from_image_data_new(pixels, width, height, EVAS_COLORSPACE_ARGB8888);
    if (context) {
        context->pixels = pixels;
        context->image = image;
    }

    return context;
}
Example #2
0
static bool _ewk_view_tiled_render_cb(void* data, Ewk_Tile* tile, const Eina_Rectangle* area)
{
    Ewk_View_Private_Data* priv = static_cast<Ewk_View_Private_Data*>(data);
    Eina_Rectangle rect = {area->x + tile->x, area->y + tile->y, area->w, area->h};

    uint8_t* pixels = static_cast<uint8_t*>(evas_object_image_data_get(tile->image, true));
    Ewk_Paint_Context* context = ewk_paint_context_from_image_data_new(pixels, tile->width, tile->height, tile->cspace);

    ewk_paint_context_translate(context, -tile->x, -tile->y);
    bool result = ewk_view_paint_contents(priv, context, &rect);
    ewk_paint_context_free(context);

    evas_object_image_data_set(tile->image, pixels);

    return result;
}