efl/src/lib/elementary/elm_color_class.h

82 lines
2.4 KiB
C

#ifndef ELM_COLOR_CLASS_H
# define ELM_COLOR_CLASS_H
/**
* @defgroup Elm_Color_Class_Group Color Class Editor
* @ingroup Elm_Color_Class_Group
* @brief This group provides a UI for editing color classes in applications.
*
* @{
*/
//#define ELM_COLOR_CLASS_METHOD_BASE "org.elementary.colorclass"
/**
* @typedef Elm_Color_Class_Name_Cb
* @brief A callback used to translate color class descriptions
* @since 1.14
*/
typedef char *(*Elm_Color_Class_Name_Cb)(char *);
/**
* @typedef Elm_Color_Class_List_Cb
* @brief A callback used to provide a list of allocated Edje_Color_Class structs used by an application
* @since 1.14
*
* The list and its members will be freed internally.
*/
typedef Eina_List *(*Elm_Color_Class_List_Cb)(void);
/**
* @brief Create a new color class editor
* @param obj The parent object
*
* A color class editor is a visual representation of the color schemes in an application.
* Values changed in the editor are stored in Elementary's config and will remain until they
* are reset or the config is cleared. By default, the editor will load only the currently active
* color classes in an application.
*
* @since 1.14
*/
EAPI Evas_Object *elm_color_class_editor_add(Evas_Object *obj);
/**
* @brief Set a callback to provide translations for color class descriptions
* @param cb The callback to use
*
* This callback will be called globally by the application to translate any available color class
* description strings from the theme's color classes.
*
* @since 1.14
**/
EAPI void elm_color_class_translate_cb_set(Elm_Color_Class_Name_Cb cb);
/**
* @brief Set a callback to provide a list of supplementary color classes
* @param cb The callback to use
*
* This callback will be called globally by the application to provide extra color classes
* that an application may use but which may not be currently loaded.
*
* @see Elm_Color_Class_List_Cb
*
* @since 1.14
**/
EAPI void elm_color_class_list_cb_set(Elm_Color_Class_List_Cb cb);
/**
* @brief Create an allocated list of allocated Edje_Color_Class structs from an open edje file
* @param f The file to list color classes from
* @return The list of color classes present in the file
*
* This is a helper function to create a list for use with #Elm_Color_Class_List_Cb callbacks.
*
* @see Elm_Color_Class_List_Cb
*
* @since 1.14
**/
EAPI Eina_List *elm_color_class_util_edje_file_list(Eina_File *f);
/** @} */
#endif