Evas_Image(3)

NAME
Evas_Image - Image Functions

 - Functions that deal with images at canvas level.

SYNOPSIS

  Data Structures
struct _Evas_Image_Load_Opts
struct _Evas_Image_Property
struct _Evas_Image_Load_Func

  Macros
#define EVAS_IMAGE_CLASS evas_image_class_get()
Internal class for legacy support of Evas Image.
#define EVAS_IMAGE_ANIMATED_HINT_NONE EMILE_IMAGE_ANIMATED_HINT_NONE
#define EVAS_IMAGE_ANIMATED_HINT_LOOP EMILE_IMAGE_ANIMATED_HINT_LOOP
#define EVAS_IMAGE_ANIMATED_HINT_PINGPONG EMILE_IMAGE_ANIMATED_HINT_PINGPONG
#define EVAS_IMAGE_SCALE_HINT_NONE EMILE_IMAGE_SCALE_HINT_NONE
#define EVAS_IMAGE_SCALE_HINT_DYNAMIC EMILE_IMAGE_SCALE_HINT_DYNAMIC
#define EVAS_IMAGE_SCALE_HINT_STATIC EMILE_IMAGE_SCALE_HINT_STATIC
#define EVAS_COLORSPACE_ARGB8888 EMILE_COLORSPACE_ARGB8888
#define EVAS_COLORSPACE_YCBCR422P601_PL EMILE_COLORSPACE_YCBCR422P601_PL
#define EVAS_COLORSPACE_YCBCR422P709_PL EMILE_COLORSPACE_YCBCR422P709_PL
#define EVAS_COLORSPACE_RGB565_A5P EMILE_COLORSPACE_RGB565_A5P
#define EVAS_COLORSPACE_GRY8 EMILE_COLORSPACE_GRY8
#define EVAS_COLORSPACE_YCBCR422601_PL EMILE_COLORSPACE_YCBCR422601_PL
#define EVAS_COLORSPACE_YCBCR420NV12601_PL EMILE_COLORSPACE_YCBCR420NV12601_PL
#define EVAS_COLORSPACE_YCBCR420TM12601_PL EMILE_COLORSPACE_YCBCR420TM12601_PL
#define EVAS_COLORSPACE_AGRY88 EMILE_COLORSPACE_AGRY88
#define EVAS_COLORSPACE_ETC1 EMILE_COLORSPACE_ETC1
#define EVAS_COLORSPACE_RGB8_ETC2 EMILE_COLORSPACE_RGB8_ETC2
#define EVAS_COLORSPACE_RGBA8_ETC2_EAC EMILE_COLORSPACE_RGBA8_ETC2_EAC
#define EVAS_COLORSPACE_ETC1_ALPHA EMILE_COLORSPACE_ETC1_ALPHA
#define EVAS_COLORSPACE_RGB_S3TC_DXT1 EMILE_COLORSPACE_RGB_S3TC_DXT1
#define EVAS_COLORSPACE_RGBA_S3TC_DXT1 EMILE_COLORSPACE_RGBA_S3TC_DXT1
#define EVAS_COLORSPACE_RGBA_S3TC_DXT2 EMILE_COLORSPACE_RGBA_S3TC_DXT2
#define EVAS_COLORSPACE_RGBA_S3TC_DXT3 EMILE_COLORSPACE_RGBA_S3TC_DXT3
#define EVAS_COLORSPACE_RGBA_S3TC_DXT4 EMILE_COLORSPACE_RGBA_S3TC_DXT4
#define EVAS_COLORSPACE_RGBA_S3TC_DXT5 EMILE_COLORSPACE_RGBA_S3TC_DXT5
#define EVAS_IMAGE_LOAD_VERSION 2
#define EVAS_MODULE_TASK_CHECK(Count, Mask, Error, Error_Handler)
#define EVAS_MODULE_DEFINE(Type, Tn, Name)
#define EVAS_EINA_MODULE_DEFINE(Tn, Name)

  Typedefs
typedef struct _Evas_Image_Load_Opts Evas_Image_Load_Opts
typedef Emile_Image_Animated Evas_Image_Animated
typedef struct _Evas_Image_Property Evas_Image_Property
typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func
typedef Emile_Image_Animated_Loop_Hint Evas_Image_Animated_Loop_Hint
typedef Emile_Image_Scale_Hint Evas_Image_Scale_Hint
How an image's data is to be treated by Evas, with regard to scaling cache.

  Enumerations
enum Evas_Load_Error { EVAS_LOAD_ERROR_NONE = 0, EVAS_LOAD_ERROR_GENERIC, EVAS_LOAD_ERROR_DOES_NOT_EXIST, EVAS_LOAD_ERROR_PERMISSION_DENIED, EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED, EVAS_LOAD_ERROR_CORRUPT_FILE, EVAS_LOAD_ERROR_UNKNOWN_FORMAT, EVAS_LOAD_ERROR_CANCELLED }
Possible outcomes of a load operation.

  Functions
EVAS_API Eina_Bool evas_object_image_region_support_get (const Evas_Object *obj)
Get the support state of a given image.
EVAS_API Eina_Bool evas_object_image_alpha_get (const Evas_Object *obj)
Retrieve whether alpha channel data is being used on the given image object.
EVAS_API void evas_object_image_orient_set (Evas_Object *obj, Evas_Image_Orient orient)
Set the image orientation.
EVAS_API Evas_Image_Orient evas_object_image_orient_get (const Evas_Object *obj)
Get the image orientation.
EVAS_API void evas_object_image_scale_hint_set (Evas_Object *obj, Evas_Image_Scale_Hint hint)
Set the scale hint of a given image of the canvas.
EVAS_API Evas_Image_Scale_Hint evas_object_image_scale_hint_get (const Evas_Object *obj)
Get the scale hint of a given image of the canvas.
EVAS_API void evas_object_image_colorspace_set (Evas_Object *obj, Evas_Colorspace cspace)
Set the colorspace of a given image of the canvas.
EVAS_API Evas_Colorspace evas_object_image_colorspace_get (const Evas_Object *obj)
Get the colorspace of a given image of the canvas.
EVAS_API int evas_object_image_stride_get (const Evas_Object *obj)
Retrieves the row stride of the given image object.
EVAS_API void evas_object_image_data_copy_set (Evas_Object *obj, void *data)
Replaces the raw image data of the given image object.
EVAS_API void evas_object_image_data_set (Evas_Object *obj, void *data)
Sets the raw image data of the given image object.
EVAS_API void * evas_object_image_data_get (const Evas_Object *obj, Eina_Bool for_writing)
Get a pointer to the raw image data of the given image object.
EVAS_API Eina_Bool evas_module_register (const Evas_Module_Api *module, Evas_Module_Type type)
EVAS_API Eina_Bool evas_module_unregister (const Evas_Module_Api *module, Evas_Module_Type type)
EVAS_API Eina_Bool evas_module_task_cancelled (void)
static Eina_Bool evas_loader_helper_stretch_region_push (uint8_t **region, uint8_t *offset, Eina_Bool stretchable)

Detailed Description

Functions that deal with images at canvas level. Compare with Image Object Functions functions which deal with images at the object level.

Macro Definition Documentation

  #define EVAS_MODULE_TASK_CHECK(Count, Mask, Error, Error_Handler)
Value:

  do {                                                                       Count++;                                                                if ((Count & Mask) == Mask)                                               {                                                                          Count = 0;                                                              if (evas_module_task_cancelled())                                         {                                                                          *Error = EVAS_LOAD_ERROR_CANCELLED;                                goto Error_Handler;                                                  }                                                                  }                                                                  } while (0)

  #define EVAS_MODULE_DEFINE(Type, Tn, Name)
Value:

  Eina_Bool evas_##Tn##_##Name##_init(void)             {                                                          return evas_module_register(&evas_modapi, Type);     }                                                       void evas_##Tn##_##Name##_shutdown(void)                {                                                          evas_module_unregister(&evas_modapi, Type);          }

  #define EVAS_EINA_MODULE_DEFINE(Tn, Name)
