efl/legacy/elementary/src/lib/elm_color_class.h

74 lines
2.2 KiB
C
Raw Normal View History

#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
* @param winid The remote window id to edit
*
* 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.
*
* If @p winid is provided the editor will run in remote mode, managing color classes over DBus
* for applications which provide the required interfaces.
*
* @since 1.14
*/
EAPI Evas_Object *elm_color_class_editor_add(Evas_Object *obj, uint64_t winid);
/**
* @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);
/** }@ */
#endif