image, gesture_layer, glview: remove doxygen warnings
[platform/upstream/elementary.git] / src / lib / elm_icon.h
index 52cd7d5..6bf42ee 100644 (file)
@@ -1,13 +1,10 @@
 /**
- * @defgroup Icon Icon
- * @ingroup Elementary
+ * @defgroup Elm_Icon Icon
+ * @ingroup elm_widget_group
  *
  * @image html icon_inheritance_tree.png
  * @image latex icon_inheritance_tree.eps
  *
- * @image html img/widget/icon/preview-00.png
- * @image latex img/widget/icon/preview-00.eps
- *
  * An icon object is used to display standard icon images ("delete",
  * "edit", "arrows", etc.) or images coming from a custom file (PNG,
  * JPG, EDJE, etc.), on icon contexts.
@@ -16,7 +13,7 @@
  * in the @c freedesktop.org theme paths. It's possible to set the
  * order of preference from where an image will be fetched.
  *
- * This widget inherits from the @ref Image one, so that all the
+ * This widget inherits from the @ref Elm_Image one, so that all the
  * functions acting on it also work for icon objects.
  *
  * You should be using an icon, instead of an image, whenever one of
  * Default images provided by Elementary's default theme are described
  * below.
  *
+ * These are names that follow (more or less) the @b Freedesktop icon naming
+ * specification. Use of these names are @b preferred, at least if you want to
+ * give your user the ability to use other themes. All these icons can be
+ * seen in the elementary_test application, the test is called "Icon Standard".
+ * 
+ * @li @c "folder" (since 1.13)
+ * @li @c "user-home" (since 1.13)
+ * @li @c "user-trash" (since 1.13)
+ *
+ * @li @c "view-close" (since 1.13)
+ * @li @c "view-refresh" (since 1.13)
+ *
+ * @li @c "window-close" (since 1.13)
+ *
+ * @li @c "document-close" (since 1.13)
+ * @li @c "document-edit" (since 1.13)
+ *
+ * @li @c "dialog-info" (since 1.13)
+ * @li @c "dialog-close" (since 1.13)
+ *
+ * @li @c "arrow-up" (since 1.13)
+ * @li @c "arrow-down" (since 1.13)
+ * @li @c "arrow-left" (since 1.13)
+ * @li @c "arrow-right" (since 1.13)
+ * @li @c "arrow-up-left" (since 1.13)
+ * @li @c "arrow-up-right" (since 1.13)
+ * @li @c "arrow-down-left" (since 1.13)
+ * @li @c "arrow-down-right" (since 1.13)
+ *
+ * @li @c "edit-delete" (since 1.13)
+ *
+ * @li @c "application-chat" (since 1.13)
+ * @li @c "application-clock" (since 1.13)
+ *
+ * @li @c "media-seek-forward" (since 1.13)
+ * @li @c "media-seek-backward" (since 1.13)
+ * @li @c "media-skip-forward" (since 1.13)
+ * @li @c "media-skip-backward" (since 1.13)
+ * @li @c "media-playback-pause" (since 1.13)
+ * @li @c "media-playback-start" (since 1.13)
+ * @li @c "media-playback-stop" (since 1.13)
+ * @li @c "media-eject" (since 1.13)
+ *
+ * @li @c "audio-volume" (since 1.13)
+ * @li @c "audio-volume-muted" (since 1.13)
+ * 
  * These are names for icons that were first intended to be used in
  * toolbars, but can be used in many other places too:
  * @li @c "home"
  * @li @c "media_player/stop"
  *
  * This widget emits the following signals, besides the ones sent from
- * @ref Image:
+ * @ref Elm_Image :
  * - @c "thumb,done" - elm_icon_thumb_set() has completed with success
- *                     (@since 1.7)
- * - @c "thumb,error" - elm_icon_thumb_set() has failed (@since 1.7)
+ *                     (since 1.7)
+ * - @c "thumb,error" - elm_icon_thumb_set() has failed (since 1.7)
  *
  * Elementary icon objects support the following API calls:
  * @li elm_object_signal_emit()
  * @li elm_object_signal_callback_add()
  * @li elm_object_signal_callback_del()
- * for emmiting and listening to signals on the object, when the
+ * for emitting and listening to signals on the object, when the
  * internal image comes from an Edje object. This behavior was added
  * unintentionally, though, and is @b deprecated. Expect it to be
  * dropped on future releases.
  * @li @ref tutorial_icon
  */
 
