Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/bin Modified Files: evas_test_main.c Log Message: jose's software rendering work - slight improvements (about 5-10%). i had to disable destination alha mmx support for text rendering (mask + color) as it was broken in tests. =================================================================== RCS file: /cvs/e/e17/libs/evas/src/bin/evas_test_main.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- evas_test_main.c 16 Apr 2006 17:04:36 -0000 1.30 +++ evas_test_main.c 2 May 2006 07:28:46 -0000 1.31 @@ -81,6 +81,26 @@ static Evas_Object *p_r[8]; static Evas_Object *p_t[16]; +static unsigned int grad_map[128] = { +0xfe5a7271, 0xfe576f6f, 0xfe566f6f, 0xfe526c6c, 0xfe4f6868, 0xfe4e6666, 0xfe4d6565, 0xfe4d6665, +0xfe4d6665, 0xfe4d6665, 0xfe4e6667, 0xfe4d6566, 0xfe4b6363, 0xfe4a6161, 0xfe486060, 0xfe485f60, +0xfe455d5d, 0xfe445c5d, 0xfe445c5d, 0xfe455d5f, 0xfe496163, 0xfe506969, 0xfe546c6e, 0xfe546c6e, +0xfe526c6e, 0xfe4b6367, 0xfe455d61, 0xfe425a5e, 0xfe3f575b, 0xfe3c5458, 0xfe3a5256, 0xfe385154, +0xfe364f52, 0xfe344e51, 0xfe334d50, 0xfe324c4f, 0xfe314b4f, 0xfe334c50, 0xfe344d51, 0xfe344e51, +0xfe354e51, 0xfe375054, 0xfe395054, 0xfe3c545a, 0xfe3c545a, 0xfe3a5358, 0xfe395358, 0xfe395357, +0xfe395258, 0xfe395358, 0xfe3a545a, 0xfe3c555a, 0xfe3c555a, 0xfe3a5459, 0xfe3a5459, 0xfe3b545a, +0xfe3d565c, 0xfe3d575c, 0xfe3c565b, 0xfe3d565b, 0xfe3c565b, 0xfe3b545a, 0xfe395358, 0xfe395358, +0xfe3a5458, 0xfe3c555a, 0xfe405a5e, 0xfe425b60, 0xfe425b5e, 0xfe425c60, 0xfe455d60, 0xfe486063, +0xfe4b6366, 0xfe4e6667, 0xfe4f6969, 0xfe546c6c, 0xfe59706e, 0xfe5f7572, 0xfe667b78, 0xfe677d78, +0xfe798b83, 0xfe8fa095, 0xfe8fa096, 0xfeacbbad, 0xfeb2c1b3, 0xfeb0bfb1, 0xfea6b5a7, 0xfe8d9e92, +0xfe8a9b92, 0xfe88998f, 0xfe92a298, 0xfe9aaa9f, 0xfe8c9e94, 0xfe7d9189, 0xfe778b84, 0xfe7b8e86, +0xfe7d8f86, 0xfe728780, 0xfe687e79, 0xfe677c77, 0xfe637974, 0xfe5d736f, 0xfe576f6c, 0xfe576f6c, +0xfe5a716d, 0xfe576f6c, 0xfe627873, 0xfe6c817a, 0xfe6e837d, 0xfe6b807c, 0xfe667d78, 0xfe5e7672, +0xfe58716e, 0xfe576f6c, 0xfe546c69, 0xfe526b68, 0xfe4e6966, 0xfe4c6663, 0xfe4b6363, 0xfe4a6363, +0xfe4b6563, 0xfe4c6664, 0xfe4b6463, 0xfe4d6666, 0xfe516b69, 0xfe516b6a, 0xfe556f6d, 0xfe5d7573 +}; + + void loop(void) { @@ -1512,18 +1532,51 @@ { Evas_Coord tw, th; + if (!t2) + { + Evas_Object *ob; + + ob = evas_object_text_add(evas); + evas_object_clip_set(ob, panel_clip); + evas_object_layer_set(ob, 5); + evas_object_show(ob); + evas_object_text_font_set(ob, "Vera-Serif-Bold", 44); + t2 = ob; + } evas_object_text_text_set(comment, "We can change the color"); evas_object_text_text_set(title, "Test 28: Set Text Object Color"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); - evas_object_text_font_set(t1, "Vera-Serif-Bold", 48); - evas_object_text_text_set(t1, "Evas"); + evas_object_text_font_set(t1, "Vera-Serif-Bold", 44); + if (t <= 331.0) + { + evas_object_render_op_set(t1, EVAS_RENDER_COPY); + evas_object_text_text_set(t1, "Copy"); + } + else if (t <= 334.0) + { + evas_object_render_op_set(t1, EVAS_RENDER_MUL); + evas_object_text_text_set(t1, "Multiply"); + } + else if (t <= 338.0) + { + evas_object_render_op_set(t1, EVAS_RENDER_SUB_REL); + evas_object_text_text_set(t1, "Sub_Rel"); + } evas_object_geometry_get(t1, NULL, NULL, &tw, &th); - evas_object_move(t1, 120 - (tw / 2), win_h - 120 - (th / 2)); + evas_object_move(t1, 120 - (tw / 2), win_h - 80 - (th / 2)); evas_object_color_set(t1, ((int)(t * 255)) & 0xff, ((int)(t * 200)) & 0xff, ((int)(t * 133)) & 0xff, ((int)(t * 128)) & 0xff); + + evas_object_geometry_get(t2, NULL, NULL, &tw, &th); + evas_object_move(t2, 120 - (tw / 2), win_h - 160 - (th / 2)); + evas_object_color_set(t2, + ((int)(t * 255)) & 0xff, + ((int)(t * 200)) & 0xff, + ((int)(t * 133)) & 0xff, ((int)(t * 128)) & 0xff); + evas_object_text_text_set(t2, "Blend"); } else if (t <= 339.0) { @@ -1589,7 +1642,7 @@ y = sin(v * 1.9) * ((220) / 2); evas_object_move(t1, 10, win_h - 240 + 10); evas_object_resize(t1, x + 110, y + 110); - // evas_object_gradient_fill_set(t1, 0, 0, x + 110, y + 110); + evas_object_gradient_data_set(t1, grad_map, 128, 1); evas_object_gradient_fill_set(t1, 0, 0, 110, 110); } } @@ -1610,9 +1663,17 @@ x = cos(v * 1.7) * ((220) / 2); y = sin(v * 1.9) * ((220) / 2); evas_object_resize(t1, x + 110, y + 110); - // evas_object_gradient_fill_set(t1, 0, 0, x + 110, y + 110); evas_object_gradient_fill_set(t1, 0, 0, 110, 110); evas_object_gradient_angle_set(t1, t * 60); + if (t >= 365.0) + { + evas_object_gradient_data_unset(t1); + evas_object_gradient_colors_clear(t1); + evas_object_gradient_color_add(t1, 255, 255, 255, 255, 1); + evas_object_gradient_color_add(t1, 250, 192, 64, 255, 1); + evas_object_gradient_color_add(t1, 220, 128, 0, 255, 1); + evas_object_gradient_color_add(t1, 200, 64, 0, 255, 1); + } } } else if (t <= 379.0) @@ -1620,7 +1681,7 @@ Evas_Coord tw, th; evas_object_text_text_set(comment, - "We can change color gradient, angle & resize"); + "We can change gradient colors, angle & resize"); evas_object_text_text_set(title, "Test 31: Gradient Range"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); @@ -1634,6 +1695,7 @@ evas_object_resize(t1, x + 110, y + 110); evas_object_gradient_fill_set(t1, 0, 0, 110, 110); evas_object_gradient_angle_set(t1, t * 60); +// evas_object_gradient_data_unset(t1); evas_object_gradient_colors_clear(t1); evas_object_gradient_color_add(t1, 255, 255, 255, 255, 1); evas_object_gradient_color_add(t1, @@ -1659,7 +1721,7 @@ Evas_Coord tw, th; evas_object_text_text_set(comment, - "We can change color of a gradient object"); + "We can change the color of a gradient object"); evas_object_text_text_set(title, "Test 32: Gradient Object Color"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); @@ -1673,9 +1735,14 @@ evas_object_resize(t1, x + 110, y + 110); evas_object_gradient_fill_set(t1, 0, 0, 110, 110); evas_object_gradient_angle_set(t1, t * 60); - evas_object_gradient_colors_clear(t1); - evas_object_gradient_color_add(t1, 255, 255, 255, 255, 1); - evas_object_gradient_color_add(t1, 0, 0, 0, 255, 0); + evas_object_gradient_data_set(t1, grad_map, 128, 1); + if (t >= 384.0) + { + evas_object_gradient_data_unset(t1); + evas_object_gradient_colors_clear(t1); + evas_object_gradient_color_add(t1, 255, 255, 255, 255, 1); + evas_object_gradient_color_add(t1, 0, 0, 0, 255, 1); + } evas_object_color_set(t1, ((int)(t * 120)) & 0xff, ((int)(t * 260)) & 0xff, @@ -1747,14 +1814,16 @@ // x = cos(v * 1.7) * ((220) / 2); y = sin(v * 0.5) * ((110) / 2); if (y < 0) y = -y; - evas_object_gradient_fill_set(t1, 55, 55, 55, y); - evas_object_gradient_angle_set(t1, t * 60); - evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT); evas_object_resize(t1, 110, 110); evas_object_move(t1, (win_w - 110) / 2, (win_h - 240) + ((240 - 110) / 2)); + evas_object_gradient_data_set(t1, grad_map, 128, 1); if (t <= 414.0) { + evas_object_gradient_range_offset_set(t1, (2.0 * (t - 410)) / 5.0); evas_object_gradient_type_set(t1, "radial", NULL); + evas_object_gradient_fill_set(t1, 55, 55, 55, 55); + evas_object_gradient_angle_set(t1, 0); + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT_REPEAT); } else { @@ -1762,7 +1831,11 @@ snprintf(s, sizeof(s), "inner_radius = %3.3f;", 0.7 * (1.0 - (y / 55.0))); evas_object_gradient_type_set(t1, "radial", s); - } + evas_object_gradient_fill_set(t1, 55, 55, 55, y); + evas_object_gradient_angle_set(t1, t * 60); + evas_object_render_op_set(t1, EVAS_RENDER_MUL); + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT); + } } } else if (t <= 439.0) @@ -1780,8 +1853,10 @@ // x = cos(v * 1.7) * ((220) / 2); y = sin(v * 0.5) * ((110) / 2); if (y < 0) y = -y; + evas_object_render_op_set(t1, EVAS_RENDER_BLEND); evas_object_gradient_angle_set(t1, t * 60); evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REFLECT); + evas_object_gradient_range_offset_set(t1, 0.0); evas_object_resize(t1, 110, 110); evas_object_move(t1, (win_w - 110) / 2, (win_h - 240) + ((240 - 110) / 2)); if (t <= 429.0) @@ -1793,6 +1868,12 @@ { char s[1024]; + evas_object_gradient_data_unset(t1); + evas_object_gradient_colors_clear(t1); + evas_object_gradient_color_add(t1, 255, 255, 255, 255, 2); + evas_object_gradient_color_add(t1, 250, 192, 64, 255, 1); + evas_object_gradient_color_add(t1, 220, 128, 0, 255, 1); + evas_object_gradient_color_add(t1, 200, 64, 0, 255, 1); evas_object_gradient_fill_set(t1, 55, 55, 55, y); snprintf(s, sizeof(s), "annulus = %3.3f; wrap = 0.25;", 0.7 * (1.0 - (y / 55.0))); evas_object_gradient_type_set(t1, "angular", s); @@ -1822,6 +1903,7 @@ } else if (t <= 449.0) { + evas_object_gradient_data_set(t1, grad_map, 128, 1); evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REPEAT); } else ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs