[Elementary.h] Merge documentation for images
authorMike McCormack <mj.mccormack@samsung.com>
Fri, 4 Nov 2011 01:55:56 +0000 (10:55 +0900)
committerMike McCormack <mj.mccormack@samsung.com>
Fri, 4 Nov 2011 01:55:56 +0000 (10:55 +0900)
src/lib/Elementary.h.in

index f4d9623..f9c7ba3 100644 (file)
@@ -4995,44 +4995,345 @@ extern "C" {
     * @}
     */
 
-   /* smart callbacks called:
-    * "clicked" - the user clicked the icon
+   /**
+    * @addtogroup Image
+    * @{
     */
 
-   /* image */
+   /**
+    * @enum _Elm_Image_Orient
+    * @typedef Elm_Image_Orient
+    *
+    * Possible orientation options for elm_image_orient_set().
+    *
+    * @image html elm_image_orient_set.png
+    * @image latex elm_image_orient_set.eps width=\textwidth
+    *
+    * @ingroup Image
+    */
    typedef enum _Elm_Image_Orient
      {
-        ELM_IMAGE_ORIENT_NONE,
-        ELM_IMAGE_ROTATE_90_CW,
-        ELM_IMAGE_ROTATE_180_CW,
-        ELM_IMAGE_ROTATE_90_CCW,
-        ELM_IMAGE_FLIP_HORIZONTAL,
-        ELM_IMAGE_FLIP_VERTICAL,
-        ELM_IMAGE_FLIP_TRANSPOSE,
-        ELM_IMAGE_FLIP_TRANSVERSE
+        ELM_IMAGE_ORIENT_NONE, /**< no orientation change */
+        ELM_IMAGE_ROTATE_90_CW, /**< rotate 90 degrees clockwise */
+        ELM_IMAGE_ROTATE_180_CW, /**< rotate 180 degrees clockwise */
+        ELM_IMAGE_ROTATE_90_CCW, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
+        ELM_IMAGE_FLIP_HORIZONTAL, /**< flip image horizontally */
+        ELM_IMAGE_FLIP_VERTICAL, /**< flip image vertically */
+        ELM_IMAGE_FLIP_TRANSPOSE, /**< flip the image along the y = (side - x) line*/
+        ELM_IMAGE_FLIP_TRANSVERSE /**< flip the image along the y = x line */
      } Elm_Image_Orient;
+
+   /**
+    * Add a new image to the parent.
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    *
+    * @see elm_image_file_set()
+    *
+    * @ingroup Image
+    */
    EAPI Evas_Object     *elm_image_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   /**
+    * Set the file that will be used as image.
+    *
+    * @param obj The image object
+    * @param file The path to file that will be used as image
+    * @param group The group that the image belongs in edje file (if it's an
+    * edje image)
+    *
+    * @return (@c EINA_TRUE = success, @c EINA_FALSE = error)
+    *
+    * @see elm_image_file_get()
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1, 2);
+   /**
+    * Get the file that will be used as image.
+    *
+    * @param obj The image object
+    * @param file The path to file
+    * @param group The group that the image belongs in edje file
+    *
+    * @see elm_image_file_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_file_get(const Evas_Object *obj, const char **file, const char **group) EINA_ARG_NONNULL(1);
+   /**
+    * Set the smooth effect for an image.
+    *
+    * @param obj The image object
+    * @param smooth @c EINA_TRUE if smooth scaling should be used, @c EINA_FALSE
+    * otherwise. Default is @c EINA_TRUE.
+    *
+    * Set the scaling algorithm to be used when scaling the image. Smooth
+    * scaling provides a better resulting image, but is slower.
+    *
+    * The smooth scaling should be disabled when making animations that change
+    * the image size, since it will be faster. Animations that don't require
+    * resizing of the image can keep the smooth scaling enabled (even if the
+    * image is already scaled, since the scaled image will be cached).
+    *
+    * @see elm_image_smooth_get()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1);
+   /**
+    * Get the smooth effect for an image.
+    *
+    * @param obj The image object
+    * @return @c EINA_TRUE if smooth scaling is enabled, @c EINA_FALSE otherwise.
+    *
+    * @see elm_image_smooth_get()
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   /**
+    * Gets the current size of the image.
+    *
+    * @param obj The image object.
+    * @param w Pointer to store width, or NULL.
+    * @param h Pointer to store height, or NULL.
+    *
+    * This is the real size of the image, not the size of the object.
+    *
+    * On error, neither w or h will be written.
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_object_size_get(const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   /**
+    * Disable scaling of this object.
+    *
+    * @param obj The image object.
+    * @param no_scale @c EINA_TRUE if the object is not scalable, @c EINA_FALSE
+    * otherwise. Default is @c EINA_FALSE.
+    *
+    * This function disables scaling of the elm_image widget through the
+    * function elm_object_scale_set(). However, this does not affect the widget
+    * size/resize in any way. For that effect, take a look at
+    * elm_image_scale_set().
+    *
+    * @see elm_image_no_scale_get()
+    * @see elm_image_scale_set()
+    * @see elm_object_scale_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_no_scale_set(Evas_Object *obj, Eina_Bool no_scale) EINA_ARG_NONNULL(1);
+   /**
+    * Get whether scaling is disabled on the object.
+    *
+    * @param obj The image object
+    * @return @c EINA_TRUE if scaling is disabled, @c EINA_FALSE otherwise
+    *
+    * @see elm_image_no_scale_set()
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_no_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set if the object is (up/down) resizable.
+    *
+    * @param obj The image object
+    * @param scale_up A bool to set if the object is resizable up. Default is
+    * @c EINA_TRUE.
+    * @param scale_down A bool to set if the object is resizable down. Default
+    * is @c EINA_TRUE.
+    *
+    * This function limits the image resize ability. If @p scale_up is set to
+    * @c EINA_FALSE, the object can't have its height or width resized to a value
+    * higher than the original image size. Same is valid for @p scale_down.
+    *
+    * @see elm_image_scale_get()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down) EINA_ARG_NONNULL(1);
+   /**
+    * Get if the object is (up/down) resizable.
+    *
+    * @param obj The image object
+    * @param scale_up A bool to set if the object is resizable up
+    * @param scale_down A bool to set if the object is resizable down
+    *
+    * @see elm_image_scale_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down) EINA_ARG_NONNULL(1);
+   /**
+    * Set if the image fills the entire object area, when keeping the aspect ratio.
+    *
+    * @param obj The image object
+    * @param fill_outside @c EINA_TRUE if the object is filled outside,
+    * @c EINA_FALSE otherwise. Default is @c EINA_FALSE.
+    *
+    * When the image should keep its aspect ratio even if resized to another
+    * aspect ratio, there are two possibilities to resize it: keep the entire
+    * image inside the limits of height and width of the object (@p fill_outside
+    * is @c EINA_FALSE) or let the extra width or height go outside of the object,
+    * and the image will fill the entire object (@p fill_outside is @c EINA_TRUE).
+    *
+    * @note This option will have no effect if
+    * elm_image_aspect_ratio_retained_set() is set to @c EINA_FALSE.
+    *
+    * @see elm_image_fill_outside_get()
+    * @see elm_image_aspect_ratio_retained_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) EINA_ARG_NONNULL(1);
+   /**
+    * Get if the object is filled outside
+    *
+    * @param obj The image object
+    * @return @c EINA_TRUE if the object is filled outside, @c EINA_FALSE otherwise.
+    *
+    * @see elm_image_fill_outside_set()
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_fill_outside_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the prescale size for the image
+    *
+    * @param obj The image object
+    * @param size The prescale size. This value is used for both width and
+    * height.
+    *
+    * This function sets a new size for pixmap representation of the given
+    * image. It allows the image to be loaded already in the specified size,
+    * reducing the memory usage and load time when loading a big image with load
+    * size set to a smaller size.
+    *
+    * It's equivalent to the elm_bg_load_size_set() function for bg.
+    *
+    * @note this is just a hint, the real size of the pixmap may differ
+    * depending on the type of image being loaded, being bigger than requested.
+    *
+    * @see elm_image_prescale_get()
+    * @see elm_bg_load_size_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_prescale_set(Evas_Object *obj, int size) EINA_ARG_NONNULL(1);
+   /**
+    * Get the prescale size for the image
+    *
+    * @param obj The image object
+    * @return The prescale size
+    *
+    * @see elm_image_prescale_set()
+    *
+    * @ingroup Image
+    */
    EAPI int              elm_image_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the image orientation.