-#define ELM_OBJ_ICON_CLASS elm_obj_icon_class_get()
-
-const Eo_Class *elm_obj_icon_class_get(void) EINA_CONST;
-
-extern EAPI Eo_Op ELM_OBJ_ICON_BASE_ID;
-
-enum
-{
-   ELM_OBJ_ICON_SUB_ID_THUMB_SET,
-   ELM_OBJ_ICON_SUB_ID_STANDARD_SET,
-   ELM_OBJ_ICON_SUB_ID_STANDARD_GET,
-   ELM_OBJ_ICON_SUB_ID_ORDER_LOOKUP_SET,
-   ELM_OBJ_ICON_SUB_ID_ORDER_LOOKUP_GET,
-   ELM_OBJ_ICON_SUB_ID_LAST
-};
-
-#define ELM_OBJ_ICON_ID(sub_id) (ELM_OBJ_ICON_BASE_ID + sub_id)
-
-
-/**
- * @def elm_obj_icon_thumb_set
- * @since 1.8
- *
- * Set the file that will be used, but use a generated thumbnail.
- *
- * @param[in] file
- * @param[in] group
- *
- * @see elm_icon_thumb_set
- */
-#define elm_obj_icon_thumb_set(file, group) ELM_OBJ_ICON_ID(ELM_OBJ_ICON_SUB_ID_THUMB_SET), EO_TYPECHECK(const char *, file), EO_TYPECHECK(const char *, group)
-
-/**
- * @def elm_obj_icon_standard_set
- * @since 1.8
- *
- * Set the icon by icon standards names.
- *
- * @param[in] name
- * @param[out] ret
- *
- * @see elm_icon_standard_set
- */
-#define elm_obj_icon_standard_set(name, ret) ELM_OBJ_ICON_ID(ELM_OBJ_ICON_SUB_ID_STANDARD_SET), EO_TYPECHECK(const char *, name), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def elm_obj_icon_standard_get
- * @since 1.8
- *
- * Get the icon name set by icon standard names.
- *
- * @param[out] ret
- *
- * @see elm_icon_standard_get
- */
-#define elm_obj_icon_standard_get(ret) ELM_OBJ_ICON_ID(ELM_OBJ_ICON_SUB_ID_STANDARD_GET), EO_TYPECHECK(const char **, ret)
-
-/**
- * @def elm_obj_icon_order_lookup_set
- * @since 1.8
- *
- * Sets the icon lookup order used by elm_icon_standard_set().
- *
- * @param[in] order
- *
- * @see elm_icon_order_lookup_set
- */
-#define elm_obj_icon_order_lookup_set(order) ELM_OBJ_ICON_ID(ELM_OBJ_ICON_SUB_ID_ORDER_LOOKUP_SET), EO_TYPECHECK(Elm_Icon_Lookup_Order, order)
-
-/**
- * @def elm_obj_icon_order_lookup_get
- * @since 1.8
- *
- * Gets the icon lookup order.
- *
- * @param[out] ret
- *
- * @see elm_icon_order_lookup_get
- */
-#define elm_obj_icon_order_lookup_get(ret) ELM_OBJ_ICON_ID(ELM_OBJ_ICON_SUB_ID_ORDER_LOOKUP_GET), EO_TYPECHECK(Elm_Icon_Lookup_Order *, ret)
-
-
-/**
- * @addtogroup Icon
- * @{
- */
-
-typedef enum
-{
-   ELM_ICON_NONE,
-   ELM_ICON_FILE,
-   ELM_ICON_STANDARD
-} Elm_Icon_Type;
-
-/**
- * @enum Elm_Icon_Lookup_Order
- * @typedef Elm_Icon_Lookup_Order
- *
- * Lookup order used by elm_icon_standard_set(). Should look for icons in the
- * theme, FDO paths, or both?
- *
- * @ingroup Icon
- */
-typedef enum
-{
-   ELM_ICON_LOOKUP_FDO_THEME, /**< icon look up order: freedesktop, theme */
-   ELM_ICON_LOOKUP_THEME_FDO, /**< icon look up order: theme, freedesktop */
-   ELM_ICON_LOOKUP_FDO, /**< icon look up order: freedesktop */
-   ELM_ICON_LOOKUP_THEME /**< icon look up order: theme */
-} Elm_Icon_Lookup_Order;
-
-/**
- * Add a new icon object 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 Icon
- */
-EAPI Evas_Object          *elm_icon_add(Evas_Object *parent);
-
-/**
- * Set the file that will be used, but use a generated thumbnail.
- *
- * @param obj The icon object
- * @param file The path to file that will be used as icon image
- * @param group The group that the icon belongs to an edje file
- *
- * This functions like elm_image_file_set() but requires the Ethumb library
- * support to be enabled successfully with elm_need_ethumb(). When set
- * the file indicated has a thumbnail generated and cached on disk for
- * future use or will directly use an existing cached thumbnail if it
- * is valid.
- *
- * @see elm_image_file_set()
- *
- * @ingroup Icon
- */
-EAPI void                  elm_icon_thumb_set(Evas_Object *obj, const char *file, const char *group);
-
-/**
- * Set the icon by icon standards names.
- *
- * @param obj The icon object
- * @param name The icon name
- *
- * @return (@c EINA_TRUE = success, @c EINA_FALSE = error)
- *
- * For example, freedesktop.org defines standard icon names such as "home",
- * "network", etc. There can be different icon sets to match those icon
- * keys. The @p name given as parameter is one of these "keys", and will be
- * used to look in the freedesktop.org paths and elementary theme. One can
- * change the lookup order with elm_icon_order_lookup_set().
- *
- * If name is not found in any of the expected locations and it is the
- * absolute path of an image file, this image will be used.
- *
- * @note The icon image set by this function can be changed by
- * elm_image_file_set().
- *
- * @note This function does not accept relative icon path.
- *
- * @see elm_icon_standard_get()
- * @see elm_image_file_set()
- *
- * @ingroup Icon
- */
-EAPI Eina_Bool             elm_icon_standard_set(Evas_Object *obj, const char *name);
-
-/**
- * Get the icon name set by icon standard names.
- *
- * @param obj The icon object
- * @return The icon name
- *
- * If the icon image was set using elm_image_file_set() instead of
- * elm_icon_standard_set(), then this function will return @c NULL.
- *
- * @see elm_icon_standard_set()
- *
- * @ingroup Icon
- */
-EAPI const char           *elm_icon_standard_get(const Evas_Object *obj);
-
-/**
- * Sets the icon lookup order used by elm_icon_standard_set().
- *
- * @param obj The icon object
- * @param order The icon lookup order (can be one of
- * ELM_ICON_LOOKUP_FDO_THEME, ELM_ICON_LOOKUP_THEME_FDO, ELM_ICON_LOOKUP_FDO
- * or ELM_ICON_LOOKUP_THEME)
- *
- * @see elm_icon_order_lookup_get()
- * @see Elm_Icon_Lookup_Order
- *
- * @ingroup Icon
- */
-EAPI void                  elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order);
-
-/**
- * Gets the icon lookup order.
- *
- * @param obj The icon object
- * @return The icon lookup order
- *
- * @see elm_icon_order_lookup_set()
- * @see Elm_Icon_Lookup_Order
- *
- * @ingroup Icon
- */
-EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj);
-
+#ifdef EFL_EO_API_SUPPORT
+#include "elm_icon_eo.h"
+#endif
+#ifndef EFL_NOLEGACY_API_SUPPORT
+#include "elm_icon_legacy.h"
+#endif
 /**
  * @}
  */