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