Mercurial > MadButterfly
annotate Android/examples/native_test/native_test.cpp @ 690:86c6ebf1de25
Add JS binding for sh_rect_t
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Sat, 07 Aug 2010 23:00:16 +0800 |
parents | 3a7bce43ec6e |
children |
rev | line source |
---|---|
518
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
1 #include <SkCanvas.h> |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
2 #include <SkBitmap.h> |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
3 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
4 extern "C" { |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
5 #include <mb.h> |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
6 }; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
7 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
8 void native_test(void) { |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
9 mbe_t *mbe1, *mbe2; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
10 SkBitmap *bmap1, *bmap2; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
11 redraw_man_t _rdman; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
12 redraw_man_t *rdman = &_rdman; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
13 coord_t *root; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
14 shape_t *shape; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
15 paint_t *paint; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
16 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
17 bmap1 = new SkBitmap(); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
18 bmap1->setConfig(SkBitmap::kARGB_8888_Config, 300, 300); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
19 mbe1 = mbe_create((mbe_surface_t *)bmap1); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
20 bmap2 = new SkBitmap(); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
21 bmap2->setConfig(SkBitmap::kARGB_8888_Config, 300, 300); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
22 mbe2 = mbe_create((mbe_surface_t *)bmap2); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
23 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
24 redraw_man_init(rdman, mbe1, mbe2); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
25 root = rdman_get_root(rdman); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
26 shape = rdman_shape_path_new(rdman, "M 100 100 L 100 150 L 150 150 z"); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
27 paint = rdman_paint_color_new(rdman, 1, 0, 0, 1); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
28 rdman_paint_stroke(rdman, paint, shape); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
29 rdman_add_shape(rdman, shape, root); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
30 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
31 rdman_shape_changed(rdman, shape); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
32 rdman_paint_changed(rdman, paint); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
33 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
34 rdman_redraw_all(rdman); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
35 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
36 rdman_paint_free(rdman, paint); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
37 rdman_shape_free(rdman, shape); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
38 redraw_man_destroy(rdman); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
39 } |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
40 |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
41 int main(int argc, const char *argv[]) { |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
42 native_test(); |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
43 return 0; |
3a7bce43ec6e
Android native code with MB
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
44 } |