view Android/examples/native_test/native_test.cpp @ 881:a17c4e231e54 abs_n_rel_center

Transform positions of radient paints. cx, cy of radial and x1, y1, x2, y2 of linear gradient paints must be transformed with aggregated matrix of painted shapes. Pattern to user space transformation maybe used to get more precise color.
author Thinker K.F. Li <thinker@codemud.net>
date Sat, 25 Sep 2010 20:12:45 +0800
parents 3a7bce43ec6e
children
line wrap: on
line source

#include <SkCanvas.h>
#include <SkBitmap.h>

extern "C" {
#include <mb.h>
};

void native_test(void) {
    mbe_t *mbe1, *mbe2;
    SkBitmap *bmap1, *bmap2;
    redraw_man_t _rdman;
    redraw_man_t *rdman = &_rdman;
    coord_t *root;
    shape_t *shape;
    paint_t *paint;

    bmap1 = new SkBitmap();
    bmap1->setConfig(SkBitmap::kARGB_8888_Config, 300, 300);
    mbe1 = mbe_create((mbe_surface_t *)bmap1);
    bmap2 = new SkBitmap();
    bmap2->setConfig(SkBitmap::kARGB_8888_Config, 300, 300);
    mbe2 = mbe_create((mbe_surface_t *)bmap2);

    redraw_man_init(rdman, mbe1, mbe2);
    root = rdman_get_root(rdman);
    shape = rdman_shape_path_new(rdman, "M 100 100 L 100 150 L 150 150 z");
    paint = rdman_paint_color_new(rdman, 1, 0, 0, 1);
    rdman_paint_stroke(rdman, paint, shape);
    rdman_add_shape(rdman, shape, root);

    rdman_shape_changed(rdman, shape);
    rdman_paint_changed(rdman, paint);

    rdman_redraw_all(rdman);

    rdman_paint_free(rdman, paint);
    rdman_shape_free(rdman, shape);
    redraw_man_destroy(rdman);
}

int main(int argc, const char *argv[]) {
    native_test();
    return 0;
}