+    *
+    * @param obj The image object
+    * @param orient The image orientation @ref Elm_Image_Orient
+    *  Default is #ELM_IMAGE_ORIENT_NONE.
+    *
+    * This function allows to rotate or flip the given image.
+    *
+    * @see elm_image_orient_get()
+    * @see @ref Elm_Image_Orient
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient orient) EINA_ARG_NONNULL(1);
+   /**
+    * Get the image orientation.
+    *
+    * @param obj The image object
+    * @return The image orientation @ref Elm_Image_Orient
+    *
+    * @see elm_image_orient_set()
+    * @see @ref Elm_Image_Orient
+    *
+    * @ingroup Image
+    */
    EAPI Elm_Image_Orient elm_image_orient_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Make the image 'editable'.
+    *
+    * @param obj Image object.
+    * @param set Turn on or off editability. Default is @c EINA_FALSE.
+    *
+    * This means the image is a valid drag target for drag and drop, and can be
+    * cut or pasted too.
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_editable_set(Evas_Object *obj, Eina_Bool set) EINA_ARG_NONNULL(1);
+   /**
+    * Check if the image 'editable'.
+    *
+    * @param obj Image object.
+    * @return Editability.
+    *
+    * A return value of EINA_TRUE means the image is a valid drag target
+    * for drag and drop, and can be cut or pasted too.
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Get the basic Evas_Image object from this object (widget).
+    *
+    * @param obj The image object to get the inlined image from
+    * @return The inlined image object, or NULL if none exists
+    *
+    * This function allows one to get the underlying @c Evas_Object of type
+    * Image from this elementary widget. It can be useful to do things like get
+    * the pixel data, save the image to a file, etc.
+    *
+    * @note Be careful to not manipulate it, as it is under control of
+    * elementary.
+    *
+    * @ingroup Image
+    */
    EAPI Evas_Object     *elm_image_object_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set whether the original aspect ratio of the image should be kept on resize.
+    *
+    * @param obj The image object.
+    * @param retained @c EINA_TRUE if the image should retain the aspect,
+    * @c EINA_FALSE otherwise.
+    *
+    * The original aspect ratio (width / height) of the image is usually
+    * distorted to match the object's size. Enabling this option will retain
+    * this original aspect, and the way that the image is fit into the object's
+    * area depends on the option set by elm_image_fill_outside_set().
+    *
+    * @see elm_image_aspect_ratio_retained_get()
+    * @see elm_image_fill_outside_set()
+    *
+    * @ingroup Image
+    */
    EAPI void             elm_image_aspect_ratio_retained_set(Evas_Object *obj, Eina_Bool retained) EINA_ARG_NONNULL(1);
+   /**
+    * Get if the object retains the original aspect ratio.
+    *
+    * @param obj The image object.
+    * @return @c EINA_TRUE if the object keeps the original aspect, @c EINA_FALSE
+    * otherwise.
+    *
+    * @ingroup Image
+    */
    EAPI Eina_Bool        elm_image_aspect_ratio_retained_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
+   /**
+    * @}
+    */
+
    /* smart callbacks called:
     * "clicked" - the user clicked the image
     */