Then the configure.ac should be changed, and all the #ifdef HAVE_ELEMENTARY_THUMB should be removed....
dh On 08/12/13 17:42, Stephen Houston wrote: > Yeah, I know. Necessary evil. Raster said elm should require ethumb now > anyway since efl requires it. > > On Monday, August 12, 2013, Chris Michael wrote: > >> Completly breaks building if --disable-ethumb is passed to configure :( >> >> dh >> >> On 08/12/13 05:30, Stephen Houston - Enlightenment Git wrote: >>> okra pushed a commit to branch master. >>> >>> commit 6bc3942a6495ccecc6408b67073667926e01abd8 >>> Author: Stephen Houston <smhousto...@gmail.com> >>> Date: Sun Aug 11 23:19:32 2013 -0500 >>> >>> elm_thumb: Add support for ethumb formatting and size manipulation. >>> >>> Add the ability to manipulate elm_thumb thumbnails per object by >>> exposing ethumb manipulation. Reviewed by raster and SeoZ. >>> --- >>> src/lib/elm_thumb.c | 338 >> +++++++++++++++++++++++++++++++++++++++++++++ >>> src/lib/elm_thumb.h | 4 + >>> src/lib/elm_thumb_eo.h | 240 ++++++++++++++++++++++++++++++++ >>> src/lib/elm_thumb_legacy.h | 211 ++++++++++++++++++++++++++++ >>> src/lib/elm_widget_thumb.h | 10 ++ >>> 5 files changed, 803 insertions(+) >>> >>> diff --git a/src/lib/elm_thumb.c b/src/lib/elm_thumb.c >>> index d615009..fbda52f 100644 >>> --- a/src/lib/elm_thumb.c >>> +++ b/src/lib/elm_thumb.c >>> @@ -365,6 +365,22 @@ _on_ethumb_thumb_error(Ethumb_Client *client >> __UNUSED__, >>> static void >>> _thumb_start(Elm_Thumb_Smart_Data *sd) >>> { >>> + if (sd->thumb.aspect) >>> + ethumb_client_aspect_set(_elm_ethumb_client, sd->thumb.aspect); >>> + if (sd->thumb.size) >>> + ethumb_client_fdo_set(_elm_ethumb_client, sd->thumb.size); >>> + if (sd->thumb.format) >>> + ethumb_client_format_set(_elm_ethumb_client, sd->thumb.format); >>> + if (sd->thumb.orient) >>> + ethumb_client_orientation_set(_elm_ethumb_client, >> sd->thumb.orient); >>> + if (sd->thumb.tw && sd->thumb.th) >>> + ethumb_client_size_set(_elm_ethumb_client, sd->thumb.tw, sd-> >> thumb.th); >>> + if (sd->thumb.cropx && sd->thumb.cropy) >>> + ethumb_client_crop_align_set(_elm_ethumb_client, sd->thumb.cropx, >> sd->thumb.cropy); >>> + if (sd->thumb.quality) >>> + ethumb_client_quality_set(_elm_ethumb_client, sd->thumb.quality); >>> + if (sd->thumb.compress) >>> + ethumb_client_compress_set(_elm_ethumb_client, sd->thumb.compress); >>> if (sd->thumb.request) >>> { >>> ethumb_client_thumb_async_cancel(_elm_ethumb_client, >> sd->thumb.request); >>> @@ -772,6 +788,296 @@ _path_get(Eo *obj EINA_UNUSED, void *_pd, va_list >> *list) >>> } >>> >>> EAPI void >>> +elm_thumb_aspect_set(Evas_Object *obj, >>> + Ethumb_Thumb_Aspect aspect) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_aspect_set(aspect)); >>> +} >>> + >>> +static void >>> +_aspect_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Aspect aspect = va_arg(*list, Ethumb_Thumb_Aspect); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.aspect = aspect; >>> +} >>> + >>> +EAPI Ethumb_Thumb_Aspect >>> +elm_thumb_aspect_get(const Evas_Object *obj) >>> +{ >>> + ELM_THUMB_CHECK(obj) EINA_FALSE; >>> + Ethumb_Thumb_Aspect ret; >>> + eo_do((Eo *)obj, elm_obj_thumb_aspect_get(&ret)); >>> + return ret; >>> +} >>> + >>> +static void >>> +_aspect_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Aspect *ret = va_arg(*list, Ethumb_Thumb_Aspect *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + *ret = sd->thumb.aspect; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_fdo_size_set(Evas_Object *obj, >>> + Ethumb_Thumb_FDO_Size size) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_fdo_size_set(size)); >>> +} >>> + >>> +static void >>> +_fdo_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_FDO_Size size = va_arg(*list, Ethumb_Thumb_FDO_Size); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.size = size; >>> +} >>> + >>> +EAPI Ethumb_Thumb_FDO_Size >>> +elm_thumb_fdo_size_get(const Evas_Object *obj) >>> +{ >>> + ELM_THUMB_CHECK(obj) EINA_FALSE; >>> + Ethumb_Thumb_FDO_Size ret; >>> + eo_do((Eo *)obj, elm_obj_thumb_fdo_size_get(&ret)); >>> + return ret; >>> +} >>> + >>> +static void >>> +_fdo_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_FDO_Size *ret = va_arg(*list, Ethumb_Thumb_FDO_Size *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + *ret = sd->thumb.size; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_format_set(Evas_Object *obj, >>> + Ethumb_Thumb_Format format) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_format_set(format)); >>> +} >>> + >>> +static void >>> +_format_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Format format = va_arg(*list, Ethumb_Thumb_Format); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.format = format; >>> +} >>> + >>> +EAPI Ethumb_Thumb_Format >>> +elm_thumb_format_get(const Evas_Object *obj) >>> +{ >>> + ELM_THUMB_CHECK(obj) EINA_FALSE; >>> + Ethumb_Thumb_Format ret; >>> + eo_do((Eo *)obj, elm_obj_thumb_format_get(&ret)); >>> + return ret; >>> +} >>> + >>> +static void >>> +_format_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Format *ret = va_arg(*list, Ethumb_Thumb_Format *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + *ret = sd->thumb.format; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_orientation_set(Evas_Object *obj, >>> + Ethumb_Thumb_Orientation orient) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_orientation_set(orient)); >>> +} >>> + >>> +static void >>> +_orientation_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Orientation orient = va_arg(*list, >> Ethumb_Thumb_Orientation); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.orient = orient; >>> +} >>> + >>> +EAPI Ethumb_Thumb_Orientation >>> +elm_thumb_orientation_get(const Evas_Object *obj) >>> +{ >>> + ELM_THUMB_CHECK(obj) EINA_FALSE; >>> + Ethumb_Thumb_Orientation ret; >>> + eo_do((Eo *)obj, elm_obj_thumb_orientation_get(&ret)); >>> + return ret; >>> +} >>> + >>> +static void >>> +_orientation_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + Ethumb_Thumb_Orientation *ret = va_arg(*list, >> Ethumb_Thumb_Orientation *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + *ret = sd->thumb.orient; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_size_set(Evas_Object *obj, >>> + int tw, >>> + int th) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_size_set(tw, th)); >>> +} >>> + >>> +static void >>> +_thumb_size_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int tw = va_arg(*list, int); >>> + int th = va_arg(*list, int); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.tw = tw; >>> + sd->thumb.th = th; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_size_get(const Evas_Object *obj, >>> + int *tw, >>> + int *th) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do((Eo *) obj, elm_obj_thumb_size_get(tw, th)); >>> +} >>> + >>> +static void >>> +_thumb_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int *tw = va_arg(*list, int *); >>> + int *th = va_arg(*list, int *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + if (tw) >>> + *tw = sd->thumb.tw; >>> + if (th) >>> + *th = sd->thumb.th; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_crop_align_set(Evas_Object *obj, >>> + double cropx, >>> + double cropy) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_crop_align_set(cropx, cropy)); >>> +} >>> + >>> +static void >>> +_crop_align_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + double cropx = va_arg(*list, double); >>> + double cropy = va_arg(*list, double); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.cropx = cropx; >>> + sd->thumb.cropy = cropy; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_crop_align_get(const Evas_Object *obj, >>> + double *cropx, >>> + double *cropy) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do((Eo *) obj, elm_obj_thumb_crop_align_get(cropx, cropy)); >>> +} >>> + >>> +static void >>> +_crop_align_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + double *cropx = va_arg(*list, double *); >>> + double *cropy = va_arg(*list, double *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + if (cropx) >>> + *cropx = sd->thumb.cropx; >>> + if (cropy) >>> + *cropy = sd->thumb.cropy; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_compress_set(Evas_Object *obj, >>> + int compress) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_compress_set(compress)); >>> +} >>> + >>> +static void >>> +_compress_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int compress = va_arg(*list, int); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.compress = compress; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_compress_get(const Evas_Object *obj, >>> + int *compress) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do((Eo *) obj, elm_obj_thumb_compress_get(compress)); >>> +} >>> + >>> +static void >>> +_compress_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int *compress = va_arg(*list, int *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + if (compress) >>> + *compress = sd->thumb.compress; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_quality_set(Evas_Object *obj, >>> + int quality) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do(obj, elm_obj_thumb_quality_set(quality)); >>> +} >>> + >>> +static void >>> +_quality_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int quality = va_arg(*list, int); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + sd->thumb.quality = quality; >>> +} >>> + >>> +EAPI void >>> +elm_thumb_quality_get(const Evas_Object *obj, >>> + int *quality) >>> +{ >>> + ELM_THUMB_CHECK(obj); >>> + eo_do((Eo *) obj, elm_obj_thumb_quality_get(quality)); >>> +} >>> + >>> +static void >>> +_quality_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) >>> +{ >>> + int *quality = va_arg(*list, int *); >>> + Elm_Thumb_Smart_Data *sd = _pd; >>> + >>> + if (quality) >>> + *quality = sd->thumb.quality; >>> +} >>> + >>> +EAPI void >>> elm_thumb_animate_set(Evas_Object *obj, >>> Elm_Thumb_Animation_Setting setting) >>> { >>> @@ -897,6 +1203,22 @@ _class_constructor(Eo_Class *klass) >>> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FILE_SET), >> _file_set), >>> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FILE_GET), >> _file_get), >>> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_PATH_GET), >> _path_get), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ASPECT_SET), >> _aspect_set), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ASPECT_GET), >> _aspect_get), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FDO_SIZE_SET), >> _fdo_size_set), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FDO_SIZE_GET), >> _fdo_size_get), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FORMAT_SET), >> _format_set), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_FORMAT_GET), >> _format_get), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ORIENTATION_SET), >> _orientation_set), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ORIENTATION_GET), >> _orientation_get), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_CROP_ALIGN_SET), >> _crop_align_set), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_CROP_ALIGN_GET), >> _crop_align_get), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_THUMB_SIZE_SET), >> _thumb_size_set), >>> + >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_THUMB_SIZE_GET), >> _thumb_size_get), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_COMPRESS_SET), >> _compress_set), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_COMPRESS_GET), >> _compress_get), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_QUALITY_SET), >> _quality_set), >>> + EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_QUALITY_GET), >> _quality_get), >>> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ANIMATE_SET), >> _animate_set), >>> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_ANIMATE_GET), >> _animate_get), >> EO_OP_FUNC(ELM_OBJ_THUMB_ID(ELM_OBJ_THUMB_SUB_ID_EDITABLE_SET), >> _editable_set), >>> @@ -913,6 +1235,22 @@ static const Eo_Op_Description op_desc[] = { >>> EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FILE_SET, "Set the file >> that will be used as thumbnail source."), >>> EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FILE_GET, "Get the image >> or video path and key used to generate the thumbnail."), >>> EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_PATH_GET, "Get the path >> and key to the image or video thumbnail generated by ethumb."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_ASPECT_SET, "Set the aspect >> of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_ASPECT_GET, "Get the aspect >> of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FDO_SIZE_SET, "Set the FDO >> size of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FDO_SIZE_GET, "Get the FDO >> size of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FORMAT_SET, "Set the format >> of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_FORMAT_GET, "Get the format >> of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_ORIENTATION_SET, "Set the >> orientation of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_THUMB_SUB_ID_ORIENTATION_GET, "Get the >> orientation of the thumb object."), >>> + EO_OP_DESCRIPTION(ELM_OBJ_ ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel