Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/bin Modified Files: evas_test_main.c Log Message: joses's gradient work - gradient look nice. one problem jose.. USE BRACKETS! do NOT depend on order operation precedence. it broke scaling. laos other completely bizarre mmx things were going wrong with mm7 ending up not 0 so i've had to force it to be 0. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/bin/evas_test_main.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- evas_test_main.c 11 Nov 2005 06:09:46 -0000 1.24 +++ evas_test_main.c 3 Dec 2005 09:27:51 -0000 1.25 @@ -282,14 +282,16 @@ evas_object_image_size_get(p_i[i], &iw, &ih); v = (((t - 6.0) / 10.0) * EVAS_PI * 2) * 2; - x = cos(v * (double)(i + 1) * 3) * ((240 - iw) / 2); - y = sin(v * (double)(i + 1) * 2) * ((240 - ih) / 2); +#define MULTI 1.0 + x = cos(v * MULTI * (double)(i + 1) * 3) * ((240 - iw) / 2); + y = sin(v * MULTI * (double)(i + 1) * 2) * ((240 - ih) / 2); evas_object_move(p_i[i], 120 + x - 80, win_h - 120 + y - 80); v = (((t - 6.0) / 35.0) * EVAS_PI * 2) * 2; - x = (cos(v * (double)(i + 1) * 7) * iw) + iw; - y = (sin(v * (double)(i + 1) * 6) * ih) + ih; + x = (cos(v * MULTI * (double)(i + 1) * 7) * iw) + iw; + y = (sin(v * MULTI * (double)(i + 1) * 6) * ih) + ih; evas_object_resize(p_i[i], x, y); evas_object_image_fill_set(p_i[i], 0, 0, x, y); +// evas_object_hide(p_i[1]); } for (i = 0; i < 16; i++) { @@ -949,17 +951,18 @@ if (!t1) { Evas_Object *ob; + float d = 128 * sqrt(2); evas_object_text_text_set(comment, "Destroy gradient blue, create red"); ob = evas_object_gradient_add(evas); + evas_object_gradient_color_add(ob, 255, 0, 0, 255, 1); evas_object_gradient_color_add(ob, 255, 0, 0, 0, 1); - evas_object_gradient_color_add(ob, 255, 255, 0, 255, 1); - evas_object_gradient_color_add(ob, 255, 255, 255, 255, 1); evas_object_gradient_angle_set(ob, 45.0); evas_object_move(ob, (win_w - 128) / 2, (win_h - 240) + ((240 - 128) / 2)); evas_object_resize(ob, 128, 128); + evas_object_gradient_fill_set(ob, 0, 127, d, d); evas_object_layer_set(ob, 5); evas_object_clip_set(ob, panel_clip); evas_object_show(ob); @@ -974,17 +977,18 @@ if (!t2) { Evas_Object *ob; + float d = 128 * sqrt(2); evas_object_text_text_set(comment, "Destroy gradient red, create blue"); ob = evas_object_gradient_add(evas); + evas_object_gradient_color_add(ob, 0, 0, 255, 255, 1); evas_object_gradient_color_add(ob, 0, 0, 255, 0, 1); - evas_object_gradient_color_add(ob, 0, 255, 255, 255, 1); - evas_object_gradient_color_add(ob, 255, 255, 255, 255, 1); evas_object_gradient_angle_set(ob, 45.0); evas_object_move(ob, (win_w - 128) / 2, (win_h - 240) + ((240 - 128) / 2)); evas_object_resize(ob, 128, 128); + evas_object_gradient_fill_set(ob, 127, 0, d, d); evas_object_layer_set(ob, 5); evas_object_clip_set(ob, panel_clip); evas_object_show(ob); @@ -1540,16 +1544,17 @@ if (!t1) { Evas_Object *ob; + int d = (120 / 2) * sqrt(2); ob = evas_object_gradient_add(evas); evas_object_gradient_color_add(ob, 255, 255, 255, 255, 1); - evas_object_gradient_color_add(ob, 250, 240, 50, 180, 1); - evas_object_gradient_color_add(ob, 220, 60, 0, 120, 1); - evas_object_gradient_color_add(ob, 200, 0, 0, 80, 1); - evas_object_gradient_color_add(ob, 0, 0, 0, 0, 0); + evas_object_gradient_color_add(ob, 250, 192, 64, 255, 1); + evas_object_gradient_color_add(ob, 220, 128, 0, 255, 1); + evas_object_gradient_color_add(ob, 200, 64, 0, 255, 1); evas_object_gradient_angle_set(ob, 45.0); evas_object_move(ob, 60, win_h - 240 + 60); evas_object_resize(ob, 120, 120); + evas_object_gradient_fill_set(ob, 0, 0, 120, d); evas_object_clip_set(ob, panel_clip); evas_object_layer_set(ob, 5); evas_object_show(ob); @@ -1583,6 +1588,8 @@ 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_fill_set(t1, 0, 0, 110, 110); } } else if (t <= 369.0) @@ -1590,7 +1597,7 @@ Evas_Coord tw, th; evas_object_text_text_set(comment, - "We can change gradient angle fills & resize"); + "We can change gradient angle & resize"); evas_object_text_text_set(title, "Test 30: Gradient angles"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); @@ -1602,6 +1609,8 @@ 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); } } @@ -1610,7 +1619,7 @@ Evas_Coord tw, th; evas_object_text_text_set(comment, - "We can change color gradient, angle fill & resize"); + "We can change color gradient, 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); @@ -1622,6 +1631,7 @@ 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, 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); @@ -1643,7 +1653,7 @@ evas_object_gradient_color_add(t1, 0, 0, 0, 0, 0); } } - else if (t <= 369.0) /* FAIL! software_x11, fb */ + else if (t <= 389.0) { Evas_Coord tw, th; @@ -1660,6 +1670,7 @@ 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, 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); @@ -1671,7 +1682,158 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 390.0) + else if (t <= 409.0) + { + Evas_Coord tw, th; + + evas_object_text_text_set(comment, + "We can change the fill and spread of a gradient"); + evas_object_text_text_set(title, "Test 33: Gradient Object Fill and Spread"); + evas_object_geometry_get(title, NULL, NULL, &tw, &th); + evas_object_move(title, (win_w - tw) / 2, win_h - th); + { + Evas_Coord x, y; + double v, d = (160 * sqrt(2)) / 2; + + v = (((t - 6.0) / 10.0) * EVAS_PI * 2) * 2; +// x = cos(v * 1.7) * ((220) / 2); + y = sin(v * 0.5) * d; + evas_object_color_set(t1, 255, 255, 255, 255); + evas_object_resize(t1, 160, 160); + evas_object_move(t1, (win_w - 160) / 2, (win_h - 240) + ((240 - 160) / 2)); + evas_object_gradient_fill_set(t1, 0, 0, 55, y); + evas_object_gradient_angle_set(t1, 45.0); + 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); + if (t <= 394.0) + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REFLECT); + else if (t <= 399.0) + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REPEAT); + else if (t <= 404.0) + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT); + else + { + char s[32]; + + d = (0.6 * y) / 55; if (d < 0) d = -d; + memset(s,0,32); + sprintf(s, "extent = %f3.3;", d); + evas_object_gradient_type_set(t1, "linear", s); + evas_object_gradient_fill_set(t1, 90, 2, 55, 200); + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT); + evas_object_gradient_angle_set(t1, 20.0); + evas_object_resize(t1, 160, 220); + evas_object_move(t1, (win_w - 160) / 2, (win_h - 240) + ((240 - 220) / 2)); + } + } + } + else if (t <= 419.0) + { + Evas_Coord tw, th; + + evas_object_text_text_set(comment, + "We can change the geometry of a gradient"); + evas_object_text_text_set(title, "Test 34: Gradient Object Radial"); + evas_object_geometry_get(title, NULL, NULL, &tw, &th); + evas_object_move(title, (win_w - tw) / 2, win_h - th); + { + Evas_Coord x, y; + double v; + + v = (((t - 6.0) / 10.0) * EVAS_PI * 2) * 2; +// 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)); + if (t <= 414.0) + { + evas_object_gradient_type_set(t1, "radial", NULL); + } + else + { + char s[32]; + + memset(s,0,32); + sprintf(s, "inner_radius = %f3.3;", 0.7 * (1.0 - (y / 55.0))); + evas_object_gradient_type_set(t1, "radial", s); + } + } + } + else if (t <= 439.0) + { + Evas_Coord tw, th; + + evas_object_text_text_set(title, "Test 34: Gradient Object Angular"); + evas_object_geometry_get(title, NULL, NULL, &tw, &th); + evas_object_move(title, (win_w - tw) / 2, win_h - th); + { + Evas_Coord x, y; + double v; + + v = (((t - 6.0) / 10.0) * EVAS_PI * 2) * 2; +// x = cos(v * 1.7) * ((220) / 2); + y = sin(v * 0.5) * ((110) / 2); + if (y < 0) y = -y; + evas_object_gradient_angle_set(t1, t * 60); + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REFLECT); + evas_object_resize(t1, 110, 110); + evas_object_move(t1, (win_w - 110) / 2, (win_h - 240) + ((240 - 110) / 2)); + if (t <= 429.0) + { + evas_object_gradient_fill_set(t1, 55, 55, 55, 55); + evas_object_gradient_type_set(t1, "angular", NULL); + } + else + { + char s[32]; + + memset(s,0,32); + evas_object_gradient_fill_set(t1, 55, 55, 55, y); + sprintf(s, "annulus = %f3.3; wrap = 0.25;", 0.7 * (1.0 - (y / 55.0))); + evas_object_gradient_type_set(t1, "angular", s); + } + } + } + else if (t <= 454.0) + { + Evas_Coord tw, th; + + evas_object_text_text_set(title, "Test 34: Gradient Object Sinusoidal"); + evas_object_geometry_get(title, NULL, NULL, &tw, &th); + evas_object_move(title, (win_w - tw) / 2, win_h - th); + { + Evas_Coord x, y; + double v; + + evas_object_gradient_angle_set(t1, t * 60); + v = (((t - 6.0) / 10.0) * EVAS_PI * 2) * 2; +// x = cos(v * 1.7) * ((220) / 2); + y = sin(v * 0.5) * (110 / 2); + evas_object_gradient_fill_set(t1, 55, 55, 55, y); + evas_object_gradient_type_set(t1, "sinusoidal", NULL); + if (t <= 444.0) + { + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REFLECT); + } + else if (t <= 449.0) + { + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_REPEAT); + } + else + { + evas_object_gradient_spread_set(t1, EVAS_TEXTURE_RESTRICT); + } + + } + } + else if (t <= 455.0) { if (t1) evas_object_del(t1); @@ -1680,13 +1842,13 @@ evas_object_del(t2); t2 = NULL; } - else if (t <= 400.0) + else if (t <= 464.0) { Evas_Coord tw, th; evas_object_text_text_set(comment, "We can move, resize and recolor rectangles"); - evas_object_text_text_set(title, "Test 33: Rectangles"); + evas_object_text_text_set(title, "Test 35: Rectangles"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); if (!t1) @@ -1721,7 +1883,7 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 401.0) + else if (t <= 465.0) { if (t1) evas_object_del(t1); @@ -1730,13 +1892,13 @@ evas_object_del(t2); t2 = NULL; } - else if (t <= 411.0) + else if (t <= 474.0) { Evas_Coord tw, th; evas_object_text_text_set(comment, "We can modify line begin & end coords"); - evas_object_text_text_set(title, "Test 34: Lines"); + evas_object_text_text_set(title, "Test 36: Lines"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); if (!t1) @@ -1773,13 +1935,13 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 421.0) + else if (t <= 483.0) { Evas_Coord tw, th; evas_object_text_text_set(comment, "We can move, resize and recolor lines"); - evas_object_text_text_set(title, "Test 35: Line Move & Resize"); + evas_object_text_text_set(title, "Test 37: Line Move & Resize"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); { @@ -1802,7 +1964,7 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 422.0) + else if (t <= 484.0) { if (t1) evas_object_del(t1); @@ -1811,12 +1973,12 @@ evas_object_del(t2); t2 = NULL; } - else if (t <= 432.0) + else if (t <= 494.0) { Evas_Coord tw, th; evas_object_text_text_set(comment, "We can modify polygon points"); - evas_object_text_text_set(title, "Test 36: Polygons"); + evas_object_text_text_set(title, "Test 38: Polygons"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); if (!t1) @@ -1864,13 +2026,13 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 442.0) + else if (t <= 503.0) { Evas_Coord tw, th; evas_object_text_text_set(comment, "We can move, resize and recolor polygons"); - evas_object_text_text_set(title, "Test 37: Polygon Move & Resize"); + evas_object_text_text_set(title, "Test 39: Polygon Move & Resize"); evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); { @@ -1893,7 +2055,7 @@ ((int)(t * 230)) & 0xff); } } - else if (t <= 443.0) + else if (t <= 504.0) { if (t1) evas_object_del(t1); @@ -1902,7 +2064,7 @@ evas_object_del(t2); t2 = NULL; } - else if (t <= 453.0) + else if (t <= 509.0) { Evas_Coord tw, th; @@ -1912,7 +2074,7 @@ evas_object_geometry_get(title, NULL, NULL, &tw, &th); evas_object_move(title, (win_w - tw) / 2, win_h - th); } - else if (t <= 463.0) + else if (t <= 514.0) { printf("################ evas free\n"); evas_free(evas); ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs