summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/elementary/elm_transit.c6
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c
index 6774e74589..a0813791f4 100644
--- a/src/lib/elementary/elm_transit.c
+++ b/src/lib/elementary/elm_transit.c
@@ -95,6 +95,7 @@ struct _Elm_Transit_Obj_Data
95 Eina_Bool map_enabled : 1; 95 Eina_Bool map_enabled : 1;
96 Eina_Bool visible : 1; 96 Eina_Bool visible : 1;
97 Eina_Bool freeze_events : 1; 97 Eina_Bool freeze_events : 1;
98 Eina_Bool anti_alias : 1;
98 } state; 99 } state;
99 int ref; 100 int ref;
100}; 101};
@@ -140,6 +141,7 @@ _transit_obj_data_save(Evas_Object *obj)
140 obj_data->state.visible = evas_object_visible_get(obj); 141 obj_data->state.visible = evas_object_visible_get(obj);
141 obj_data->state.freeze_events = evas_object_freeze_events_get(obj); 142 obj_data->state.freeze_events = evas_object_freeze_events_get(obj);
142 obj_data->state.map_enabled = evas_object_map_enable_get(obj); 143 obj_data->state.map_enabled = evas_object_map_enable_get(obj);
144 obj_data->state.anti_alias = evas_object_anti_alias_get(obj);
143 145
144 ELM_SAFE_FREE(obj_data->state.map, evas_map_free); 146 ELM_SAFE_FREE(obj_data->state.map, evas_map_free);
145 147
@@ -205,6 +207,7 @@ _transit_obj_data_recover(Elm_Transit *transit, Evas_Object *obj)
205 obj_data->state.b, obj_data->state.a); 207 obj_data->state.b, obj_data->state.a);
206 if (obj_data->state.visible) evas_object_show(obj); 208 if (obj_data->state.visible) evas_object_show(obj);
207 else evas_object_hide(obj); 209 else evas_object_hide(obj);
210 evas_object_anti_alias_set(obj, obj_data->state.anti_alias);
208 evas_object_map_enable_set(obj, obj_data->state.map_enabled); 211 evas_object_map_enable_set(obj, obj_data->state.map_enabled);
209 evas_object_map_set(obj, obj_data->state.map); 212 evas_object_map_set(obj, obj_data->state.map);
210 } 213 }
@@ -1282,6 +1285,9 @@ _transit_effect_zoom_op(Elm_Transit_Effect *effect, Elm_Transit *transit , doubl
1282 1285
1283 EINA_LIST_FOREACH(transit->objs, elist, obj) 1286 EINA_LIST_FOREACH(transit->objs, elist, obj)
1284 { 1287 {
1288 //Turn on for fixing jiggling by sub-pixel rendering
1289 evas_object_anti_alias_set(obj, EINA_TRUE);
1290
1285 obj_data = evas_object_data_get(obj, _transit_key); 1291 obj_data = evas_object_data_get(obj, _transit_key);
1286 if (obj_data && obj_data->state.map_enabled) 1292 if (obj_data && obj_data->state.map_enabled)
1287 { 1293 {
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index 46f927e28e..a1c48ae451 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1318,7 +1318,8 @@ eng_image_map_draw(void *engine EINA_UNUSED, void *data, void *context, void *su
1318 evas_gl_common_context_target_surface_set(gl_context, surface); 1318 evas_gl_common_context_target_surface_set(gl_context, surface);
1319 gl_context->dc = context; 1319 gl_context->dc = context;
1320 1320
1321 if (fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON && 1321 if (!((RGBA_Draw_Context*) context)->anti_alias &&
1322 fabsf(m->pts[0].fx - m->pts[3].fx) < FLT_EPSILON &&
1322 fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON && 1323 fabsf(m->pts[1].fx - m->pts[2].fx) < FLT_EPSILON &&
1323 fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON && 1324 fabsf(m->pts[0].fy - m->pts[1].fy) < FLT_EPSILON &&
1324 fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON && 1325 fabsf(m->pts[3].fy - m->pts[2].fy) < FLT_EPSILON &&