Enumerations | Functions
Thumbnail

Enumerations

enum  Elm_Thumb_Animation_Setting {
  ELM_THUMB_ANIMATION_START = 0,
  ELM_THUMB_ANIMATION_LOOP,
  ELM_THUMB_ANIMATION_STOP
}
 Used to set if a video thumbnail is animating or not. More...
 

Functions

Eina_Bool elm_need_ethumb (void)
 Request that your elementary application needs ethumb. More...
 
EOAPI void elm_obj_thumb_compress_set (int compress)
 Set the compression for the thumb object. More...
 
EOAPI void elm_obj_thumb_compress_get (int *compress)
 Get the compression of the thumb object. More...
 
EOAPI void elm_obj_thumb_format_set (Ethumb_Thumb_Format format)
 Set the format for the thumb object. More...
 
EOAPI Ethumb_Thumb_Format elm_obj_thumb_format_get (void)
 Get the format of the thumb object. More...
 
EOAPI void elm_obj_thumb_animate_set (Elm_Thumb_Animation_Setting setting)
 Set the animation state for the thumb object. More...
 
EOAPI Elm_Thumb_Animation_Setting elm_obj_thumb_animate_get (void)
 Get the animation state for the thumb object. More...
 
EOAPI void elm_obj_thumb_fdo_size_set (Ethumb_Thumb_FDO_Size size)
 Set the FDO size for the thumb object. More...
 
EOAPI Ethumb_Thumb_FDO_Size elm_obj_thumb_fdo_size_get (void)
 Get the fdo size of the thumb object. More...
 
EOAPI void elm_obj_thumb_orientation_set (Ethumb_Thumb_Orientation orient)
 Set the orientation for the thumb object. More...
 
EOAPI Ethumb_Thumb_Orientation elm_obj_thumb_orientation_get (void)
 Get the orientation of the thumb object. More...
 
EOAPI Eina_Bool elm_obj_thumb_editable_set (Eina_Bool edit)
 Make the thumbnail 'editable'. More...
 
EOAPI Eina_Bool elm_obj_thumb_editable_get (void)
 Make the thumbnail 'editable'. More...
 
EOAPI void elm_obj_thumb_aspect_set (Ethumb_Thumb_Aspect aspect)
 Set the aspect for the thumb object. More...
 
EOAPI Ethumb_Thumb_Aspect elm_obj_thumb_aspect_get (void)
 Get the aspect of the thumb object. More...
 
EOAPI void elm_obj_thumb_quality_set (int quality)
 Set the quality for the thumb object. More...
 
EOAPI void elm_obj_thumb_quality_get (int *quality)
 Get the quality of the thumb object. More...
 
EOAPI void elm_obj_thumb_size_set (int tw, int th)
 Set the size for the thumb object. More...
 
EOAPI void elm_obj_thumb_size_get (int *tw, int *th)
 Get the size of the thumb object. More...
 
EOAPI void elm_obj_thumb_crop_align_set (double cropx, double cropy)
 Set the crop alignment for the thumb object. More...
 
EOAPI void elm_obj_thumb_crop_align_get (double *cropx, double *cropy)
 Get the crop alignment of the thumb object. More...
 
EOAPI void elm_obj_thumb_path_get (const char **file, const char **key)
 Get the path and key to the image or video thumbnail generated by ethumb. More...
 
EOAPI void elm_obj_thumb_reload (void)
 Reload thumbnail if it was generated before. More...
 
void elm_thumb_compress_set (Elm_Thumb *obj, int compress)
 Set the compression for the thumb object. More...
 
void elm_thumb_compress_get (const Elm_Thumb *obj, int *compress)
 Get the compression of the thumb object. More...
 
void elm_thumb_format_set (Elm_Thumb *obj, Ethumb_Thumb_Format format)
 Set the format for the thumb object. More...
 
Ethumb_Thumb_Format elm_thumb_format_get (const Elm_Thumb *obj)
 Get the format of the thumb object. More...
 
void elm_thumb_animate_set (Elm_Thumb *obj, Elm_Thumb_Animation_Setting setting)
 Set the animation state for the thumb object. More...
 
Elm_Thumb_Animation_Setting elm_thumb_animate_get (const Elm_Thumb *obj)
 Get the animation state for the thumb object. More...
 
void elm_thumb_fdo_size_set (Elm_Thumb *obj, Ethumb_Thumb_FDO_Size size)
 Set the FDO size for the thumb object. More...
 
Ethumb_Thumb_FDO_Size elm_thumb_fdo_size_get (const Elm_Thumb *obj)
 Get the fdo size of the thumb object. More...
 
void elm_thumb_orientation_set (Elm_Thumb *obj, Ethumb_Thumb_Orientation orient)
 Set the orientation for the thumb object. More...
 
Ethumb_Thumb_Orientation elm_thumb_orientation_get (const Elm_Thumb *obj)
 Get the orientation of the thumb object. More...
 
Eina_Bool elm_thumb_editable_set (Elm_Thumb *obj, Eina_Bool edit)
 Make the thumbnail 'editable'. More...
 
Eina_Bool elm_thumb_editable_get (const Elm_Thumb *obj)
 Make the thumbnail 'editable'. More...
 
void elm_thumb_aspect_set (Elm_Thumb *obj, Ethumb_Thumb_Aspect aspect)
 Set the aspect for the thumb object. More...
 
Ethumb_Thumb_Aspect elm_thumb_aspect_get (const Elm_Thumb *obj)
 Get the aspect of the thumb object. More...
 
void elm_thumb_quality_set (Elm_Thumb *obj, int quality)
 Set the quality for the thumb object. More...
 
void elm_thumb_quality_get (const Elm_Thumb *obj, int *quality)
 Get the quality of the thumb object. More...
 
void elm_thumb_size_set (Elm_Thumb *obj, int tw, int th)
 Set the size for the thumb object. More...
 
void elm_thumb_size_get (const Elm_Thumb *obj, int *tw, int *th)
 Get the size of the thumb object. More...
 
void elm_thumb_crop_align_set (Elm_Thumb *obj, double cropx, double cropy)
 Set the crop alignment for the thumb object. More...
 
void elm_thumb_crop_align_get (const Elm_Thumb *obj, double *cropx, double *cropy)
 Get the crop alignment of the thumb object. More...
 
void elm_thumb_path_get (const Elm_Thumb *obj, const char **file, const char **key)
 Get the path and key to the image or video thumbnail generated by ethumb. More...
 
void elm_thumb_reload (Elm_Thumb *obj)
 Reload thumbnail if it was generated before. More...
 
void * elm_thumb_ethumb_client_get (void)
 Get the ethumb_client handle so custom configuration can be made. More...
 
Eina_Bool elm_thumb_ethumb_client_connected_get (void)
 Get the ethumb_client connection state. More...
 
Evas_Object * elm_thumb_add (Evas_Object *parent)
 Add a new thumb object to the parent. More...
 
void elm_thumb_file_set (Eo *obj, const char *file, const char *key)
 Set the file that will be used as thumbnail source. More...
 
void elm_thumb_file_get (const Eo *obj, const char **file, const char **key)
 Get the image or video path and key used to generate the thumbnail. More...
 

Detailed Description

thumb_inheritance_tree.png
preview-00.png

A thumbnail object is used for displaying the thumbnail of an image or video. You must have compiled Elementary with Ethumb_Client support. Also, Ethumb's DBus service must be present and auto-activated in order to have thumbnails generated. You must also have a session bus, not a system one.

Once the thumbnail object becomes visible, it will check if there is a previously generated thumbnail image for the file set on it. If not, it will start generating this thumbnail.

Different configuration settings will cause different thumbnails to be generated even on the same file.

Generated thumbnails are stored under $HOME/.thumbnails/. Check Ethumb's documentation to change this path, and to see other configuration options.

