aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-05-02 18:37:38 +0900
committerHermet Park <hermetpark@gmail.com>2019-05-02 18:37:38 +0900
commit53455d8352f98881ee3790b19627368b2d3454f0 (patch)
treee4fb6a53759ecf437e8b57a83494c003f8f7815b
parentevas png: apply interpolation when scale down image loading. (diff)
downloadefl-53455d8352f98881ee3790b19627368b2d3454f0.tar.gz
edje doc: fix corrupted grouping.
there were some corrupted pair of group scopes, Edje class size, text were under the both Edje Object and Edje Part Edje Communication Interface Message, Edje Perspective were wrongly same. Swallow, Box, Tabe were under the Edje Text Part. This fixes all of them.
-rw-r--r--src/lib/edje/Edje_Common.h771
-rw-r--r--src/lib/edje/Edje_Legacy.h111
2 files changed, 438 insertions, 444 deletions
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index 66b8216dda..aa6b66267f 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -81,6 +81,39 @@ struct _Edje_Size_Class
};
/**
+ * @defgroup Edje_Object_Communication_Interface_Message Edje Communication Interface: Message
+ * @ingroup Edje_Object_Group
+ *
+ * @brief Functions that deal with messages.
+ *
+ * Edje has two communication interfaces between @b code and @b theme.
+ * Signals and messages.
+ *
+ * Edje messages are one of the communication interfaces between
+ * @b code and a given Edje object's @b theme. With messages, one can
+ * communicate values like strings, float numbers and integer
+ * numbers. Moreover, messages can be identified by integer
+ * numbers. See #Edje_Message_Type for the full list of message types.
+ *
+ * @note Messages must be handled by scripts.
+ *
+ * @{
+ */
+
+/**
+ * @brief Processes all queued up edje messages.
+ *
+ * This function triggers the processing of messages addressed to any
+ * (alive) edje objects.
+ *
+ */
+EAPI void edje_message_signal_process (void);
+
+/**
+ * @}
+ */
+
+/**
* @defgroup Edje_Object_Communication_Interface_Signal Edje Communication Interface: Signal
* @ingroup Edje_Object_Group
*
@@ -112,6 +145,98 @@ typedef Efl_Signal_Cb Edje_Signal_Cb;
*/
EAPI void * edje_object_signal_callback_extra_data_get(void);
+
+#ifdef EFL_BETA_API_SUPPORT
+/**
+ * @brief Gets seat data passed to callbacks.
+ *
+ * @return The seat data for that callback.
+ *
+ * When a callback is initiated by an input event from a seat, we try to
+ * provide seat information with it.
+ *
+ * Signals fired as programmed responses to these signals will also try
+ * to carry the seat data along.
+ *
+ * This returns an opaque pointer to the seat data.
+ *
+ * @see edje_object_signal_callback_add() for more on Edje signals.
+ * @since 1.21
+ */
+EAPI void *edje_object_signal_callback_seat_data_get(void);
+#endif
+
+
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Audio Edje Audio
+ * @ingroup Edje
+ *
+ * @brief Functions to manipulate audio abilities in edje.
+ *
+ * Perspective is a graphical tool that makes objects represented in 2D
+ * look like they have a 3D appearance.
+ *
+ * Edje allows us to use perspective on any edje object. This group of
+ * functions deal with the use of perspective, by creating and configuring
+ * a perspective object that must set to a edje object or a canvas,
+ * affecting all the objects inside that have no particular perspective
+ * set already.
+ *
+ * @{
+ */
+
+/**
+ * Identifiers of Edje message types, which can be sent back and forth
+ * code and a given Edje object's theme file/group.
+ *
+ * @see edje_audio_channel_mute_set()
+ * @see edje_audio_channel_mute_get()
+ *
+ * @since 1.9
+ */
+typedef enum _Edje_Channel
+{
+ EDJE_CHANNEL_EFFECT = 0, /**< Standard audio effects */
+ EDJE_CHANNEL_BACKGROUND = 1, /**< Background audio sounds */
+ EDJE_CHANNEL_MUSIC = 2, /**< Music audio */
+ EDJE_CHANNEL_FOREGROUND = 3, /**< Foreground audio sounds */
+ EDJE_CHANNEL_INTERFACE = 4, /**< Sounds related to the interface */
+ EDJE_CHANNEL_INPUT = 5, /**< Sounds related to regular input */
+ EDJE_CHANNEL_ALERT = 6, /**< Sounds for major alerts */
+ EDJE_CHANNEL_ALL = 7 /**< All audio channels (convenience) */
+} Edje_Channel;
+
+/**
+ * @brief Sets the mute state of audio for the process as a whole.
+ *
+ * @param channel The channel to set the mute state of
+ * @param mute The mute state
+ *
+ * This sets the mute (no output) state of audio for the given channel.
+ *
+ * @see edje_audio_channel_mute_get()
+ *
+ * @since 1.9
+ */
+EAPI void edje_audio_channel_mute_set(Edje_Channel channel, Eina_Bool mute);
+
+/**
+ * @brief Gets the mute state of the given channel.
+ *
+ * @param channel The channel to get the mute state of
+ * @return The mute state of the channel
+ *
+ * @see edje_audio_channel_mute_set()
+ *
+ * @since 1.9
+ */
+EAPI Eina_Bool edje_audio_channel_mute_get(Edje_Channel channel);
+
/**
* @}
*/
@@ -917,6 +1042,48 @@ EAPI const Edje_External_Type *edje_external_type_get (const char
*
* @{
*/
+
+/**
+ * @typedef Edje_Aspect_Control
+ *
+ * All Edje aspect control values.
+ *
+ */
+typedef enum _Edje_Aspect_Control
+{
+ EDJE_ASPECT_CONTROL_NONE = 0, /*< None aspect control value */
+ EDJE_ASPECT_CONTROL_NEITHER = 1, /*< Neither aspect control value */
+ EDJE_ASPECT_CONTROL_HORIZONTAL = 2, /*< Horizontal aspect control value */
+ EDJE_ASPECT_CONTROL_VERTICAL = 3, /*< Vertical aspect control value */
+ EDJE_ASPECT_CONTROL_BOTH = 4 /*< Both aspect control value */
+} Edje_Aspect_Control;
+
+/**
+ * @brief Gets the part name of an edje part object.
+ * @param obj An edje part object
+ * @return The name of the part, if the object is an edje part, or @c NULL
+ * @note If this function returns @c NULL, @p obj was not an Edje part object
+ * @see edje_object_part_object_get()
+ * @since 1.10
+ */
+EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
+
+#ifdef EFL_BETA_API_SUPPORT
+
+/**
+ * @brief Creates scene and root node which contains all 3D parts of edje object.
+ * @param obj An edje part object
+ * @param root node to collect all 3D parts
+ * @param scene
+ * @return scene and root node which contains all 3D parts of edje object
+ * @note If this function returns @c EINA_FALSE, @p the scene or the root
+ * node wasn't made
+ * @since 1.18
+ */
+EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
+
+#endif
+
/**
* @}
*/
@@ -1254,245 +1421,113 @@ EAPI Eina_Iterator *edje_color_class_active_iterator_new(void);
*/
EAPI Eina_Iterator *edje_mmap_color_class_iterator_new(Eina_File *f);
-
/**
* @}
*/
/**
- * @defgroup Edje_Object_Part Edje Part
+ * @defgroup Edje_Object_Size_Class Edje Class: Size
* @ingroup Edje_Object_Group
*
- * @brief Functions that deal with layout components
- *
- * Parts are layout components, but as a layout, they are objects too.
- *
- * There are several types of parts, these types can be divided into two
- * main categories, the first being containers. Containers are parts
- * that are in effect a group of elements. The second group is that of
- * the elements, these part types may not contain others.
- *
- * This section has some functions specific for some types and others that
- * could be applied to any type.
- *
- * @{
- */
-
-/**
- * @defgroup Edje_Part_Text Edje Text Part
- * @ingroup Edje_Object_Part
+ * @brief Functions that deal with Size Classes
*
- * @brief Functions that deal with parts of type text
+ * Sometimes we want to change the size of two or more parts equally and
+ * that's when we use size classes.
*
- * Text is an element type for parts. It's basic functionality is to
- * display a string on the layout, but a lot more things can be done
- * with texts, like string selection, setting the cursor and include
- * a input panel, where one can set a virtual keyboard to handle
- * keyboard entry easily.
+ * If one or more parts are assigned with a size class, when we set attributes
+ * (minw etc.) to this class will update all these parts with the new attributes.
+ * Setting values to a size class at a process level will affect
+ * all parts with that size class, while at object level will affect only
+ * the parts inside an specified object.
*
* @{
*/
-#define EDJE_TEXT_EFFECT_MASK_BASIC 0xf
-#define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \
- do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0)
-
-#define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4)
-#define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \
- do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0)
-
/**
- * @typedef Edje_Text_Effect
+ * @brief Sets the Edje size class.
*
- * All possible text effects in Edje.
- */
-typedef enum _Edje_Text_Effect
-{
- EDJE_TEXT_EFFECT_NONE = 0, /**< None text effect value */
- EDJE_TEXT_EFFECT_PLAIN = 1, /**< Plain text effect value */
- EDJE_TEXT_EFFECT_OUTLINE = 2, /**< Outline text effect value */
- EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3, /**< Soft outline text effect value */
- EDJE_TEXT_EFFECT_SHADOW = 4, /**< Shadown text effect value */
- EDJE_TEXT_EFFECT_SOFT_SHADOW = 5, /**< Soft shadow text effect value */
- EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6, /**< Outline shadow text effect value */
- EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7, /**< Outline soft shadow text effect value */
- EDJE_TEXT_EFFECT_FAR_SHADOW = 8, /**< Far shadow text effect value */
- EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9, /**< Far soft shadow text effect value */
- EDJE_TEXT_EFFECT_GLOW = 10, /**< Glow text effect value */
-
- EDJE_TEXT_EFFECT_LAST = 11, /**< Last text effect value */
-
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), /**< Bottom right shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), /**< Bottom shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), /**< Bottom left shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4), /**< Left shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), /**< Top left shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< Top shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< Top right shadow direction value */
- EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< right shadow direction value */
-} Edje_Text_Effect;
-
-
-/**
- * @defgroup Edje_Text_Selection Edje Text Selection
- * @ingroup Edje_Part_Text
+ * @param size_class The size class name
+ * @param minw The min width
+ * @param minh The min height
+ * @param maxw The max width
+ * @param maxh The max height
*
- * @brief Functions that deal with selection in text parts.
+ * @return @c EINA_TRUE on success, or @c EINA_FALSE on error
*
- * Selection is a known functionality for texts in the whole computational
- * world. It is a block of text marked for further manipulation.
+ * This function updates all Edje members at the process level which
+ * belong to this size class with the new min and max attributes.
*
- * Edje is responsible for handling this functionality through the
- * following functions.
+ * @see edje_size_class_get().
*
- * @{
- */
-/**
- * @}
+ * @since 1.17
*/
+EAPI Eina_Bool edje_size_class_set (const char *size_class, Evas_Coord minw, Evas_Coord minh, Evas_Coord maxw, Evas_Coord maxh);
/**
- * @defgroup Edje_Text_Cursor Edje Text Cursor
- * @ingroup Edje_Part_Text
+ * @brief Gets the Edje size class.
*
- * @brief Functions that deal with cursor in text parts.
+ * @param size_class The size class name
+ * @param minw The min width
+ * @param minh The min height
+ * @param maxw The max width
+ * @param maxh The max height
*
- * Cursor is a known functionality for texts in the whole computational
- * world. It marks a position in the text from where one may want
- * to make a insertion, deletion or selection.
+ * @return @c EINA_TRUE on success, or @c EINA_FALSE on error
*
- * Edje is responsible for handling this functionality through the
- * following functions.
+ * This function gets the min and max size from the specified Edje
+ * size class.
*
- * @{
- */
-
-/**
- * @}
+ * @since 1.17
*/
+EAPI Eina_Bool edje_size_class_get (const char *size_class, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord *maxw, Evas_Coord *maxh);
/**
- * @defgroup Edje_Part_Swallow Edje Swallow Part
- * @ingroup Edje_Object_Part
- *
- * @brief Functions that deal with parts of type swallow and swallowed objects.
- *
- * A important feature of Edje is to be able to create Evas_Objects
- * in code and place them in a layout. And that is what swallowing
- * is all about.
- *
- * Swallow parts are place holders defined in the EDC file for
- * objects that one may want to include in the layout later, or for
- * objects that are not native of Edje. In this last case, Edje will
- * only treat the Evas_Object properties of the swallowed objects.
- *
+ * @brief Deletes the size class.
*
- * @{
- */
-
-/**
- * @typedef Edje_Aspect_Control
+ * @param size_class The size class name
*
- * All Edje aspect control values.
+ * This function deletes any values at the process level for the
+ * specified size class.
*
+ * @since 1.17
*/
-typedef enum _Edje_Aspect_Control
-{
- EDJE_ASPECT_CONTROL_NONE = 0, /*< None aspect control value */
- EDJE_ASPECT_CONTROL_NEITHER = 1, /*< Neither aspect control value */
- EDJE_ASPECT_CONTROL_HORIZONTAL = 2, /*< Horizontal aspect control value */
- EDJE_ASPECT_CONTROL_VERTICAL = 3, /*< Vertical aspect control value */
- EDJE_ASPECT_CONTROL_BOTH = 4 /*< Both aspect control value */
-} Edje_Aspect_Control;
-
-/**
- * @}
- */
+EAPI void edje_size_class_del (const char *size_class);
/**
- * @defgroup Edje_Object_Geometry_Group Edje Object Geometry
- * @ingroup Edje_Object_Group
- *
- * @brief Functions that deal with object's geometry.
+ * @brief Lists size classes.
*
- * By geometry we mean size and position. So in this groups there are
- * functions to manipulate object's geometry or retrieve information
- * about it.
+ * @return A list of size class names (strings). These strings are
+ * stringshares and the list must be eina_stringshare_del()'ed by the caller.
*
- * Keep in mind that by changing an object's geometry, it may affect
- * the appearance in the screen of the parts inside. Most times
- * that is what you want.
+ * This function lists all size classes known about by the current
+ * process.
*
- * @{
- */
-/**
- * @}
+ * @since 1.17
*/
+EAPI Eina_List *edje_size_class_list (void);
/**
- * @defgroup Edje_Part_Box Edje Box Part
- * @ingroup Edje_Object_Part
- *
- * @brief Functions that deal with parts of type box.
- *
- * Box is a container type for parts, that means it can contain
- * other parts.
+ * @brief Iterates over all active classes of an application.
*
- * @{
- */
-
-/**
- * @brief Registers a custom layout to be used in edje boxes.
+ * @return An iterator of Edje_Size_Class of the currently active size class
*
- * @param name The name of the layout
- * @param func The function defining the layout
- * @param layout_data_get This function gets the custom data pointer
- * for func
- * @param layout_data_free Passed to func to free its private data
- * when needed
- * @param free_data Frees data
- * @param data Private pointer passed to layout_data_get
+ * This function only iterates over the Edje_Size_Class in use by
+ * an application.
*
- * This function registers custom layouts that can be referred from
- * themes by the registered name. The Evas_Object_Box_Layout
- * functions receive two pointers for internal use, one being private
- * data, and the other the function to free that data when it's not
- * longer needed. From Edje, this private data will be retrieved by
- * calling layout_data_get, and layout_data_free will be the free
- * function passed to func. layout_data_get will be called with data
- * as its parameter, and this one will be freed by free_data whenever
- * the layout is unregistered from Edje.
- */
-EAPI void edje_box_layout_register (const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data);
-
-/**
- * @}
+ * @since 1.17
*/
+EAPI Eina_Iterator *edje_size_class_active_iterator_new(void);
/**
- * @defgroup Edje_Part_Table Edje Table Part
- * @ingroup Edje_Object_Part
- *
- * @brief Functions that deal with parts of type table.
- *
- * Table is a container type for parts, that means it can contain
- * other parts.
+ * @brief Iterates over all size classes provided by an Edje file.
*
- * @{
- */
-
-/**
- * @typedef Edje_Object_Table_Homogeneous_Mode
+ * @param f The mapped edje file.
*
- * Table homogeneous modes.
+ * @return an iterator of Edje_Size_Class provided by the Edje file.
*
+ * @since 1.17
*/
-typedef enum _Edje_Object_Table_Homogeneous_Mode
-{
- EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, /*< None homogeneous mode */
- EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, /*< Table homogeneous mode */
- EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 /*< Item homogeneous mode */
-} Edje_Object_Table_Homogeneous_Mode;
+EAPI Eina_Iterator *edje_mmap_size_class_iterator_new(Eina_File *f);
/**
* @}
@@ -1608,114 +1643,6 @@ EAPI Eina_Iterator *edje_mmap_text_class_iterator_new(Eina_File *f);
*/
/**
- * @defgroup Edje_Object_Size_Class Edje Class: Size
- * @ingroup Edje_Object_Group
- *
- * @brief Functions that deal with Size Classes
- *
- * Sometimes we want to change the size of two or more parts equally and
- * that's when we use size classes.
- *
- * If one or more parts are assigned with a size class, when we set attributes
- * (minw etc.) to this class will update all these parts with the new attributes.
- * Setting values to a size class at a process level will affect
- * all parts with that size class, while at object level will affect only
- * the parts inside an specified object.
- *
- * @{
- */
-
-/**
- * @brief Sets the Edje size class.
- *
- * @param size_class The size class name
- * @param minw The min width
- * @param minh The min height
- * @param maxw The max width
- * @param maxh The max height
- *
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on error
- *
- * This function updates all Edje members at the process level which
- * belong to this size class with the new min and max attributes.
- *
- * @see edje_size_class_get().
- *
- * @since 1.17
- */
-EAPI Eina_Bool edje_size_class_set (const char *size_class, Evas_Coord minw, Evas_Coord minh, Evas_Coord maxw, Evas_Coord maxh);
-
-/**
- * @brief Gets the Edje size class.
- *
- * @param size_class The size class name
- * @param minw The min width
- * @param minh The min height
- * @param maxw The max width
- * @param maxh The max height
- *
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on error
- *
- * This function gets the min and max size from the specified Edje
- * size class.
- *
- * @since 1.17
- */
-EAPI Eina_Bool edje_size_class_get (const char *size_class, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord *maxw, Evas_Coord *maxh);
-
-/**
- * @brief Deletes the size class.
- *
- * @param size_class The size class name
- *
- * This function deletes any values at the process level for the
- * specified size class.
- *
- * @since 1.17
- */
-EAPI void edje_size_class_del (const char *size_class);
-
-/**
- * @brief Lists size classes.
- *
- * @return A list of size class names (strings). These strings are
- * stringshares and the list must be eina_stringshare_del()'ed by the caller.
- *
- * This function lists all size classes known about by the current
- * process.
- *
- * @since 1.17
- */
-EAPI Eina_List *edje_size_class_list (void);
-
-/**
- * @brief Iterates over all active classes of an application.
- *
- * @return An iterator of Edje_Size_Class of the currently active size class
- *
- * This function only iterates over the Edje_Size_Class in use by
- * an application.
- *
- * @since 1.17
- */
-EAPI Eina_Iterator *edje_size_class_active_iterator_new(void);
-
-/**
- * @brief Iterates over all size classes provided by an Edje file.
- *
- * @param f The mapped edje file.
- *
- * @return an iterator of Edje_Size_Class provided by the Edje file.
- *
- * @since 1.17
- */
-EAPI Eina_Iterator *edje_mmap_size_class_iterator_new(Eina_File *f);
-
-/**
- * @}
- */
-
-/**
* @defgroup Edje_Object_File Edje Object File
* @ingroup Edje_Object_Group
*
@@ -1996,147 +1923,233 @@ EAPI double edje_transition_duration_factor_get (void);
*/
/**
- * @defgroup Edje_Object_Communication_Interface_Message Edje Communication Interface: Message
+ * @defgroup Edje_Object_Geometry_Group Edje Object Geometry
* @ingroup Edje_Object_Group
*
- * @brief Functions that deal with messages.
+ * @brief Functions that deal with object's geometry.
*
- * Edje has two communication interfaces between @b code and @b theme.
- * Signals and messages.
+ * By geometry we mean size and position. So in this groups there are
+ * functions to manipulate object's geometry or retrieve information
+ * about it.
*
- * Edje messages are one of the communication interfaces between
- * @b code and a given Edje object's @b theme. With messages, one can
- * communicate values like strings, float numbers and integer
- * numbers. Moreover, messages can be identified by integer
- * numbers. See #Edje_Message_Type for the full list of message types.
+ * Keep in mind that by changing an object's geometry, it may affect
+ * the appearance in the screen of the parts inside. Most times
+ * that is what you want.
*
- * @note Messages must be handled by scripts.
+ * @{
+ */
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Object_Part Edje Part
+ * @ingroup Edje_Object_Group
+ *
+ * @brief Functions that deal with layout components
+ *
+ * Parts are layout components, but as a layout, they are objects too.
+ *
+ * There are several types of parts, these types can be divided into two
+ * main categories, the first being containers. Containers are parts
+ * that are in effect a group of elements. The second group is that of
+ * the elements, these part types may not contain others.
+ *
+ * This section has some functions specific for some types and others that
+ * could be applied to any type.
*
* @{
*/
/**
- * @brief Processes all queued up edje messages.
+ * @defgroup Edje_Part_Text Edje Text Part
+ * @ingroup Edje_Object_Part
*
- * This function triggers the processing of messages addressed to any
- * (alive) edje objects.
+ * @brief Functions that deal with parts of type text
+ *
+ * Text is an element type for parts. It's basic functionality is to
+ * display a string on the layout, but a lot more things can be done
+ * with texts, like string selection, setting the cursor and include
+ * a input panel, where one can set a virtual keyboard to handle
+ * keyboard entry easily.
*
+ * @{
*/
-EAPI void edje_message_signal_process (void);
+
+#define EDJE_TEXT_EFFECT_MASK_BASIC 0xf
+#define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \
+ do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0)
+
+#define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4)
+#define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \
+ do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0)
/**
- * @}
+ * @typedef Edje_Text_Effect
+ *
+ * All possible text effects in Edje.
*/
+typedef enum _Edje_Text_Effect
+{
+ EDJE_TEXT_EFFECT_NONE = 0, /**< None text effect value */
+ EDJE_TEXT_EFFECT_PLAIN = 1, /**< Plain text effect value */
+ EDJE_TEXT_EFFECT_OUTLINE = 2, /**< Outline text effect value */
+ EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3, /**< Soft outline text effect value */
+ EDJE_TEXT_EFFECT_SHADOW = 4, /**< Shadown text effect value */
+ EDJE_TEXT_EFFECT_SOFT_SHADOW = 5, /**< Soft shadow text effect value */
+ EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6, /**< Outline shadow text effect value */
+ EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7, /**< Outline soft shadow text effect value */
+ EDJE_TEXT_EFFECT_FAR_SHADOW = 8, /**< Far shadow text effect value */
+ EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9, /**< Far soft shadow text effect value */
+ EDJE_TEXT_EFFECT_GLOW = 10, /**< Glow text effect value */
+
+ EDJE_TEXT_EFFECT_LAST = 11, /**< Last text effect value */
+
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), /**< Bottom right shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), /**< Bottom shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), /**< Bottom left shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4), /**< Left shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), /**< Top left shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< Top shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< Top right shadow direction value */
+ EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< right shadow direction value */
+} Edje_Text_Effect;
/**
- * @defgroup Edje_Audio Edje Audio
- * @ingroup Edje
+ * @defgroup Edje_Text_Selection Edje Text Selection
+ * @ingroup Edje_Part_Text
*
- * @brief Functions to manipulate audio abilities in edje.
+ * @brief Functions that deal with selection in text parts.
*
- * Perspective is a graphical tool that makes objects represented in 2D
- * look like they have a 3D appearance.
+ * Selection is a known functionality for texts in the whole computational
+ * world. It is a block of text marked for further manipulation.
*
- * Edje allows us to use perspective on any edje object. This group of
- * functions deal with the use of perspective, by creating and configuring
- * a perspective object that must set to a edje object or a canvas,
- * affecting all the objects inside that have no particular perspective
- * set already.
+ * Edje is responsible for handling this functionality through the
+ * following functions.
*
* @{
*/
+/**
+ * @}
+ */
/**
- * Identifiers of Edje message types, which can be sent back and forth
- * code and a given Edje object's theme file/group.
+ * @defgroup Edje_Text_Cursor Edje Text Cursor
+ * @ingroup Edje_Part_Text
*
- * @see edje_audio_channel_mute_set()
- * @see edje_audio_channel_mute_get()
+ * @brief Functions that deal with cursor in text parts.
*
- * @since 1.9
+ * Cursor is a known functionality for texts in the whole computational
+ * world. It marks a position in the text from where one may want
+ * to make a insertion, deletion or selection.
+ *
+ * Edje is responsible for handling this functionality through the
+ * following functions.
+ *
+ * @{
*/
-typedef enum _Edje_Channel
-{
- EDJE_CHANNEL_EFFECT = 0, /**< Standard audio effects */
- EDJE_CHANNEL_BACKGROUND = 1, /**< Background audio sounds */
- EDJE_CHANNEL_MUSIC = 2, /**< Music audio */
- EDJE_CHANNEL_FOREGROUND = 3, /**< Foreground audio sounds */
- EDJE_CHANNEL_INTERFACE = 4, /**< Sounds related to the interface */
- EDJE_CHANNEL_INPUT = 5, /**< Sounds related to regular input */
- EDJE_CHANNEL_ALERT = 6, /**< Sounds for major alerts */
- EDJE_CHANNEL_ALL = 7 /**< All audio channels (convenience) */
-} Edje_Channel;
/**
- * @brief Sets the mute state of audio for the process as a whole.
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Swallow Edje Swallow Part
+ * @ingroup Edje_Object_Part
*
- * @param channel The channel to set the mute state of
- * @param mute The mute state
+ * @brief Functions that deal with parts of type swallow and swallowed objects.
*
- * This sets the mute (no output) state of audio for the given channel.
+ * A important feature of Edje is to be able to create Evas_Objects
+ * in code and place them in a layout. And that is what swallowing
+ * is all about.
*
- * @see edje_audio_channel_mute_get()
+ * Swallow parts are place holders defined in the EDC file for
+ * objects that one may want to include in the layout later, or for
+ * objects that are not native of Edje. In this last case, Edje will
+ * only treat the Evas_Object properties of the swallowed objects.
*
- * @since 1.9
+ *
+ * @{
*/
-EAPI void edje_audio_channel_mute_set(Edje_Channel channel, Eina_Bool mute);
/**
- * @brief Gets the mute state of the given channel.
+ * @}
+ */
+
+/**
+ * @defgroup Edje_Part_Box Edje Box Part
+ * @ingroup Edje_Object_Part
*
- * @param channel The channel to get the mute state of
- * @return The mute state of the channel
+ * @brief Functions that deal with parts of type box.
*
- * @see edje_audio_channel_mute_set()
+ * Box is a container type for parts, that means it can contain
+ * other parts.
*
- * @since 1.9
+ * @{
*/
-EAPI Eina_Bool edje_audio_channel_mute_get(Edje_Channel channel);
/**
- * @brief Gets the part name of an edje part object.
- * @param obj An edje part object
- * @return The name of the part, if the object is an edje part, or @c NULL
- * @note If this function returns @c NULL, @p obj was not an Edje part object
- * @see edje_object_part_object_get()
- * @since 1.10
+ * @brief Registers a custom layout to be used in edje boxes.
+ *
+ * @param name The name of the layout
+ * @param func The function defining the layout
+ * @param layout_data_get This function gets the custom data pointer
+ * for func
+ * @param layout_data_free Passed to func to free its private data
+ * when needed
+ * @param free_data Frees data
+ * @param data Private pointer passed to layout_data_get
+ *
+ * This function registers custom layouts that can be referred from
+ * themes by the registered name. The Evas_Object_Box_Layout
+ * functions receive two pointers for internal use, one being private
+ * data, and the other the function to free that data when it's not
+ * longer needed. From Edje, this private data will be retrieved by
+ * calling layout_data_get, and layout_data_free will be the free
+ * function passed to func. layout_data_get will be called with data
+ * as its parameter, and this one will be freed by free_data whenever
+ * the layout is unregistered from Edje.
*/
-EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
-
-#ifdef EFL_BETA_API_SUPPORT
+EAPI void edje_box_layout_register (const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void (*layout_data_free)(void *), void (*free_data)(void *), void *data);
/**
- * @brief Creates scene and root node which contains all 3D parts of edje object.
- * @param obj An edje part object
- * @param root node to collect all 3D parts
- * @param scene
- * @return scene and root node which contains all 3D parts of edje object
- * @note If this function returns @c EINA_FALSE, @p the scene or the root
- * node wasn't made
- * @since 1.18
+ * @}
*/
-EAPI Eina_Bool edje_3d_object_add(Evas_Object *obj, Eo **root_node, Eo *scene);
/**
- * @brief Gets seat data passed to callbacks.
+ * @defgroup Edje_Part_Table Edje Table Part
+ * @ingroup Edje_Object_Part
*
- * @return The seat data for that callback.
+ * @brief Functions that deal with parts of type table.
*
- * When a callback is initiated by an input event from a seat, we try to
- * provide seat information with it.
+ * Table is a container type for parts, that means it can contain
+ * other parts.
*
- * Signals fired as programmed responses to these signals will also try
- * to carry the seat data along.
+ * @{
+ */
+
+/**
+ * @typedef Edje_Object_Table_Homogeneous_Mode
*
- * This returns an opaque pointer to the seat data.
+ * Table homogeneous modes.
*
- * @see edje_object_signal_callback_add() for more on Edje signals.
- * @since 1.21
*/
-EAPI void *edje_object_signal_callback_seat_data_get(void);
+typedef enum _Edje_Object_Table_Homogeneous_Mode
+{
+ EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, /*< None homogeneous mode */
+ EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, /*< Table homogeneous mode */
+ EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 /*< Item homogeneous mode */
+} Edje_Object_Table_Homogeneous_Mode;
-#endif
+/**
+ * @}
+ */
/**
* @}
*/
+
diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h
index 52b3075629..af89a4939c 100644
--- a/src/lib/edje/Edje_Legacy.h
+++ b/src/lib/edje/Edje_Legacy.h
@@ -1533,25 +1533,6 @@ EAPI double edje_object_base_scale_get(const Evas_Object *obj);
* @{
*/
-/**
- * @defgroup Edje_Part_Drag Edje Drag
- *
- * @brief Functions that deal with dragable parts.
- *
- * To create a movable part it must be declared as dragable
- * in EDC file. To do so, one must define a "dragable" block inside
- * the "part" block.
- *
- * These functions are used to set dragging properties to a
- * part or get dragging information about it.
- *
- * @see @ref tutorial_edje_drag
- *
- * @ingroup Edje_Object_Part
- *
- * @{
- */
-
typedef enum _Edje_Drag_Dir
{
EDJE_DRAG_DIR_NONE = 0,
@@ -1560,7 +1541,6 @@ typedef enum _Edje_Drag_Dir
EDJE_DRAG_DIR_XY = 3
} Edje_Drag_Dir;
-
/**
* @brief Sets the dragable object location.
*
@@ -1584,7 +1564,7 @@ typedef enum _Edje_Drag_Dir
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_value_set(Evas_Object *obj, const char * part, double dx, double dy);
@@ -1604,7 +1584,7 @@ EAPI Eina_Bool edje_object_part_drag_value_set(Evas_Object *obj, const char * pa
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_value_get(const Evas_Object *obj, const char * part, double *dx, double *dy);
@@ -1624,7 +1604,7 @@ EAPI Eina_Bool edje_object_part_drag_value_get(const Evas_Object *obj, const cha
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_size_set(Evas_Object *obj, const char * part, double dw, double dh);
@@ -1641,7 +1621,7 @@ EAPI Eina_Bool edje_object_part_drag_size_set(Evas_Object *obj, const char * par
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_size_get(const Evas_Object *obj, const char * part, double *dw, double *dh);
@@ -1658,7 +1638,7 @@ EAPI Eina_Bool edje_object_part_drag_size_get(const Evas_Object *obj, const char
* direction #EDJE_DRAG_DIR_Y: Dragable in Y direction #EDJE_DRAG_DIR_XY:
* Dragable in X & Y directions
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Edje_Drag_Dir edje_object_part_drag_dir_get(const Evas_Object *obj, const char * part);
@@ -1679,7 +1659,7 @@ EAPI Edje_Drag_Dir edje_object_part_drag_dir_get(const Evas_Object *obj, const c
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_step_set(Evas_Object *obj, const char * part, double dx, double dy);
@@ -1696,7 +1676,7 @@ EAPI Eina_Bool edje_object_part_drag_step_set(Evas_Object *obj, const char * par
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_step_get(const Evas_Object *obj, const char * part, double *dx, double *dy);
@@ -1716,7 +1696,7 @@ EAPI Eina_Bool edje_object_part_drag_step_get(const Evas_Object *obj, const char
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double dy);
@@ -1737,7 +1717,7 @@ EAPI Eina_Bool edje_object_part_drag_step(Evas_Object *obj, const char *part, do
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_page_set(Evas_Object *obj, const char * part, double dx, double dy);
@@ -1754,7 +1734,7 @@ EAPI Eina_Bool edje_object_part_drag_page_set(Evas_Object *obj, const char * par
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_page_get(const Evas_Object *obj, const char * part, double *dx, double *dy);
@@ -1776,11 +1756,15 @@ EAPI Eina_Bool edje_object_part_drag_page_get(const Evas_Object *obj, const char
*
* @return @c true on success, @c false otherwise
*
- * @ingroup Edje_Object
+ * @ingroup Edje_Part_Drag
*/
EAPI Eina_Bool edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double dy);
/**
+ * @}
+ */
+
+/**
* @brief Sets a given text to an Edje object @c TEXT or TEXTBLOCK
* parts.
*
@@ -2985,6 +2969,37 @@ EAPI void edje_object_size_max_get(const Evas_Object *obj, int *maxw, int *maxh)
EAPI Eina_Bool edje_object_part_exists(const Evas_Object *obj, const char *part);
+
+/**
+ * @brief Sets the function that provides item objects for named items in an
+ * edje entry text
+ *
+ * Item objects may be deleted any time by Edje, and will be deleted when the
+ * Edje object is deleted (or file is set to a new file).
+ *
+ * @param[in] obj The object.
+ * @param[in] func The function to call (or @c null to disable) to get item
+ * objects
+ * @param[in] data The data pointer to pass to the func callback
+ *
+ * @ingroup Edje_Object
+ */
+EAPI void edje_object_item_provider_set(Edje_Object *obj, Edje_Item_Provider_Cb func, void *data);
+
+
+/**
+ * @brief Gets the description of an object color class.
+ *
+ * This function gets the description of a color class in use by an object.
+ *
+ * @param[in] color_class Color class description
+ *
+ * @return The description of the target color class or @c null if not found
+ *
+ * @ingroup Edje_Object
+ */
+EAPI const char *edje_object_color_class_description_get(const Edje_Object *obj, const char * color_class);
+
/**
* @defgroup Edje_Perspective Edje Perspective
* @ingroup Edje_Object_Group
@@ -3135,37 +3150,6 @@ EAPI const Edje_Perspective *edje_object_perspective_get(const Evas_Object *obj)
* @}
*/
-
-/**
- * @brief Sets the function that provides item objects for named items in an
- * edje entry text
- *
- * Item objects may be deleted any time by Edje, and will be deleted when the
- * Edje object is deleted (or file is set to a new file).
- *
- * @param[in] obj The object.
- * @param[in] func The function to call (or @c null to disable) to get item
- * objects
- * @param[in] data The data pointer to pass to the func callback
- *
- * @ingroup Edje_Object
- */
-EAPI void edje_object_item_provider_set(Edje_Object *obj, Edje_Item_Provider_Cb func, void *data);
-
-
-/**
- * @brief Gets the description of an object color class.
- *
- * This function gets the description of a color class in use by an object.
- *
- * @param[in] color_class Color class description
- *
- * @return The description of the target color class or @c null if not found
- *
- * @ingroup Edje_Object
- */
-EAPI const char *edje_object_color_class_description_get(const Edje_Object *obj, const char * color_class);
-
/**
* @defgroup Edje_Object_Part Edje Part
*
@@ -3217,9 +3201,6 @@ typedef enum _Edje_Part_Type
* @}
*/
-/**
- * @}
- */
#include "efl_canvas_layout_eo.legacy.h"
#include "edje_edit_eo.legacy.h"
#include "efl_layout_group_eo.legacy.h"