evas_vg_shape_shape_append_circle(vd->shape[0], radius_w, radius_h, radius_w);
}
else
- evas_vg_shape_shape_append_rect(vd->shape[0], 0, 0, w, h, vd->corner, vd->corner);
+ {
+ Evas_Coord w2, h2;
+ double effect_ratio;
+
+ evas_object_geometry_get(vd->obj, NULL, NULL, &w2, &h2);
+ effect_ratio = (w2 < h2) ? (double)w / w2 : (double)h / h2;
+ evas_vg_shape_shape_append_rect(vd->shape[0], 0, 0, w, h, vd->corner * effect_ratio, vd->corner * effect_ratio);
+ }
}
static void
evas_vg_shape_shape_append_circle(vd->shape[1], radius_w, radius_h, radius_w);
}
else
- evas_vg_shape_shape_append_rect(vd->shape[1], 0, 0, w, h, vd->corner, vd->corner);
+ {
+ Evas_Coord w2, h2;
+ double effect_ratio;
+
+ evas_object_geometry_get(vd->vg[0], NULL, NULL, &w2, &h2);
+ effect_ratio = (w2 < h2) ? (double)w / w2 : (double)h / h2;
+ evas_vg_shape_shape_append_rect(vd->shape[1], 0, 0, w, h, vd->corner * effect_ratio, vd->corner * effect_ratio);
+ }
}
static void