jackdanielz pushed a commit to branch master.
commit 3b12859d41781031ecdcebbebb8499ceef288421
Author: Daniel Zaoui <[email protected]>
Date: Sun Apr 28 09:41:30 2013 +0300
Elementary: Bg header split.
---
src/lib/elm_bg.h | 288 +---------------------------------
src/lib/elm_bg_common.h | 18 +++
src/lib/elm_bg_eo.h | 128 +++++++++++++++
src/lib/{elm_bg.h => elm_bg_legacy.h} | 168 --------------------
4 files changed, 153 insertions(+), 449 deletions(-)
diff --git a/src/lib/elm_bg.h b/src/lib/elm_bg.h
index 3bed0a6..4fc0fbb 100644
--- a/src/lib/elm_bg.h
+++ b/src/lib/elm_bg.h
@@ -29,287 +29,13 @@
* @li @ref bg_03_example_page
*/
-#define ELM_OBJ_BG_CLASS elm_obj_bg_class_get()
-
-const Eo_Class *elm_obj_bg_class_get(void) EINA_CONST;
-
-extern EAPI Eo_Op ELM_OBJ_BG_BASE_ID;
-
-enum
-{
- ELM_OBJ_BG_SUB_ID_FILE_SET,
- ELM_OBJ_BG_SUB_ID_FILE_GET,
- ELM_OBJ_BG_SUB_ID_OPTION_SET,
- ELM_OBJ_BG_SUB_ID_OPTION_GET,
- ELM_OBJ_BG_SUB_ID_COLOR_SET,
- ELM_OBJ_BG_SUB_ID_COLOR_GET,
- ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET,
- ELM_OBJ_BG_SUB_ID_LAST
-};
-
-#define ELM_OBJ_BG_ID(sub_id) (ELM_OBJ_BG_BASE_ID + sub_id)
-
-
-/**
- * @def elm_obj_bg_file_set
- * @since 1.8
- *
- * Set the file (image or edje collection) to give life for the
- * background
- *
- * @param[in] file
- * @param[in] group
- * @param[out] ret
- *
- * @see elm_bg_file_set
- */
-#define elm_obj_bg_file_set(file, group, ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file),
EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def elm_obj_bg_file_get
- * @since 1.8
- *
- * Get the file (image or edje collection) set on a given background
- *
- * @param[out] file
- * @param[out] group
- *
- * @see elm_bg_file_get
- */
-#define elm_obj_bg_file_get(file, group)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file),
EO_TYPECHECK(const char **, group)
-
-/**
- * @def elm_obj_bg_option_set
- * @since 1.8
- *
- * Set the mode of display for a given background widget's image
- *
- * @param[in] option
- *
- * @see elm_bg_option_set
- */
-#define elm_obj_bg_option_set(option)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_SET), EO_TYPECHECK(Elm_Bg_Option, option)
-
-/**
- * @def elm_obj_bg_option_get
- * @since 1.8
- *
- * Get the mode of display for a given background widget's image
- *
- * @param[out] ret
- *
- * @see elm_bg_option_get
- */
-#define elm_obj_bg_option_get(ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_GET), EO_TYPECHECK(Elm_Bg_Option *, ret)
-
-/**
- * @def elm_obj_bg_color_set
- * @since 1.8
- *
- * Set the color on a given background widget
- *
- * @param[in] r
- * @param[in] g
- * @param[in] b
- *
- * @see elm_bg_color_set
- */
-#define elm_obj_bg_color_set(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_SET), EO_TYPECHECK(int, r),
EO_TYPECHECK(int, g), EO_TYPECHECK(int, b)
-
-/**
- * @def elm_obj_bg_color_get
- * @since 1.8
- *
- * Get the color set on a given background widget
- *
- * @param[out] r
- * @param[out] g
- * @param[out] b
- *
- * @see elm_bg_color_get
- */
-#define elm_obj_bg_color_get(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_GET), EO_TYPECHECK(int *, r),
EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b)
-
-/**
- * @def elm_obj_bg_load_size_set
- * @since 1.8
- *
- * Set the size of the pixmap representation of the image set on a
- * given background widget.
- *
- * @param[in] w
- * @param[in] h
- *
- * @see elm_bg_load_size_set
- */
-#define elm_obj_bg_load_size_set(w, h)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET), EO_TYPECHECK(Evas_Coord, w),
EO_TYPECHECK(Evas_Coord, h)
-
-/**
- * Identifiers on how a background widget is to display its image --
- * if it was set to use an image file.
- *
- * @see elm_bg_option_set()
- * @see elm_bg_option_get()
- *
- * @ingroup Bg
- */
-typedef enum
-{
- ELM_BG_OPTION_CENTER, /**< center the background image */
- ELM_BG_OPTION_SCALE, /**< scale the background image, retaining aspect
ratio */
- ELM_BG_OPTION_STRETCH, /**< stretch the background image to fill the
widget's area */
- ELM_BG_OPTION_TILE, /**< tile background image at its original size */
- ELM_BG_OPTION_LAST /**< sentinel value, also used to indicate errors */
-} Elm_Bg_Option;
-
-/**
- * Add a new background to the parent
- *
- * @param parent The parent object
- * @return The new object or @c NULL if it cannot be created
- *
- * @ingroup Bg
- */
-EAPI Evas_Object *elm_bg_add(Evas_Object *parent);
-
-/**
- * Set the file (image or edje collection) to give life for the
- * background
- *
- * @param obj The background object handle
- * @param file The file path
- * @param group Optional key (group in Edje) within the file
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- *
- * This sets the image file used in the background object. If the
- * image comes from an Edje group, it will be stretched to completely
- * fill the background object. If it comes from a traditional image file, it
- * will by default be centered in this widget's are (thus retaining
- * its aspect), what could lead to some parts being not visible. You
- * may change the mode of exhibition for a real image file with
- * elm_bg_option_set().
- *
- * @note Once the image of @p obj is set, a previously set one will be
- * deleted, even if @p file is @c NULL.
- *
- * @note This will only affect the contents of one of the background's
- * swallow spots, namely @c "elm.swallow.background". If you want to
- * achieve the @c Layout's file setting behavior, you'll have to call
- * that method on this object.
- *
- * @ingroup Bg
- */
-EAPI Eina_Bool elm_bg_file_set(Evas_Object *obj, const char
*file, const char *group);
-
-/**
- * Get the file (image or edje collection) set on a given background
- * widget
- *
- * @param obj The background object handle
- * @param file Where to store the requested file's path
- * @param group Where to store the optional key within @a file, @b if
- * it's an Edje file
- *
- * @note Use @c NULL pointers on the file components you're not
- * interested in: they'll be ignored by the function.
- *
- * @ingroup Bg
- */
-EAPI void elm_bg_file_get(const Evas_Object *obj,
const char **file, const char **group);
-
-/**
- * Set the mode of display for a given background widget's image
- *
- * @param obj The background object handle
- * @param option The desired background option (see #Elm_Bg_Option)
- *
- * This sets how the background widget will display its image. This
- * will only work if the elm_bg_file_set() was previously called with
- * an image file on @a obj. The image can be display tiled, scaled,
- * centered or stretched.
- *
- * @see elm_bg_option_get()
- *
- * @ingroup Bg
- */
-EAPI void elm_bg_option_set(Evas_Object *obj,
Elm_Bg_Option option);
-
-/**
- * Get the mode of display for a given background widget's image
- *
- * @param obj The background object handle
- * @return The image displaying mode in use for @a obj or #ELM_BG_OPTION_LAST,
- * on errors.
- *
- * @see elm_bg_option_set() for more details
- *
- * @ingroup Bg
- */
-EAPI Elm_Bg_Option elm_bg_option_get(const Evas_Object *obj);
-
-/**
- * Set the color on a given background widget
- *
- * @param obj The background object handle
- * @param r The red color component's value
- * @param g The green color component's value
- * @param b The blue color component's value
- *
- * This sets the color used for the background rectangle, in RGB
- * format. Each color component's range is from 0 to 255.
- *
- * @note You probably only want to use this function if you haven't
- * previously called elm_bg_file_set(), so that you just want a solid
- * color background.
- *
- * @see elm_bg_color_get()
- *
- * @ingroup Bg
- */
-EAPI void elm_bg_color_set(Evas_Object *obj, int r,
int g, int b);
-
-/**
- * Get the color set on a given background widget
- *
- * @param obj The background object handle
- * @param r Where to store the red color component's value
- * @param g Where to store the green color component's value
- * @param b Where to store the blue color component's value
- *
- * @note Use @c NULL pointers on the file components you're not
- * interested in: they'll be ignored by the function.
- *
- * @see elm_bg_color_get() for more details
- *
- * @ingroup Bg
- */
-EAPI void elm_bg_color_get(const Evas_Object *obj, int
*r, int *g, int *b);
-
-/**
- * Set the size of the pixmap representation of the image set on a
- * given background widget.
- *
- * @param obj The background object handle
- * @param w The new width of the image pixmap representation.
- * @param h The new height of the image pixmap representation.
- *
- * @warning This function just makes sense if an image file was set on
- * @p obj, with elm_bg_file_set().
- *
- * This function sets a new size for pixmap representation of the
- * given bg image. It allows for the image to be loaded already in the
- * specified size, reducing the memory usage and load time (for
- * example, when loading a big image file with its load size set to a
- * smaller size)
- *
- * @note This is just a hint for the underlying system. The real size
- * of the pixmap may differ depending on the type of image being
- * loaded, being bigger than requested.
- *
- * @ingroup Bg
- */
-EAPI void elm_bg_load_size_set(Evas_Object *obj,
Evas_Coord w, Evas_Coord h);
-
+#include "elm_bg_common.h"
+#ifdef EFL_EO_API_SUPPORT
+#include "elm_bg_eo.h"
+#endif
+#ifndef EFL_NOLEGACY_API_SUPPORT
+#include "elm_bg_legacy.h"
+#endif
/**
* @}
*/
diff --git a/src/lib/elm_bg_common.h b/src/lib/elm_bg_common.h
new file mode 100644
index 0000000..5a81d6a
--- /dev/null
+++ b/src/lib/elm_bg_common.h
@@ -0,0 +1,18 @@
+/**
+ * Identifiers on how a background widget is to display its image --
+ * if it was set to use an image file.
+ *
+ * @see elm_bg_option_set()
+ * @see elm_bg_option_get()
+ *
+ * @ingroup Bg
+ */
+typedef enum
+{
+ ELM_BG_OPTION_CENTER, /**< center the background image */
+ ELM_BG_OPTION_SCALE, /**< scale the background image, retaining aspect
ratio */
+ ELM_BG_OPTION_STRETCH, /**< stretch the background image to fill the
widget's area */
+ ELM_BG_OPTION_TILE, /**< tile background image at its original size */
+ ELM_BG_OPTION_LAST /**< sentinel value, also used to indicate errors */
+} Elm_Bg_Option;
+
diff --git a/src/lib/elm_bg_eo.h b/src/lib/elm_bg_eo.h
new file mode 100644
index 0000000..b989a58
--- /dev/null
+++ b/src/lib/elm_bg_eo.h
@@ -0,0 +1,128 @@
+#define ELM_OBJ_BG_CLASS elm_obj_bg_class_get()
+
+const Eo_Class *elm_obj_bg_class_get(void) EINA_CONST;
+
+extern EAPI Eo_Op ELM_OBJ_BG_BASE_ID;
+
+enum
+{
+ ELM_OBJ_BG_SUB_ID_FILE_SET,
+ ELM_OBJ_BG_SUB_ID_FILE_GET,
+ ELM_OBJ_BG_SUB_ID_OPTION_SET,
+ ELM_OBJ_BG_SUB_ID_OPTION_GET,
+ ELM_OBJ_BG_SUB_ID_COLOR_SET,
+ ELM_OBJ_BG_SUB_ID_COLOR_GET,
+ ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET,
+ ELM_OBJ_BG_SUB_ID_LAST
+};
+
+#define ELM_OBJ_BG_ID(sub_id) (ELM_OBJ_BG_BASE_ID + sub_id)
+
+
+/**
+ * @def elm_obj_bg_file_set
+ * @since 1.8
+ *
+ * Set the file (image or edje collection) to give life for the
+ * background
+ *
+ * @param[in] file
+ * @param[in] group
+ * @param[out] ret
+ *
+ * @see elm_bg_file_set
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_file_set(file, group, ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file),
EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
+
+/**
+ * @def elm_obj_bg_file_get
+ * @since 1.8
+ *
+ * Get the file (image or edje collection) set on a given background
+ *
+ * @param[out] file
+ * @param[out] group
+ *
+ * @see elm_bg_file_get
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_file_get(file, group)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file),
EO_TYPECHECK(const char **, group)
+
+/**
+ * @def elm_obj_bg_option_set
+ * @since 1.8
+ *
+ * Set the mode of display for a given background widget's image
+ *
+ * @param[in] option
+ *
+ * @see elm_bg_option_set
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_option_set(option)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_SET), EO_TYPECHECK(Elm_Bg_Option, option)
+
+/**
+ * @def elm_obj_bg_option_get
+ * @since 1.8
+ *
+ * Get the mode of display for a given background widget's image
+ *
+ * @param[out] ret
+ *
+ * @see elm_bg_option_get
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_option_get(ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_GET), EO_TYPECHECK(Elm_Bg_Option *, ret)
+
+/**
+ * @def elm_obj_bg_color_set
+ * @since 1.8
+ *
+ * Set the color on a given background widget
+ *
+ * @param[in] r
+ * @param[in] g
+ * @param[in] b
+ *
+ * @see elm_bg_color_set
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_color_set(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_SET), EO_TYPECHECK(int, r),
EO_TYPECHECK(int, g), EO_TYPECHECK(int, b)
+
+/**
+ * @def elm_obj_bg_color_get
+ * @since 1.8
+ *
+ * Get the color set on a given background widget
+ *
+ * @param[out] r
+ * @param[out] g
+ * @param[out] b
+ *
+ * @see elm_bg_color_get
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_color_get(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_GET), EO_TYPECHECK(int *, r),
EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b)
+
+/**
+ * @def elm_obj_bg_load_size_set
+ * @since 1.8
+ *
+ * Set the size of the pixmap representation of the image set on a
+ * given background widget.
+ *
+ * @param[in] w
+ * @param[in] h
+ *
+ * @see elm_bg_load_size_set
+ *
+ * @ingroup Bg
+ */
+#define elm_obj_bg_load_size_set(w, h)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET), EO_TYPECHECK(Evas_Coord, w),
EO_TYPECHECK(Evas_Coord, h)
diff --git a/src/lib/elm_bg.h b/src/lib/elm_bg_legacy.h
similarity index 53%
copy from src/lib/elm_bg.h
copy to src/lib/elm_bg_legacy.h
index 3bed0a6..aac17c8 100644
--- a/src/lib/elm_bg.h
+++ b/src/lib/elm_bg_legacy.h
@@ -1,168 +1,4 @@
/**
- * @defgroup Bg Background
- * @ingroup Elementary
- *
- * @image html bg_inheritance_tree.png
- * @image latex bg_inheritance_tree.eps
- *
- * @image html img/widget/bg/preview-00.png
- * @image latex img/widget/bg/preview-00.eps
- *
- * @brief Background object, used for setting a solid color, image or
- * Edje group as a background to a window or any container object.
- *
- * The bg (background) widget is used for setting (solid) background
- * decorations to a window (unless it has transparency enabled) or to
- * any container object. It works just like an image, but has some
- * properties useful to a background, like setting it to tiled,
- * centered, scaled or stretched.
- *
- * This widget inherits from the @ref Layout one, so that all the
- * functions acting on it also work for background objects.
- *
- * Default content parts of the bg widget that you can use for are:
- * @li @c "overlay" - overlay of the bg
- *
- * Here is some sample code using it:
- * @li @ref bg_01_example_page
- * @li @ref bg_02_example_page
- * @li @ref bg_03_example_page
- */
-
-#define ELM_OBJ_BG_CLASS elm_obj_bg_class_get()
-
-const Eo_Class *elm_obj_bg_class_get(void) EINA_CONST;
-
-extern EAPI Eo_Op ELM_OBJ_BG_BASE_ID;
-
-enum
-{
- ELM_OBJ_BG_SUB_ID_FILE_SET,
- ELM_OBJ_BG_SUB_ID_FILE_GET,
- ELM_OBJ_BG_SUB_ID_OPTION_SET,
- ELM_OBJ_BG_SUB_ID_OPTION_GET,
- ELM_OBJ_BG_SUB_ID_COLOR_SET,
- ELM_OBJ_BG_SUB_ID_COLOR_GET,
- ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET,
- ELM_OBJ_BG_SUB_ID_LAST
-};
-
-#define ELM_OBJ_BG_ID(sub_id) (ELM_OBJ_BG_BASE_ID + sub_id)
-
-
-/**
- * @def elm_obj_bg_file_set
- * @since 1.8
- *
- * Set the file (image or edje collection) to give life for the
- * background
- *
- * @param[in] file
- * @param[in] group
- * @param[out] ret
- *
- * @see elm_bg_file_set
- */
-#define elm_obj_bg_file_set(file, group, ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file),
EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
-
-/**
- * @def elm_obj_bg_file_get
- * @since 1.8
- *
- * Get the file (image or edje collection) set on a given background
- *
- * @param[out] file
- * @param[out] group
- *
- * @see elm_bg_file_get
- */
-#define elm_obj_bg_file_get(file, group)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file),
EO_TYPECHECK(const char **, group)
-
-/**
- * @def elm_obj_bg_option_set
- * @since 1.8
- *
- * Set the mode of display for a given background widget's image
- *
- * @param[in] option
- *
- * @see elm_bg_option_set
- */
-#define elm_obj_bg_option_set(option)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_SET), EO_TYPECHECK(Elm_Bg_Option, option)
-
-/**
- * @def elm_obj_bg_option_get
- * @since 1.8
- *
- * Get the mode of display for a given background widget's image
- *
- * @param[out] ret
- *
- * @see elm_bg_option_get
- */
-#define elm_obj_bg_option_get(ret)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_OPTION_GET), EO_TYPECHECK(Elm_Bg_Option *, ret)
-
-/**
- * @def elm_obj_bg_color_set
- * @since 1.8
- *
- * Set the color on a given background widget
- *
- * @param[in] r
- * @param[in] g
- * @param[in] b
- *
- * @see elm_bg_color_set
- */
-#define elm_obj_bg_color_set(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_SET), EO_TYPECHECK(int, r),
EO_TYPECHECK(int, g), EO_TYPECHECK(int, b)
-
-/**
- * @def elm_obj_bg_color_get
- * @since 1.8
- *
- * Get the color set on a given background widget
- *
- * @param[out] r
- * @param[out] g
- * @param[out] b
- *
- * @see elm_bg_color_get
- */
-#define elm_obj_bg_color_get(r, g, b)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_COLOR_GET), EO_TYPECHECK(int *, r),
EO_TYPECHECK(int *, g), EO_TYPECHECK(int *, b)
-
-/**
- * @def elm_obj_bg_load_size_set
- * @since 1.8
- *
- * Set the size of the pixmap representation of the image set on a
- * given background widget.
- *
- * @param[in] w
- * @param[in] h
- *
- * @see elm_bg_load_size_set
- */
-#define elm_obj_bg_load_size_set(w, h)
ELM_OBJ_BG_ID(ELM_OBJ_BG_SUB_ID_LOAD_SIZE_SET), EO_TYPECHECK(Evas_Coord, w),
EO_TYPECHECK(Evas_Coord, h)
-
-/**
- * Identifiers on how a background widget is to display its image --
- * if it was set to use an image file.
- *
- * @see elm_bg_option_set()
- * @see elm_bg_option_get()
- *
- * @ingroup Bg
- */
-typedef enum
-{
- ELM_BG_OPTION_CENTER, /**< center the background image */
- ELM_BG_OPTION_SCALE, /**< scale the background image, retaining aspect
ratio */
- ELM_BG_OPTION_STRETCH, /**< stretch the background image to fill the
widget's area */
- ELM_BG_OPTION_TILE, /**< tile background image at its original size */
- ELM_BG_OPTION_LAST /**< sentinel value, also used to indicate errors */
-} Elm_Bg_Option;
-
-/**
* Add a new background to the parent
*
* @param parent The parent object
@@ -309,7 +145,3 @@ EAPI void elm_bg_color_get(const
Evas_Object *obj, int *
* @ingroup Bg
*/
EAPI void elm_bg_load_size_set(Evas_Object *obj,
Evas_Coord w, Evas_Coord h);
-
-/**
- * @}
- */
--
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr