void Object::setAntiAliased( bool antialias ) { evas_object_anti_alias_set( o, antialias ); }
/* This function applies the information from the Photo_Object to the actual * evas objects. Zoom/rotate factors and etc. */ static void apply_changes(Photo_Object *po) { Evas_Map *map; map = evas_map_new(4); evas_map_point_coord_set(map, 0, po->bx, po->by, 0); evas_map_point_coord_set(map, 1, po->bx + po->bw, po->by, 0); evas_map_point_coord_set(map, 2, po->bx + po->bw, po->by + po->bh, 0); evas_map_point_coord_set(map, 3, po->bx, po->by + po->bh, 0); evas_map_point_image_uv_set(map, 0, 0, 0); evas_map_point_image_uv_set(map, 1, po->bw, 0); evas_map_point_image_uv_set(map, 2, po->bw, po->bh); evas_map_point_image_uv_set(map, 3, 0, po->bh); evas_map_util_rotate(map, po->rotate, po->bx + po->bw / 2, po->by + po->bh /2); evas_map_util_zoom(map, po->zoom, po->zoom, po->bx + po->bw / 2, po->by + po->bh /2); evas_object_map_enable_set(po->ic, EINA_TRUE); evas_object_map_set(po->ic, map); evas_object_anti_alias_set(po->ic, EINA_TRUE); { Evas_Map *shadow_map = evas_map_new(4); evas_map_point_coord_set(shadow_map, 0, po->bx, po->by, 0); evas_map_point_coord_set(shadow_map, 1, po->bx + po->bw, po->by, 0); evas_map_point_coord_set(shadow_map, 2, po->bx + po->bw, po->by + po->bh, 0); evas_map_point_coord_set(shadow_map, 3, po->bx, po->by + po->bh, 0); evas_map_point_image_uv_set(shadow_map, 0, 0, 0); evas_map_point_image_uv_set(shadow_map, 1, SHADOW_W, 0); evas_map_point_image_uv_set(shadow_map, 2, SHADOW_W, SHADOW_H); evas_map_point_image_uv_set(shadow_map, 3, 0, SHADOW_H); evas_map_util_rotate(shadow_map, po->rotate, po->bx + po->bw / 2, po->by + po->bh /2); evas_map_util_zoom(shadow_map, po->zoom * po->shadow_zoom, po->zoom * po->shadow_zoom, po->bx + (po->bw / 2), po->by + (po->bh / 2)); evas_object_map_enable_set(po->shadow, EINA_TRUE); evas_object_map_set(po->shadow, shadow_map); evas_map_free(shadow_map); } /* Update the position of the hit box */ { Evas_Coord minx, miny, maxx, maxy; int i; evas_object_polygon_points_clear(po->hit); evas_map_point_coord_get(map, 0, &minx, &miny, NULL); maxx = minx; maxy = miny; evas_object_polygon_point_add(po->hit, minx, miny); for (i = 1 ; i <= 3 ; i++) { Evas_Coord x, y; evas_map_point_coord_get(map, i, &x, &y, NULL); evas_object_polygon_point_add(po->hit, x, y); if (x < minx) minx = x; else if (x > maxx) maxx = x; if (y < miny) miny = y; else if (y > maxy) maxy = y; } } evas_object_raise(po->shadow); evas_object_raise(po->ic); evas_object_raise(po->hit); evas_map_free(map); }