If you set formatting features such as, aspect, size, format, orientation, crop, compression, or quality after the thumbnail has been shown, it needs to be reloaded with elm_thumb_reload.

This widget emits the following signals:

Available styles:

An example of use of thumbnail:

Enumeration Type Documentation

Used to set if a video thumbnail is animating or not.

Enumerator
ELM_THUMB_ANIMATION_START 

Play animation once.

ELM_THUMB_ANIMATION_LOOP 

Keep playing animation until stop is requested.

ELM_THUMB_ANIMATION_STOP 

Stop playing the animation.

Function Documentation

Eina_Bool elm_need_ethumb ( void  )

Request that your elementary application needs ethumb.

This initializes the Ethumb library when called and if support exists it returns EINA_TRUE, otherwise returns EINA_FALSE. This must be called before any other function that deals with elm_thumb objects or ethumb_client instances.

Examples:
fileselector_example.c, and thumb_example_01.c.
EOAPI Elm_Thumb_Animation_Setting elm_obj_thumb_animate_get ( void  )

Get the animation state for the thumb object.

Returns
getting The animation setting or #ELM_THUMB_ANIMATION_LAST, on errors.
See also
elm_thumb_animate_set()

Referenced by elm_thumb_animate_get().

EOAPI void elm_obj_thumb_animate_set ( Elm_Thumb_Animation_Setting  setting)

Set the animation state for the thumb object.

If its content is an animated video, you may start/stop the animation or tell it to play continuously and looping.

See also
elm_thumb_file_set()
Parameters
[in]settingThe animation setting.

Referenced by elm_thumb_animate_set().

EOAPI Ethumb_Thumb_Aspect elm_obj_thumb_aspect_get ( void  )

Get the aspect of the thumb object.

Since
1.8
Returns
getting The aspect setting.
See also
elm_thumb_aspect_set()

Referenced by elm_thumb_aspect_get().

EOAPI void elm_obj_thumb_aspect_set ( Ethumb_Thumb_Aspect  aspect)

Set the aspect for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]aspectThe aspect setting.

Referenced by elm_thumb_aspect_set().

EOAPI void elm_obj_thumb_compress_get ( int *  compress)

Get the compression of the thumb object.

Since
1.8
Returns
getting The compress setting.
See also
elm_thumb_compress_set()
Parameters
[out]compressThe compression of the thumb.

Referenced by elm_thumb_compress_get().

EOAPI void elm_obj_thumb_compress_set ( int  compress)

Set the compression for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]compressThe compression of the thumb.

Referenced by elm_thumb_compress_set().

EOAPI void elm_obj_thumb_crop_align_get ( double *  cropx,
double *  cropy 
)

Get the crop alignment of the thumb object.

Since
1.8
Returns
getting The crop align setting.
See also
elm_thumb_crop_align_set()
Parameters
[out]cropxThe x coordinate of the crop.
[out]cropyThe y coordinate of the crop.

Referenced by elm_thumb_crop_align_get().

EOAPI void elm_obj_thumb_crop_align_set ( double  cropx,
double  cropy 
)

Set the crop alignment for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]cropxThe x coordinate of the crop.
[in]cropyThe y coordinate of the crop.

Referenced by elm_thumb_crop_align_set().

EOAPI Eina_Bool elm_obj_thumb_editable_get ( void  )

Make the thumbnail 'editable'.

Returns
Editability.

This means the thumbnail is a valid drag target for drag and drop, and can be cut or pasted too.

See also
elm_thumb_editable_set()

Referenced by elm_thumb_editable_get().

EOAPI Eina_Bool elm_obj_thumb_editable_set ( Eina_Bool  edit)

Make the thumbnail 'editable'.

This means the thumbnail is a valid drag target for drag and drop, and can be cut or pasted too.

See also
elm_thumb_editable_get()
Parameters
[in]editTurn on or off editability. Default is EINA_FALSE.

Referenced by elm_thumb_editable_set().

EOAPI Ethumb_Thumb_FDO_Size elm_obj_thumb_fdo_size_get ( void  )

Get the fdo size of the thumb object.

Since
1.8
Returns
getting The FDO size setting.
See also
elm_thumb_fdo_size_set()

Referenced by elm_thumb_fdo_size_get().

EOAPI void elm_obj_thumb_fdo_size_set ( Ethumb_Thumb_FDO_Size  size)

Set the FDO size for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]sizeThe FDO size setting.

Referenced by elm_thumb_fdo_size_set().

EOAPI Ethumb_Thumb_Format elm_obj_thumb_format_get ( void  )

Get the format of the thumb object.

Since
1.8
Returns
getting The Format setting.
See also
elm_thumb_format_set()

Referenced by elm_thumb_format_get().

EOAPI void elm_obj_thumb_format_set ( Ethumb_Thumb_Format  format)

Set the format for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]formatThe format setting.

Referenced by elm_thumb_format_set().

EOAPI Ethumb_Thumb_Orientation elm_obj_thumb_orientation_get ( void  )

Get the orientation of the thumb object.

Since
1.8
Returns
getting The orientation setting.
See also
elm_thumb_orientation_set()

Referenced by elm_thumb_orientation_get().

EOAPI void elm_obj_thumb_orientation_set ( Ethumb_Thumb_Orientation  orient)

Set the orientation for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]orientThe orientation setting.

Referenced by elm_thumb_orientation_set().

EOAPI void elm_obj_thumb_path_get ( const char **  file,
const char **  key 
)

Get the path and key to the image or video thumbnail generated by ethumb.

One just needs to make sure that the thumbnail was generated before getting its path; otherwise, the path will be NULL. One way to do that is by asking for the path when/after the "generate,stop" smart callback is called.

See also
elm_thumb_file_get()
Parameters
[out]filePointer to thumb path.
[out]keyPointer to thumb key.

Referenced by elm_thumb_path_get().

EOAPI void elm_obj_thumb_quality_get ( int *  quality)

Get the quality of the thumb object.

Since
1.8
Returns
getting The quality setting.
See also
elm_thumb_quality_set()
Parameters
[out]qualityThe quality of the thumb.

Referenced by elm_thumb_quality_get().

EOAPI void elm_obj_thumb_quality_set ( int  quality)

Set the quality for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]qualityThe quality of the thumb.

Referenced by elm_thumb_quality_set().

EOAPI void elm_obj_thumb_reload ( void  )

Reload thumbnail if it was generated before.

This is useful if the ethumb client configuration changed, like its size, aspect or any other property one set in the handle returned by elm_thumb_ethumb_client_get().

If the options didn't change, the thumbnail won't be generated again, but the old one will still be used.

See also
elm_thumb_file_set()

Referenced by elm_thumb_reload().

EOAPI void elm_obj_thumb_size_get ( int *  tw,
int *  th 
)

Get the size of the thumb object.

Since
1.8
Returns
getting The size setting.
See also
elm_thumb_size_set()
Parameters
[out]twThe width of the thumb.
[out]thThe height of the thumb.

Referenced by elm_thumb_size_get().

EOAPI void elm_obj_thumb_size_set ( int  tw,
int  th 
)

Set the size for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]twThe width of the thumb.
[in]thThe height of the thumb.

Referenced by elm_thumb_size_set().

Evas_Object* elm_thumb_add ( Evas_Object *  parent)

Add a new thumb object to the parent.

Parameters
parentThe parent object.
Returns
The new object or NULL if it cannot be created.
See also
elm_thumb_file_set()
elm_thumb_ethumb_client_get()
Elm_Thumb_Animation_Setting elm_thumb_animate_get ( const Elm_Thumb *  obj)

Get the animation state for the thumb object.

Returns
getting The animation setting or #ELM_THUMB_ANIMATION_LAST, on errors.
See also
elm_thumb_animate_set()

