evas_object_image_native_surface_set(evas_info->eo, NULL);
evas_info->update_needed = FALSE;
}
+ surf.data.tbm.ratio = evas_info->ratio;
- if (evas_info->use_ratio) {
- surf.data.tbm.ratio = (float) evas_info->w / evas_info->h;
- LOGD("set ratio");
- }
evas_object_size_hint_align_set(evas_info->eo, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(evas_info->eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
if (evas_info->w > 0 && evas_info->h > 0)
LOGE("no information about geometry (%d, %d)", result.w, result.h);
return MM_ERROR_EVASRENDER_INVALID_ARGUMENT;
}
+ surf.data.tbm.ratio = evas_info->ratio;
- if (evas_info->use_ratio) {
- surf.data.tbm.ratio = (float) evas_info->w / evas_info->h;
- LOGD("set ratio");
- }
evas_object_size_hint_align_set(evas_info->eo, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(evas_info->eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
if (evas_info->w > 0 && evas_info->h > 0)
case DISP_GEO_METHOD_LETTER_BOX:
/* set black padding for letter box mode */
LOGD("letter box mode");
- evas_info->use_ratio = TRUE;
+ evas_info->ratio = (float) evas_info->w / evas_info->h;
result->w = evas_info->eo_size.w;
result->h = evas_info->eo_size.h;
break;
case DISP_GEO_METHOD_ORIGIN_SIZE:
LOGD("origin size mode");
- evas_info->use_ratio = FALSE;
+ evas_info->ratio = 0;
/* set coordinate for each case */
result->x = (evas_info->eo_size.w - evas_info->w) / 2;
result->y = (evas_info->eo_size.h - evas_info->h) / 2;
break;
case DISP_GEO_METHOD_FULL_SCREEN:
LOGD("full screen mode");
- evas_info->use_ratio = FALSE;
+ evas_info->ratio = 0;
result->w = evas_info->eo_size.w;
result->h = evas_info->eo_size.h;
break;
case DISP_GEO_METHOD_CROPPED_FULL_SCREEN:
LOGD("cropped full screen mode");
- evas_info->use_ratio = FALSE;
+ evas_info->ratio = 0;
float eo_ratio = (float)evas_info->eo_size.w / evas_info->eo_size.h;
float video_ratio = (float)evas_info->w / evas_info->h;
/* compare evas object's ratio with video's */
/* if video size is smaller than evas object's, it will be set to origin size mode */
if ((evas_info->eo_size.w > evas_info->w) && (evas_info->eo_size.h > evas_info->h)) {
LOGD("origin size mode");
- evas_info->use_ratio = FALSE;
+ evas_info->ratio = 0;
/* set coordinate for each case */
result->x = (evas_info->eo_size.w - evas_info->w) / 2;
result->y = (evas_info->eo_size.h - evas_info->h) / 2;
result->h = evas_info->h;
} else {
LOGD("letter box mode");
- evas_info->use_ratio = TRUE;
+ evas_info->ratio = (float) evas_info->w / evas_info->h;
result->w = evas_info->eo_size.w;
result->h = evas_info->eo_size.h;
}
break;
case DISP_GEO_METHOD_CUSTOM_ROI:
LOGD("custom roi mode");
- evas_info->use_ratio = TRUE;
+ /* roi need to set -1 */
+ evas_info->ratio = -1;
result->x = evas_info->dst_roi.x;
result->y = evas_info->dst_roi.y;
result->w = evas_info->dst_roi.w;
_mm_evas_renderer_update_geometry(evas_info, &result);
- if (evas_info->use_ratio) {
- surf->data.tbm.ratio = (float) evas_info->w / evas_info->h;
- LOGD("set ratio");
- }
+ surf->data.tbm.ratio = evas_info->ratio;
+
if (result.x || result.y)
LOGD("coordinate x, y (%d, %d) for locating video to center", result.x, result.y);
evas_info->update_needed = TRUE;
evas_info->flip = value;
}
-
ret = _mm_evas_pipe_write(evas_info, UPDATE_TBM_SURF);
MMER_FLEAVE();