Value:

  EINA_MODULE_INIT(evas_##Tn##_##Name##_init);   EINA_MODULE_SHUTDOWN(evas_##Tn##_##Name##_shutdown);

Enumeration Type Documentation

  enum Evas_Load_Error

Possible outcomes of a load operation.

Enumerator

EVAS_LOAD_ERROR_NONE
    No error on load.

EVAS_LOAD_ERROR_GENERIC
    A non-specific error occurred.

EVAS_LOAD_ERROR_DOES_NOT_EXIST
    File (or file path) does not exist.

EVAS_LOAD_ERROR_PERMISSION_DENIED
    Permission denied to an existing file (or path)

EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
    Allocation of resources failure prevented load.

EVAS_LOAD_ERROR_CORRUPT_FILE
    File corrupt (but was detected as a known format)

EVAS_LOAD_ERROR_UNKNOWN_FORMAT
    File is not a known format.

EVAS_LOAD_ERROR_CANCELLED
    File loading has been cancelled.

Function Documentation

  EVAS_API Eina_Bool evas_object_image_region_support_get (const Evas_Object * obj)

Get the support state of a given image.

Parameters
    obj The object

Returns
    The region support state.

Since
    1.2

References EINA_FALSE.

  EVAS_API Eina_Bool evas_object_image_alpha_get (const Evas_Object * obj)

Retrieve whether alpha channel data is being used on the given image object. This function returns true if the image object's alpha channel is being used, or false otherwise.

Parameters
    obj The object

Returns
    Whether to use alpha channel ($true) data or not ($false).

References EINA_FALSE.

  EVAS_API void evas_object_image_orient_set (Evas_Object * obj, Evas_Image_Orient orient)

Set the image orientation. This function allows to rotate or flip the image.

Parameters
    obj The object
    orient The image orientation Evas_Image_Orient. Default is EVAS_IMAGE_ORIENT_NONE.

Since
    1.14

  EVAS_API Evas_Image_Orient evas_object_image_orient_get (const Evas_Object * obj)

Get the image orientation.

Parameters
    obj The object

Returns
    The image orientation Evas_Image_Orient. Default is EVAS_IMAGE_ORIENT_NONE.

Since
    1.14

References EVAS_IMAGE_ORIENT_NONE.

  EVAS_API void evas_object_image_scale_hint_set (Evas_Object * obj, Evas_Image_Scale_Hint hint)

Set the scale hint of a given image of the canvas. This function sets the scale hint value of the given image object in the canvas, which will affect how Evas is to cache scaled versions of its original source image.

Parameters
    obj The object
    hint The scale hint, a value in Evas_Image_Scale_Hint.

  EVAS_API Evas_Image_Scale_Hint evas_object_image_scale_hint_get (const Evas_Object * obj)

Get the scale hint of a given image of the canvas. This function returns the scale hint value of the given image object of the canvas.

Parameters
    obj The object

Returns
    The scale hint, a value in Evas_Image_Scale_Hint.

  EVAS_API void evas_object_image_colorspace_set (Evas_Object * obj, Evas_Colorspace cspace)

Set the colorspace of a given image of the canvas. This function sets the colorspace of given canvas image.

Parameters
    obj The object
    cspace The new color space.

Referenced by ecore_evas_object_image_new().

  EVAS_API Evas_Colorspace evas_object_image_colorspace_get (const Evas_Object * obj)

Get the colorspace of a given image of the canvas. This function returns the colorspace of given canvas image.

Parameters
    obj The object

Returns
    The new color space.

  EVAS_API int evas_object_image_stride_get (const Evas_Object * obj)

Retrieves the row stride of the given image object. The row stride is the number of bytes between the start of a row and the start of the next row for image data.

Parameters
    obj The object

Returns
    The stride of the image (in bytes).

  EVAS_API void evas_object_image_data_copy_set (Evas_Object * obj, void * data)

Replaces the raw image data of the given image object. This function lets the application replace an image object's internal pixel buffer with a user-allocated one. For best results, you should generally first call evas_object_image_size_set with the width and height for the new buffer.

This call is best suited for when you will be using image data with different dimensions than the existing image data, if any. If you only need to modify the existing image in some fashion, then using evas_object_image_data_get is probably what you are after.

Note that the caller is responsible for freeing the buffer when finished with it, as user-set image data will not be automatically freed when the image object is deleted.

Parameters
    obj The object
    data The raw data to replace.

References EINA_TRUE.

  EVAS_API void evas_object_image_data_set (Evas_Object * obj, void * data)

Sets the raw image data of the given image object. Note that the raw data must be of the same size (see evas_object_image_size_set, which has to be called before this one) and colorspace (see evas_object_image_colorspace_set) of the image. If data is null, the current image data will be freed. Naturally, if one does not set an image object's data manually, it will still have one, allocated by Evas.

Parameters
    obj The object
    data The raw data, or null.

References EINA_FALSE, eina_hash_del(), eina_hash_find(), and EINA_TRUE.

  EVAS_API void* evas_object_image_data_get (const Evas_Object * obj, Eina_Bool for_writing)

Get a pointer to the raw image data of the given image object. This function returns a pointer to an image object's internal pixel buffer, for reading only or read/write. If you request it for writing, the image will be marked dirty so that it gets redrawn at the next update.

Each time you call this function on an image object, its data buffer will have an internal reference counter incremented. Decrement it back by using evas_object_image_data_set.

This is best suited for when you want to modify an existing image, without changing its dimensions.

Note
    The contents' format returned by it depend on the color space of the given image object.

    You may want to use evas_object_image_data_update_add to inform data changes, if you did any.

Parameters
    obj The object
    for_writing Whether the data being retrieved will be modified ($true) or not ($false).

Returns
    The raw image data.

References eina_hash_add(), eina_hash_pointer_new(), and EINA_TRUE.

  EVAS_API Eina_Bool evas_module_task_cancelled (void)

Since
    1.19

References EINA_FALSE, and eina_tls_get().

Author

Generated automatically by Doxygen for EFL from the source code.