References elm_obj_thumb_animate_get().

void elm_thumb_animate_set ( Elm_Thumb *  obj,
Elm_Thumb_Animation_Setting  setting 
)

Set the animation state for the thumb object.

If its content is an animated video, you may start/stop the animation or tell it to play continuously and looping.

See also
elm_thumb_file_set()
Parameters
[in]settingThe animation setting.

References elm_obj_thumb_animate_set().

Ethumb_Thumb_Aspect elm_thumb_aspect_get ( const Elm_Thumb *  obj)

Get the aspect of the thumb object.

Since
1.8
Returns
getting The aspect setting.
See also
elm_thumb_aspect_set()

References elm_obj_thumb_aspect_get().

void elm_thumb_aspect_set ( Elm_Thumb *  obj,
Ethumb_Thumb_Aspect  aspect 
)

Set the aspect for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]aspectThe aspect setting.

References elm_obj_thumb_aspect_set().

void elm_thumb_compress_get ( const Elm_Thumb *  obj,
int *  compress 
)

Get the compression of the thumb object.

Since
1.8
Returns
getting The compress setting.
See also
elm_thumb_compress_set()
Parameters
[out]compressThe compression of the thumb.

References elm_obj_thumb_compress_get().

void elm_thumb_compress_set ( Elm_Thumb *  obj,
int  compress 
)

Set the compression for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]compressThe compression of the thumb.

References elm_obj_thumb_compress_set().

void elm_thumb_crop_align_get ( const Elm_Thumb *  obj,
double *  cropx,
double *  cropy 
)

Get the crop alignment of the thumb object.

Since
1.8
Returns
getting The crop align setting.
See also
elm_thumb_crop_align_set()
Parameters
[out]cropxThe x coordinate of the crop.
[out]cropyThe y coordinate of the crop.

References elm_obj_thumb_crop_align_get().

void elm_thumb_crop_align_set ( Elm_Thumb *  obj,
double  cropx,
double  cropy 
)

Set the crop alignment for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]cropxThe x coordinate of the crop.
[in]cropyThe y coordinate of the crop.

References elm_obj_thumb_crop_align_set().

Eina_Bool elm_thumb_editable_get ( const Elm_Thumb *  obj)

Make the thumbnail 'editable'.

Returns
Editability.

This means the thumbnail is a valid drag target for drag and drop, and can be cut or pasted too.

See also
elm_thumb_editable_set()

References elm_obj_thumb_editable_get().

Eina_Bool elm_thumb_editable_set ( Elm_Thumb *  obj,
Eina_Bool  edit 
)

Make the thumbnail 'editable'.

This means the thumbnail is a valid drag target for drag and drop, and can be cut or pasted too.

See also
elm_thumb_editable_get()
Parameters
[in]editTurn on or off editability. Default is EINA_FALSE.

References elm_obj_thumb_editable_set().

Eina_Bool elm_thumb_ethumb_client_connected_get ( void  )

Get the ethumb_client connection state.

Returns
EINA_TRUE if the client is connected to the server or EINA_FALSE otherwise.
void* elm_thumb_ethumb_client_get ( void  )

Get the ethumb_client handle so custom configuration can be made.

Returns
Ethumb_Client instance or NULL.

The ethumb client handle returned may or may not be NULL. It may or may not survive into the future (ethumbd may become disconnected). Do not use this unless you know what you are doing.

Ethumb_Thumb_FDO_Size elm_thumb_fdo_size_get ( const Elm_Thumb *  obj)

Get the fdo size of the thumb object.

Since
1.8
Returns
getting The FDO size setting.
See also
elm_thumb_fdo_size_set()

References elm_obj_thumb_fdo_size_get().

void elm_thumb_fdo_size_set ( Elm_Thumb *  obj,
Ethumb_Thumb_FDO_Size  size 
)

Set the FDO size for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]sizeThe FDO size setting.

References elm_obj_thumb_fdo_size_set().

void elm_thumb_file_get ( const Eo *  obj,
const char **  file,
const char **  key 
)

Get the image or video path and key used to generate the thumbnail.

See also
elm_thumb_file_set()
elm_thumb_path_get()
Parameters
[out]fileThe path to file that will be used as thumbnail source.
[out]keyThe key used in case of an EET file.
void elm_thumb_file_set ( Eo *  obj,
const char *  file,
const char *  key 
)

Set the file that will be used as thumbnail source.

The file can be an image or a video (in that case, acceptable extensions are: avi, mp4, ogv, mov, mpg and wmv). To start the video animation, use the function elm_thumb_animate().

See also
elm_thumb_file_get()
elm_thumb_reload()
elm_thumb_animate()
Parameters
[in]fileThe path to file that will be used as thumbnail source.
[in]keyThe key used in case of an EET file.
Ethumb_Thumb_Format elm_thumb_format_get ( const Elm_Thumb *  obj)

Get the format of the thumb object.

Since
1.8
Returns
getting The Format setting.
See also
elm_thumb_format_set()

References elm_obj_thumb_format_get().

void elm_thumb_format_set ( Elm_Thumb *  obj,
Ethumb_Thumb_Format  format 
)

Set the format for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]formatThe format setting.

References elm_obj_thumb_format_set().

Ethumb_Thumb_Orientation elm_thumb_orientation_get ( const Elm_Thumb *  obj)

Get the orientation of the thumb object.

Since
1.8
Returns
getting The orientation setting.
See also
elm_thumb_orientation_set()

References elm_obj_thumb_orientation_get().

void elm_thumb_orientation_set ( Elm_Thumb *  obj,
Ethumb_Thumb_Orientation  orient 
)

Set the orientation for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]orientThe orientation setting.

References elm_obj_thumb_orientation_set().

void elm_thumb_path_get ( const Elm_Thumb *  obj,
const char **  file,
const char **  key 
)

Get the path and key to the image or video thumbnail generated by ethumb.

One just needs to make sure that the thumbnail was generated before getting its path; otherwise, the path will be NULL. One way to do that is by asking for the path when/after the "generate,stop" smart callback is called.

See also
elm_thumb_file_get()
Parameters
[out]filePointer to thumb path.
[out]keyPointer to thumb key.

References elm_obj_thumb_path_get().

void elm_thumb_quality_get ( const Elm_Thumb *  obj,
int *  quality 
)

Get the quality of the thumb object.

Since
1.8
Returns
getting The quality setting.
See also
elm_thumb_quality_set()
Parameters
[out]qualityThe quality of the thumb.

References elm_obj_thumb_quality_get().

void elm_thumb_quality_set ( Elm_Thumb *  obj,
int  quality 
)

Set the quality for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]qualityThe quality of the thumb.

References elm_obj_thumb_quality_set().

void elm_thumb_reload ( Elm_Thumb *  obj)

Reload thumbnail if it was generated before.

This is useful if the ethumb client configuration changed, like its size, aspect or any other property one set in the handle returned by elm_thumb_ethumb_client_get().

If the options didn't change, the thumbnail won't be generated again, but the old one will still be used.

See also
elm_thumb_file_set()

References elm_obj_thumb_reload().

void elm_thumb_size_get ( const Elm_Thumb *  obj,
int *  tw,
int *  th 
)

Get the size of the thumb object.

Since
1.8
Returns
getting The size setting.
See also
elm_thumb_size_set()
Parameters
[out]twThe width of the thumb.
[out]thThe height of the thumb.

References elm_obj_thumb_size_get().

void elm_thumb_size_set ( Elm_Thumb *  obj,
int  tw,
int  th 
)

Set the size for the thumb object.

Since
1.8
See also
elm_thumb_file_set()
Parameters
[in]twThe width of the thumb.
[in]thThe height of the thumb.

References elm_obj_thumb_size_set().