Modules | Data Structures | Macros | Typedefs | Enumerations | Functions
Edje External

This group discusses functions of the external section of Edje. More...

Modules

 Edje Development of External Plugins
 Functions to register, unregister EXTERNAL types and develop the plugins.
 

Data Structures

struct  _Edje_External_Param
 Struct that holds parameters for parts of type EXTERNAL. More...
 
struct  _Edje_External_Param_Info
 Struct holding information about an EXTERNAL part's parameters. More...
 
struct  _Edje_External_Type
 Information about an external type to be used. More...
 
struct  _Edje_External_Type_Info
 Convenience struct used to mass-register types of EXTERNAL objects. More...
 

Macros

#define EDJE_EXTERNAL_INT_UNSET   INT_MAX
 Helper macro to indicate an EXTERNAL's integer parameter is undefined.
 
#define EDJE_EXTERNAL_DOUBLE_UNSET   DBL_MAX
 Helper macro to indicate an EXTERNAL's double parameter is undefined.
 
#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags)    {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}}
 
#define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step)    EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step)    EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny)    EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str)    EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices)    EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query)    EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
 
#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def)    EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET)
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def)    EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET)
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def)    EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL)
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def)    EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true")
 
#define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags)    EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags)    EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags)    EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags)    EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_INT(name)    EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0)
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name)    EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0)
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING(name)    EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL)
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL(name)    EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0)
 
#define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags)    EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags)    EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags)    EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags)    EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags)
 
#define EDJE_EXTERNAL_PARAM_INFO_SENTINEL   {NULL, 0, 0, {.s = {NULL, NULL, NULL}}}
 
#define EDJE_EXTERNAL_TYPE_ABI_VERSION   (3)
 Version of the EDJE External ABI used by this library .
 

Typedefs

typedef enum _Edje_External_Param_Flags Edje_External_Param_Flags
 Flags that determine how a parameter may be accessed in different circumstances.
 
typedef struct _Edje_External_Param Edje_External_Param
 Struct that holds parameters for parts of type EXTERNAL.
 
typedef struct _Edje_External_Param_Info Edje_External_Param_Info
 Struct holding information about an EXTERNAL part's parameters. More...
 
typedef struct _Edje_External_Type Edje_External_Type
 Alias for _Edje_External_Type.
 
typedef struct _Edje_External_Type_Info Edje_External_Type_Info
 Alias for _Edje_External_Type_Info.
 

Enumerations

enum  Edje_External_Param_Type {
  EDJE_EXTERNAL_PARAM_TYPE_INT = 0 ,
  EDJE_EXTERNAL_PARAM_TYPE_DOUBLE ,
  EDJE_EXTERNAL_PARAM_TYPE_STRING ,
  EDJE_EXTERNAL_PARAM_TYPE_BOOL ,
  EDJE_EXTERNAL_PARAM_TYPE_CHOICE ,
  EDJE_EXTERNAL_PARAM_TYPE_MAX
}
 The possible types the parameters of an EXTERNAL part can be. More...
 
enum  _Edje_External_Param_Flags {
  EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0 ,
  EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0) ,
  EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1) ,
  EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2) ,
  EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3) ,
  EDJE_EXTERNAL_PARAM_FLAGS_REGULAR
}
 Flags that determine how a parameter may be accessed in different circumstances. More...
 

Functions

const char * edje_external_param_type_str (Edje_External_Param_Type type)
 Converts type identifier to string nicer representation. More...
 

Detailed Description

This group discusses functions of the external section of Edje.

The programmer can create new types for parts, that will be called generically EXTERNALS as they are not native of Edje. The developer must also create plugins that will define the meaning of each extra properties carried by these parts of type EXTERNAL.

As long as there are new types properly registered with the plugins created, the user can use the parts of type EXTERNAL as all the parts of native types.

Typedef Documentation

◆ Edje_External_Param_Info

Struct holding information about an EXTERNAL part's parameters.

When creating types to use with EXTERNAL parts, an array of this type is used to describe the different parameters the object uses.

This struct holds the name, type and flags that define how and when the parameter is used, as well as information specific to each type, like the maximum or minimum value, that can be used by editors to restrict the range of values to set for each parameter.

Enumeration Type Documentation

◆ Edje_External_Param_Type

The possible types the parameters of an EXTERNAL part can be.

Enumerator
EDJE_EXTERNAL_PARAM_TYPE_INT 

Parameter value is an integer.

EDJE_EXTERNAL_PARAM_TYPE_DOUBLE 

Parameter value is a double.

EDJE_EXTERNAL_PARAM_TYPE_STRING 

Parameter value is a string.

EDJE_EXTERNAL_PARAM_TYPE_BOOL 

Parameter value is boolean.

EDJE_EXTERNAL_PARAM_TYPE_CHOICE 

Parameter value is one of a set of predefined string choices.

EDJE_EXTERNAL_PARAM_TYPE_MAX 

Sentinel value to indicate last enum field during iteration.

◆ _Edje_External_Param_Flags

Flags that determine how a parameter may be accessed in different circumstances.

Enumerator
EDJE_EXTERNAL_PARAM_FLAGS_NONE 

Property is incapable of operations, this is used to catch bogus flags.

EDJE_EXTERNAL_PARAM_FLAGS_GET 

Property can be read/get.

EDJE_EXTERNAL_PARAM_FLAGS_SET 

Property can be written/set.

This only enables edje_object_part_external_param_set() and Embryo scripts. To enable the parameter being set from state description whenever it changes state, use EDJE_EXTERNAL_PARAM_FLAGS_STATE.

EDJE_EXTERNAL_PARAM_FLAGS_STATE 

Property can be set from state description.

EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR 

This property is only set once when the object is constructed using its value from "default" 0.0 state description.

Setting this overrides EDJE_EXTERNAL_PARAM_FLAGS_STATE.

EDJE_EXTERNAL_PARAM_FLAGS_REGULAR 

Convenience flag that sets property as GET, SET and STATE.

Function Documentation

◆ edje_external_param_type_str()

const char * edje_external_param_type_str ( Edje_External_Param_Type  type)

Converts type identifier to string nicer representation.

This may be used to debug or other informational purposes.

Parameters
typethe identifier to convert.
Returns
the string with the string representation, or "(unknown)".

References EDJE_EXTERNAL_PARAM_TYPE_BOOL, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, EDJE_EXTERNAL_PARAM_TYPE_INT, and EDJE_EXTERNAL_PARAM_TYPE_STRING.