2003-06-02 16:49:56 -07:00
|
|
|
#ifndef _EDJE_PRIVATE_H
|
|
|
|
#define _EDJE_PRIVATE_H
|
|
|
|
|
2004-10-30 04:47:23 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
2008-06-07 03:06:14 -07:00
|
|
|
# include <config.h>
|
2004-10-30 04:47:23 -07:00
|
|
|
#endif
|
2003-06-02 16:49:56 -07:00
|
|
|
|
2008-06-07 03:06:14 -07:00
|
|
|
#ifdef HAVE_EVIL
|
|
|
|
# include <Evil.h>
|
|
|
|
#endif
|
2005-04-03 04:43:00 -07:00
|
|
|
|
2008-10-15 07:11:11 -07:00
|
|
|
#include <Eina.h>
|
2008-06-07 03:06:14 -07:00
|
|
|
#include <Evas.h>
|
|
|
|
#include <Ecore.h>
|
|
|
|
#include <Ecore_Str.h>
|
|
|
|
#include <Ecore_Job.h>
|
|
|
|
#include <Eet.h>
|
|
|
|
#include <Embryo.h>
|
2008-10-15 07:11:11 -07:00
|
|
|
#include <eina_stringshare.h>
|
2005-12-27 09:17:31 -08:00
|
|
|
|
2008-06-07 03:06:14 -07:00
|
|
|
#include "Edje.h"
|
|
|
|
#include "Edje_Edit.h"
|
2008-05-30 23:15:41 -07:00
|
|
|
|
2005-12-27 09:17:31 -08:00
|
|
|
|
|
|
|
#ifdef __GNUC__
|
|
|
|
# if __GNUC__ >= 4
|
2006-01-09 23:34:48 -08:00
|
|
|
// BROKEN in gcc 4 on amd64
|
|
|
|
//# pragma GCC visibility push(hidden)
|
2005-12-27 09:17:31 -08:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
2004-10-29 08:14:43 -07:00
|
|
|
#ifndef ABS
|
2005-09-18 20:13:23 -07:00
|
|
|
#define ABS(x) ((x) < 0 ? -(x) : (x))
|
2004-10-29 08:14:43 -07:00
|
|
|
#endif
|
|
|
|
|
2004-10-30 05:19:33 -07:00
|
|
|
#ifndef CLAMP
|
|
|
|
#define CLAMP(x, min, max) (((x) > (max)) ? (max) : (((x) < (min)) ? (min) : (x)))
|
|
|
|
#endif
|
|
|
|
|
2005-09-05 03:46:04 -07:00
|
|
|
#ifndef MIN
|
|
|
|
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
|
|
|
#endif
|
|
|
|
|
2004-03-07 18:43:48 -08:00
|
|
|
/* increment this when the EET data descriptors have changed and old
|
|
|
|
* EETs cannot be loaded/used correctly anymore.
|
|
|
|
*/
|
2004-08-30 09:08:31 -07:00
|
|
|
#define EDJE_FILE_VERSION 2
|
2004-03-07 18:43:48 -08:00
|
|
|
|
2003-06-24 19:29:25 -07:00
|
|
|
/* FIXME:
|
2007-09-08 11:21:57 -07:00
|
|
|
*
|
2005-09-20 20:11:31 -07:00
|
|
|
* More example Edje files
|
2007-09-08 11:21:57 -07:00
|
|
|
*
|
2003-09-17 17:43:02 -07:00
|
|
|
* ? programs can do multiple actions from one signal
|
2003-06-27 20:08:25 -07:00
|
|
|
* ? add containering (hbox, vbox, table, wrapping multi-line hbox & vbox)
|
2003-07-22 22:19:50 -07:00
|
|
|
* ? text entry widget (single line only)
|
2003-07-27 06:16:51 -07:00
|
|
|
* ? reduce linked list walking and list_nth calls
|
2007-09-08 11:21:57 -07:00
|
|
|
*
|
2005-09-20 20:11:31 -07:00
|
|
|
* ? recursions, unsafe callbacks outside Edje etc. with freeze, ref/unref and block/unblock and break_programs needs to be redesigned & fixed
|
2003-08-31 19:53:08 -07:00
|
|
|
* ? all unsafe calls that may result in callbacks must be marked and dealt with
|
2003-07-07 00:55:18 -07:00
|
|
|
*/
|
2003-06-23 19:33:04 -07:00
|
|
|
|
2008-02-27 08:03:23 -08:00
|
|
|
struct _Edje_Position_Scale
|
|
|
|
{
|
|
|
|
double x, y;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Position
|
|
|
|
{
|
|
|
|
int x, y;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Size
|
|
|
|
{
|
|
|
|
int w, h;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Rectangle
|
|
|
|
{
|
|
|
|
int x, y, w, h;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Color
|
|
|
|
{
|
|
|
|
unsigned char r, g, b, a;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Aspect_Prefer
|
|
|
|
{
|
|
|
|
double min, max;
|
|
|
|
enum {
|
|
|
|
EDJE_ASPECT_PREFER_NONE,
|
|
|
|
EDJE_ASPECT_PREFER_VERTICAL,
|
|
|
|
EDJE_ASPECT_PREFER_HORIZONTAL,
|
|
|
|
EDJE_ASPECT_PREFER_BOTH
|
|
|
|
} prefer;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Aspect
|
|
|
|
{
|
|
|
|
int w, h;
|
|
|
|
Edje_Aspect_Control mode;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct _Edje_Position_Scale Edje_Alignment;
|
|
|
|
typedef struct _Edje_Position_Scale Edje_Position_Scale;
|
|
|
|
typedef struct _Edje_Position Edje_Position;
|
|
|
|
typedef struct _Edje_Size Edje_Size;
|
|
|
|
typedef struct _Edje_Rectangle Edje_Rectangle;
|
|
|
|
typedef struct _Edje_Color Edje_Color;
|
|
|
|
typedef struct _Edje_Aspect_Prefer Edje_Aspect_Prefer;
|
|
|
|
typedef struct _Edje_Aspect Edje_Aspect;
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
typedef struct _Edje_File Edje_File;
|
2005-09-12 02:43:49 -07:00
|
|
|
typedef struct _Edje_Style Edje_Style;
|
|
|
|
typedef struct _Edje_Style_Tag Edje_Style_Tag;
|
2004-10-29 19:47:33 -07:00
|
|
|
typedef struct _Edje_Data Edje_Data;
|
2005-09-12 02:43:49 -07:00
|
|
|
typedef struct _Edje_Font_Directory Edje_Font_Directory;
|
|
|
|
typedef struct _Edje_Font_Directory_Entry Edje_Font_Directory_Entry;
|
2004-10-29 19:47:33 -07:00
|
|
|
typedef struct _Edje_Image_Directory Edje_Image_Directory;
|
|
|
|
typedef struct _Edje_Image_Directory_Entry Edje_Image_Directory_Entry;
|
2006-10-09 08:19:18 -07:00
|
|
|
typedef struct _Edje_Spectrum_Directory Edje_Spectrum_Directory;
|
|
|
|
typedef struct _Edje_Spectrum_Directory_Entry Edje_Spectrum_Directory_Entry;
|
2004-10-29 19:47:33 -07:00
|
|
|
typedef struct _Edje_Program Edje_Program;
|
|
|
|
typedef struct _Edje_Program_Target Edje_Program_Target;
|
|
|
|
typedef struct _Edje_Program_After Edje_Program_After;
|
|
|
|
typedef struct _Edje_Part_Collection_Directory Edje_Part_Collection_Directory;
|
|
|
|
typedef struct _Edje_Part_Collection_Directory_Entry Edje_Part_Collection_Directory_Entry;
|
|
|
|
typedef struct _Edje_Part_Collection Edje_Part_Collection;
|
|
|
|
typedef struct _Edje_Part Edje_Part;
|
|
|
|
typedef struct _Edje_Part_Image_Id Edje_Part_Image_Id;
|
|
|
|
typedef struct _Edje_Part_Description Edje_Part_Description;
|
2006-08-02 03:52:44 -07:00
|
|
|
typedef struct _Edje_Spectrum_Color Edje_Spectrum_Color;
|
2008-02-21 10:48:36 -08:00
|
|
|
typedef struct _Edje_Patterns Edje_Patterns;
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
#define PI 3.14159265358979323846
|
|
|
|
|
2007-10-19 12:31:42 -07:00
|
|
|
#define EDJE_INF_MAX_W 100000
|
|
|
|
#define EDJE_INF_MAX_H 100000
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
#define EDJE_IMAGE_SOURCE_TYPE_NONE 0
|
|
|
|
#define EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT 1
|
|
|
|
#define EDJE_IMAGE_SOURCE_TYPE_INLINE_LOSSY 2
|
|
|
|
#define EDJE_IMAGE_SOURCE_TYPE_EXTERNAL 3
|
|
|
|
#define EDJE_IMAGE_SOURCE_TYPE_LAST 4
|
|
|
|
|
|
|
|
#define EDJE_PART_TYPE_NONE 0
|
|
|
|
#define EDJE_PART_TYPE_RECTANGLE 1
|
|
|
|
#define EDJE_PART_TYPE_TEXT 2
|
|
|
|
#define EDJE_PART_TYPE_IMAGE 3
|
|
|
|
#define EDJE_PART_TYPE_SWALLOW 4
|
2005-09-12 02:43:49 -07:00
|
|
|
#define EDJE_PART_TYPE_TEXTBLOCK 5
|
2006-08-02 03:52:44 -07:00
|
|
|
#define EDJE_PART_TYPE_GRADIENT 6
|
2007-05-26 22:28:07 -07:00
|
|
|
#define EDJE_PART_TYPE_GROUP 7
|
|
|
|
#define EDJE_PART_TYPE_LAST 8
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
#define EDJE_TEXT_EFFECT_NONE 0
|
|
|
|
#define EDJE_TEXT_EFFECT_PLAIN 1
|
|
|
|
#define EDJE_TEXT_EFFECT_OUTLINE 2
|
|
|
|
#define EDJE_TEXT_EFFECT_SOFT_OUTLINE 3
|
|
|
|
#define EDJE_TEXT_EFFECT_SHADOW 4
|
|
|
|
#define EDJE_TEXT_EFFECT_SOFT_SHADOW 5
|
|
|
|
#define EDJE_TEXT_EFFECT_OUTLINE_SHADOW 6
|
|
|
|
#define EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW 7
|
2007-07-06 16:33:42 -07:00
|
|
|
#define EDJE_TEXT_EFFECT_FAR_SHADOW 8
|
|
|
|
#define EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW 9
|
|
|
|
#define EDJE_TEXT_EFFECT_GLOW 10
|
|
|
|
#define EDJE_TEXT_EFFECT_LAST 11
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
#define EDJE_ACTION_TYPE_NONE 0
|
|
|
|
#define EDJE_ACTION_TYPE_STATE_SET 1
|
|
|
|
#define EDJE_ACTION_TYPE_ACTION_STOP 2
|
|
|
|
#define EDJE_ACTION_TYPE_SIGNAL_EMIT 3
|
|
|
|
#define EDJE_ACTION_TYPE_DRAG_VAL_SET 4
|
|
|
|
#define EDJE_ACTION_TYPE_DRAG_VAL_STEP 5
|
|
|
|
#define EDJE_ACTION_TYPE_DRAG_VAL_PAGE 6
|
|
|
|
#define EDJE_ACTION_TYPE_SCRIPT 7
|
2008-10-13 02:19:04 -07:00
|
|
|
#define EDJE_ACTION_TYPE_FOCUS_SET 8
|
|
|
|
#define EDJE_ACTION_TYPE_LAST 9
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
#define EDJE_TWEEN_MODE_NONE 0
|
|
|
|
#define EDJE_TWEEN_MODE_LINEAR 1
|
|
|
|
#define EDJE_TWEEN_MODE_SINUSOIDAL 2
|
|
|
|
#define EDJE_TWEEN_MODE_ACCELERATE 3
|
|
|
|
#define EDJE_TWEEN_MODE_DECELERATE 4
|
|
|
|
#define EDJE_TWEEN_MODE_LAST 5
|
|
|
|
|
|
|
|
#define EDJE_VAR_NONE 0
|
|
|
|
#define EDJE_VAR_INT 1
|
|
|
|
#define EDJE_VAR_FLOAT 2
|
|
|
|
#define EDJE_VAR_STRING 3
|
|
|
|
#define EDJE_VAR_LIST 4
|
|
|
|
#define EDJE_VAR_HASH 5
|
|
|
|
|
|
|
|
#define EDJE_VAR_MAGIC_BASE 0x12fe84ba
|
|
|
|
|
|
|
|
#define EDJE_STATE_PARAM_NONE 0
|
|
|
|
#define EDJE_STATE_PARAM_ALIGNMENT 1
|
2004-11-02 09:31:56 -08:00
|
|
|
#define EDJE_STATE_PARAM_MIN 2
|
|
|
|
#define EDJE_STATE_PARAM_MAX 3
|
|
|
|
#define EDJE_STATE_PARAM_STEP 4
|
|
|
|
#define EDJE_STATE_PARAM_ASPECT 5
|
2006-06-28 11:31:56 -07:00
|
|
|
#define EDJE_STATE_PARAM_ASPECT_PREF 6
|
|
|
|
#define EDJE_STATE_PARAM_COLOR 7
|
|
|
|
#define EDJE_STATE_PARAM_COLOR2 8
|
|
|
|
#define EDJE_STATE_PARAM_COLOR3 9
|
|
|
|
#define EDJE_STATE_PARAM_COLOR_CLASS 10
|
|
|
|
#define EDJE_STATE_PARAM_REL1 11
|
|
|
|
#define EDJE_STATE_PARAM_REL1_TO 12
|
|
|
|
#define EDJE_STATE_PARAM_REL1_OFFSET 13
|
|
|
|
#define EDJE_STATE_PARAM_REL2 14
|
|
|
|
#define EDJE_STATE_PARAM_REL2_TO 15
|
|
|
|
#define EDJE_STATE_PARAM_REL2_OFFSET 16
|
|
|
|
#define EDJE_STATE_PARAM_IMAGE 17
|
|
|
|
#define EDJE_STATE_PARAM_BORDER 18
|
|
|
|
#define EDJE_STATE_PARAM_FILL_SMOOTH 19
|
|
|
|
#define EDJE_STATE_PARAM_FILL_POS 20
|
|
|
|
#define EDJE_STATE_PARAM_FILL_SIZE 21
|
|
|
|
#define EDJE_STATE_PARAM_TEXT 22
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_CLASS 23
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_FONT 24
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_STYLE 25
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_SIZE 26
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_FIT 27
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_MIN 28
|
2006-10-08 23:01:13 -07:00
|
|
|
#define EDJE_STATE_PARAM_TEXT_MAX 29
|
|
|
|
#define EDJE_STATE_PARAM_TEXT_ALIGN 30
|
|
|
|
#define EDJE_STATE_PARAM_VISIBLE 31
|
|
|
|
#define EDJE_STATE_PARAM_LAST 32
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2008-10-13 02:19:04 -07:00
|
|
|
#define EDJE_ENTRY_EDIT_MODE_NONE 0
|
|
|
|
#define EDJE_ENTRY_EDIT_MODE_SELECTABLE 1
|
|
|
|
#define EDJE_ENTRY_EDIT_MODE_EDITABLE 2
|
|
|
|
#define EDJE_ENTRY_EDIT_MODE_PASSWORD 3
|
|
|
|
|
2007-05-26 22:28:07 -07:00
|
|
|
#define EDJE_PART_PATH_SEPARATOR ':'
|
|
|
|
#define EDJE_PART_PATH_SEPARATOR_STRING ":"
|
2004-10-29 19:47:33 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_File
|
|
|
|
{
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *path;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_Font_Directory *font_dir;
|
|
|
|
Edje_Image_Directory *image_dir;
|
2006-08-02 03:52:44 -07:00
|
|
|
Edje_Spectrum_Directory *spectrum_dir;
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_Part_Collection_Directory *collection_dir;
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *data;
|
|
|
|
Eina_List *styles;
|
|
|
|
Eina_List *color_classes;
|
2007-04-04 06:25:55 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int references;
|
2005-03-16 10:39:39 -08:00
|
|
|
char *compiler;
|
2004-10-29 19:47:33 -07:00
|
|
|
int version;
|
|
|
|
int feature_ver;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2005-04-03 04:43:00 -07:00
|
|
|
Evas_Hash *collection_hash;
|
2007-04-04 06:25:55 -07:00
|
|
|
Evas_Hash *font_hash;
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *collection_cache;
|
2007-03-06 04:03:34 -08:00
|
|
|
Evas_Hash *data_cache;
|
2008-02-29 22:38:09 -08:00
|
|
|
|
|
|
|
Eet_File *ef;
|
|
|
|
|
|
|
|
unsigned int free_strings : 1;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
2005-09-12 02:43:49 -07:00
|
|
|
struct _Edje_Style
|
|
|
|
{
|
|
|
|
char *name;
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *tags;
|
2005-09-12 02:43:49 -07:00
|
|
|
Evas_Textblock_Style *style;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Style_Tag
|
|
|
|
{
|
2006-03-27 23:45:54 -08:00
|
|
|
const char *key;
|
|
|
|
const char *value;
|
|
|
|
const char *font;
|
|
|
|
double font_size;
|
|
|
|
const char *text_class;
|
2005-09-12 02:43:49 -07:00
|
|
|
};
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Data
|
|
|
|
{
|
|
|
|
char *key;
|
|
|
|
char *value;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Font_Directory
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Font_Directory_Entry
|
|
|
|
{
|
2007-04-04 06:25:55 -07:00
|
|
|
const char *entry; /* the name of the font */
|
2007-04-05 08:54:16 -07:00
|
|
|
const char *path;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Image_Directory
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Image_Directory_Entry
|
|
|
|
{
|
|
|
|
char *entry; /* the nominal name of the image - if any */
|
|
|
|
int source_type; /* alternate source mode. 0 = none */
|
2006-03-27 23:45:54 -08:00
|
|
|
int source_param; /* extra params on encoding */
|
2004-10-29 19:47:33 -07:00
|
|
|
int id; /* the id no. of the image */
|
|
|
|
};
|
|
|
|
|
2006-08-02 03:52:44 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Spectrum_Directory
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *entries; /* a list of Edje_Spectrum_Directory_Entry */
|
2006-08-02 03:52:44 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Spectrum_Directory_Entry
|
|
|
|
{
|
2006-10-09 08:19:18 -07:00
|
|
|
char *entry;
|
|
|
|
/* only one of the following two should be included. filename takes precedence */
|
|
|
|
char *filename; /* filename of external spectrum. */
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *color_list; /* list of Edje_Spectrum_Color */
|
2006-10-09 08:19:18 -07:00
|
|
|
int id;
|
2006-08-02 03:52:44 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Spectrum_Color
|
|
|
|
{
|
2006-10-09 08:19:18 -07:00
|
|
|
int r, g, b, a;
|
|
|
|
int d;
|
2006-08-02 03:52:44 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Program /* a conditional program to be run */
|
|
|
|
{
|
2008-03-06 09:52:59 -08:00
|
|
|
int id; /* id of program */
|
|
|
|
const char *name; /* name of the action */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-03-06 09:52:59 -08:00
|
|
|
const char *signal; /* if signal emission name matches the glob here... */
|
|
|
|
const char *source; /* if part that emitted this (name) matches this glob */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
2008-03-06 09:52:59 -08:00
|
|
|
double from;
|
|
|
|
double range;
|
2004-10-29 19:47:33 -07:00
|
|
|
} in;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-03-06 09:52:59 -08:00
|
|
|
int action; /* type - set state, stop action, set drag pos etc. */
|
|
|
|
const char *state; /* what state of alternates to apply, NULL = default */
|
|
|
|
const char *state2; /* what other state to use - for signal emit action */
|
|
|
|
double value; /* value of state to apply (if multiple names match) */
|
|
|
|
double value2; /* other value for drag actions */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
2008-03-06 09:52:59 -08:00
|
|
|
int mode; /* how to tween - linear, sinusoidal etc. */
|
|
|
|
double time; /* time to graduate between current and new state */
|
2004-10-29 19:47:33 -07:00
|
|
|
} tween;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *targets; /* list of target parts to apply the state to */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *after; /* list of actions to run at the end of this, for looping */
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Program_Target /* the target of an action */
|
|
|
|
{
|
|
|
|
int id; /* just the part id no, or action id no */
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Program_After /* the action to run after another action */
|
|
|
|
{
|
|
|
|
int id;
|
|
|
|
};
|
|
|
|
|
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Part_Collection_Directory
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *entries; /* a list of Edje_Part_Collection_Directory_Entry */
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
int references;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Part_Collection_Directory_Entry
|
|
|
|
{
|
2008-03-13 09:01:35 -07:00
|
|
|
const char *entry; /* the nominal name of the part collection */
|
|
|
|
int id; /* the id of this named part collection */
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
struct _Edje_Part_Collection
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *programs; /* a list of Edje_Program */
|
|
|
|
Eina_List *parts; /* a list of Edje_Part */
|
|
|
|
Eina_List *data;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int id; /* the collection id */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Size min, max;
|
2004-10-29 19:47:33 -07:00
|
|
|
} prop;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int references;
|
2007-09-08 11:21:57 -07:00
|
|
|
#ifdef EDJE_PROGRAM_CACHE
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
Evas_Hash *no_matches;
|
|
|
|
Evas_Hash *matches;
|
|
|
|
} prog_cache;
|
2007-09-08 11:21:57 -07:00
|
|
|
#endif
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
Embryo_Program *script; /* all the embryo script code for this group */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *part;
|
2008-05-28 19:00:04 -07:00
|
|
|
|
|
|
|
unsigned char script_only;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Part
|
|
|
|
{
|
2008-03-06 09:52:59 -08:00
|
|
|
const char *name; /* the name if any of the part */
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_Part_Description *default_desc; /* the part descriptor for default */
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *other_desc; /* other possible descriptors */
|
2008-10-16 23:40:46 -07:00
|
|
|
const char *source, *source2, *source3, *source4, *source5, *source6;
|
2007-06-28 16:22:20 -07:00
|
|
|
int id; /* its id number */
|
2007-09-08 11:21:57 -07:00
|
|
|
int clip_to_id; /* the part id to clip this one to */
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
int step_x; /* drag jumps n pixels (0 = no limit) */
|
|
|
|
int step_y; /* drag jumps n pixels (0 = no limit) */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int count_x; /* drag area divided by n (0 = no limit) */
|
|
|
|
int count_y; /* drag area divided by n (0 = no limit) */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int confine_id; /* dragging within this bit, -1 = no */
|
2005-07-26 06:59:03 -07:00
|
|
|
|
|
|
|
/* davinchi */
|
2005-10-30 01:06:45 -08:00
|
|
|
int events_id; /* If it is used as scrollbar */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-06-26 20:14:57 -07:00
|
|
|
signed char x; /* can u click & drag this bit in x dir */
|
|
|
|
signed char y; /* can u click & drag this bit in y dir */
|
2004-10-29 19:47:33 -07:00
|
|
|
} dragable;
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned char type; /* what type (image, rect, text) */
|
|
|
|
unsigned char effect; /* 0 = plain... */
|
|
|
|
unsigned char mouse_events; /* it will affect/respond to mouse events */
|
|
|
|
unsigned char repeat_events; /* it will repeat events to objects below */
|
2008-04-01 14:33:17 -07:00
|
|
|
Evas_Event_Flags ignore_flags;
|
2008-09-09 07:13:34 -07:00
|
|
|
unsigned char scale; /* should certain properties scale with edje scale factor? */
|
2007-07-23 07:22:57 -07:00
|
|
|
unsigned char precise_is_inside;
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned char use_alternate_font_metrics;
|
2008-09-09 07:13:34 -07:00
|
|
|
unsigned char pointer_mode;
|
2008-10-13 02:19:04 -07:00
|
|
|
unsigned char entry_mode;
|
|
|
|
unsigned char multiline;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Part_Image_Id
|
|
|
|
{
|
|
|
|
int id;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Part_Description
|
|
|
|
{
|
|
|
|
struct {
|
|
|
|
double value; /* the value of the state (for ranges) */
|
2008-03-06 09:52:59 -08:00
|
|
|
const char *name; /* the named state if any */
|
2004-10-29 19:47:33 -07:00
|
|
|
} state;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Alignment align; /* 0 <-> 1.0 alignment within allocated space */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2005-09-18 23:51:49 -07:00
|
|
|
struct {
|
2005-09-20 20:11:31 -07:00
|
|
|
unsigned char w, h; /* width or height is fixed in side (cannot expand with Edje object size) */
|
2005-09-18 23:51:49 -07:00
|
|
|
} fixed;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Size min, max;
|
|
|
|
Edje_Position step; /* size stepping by n pixels, 0 = none */
|
|
|
|
Edje_Aspect_Prefer aspect;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
double relative_x;
|
|
|
|
double relative_y;
|
|
|
|
int offset_x;
|
|
|
|
int offset_y;
|
|
|
|
int id_x; /* -1 = whole part collection, or part ID */
|
|
|
|
int id_y; /* -1 = whole part collection, or part ID */
|
|
|
|
} rel1, rel2;
|
|
|
|
|
|
|
|
struct {
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *tween_list; /* list of Edje_Part_Image_Id */
|
2007-09-08 11:21:57 -07:00
|
|
|
int id; /* the image id to use */
|
2004-10-29 19:47:33 -07:00
|
|
|
} image;
|
2006-08-02 03:52:44 -07:00
|
|
|
|
|
|
|
struct {
|
2006-08-20 20:00:01 -07:00
|
|
|
char *type; /* type of spectrum - 'linear', 'radial', etc */
|
|
|
|
char *params; /* params for spectrum type */
|
2007-06-28 16:22:20 -07:00
|
|
|
int id; /* the spectrum id to use */
|
2006-08-20 20:00:01 -07:00
|
|
|
int use_rel; /* 1 - use rel1,rel2; 0 - use fill */
|
|
|
|
struct {
|
|
|
|
double relative_x;
|
|
|
|
double relative_y;
|
|
|
|
int offset_x;
|
|
|
|
int offset_y;
|
|
|
|
} rel1, rel2; /* linear gradient fill options */
|
2006-08-02 03:52:44 -07:00
|
|
|
} gradient;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
int l, r, t, b; /* border scaling on image fill */
|
2005-03-31 09:26:31 -08:00
|
|
|
unsigned char no_fill; /* do we fill the center of the image if bordered? 1 == NO!!!! */
|
2004-10-29 19:47:33 -07:00
|
|
|
} border;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
double pos_rel_x; /* fill offset x relative to area */
|
|
|
|
double rel_x; /* relative size compared to area */
|
|
|
|
double pos_rel_y; /* fill offset y relative to area */
|
|
|
|
double rel_y; /* relative size compared to area */
|
2007-06-28 16:22:20 -07:00
|
|
|
int pos_abs_x; /* fill offset x added to fill offset */
|
|
|
|
int abs_x; /* size of fill added to relative fill */
|
|
|
|
int pos_abs_y; /* fill offset y added to fill offset */
|
2004-10-29 19:47:33 -07:00
|
|
|
int abs_y; /* size of fill added to relative fill */
|
2006-08-02 03:52:44 -07:00
|
|
|
int angle; /* angle of fill -- currently only used by grads */
|
|
|
|
int spread; /* spread of fill -- currently only used by grads */
|
2007-06-28 16:22:20 -07:00
|
|
|
char smooth; /* fill with smooth scaling or not */
|
2007-07-06 15:36:40 -07:00
|
|
|
unsigned char type; /* fill coordinate from container (SCALE) or from source image (TILE) */
|
2004-10-29 19:47:33 -07:00
|
|
|
} fill;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
char *color_class; /* how to modify the color */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
char *text; /* if "" or NULL, then leave text unchanged */
|
|
|
|
char *text_class; /* how to apply/modify the font */
|
2005-09-20 20:11:31 -07:00
|
|
|
char *style; /* the text style if a textblock */
|
2004-10-29 19:47:33 -07:00
|
|
|
char *font; /* if a specific font is asked for */
|
2008-10-22 22:38:06 -07:00
|
|
|
char *repch; /* replacement char for password mode entry */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Alignment align; /* text alignment within bounds */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2007-06-28 16:22:20 -07:00
|
|
|
double elipsis; /* 0.0 - 1.0 defining where the elipsis align */
|
2004-10-29 19:47:33 -07:00
|
|
|
int size; /* 0 = use user set size */
|
2007-06-28 16:22:20 -07:00
|
|
|
int id_source; /* -1 if none */
|
|
|
|
int id_text_source; /* -1 if none */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
unsigned char fit_x; /* resize font size down to fit in x dir */
|
|
|
|
unsigned char fit_y; /* resize font size down to fit in y dir */
|
|
|
|
unsigned char min_x; /* if text size should be part min size */
|
|
|
|
unsigned char min_y; /* if text size should be part min size */
|
2006-10-08 23:01:13 -07:00
|
|
|
unsigned char max_x; /* if text size should be part max size */
|
|
|
|
unsigned char max_y; /* if text size should be part max size */
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
} text;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Color color, color2, color3; /* color for rect or text, shadow etc. */
|
2007-06-28 16:22:20 -07:00
|
|
|
|
|
|
|
unsigned char visible; /* is it shown */
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
2006-08-02 03:52:44 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
/*----------*/
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _Edje Edje;
|
|
|
|
typedef struct _Edje_Real_Part Edje_Real_Part;
|
|
|
|
typedef struct _Edje_Running_Program Edje_Running_Program;
|
|
|
|
typedef struct _Edje_Signal_Callback Edje_Signal_Callback;
|
|
|
|
typedef struct _Edje_Calc_Params Edje_Calc_Params;
|
|
|
|
typedef struct _Edje_Pending_Program Edje_Pending_Program;
|
|
|
|
typedef struct _Edje_Text_Style Edje_Text_Style;
|
|
|
|
typedef struct _Edje_Color_Class Edje_Color_Class;
|
|
|
|
typedef struct _Edje_Text_Class Edje_Text_Class;
|
|
|
|
typedef struct _Edje_Var Edje_Var;
|
|
|
|
typedef struct _Edje_Var_Int Edje_Var_Int;
|
|
|
|
typedef struct _Edje_Var_Float Edje_Var_Float;
|
|
|
|
typedef struct _Edje_Var_String Edje_Var_String;
|
|
|
|
typedef struct _Edje_Var_List Edje_Var_List;
|
|
|
|
typedef struct _Edje_Var_Hash Edje_Var_Hash;
|
|
|
|
typedef struct _Edje_Var_Animator Edje_Var_Animator;
|
|
|
|
typedef struct _Edje_Var_Timer Edje_Var_Timer;
|
|
|
|
typedef struct _Edje_Var_Pool Edje_Var_Pool;
|
2008-11-10 08:37:52 -08:00
|
|
|
typedef struct _Edje_Signal_Source_Char Edje_Signal_Source_Char;
|
|
|
|
|
|
|
|
struct _Edje_Signal_Source_Char
|
|
|
|
{
|
|
|
|
EINA_RBTREE;
|
|
|
|
|
|
|
|
const char *signal;
|
|
|
|
const char *source;
|
|
|
|
|
|
|
|
Eina_List *list;
|
|
|
|
};
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2008-02-26 12:12:00 -08:00
|
|
|
struct _Edje_Signals_Sources_Patterns
|
|
|
|
{
|
|
|
|
Edje_Patterns *signals_patterns;
|
|
|
|
Edje_Patterns *sources_patterns;
|
2008-11-10 08:37:52 -08:00
|
|
|
|
|
|
|
Eina_Rbtree *exact_match;
|
|
|
|
Eina_List *globing;
|
2008-02-26 12:12:00 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct _Edje_Signals_Sources_Patterns Edje_Signals_Sources_Patterns;
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct _Edje
|
|
|
|
{
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *path;
|
2008-08-14 11:04:43 -07:00
|
|
|
const char *group;
|
2007-05-26 22:28:07 -07:00
|
|
|
const char *parent;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
Evas_Coord x, y, w, h;
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Size min;
|
2004-10-29 19:47:33 -07:00
|
|
|
double paused_at;
|
2005-09-20 20:11:31 -07:00
|
|
|
Evas *evas; /* the Evas this Edje belongs to */
|
2004-10-29 19:47:33 -07:00
|
|
|
Evas_Object *obj; /* the smart object */
|
2005-09-20 20:11:31 -07:00
|
|
|
Evas_Object *clipper; /* a big rect to clip this Edje to */
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_File *file; /* the file the data comes form */
|
|
|
|
Edje_Part_Collection *collection; /* the description being used */
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *actions; /* currently running actions */
|
|
|
|
Eina_List *callbacks;
|
|
|
|
Eina_List *pending_actions;
|
|
|
|
Eina_List *color_classes;
|
|
|
|
Eina_List *text_classes;
|
2005-09-20 20:11:31 -07:00
|
|
|
/* variable pool for Edje Embryo scripts */
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_Var_Pool *var_pool;
|
|
|
|
/* for faster lookups to avoid nth list walks */
|
|
|
|
Edje_Real_Part **table_parts;
|
|
|
|
Edje_Program **table_programs;
|
2008-10-13 02:19:04 -07:00
|
|
|
Edje_Real_Part *focused_part;
|
2008-11-16 21:54:01 -08:00
|
|
|
Eina_List *subobjs;
|
2008-05-30 04:20:49 -07:00
|
|
|
void *script_only_data;
|
2007-06-28 16:22:20 -07:00
|
|
|
int table_programs_size;
|
|
|
|
int table_parts_size;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2008-02-21 10:48:36 -08:00
|
|
|
struct {
|
2008-02-26 12:12:00 -08:00
|
|
|
Edje_Signals_Sources_Patterns callbacks;
|
|
|
|
Edje_Signals_Sources_Patterns programs;
|
2008-02-21 10:48:36 -08:00
|
|
|
} patterns;
|
|
|
|
|
2007-06-28 16:22:20 -07:00
|
|
|
int references;
|
|
|
|
int block;
|
|
|
|
int load_error;
|
|
|
|
int freeze;
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
struct {
|
|
|
|
void (*func) (void *data, Evas_Object *obj, const char *part);
|
|
|
|
void *data;
|
|
|
|
} text_change;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
|
|
|
|
void *data;
|
2007-06-28 16:22:20 -07:00
|
|
|
int num;
|
2004-10-29 19:47:33 -07:00
|
|
|
} message;
|
2007-06-28 16:22:20 -07:00
|
|
|
int processing_messages;
|
|
|
|
|
|
|
|
unsigned short dirty : 1;
|
|
|
|
unsigned short recalc : 1;
|
|
|
|
unsigned short walking_callbacks : 1;
|
|
|
|
unsigned short delete_callbacks : 1;
|
|
|
|
unsigned short just_added_callbacks : 1;
|
|
|
|
unsigned short have_objects : 1;
|
|
|
|
unsigned short paused : 1;
|
|
|
|
unsigned short no_anim : 1;
|
|
|
|
unsigned short calc_only : 1;
|
|
|
|
unsigned short walking_actions : 1;
|
|
|
|
unsigned short block_break : 1;
|
|
|
|
unsigned short delete_me : 1;
|
2008-11-14 03:06:15 -08:00
|
|
|
unsigned short postponed : 1;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Real_Part
|
|
|
|
{
|
2007-05-26 22:28:07 -07:00
|
|
|
Edje *edje;
|
2007-06-28 16:22:20 -07:00
|
|
|
Evas_Object *object;
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *extra_objects;
|
2007-06-28 16:22:20 -07:00
|
|
|
Evas_Object *swallowed_object;
|
2008-10-13 02:19:04 -07:00
|
|
|
void *entry_data;
|
|
|
|
Evas_Object *cursorbg_object;
|
|
|
|
Evas_Object *cursorfg_object;
|
|
|
|
// FIXME: add selection objects
|
2007-06-28 16:22:20 -07:00
|
|
|
Edje_Part *part;
|
2004-10-29 19:47:33 -07:00
|
|
|
int x, y, w, h;
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Rectangle req;
|
|
|
|
Edje_Position offset;
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Size min, max;
|
|
|
|
Edje_Aspect aspect;
|
2004-10-29 19:47:33 -07:00
|
|
|
} swallow_params;
|
|
|
|
struct {
|
2007-06-28 16:22:20 -07:00
|
|
|
double x, y;
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Position_Scale val, size, step, page;
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned int count;
|
2004-10-29 19:47:33 -07:00
|
|
|
int x, y;
|
|
|
|
} down;
|
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} tmp;
|
|
|
|
unsigned char need_reset : 1;
|
|
|
|
} drag;
|
|
|
|
struct {
|
2007-06-28 16:22:20 -07:00
|
|
|
Edje_Real_Part *source;
|
|
|
|
Edje_Real_Part *text_source;
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *text;
|
|
|
|
const char *font;
|
|
|
|
const char *style;
|
2004-10-29 19:47:33 -07:00
|
|
|
int size;
|
|
|
|
struct {
|
|
|
|
double in_w, in_h;
|
|
|
|
int in_size;
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *in_str;
|
|
|
|
const char *out_str;
|
2004-10-29 19:47:33 -07:00
|
|
|
int out_size;
|
|
|
|
double align_x, align_y;
|
2005-11-05 19:32:01 -08:00
|
|
|
double elipsis;
|
2006-06-28 11:31:56 -07:00
|
|
|
int fit_x, fit_y;
|
2004-10-29 19:47:33 -07:00
|
|
|
} cache;
|
|
|
|
} text;
|
2007-05-23 21:34:41 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
double description_pos;
|
|
|
|
Edje_Part_Description *chosen_description;
|
|
|
|
struct {
|
|
|
|
Edje_Part_Description *description;
|
|
|
|
Edje_Real_Part *rel1_to_x;
|
|
|
|
Edje_Real_Part *rel1_to_y;
|
|
|
|
Edje_Real_Part *rel2_to_x;
|
|
|
|
Edje_Real_Part *rel2_to_y;
|
|
|
|
} param1, param2, custom;
|
|
|
|
|
|
|
|
Edje_Real_Part *confine_to;
|
|
|
|
Edje_Real_Part *clip_to;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
Edje_Running_Program *program;
|
2005-07-26 06:59:03 -07:00
|
|
|
Edje_Real_Part *events_to;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2007-06-28 16:22:20 -07:00
|
|
|
int clicked_button;
|
|
|
|
int gradient_id;
|
|
|
|
|
|
|
|
unsigned char calculated;
|
|
|
|
unsigned char calculating;
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned char still_in : 1;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Running_Program
|
|
|
|
{
|
|
|
|
Edje *edje;
|
|
|
|
Edje_Program *program;
|
|
|
|
double start_time;
|
|
|
|
char delete_me : 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Signal_Callback
|
|
|
|
{
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *signal;
|
|
|
|
const char *source;
|
2004-10-29 19:47:33 -07:00
|
|
|
void (*func) (void *data, Evas_Object *o, const char *emission, const char *source);
|
|
|
|
void *data;
|
|
|
|
unsigned char just_added : 1;
|
|
|
|
unsigned char delete_me : 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Calc_Params
|
|
|
|
{
|
|
|
|
int x, y, w, h;
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Rectangle req;
|
|
|
|
Edje_Rectangle req_drag;
|
2004-10-29 19:47:33 -07:00
|
|
|
struct {
|
|
|
|
int x, y, w, h;
|
2006-08-02 03:52:44 -07:00
|
|
|
int angle;
|
|
|
|
int spread;
|
2004-10-29 19:47:33 -07:00
|
|
|
} fill;
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Color color, color2, color3;
|
2007-09-08 11:21:57 -07:00
|
|
|
struct {
|
2004-10-29 19:47:33 -07:00
|
|
|
int l, r, t, b;
|
|
|
|
} border;
|
|
|
|
struct {
|
2008-02-27 08:03:23 -08:00
|
|
|
Edje_Alignment align; /* text alignment within bounds */
|
2005-11-05 19:32:01 -08:00
|
|
|
double elipsis;
|
2004-10-29 19:47:33 -07:00
|
|
|
} text;
|
2006-08-02 03:52:44 -07:00
|
|
|
struct {
|
|
|
|
int id;
|
|
|
|
char *type;
|
|
|
|
} gradient;
|
2007-09-08 11:21:57 -07:00
|
|
|
unsigned char visible : 1;
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned char smooth : 1;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Pending_Program
|
|
|
|
{
|
|
|
|
Edje *edje;
|
|
|
|
Edje_Program *program;
|
|
|
|
Ecore_Timer *timer;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Text_Style
|
|
|
|
{
|
|
|
|
struct {
|
|
|
|
unsigned char x, y;
|
|
|
|
} offset;
|
|
|
|
struct {
|
|
|
|
unsigned char l, r, t, b;
|
|
|
|
} pad;
|
|
|
|
int num;
|
|
|
|
struct {
|
|
|
|
unsigned char color; /* 0 = color, 1, 2 = color2, color3 */
|
|
|
|
signed char x, y; /* offset */
|
|
|
|
unsigned char alpha;
|
|
|
|
} members[32];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Color_Class
|
|
|
|
{
|
2006-01-16 18:41:26 -08:00
|
|
|
const char *name;
|
2004-10-29 19:47:33 -07:00
|
|
|
unsigned char r, g, b, a;
|
|
|
|
unsigned char r2, g2, b2, a2;
|
|
|
|
unsigned char r3, g3, b3, a3;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Text_Class
|
|
|
|
{
|
2007-05-03 16:15:09 -07:00
|
|
|
const char *name;
|
|
|
|
const char *font;
|
|
|
|
Evas_Font_Size size;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Int
|
|
|
|
{
|
|
|
|
int v;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Float
|
|
|
|
{
|
|
|
|
double v;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_String
|
|
|
|
{
|
|
|
|
char *v;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_List
|
|
|
|
{
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *v;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Hash
|
|
|
|
{
|
|
|
|
Evas_Hash *v;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Timer
|
|
|
|
{
|
|
|
|
Edje *edje;
|
|
|
|
int id;
|
|
|
|
Embryo_Function func;
|
|
|
|
int val;
|
|
|
|
Ecore_Timer *timer;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Animator
|
|
|
|
{
|
|
|
|
Edje *edje;
|
|
|
|
int id;
|
|
|
|
Embryo_Function func;
|
|
|
|
int val;
|
|
|
|
double start, len;
|
|
|
|
char delete_me;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var_Pool
|
|
|
|
{
|
|
|
|
int id_count;
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *timers;
|
|
|
|
Eina_List *animators;
|
2004-10-29 19:47:33 -07:00
|
|
|
int size;
|
|
|
|
Edje_Var *vars;
|
|
|
|
int walking_list;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Edje_Var
|
|
|
|
{
|
|
|
|
union {
|
|
|
|
Edje_Var_Int i;
|
|
|
|
Edje_Var_Float f;
|
|
|
|
Edje_Var_String s;
|
|
|
|
Edje_Var_List l;
|
|
|
|
Edje_Var_Hash h;
|
|
|
|
} data;
|
2007-06-28 16:22:20 -07:00
|
|
|
unsigned char type;
|
2004-10-29 19:47:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2004-07-02 03:17:25 -07:00
|
|
|
typedef enum _Edje_Queue
|
|
|
|
{
|
|
|
|
EDJE_QUEUE_APP,
|
|
|
|
EDJE_QUEUE_SCRIPT
|
|
|
|
} Edje_Queue;
|
|
|
|
|
|
|
|
typedef struct _Edje_Message_Signal Edje_Message_Signal;
|
|
|
|
typedef struct _Edje_Message Edje_Message;
|
|
|
|
|
|
|
|
struct _Edje_Message_Signal
|
|
|
|
{
|
2006-03-18 20:22:35 -08:00
|
|
|
const char *sig;
|
|
|
|
const char *src;
|
2004-07-02 03:17:25 -07:00
|
|
|
};
|
2004-06-30 20:46:05 -07:00
|
|
|
|
|
|
|
struct _Edje_Message
|
|
|
|
{
|
|
|
|
Edje *edje;
|
|
|
|
Edje_Queue queue;
|
|
|
|
Edje_Message_Type type;
|
|
|
|
int id;
|
|
|
|
unsigned char *msg;
|
|
|
|
};
|
2003-06-23 19:33:04 -07:00
|
|
|
|
2007-07-06 15:36:40 -07:00
|
|
|
typedef enum _Edje_Fill
|
|
|
|
{
|
|
|
|
EDJE_FILL_TYPE_SCALE = 0,
|
|
|
|
EDJE_FILL_TYPE_TILE
|
|
|
|
} Edje_Fill;
|
|
|
|
|
2008-01-17 22:34:04 -08:00
|
|
|
typedef enum _Edje_Match_Error
|
|
|
|
{
|
|
|
|
EDJE_MATCH_OK,
|
|
|
|
EDJE_MATCH_ALLOC_ERROR,
|
|
|
|
EDJE_MATCH_SYNTAX_ERROR
|
2008-03-24 01:22:01 -07:00
|
|
|
|
2008-01-17 22:34:04 -08:00
|
|
|
} Edje_Match_Error;
|
|
|
|
|
2008-02-21 10:48:36 -08:00
|
|
|
typedef struct _Edje_States Edje_States;
|
2008-01-17 22:34:04 -08:00
|
|
|
struct _Edje_Patterns
|
|
|
|
{
|
|
|
|
const char **patterns;
|
2008-02-21 10:48:36 -08:00
|
|
|
|
|
|
|
Edje_States *states;
|
|
|
|
|
2008-01-17 22:34:04 -08:00
|
|
|
size_t patterns_size;
|
|
|
|
size_t max_length;
|
|
|
|
size_t finals[];
|
|
|
|
};
|
|
|
|
|
2008-10-22 04:34:42 -07:00
|
|
|
Edje_Patterns *edje_match_collection_dir_init(Eina_List *lst);
|
|
|
|
Edje_Patterns *edje_match_programs_signal_init(Eina_List *lst);
|
|
|
|
Edje_Patterns *edje_match_programs_source_init(Eina_List *lst);
|
|
|
|
Edje_Patterns *edje_match_callback_signal_init(Eina_List *lst);
|
|
|
|
Edje_Patterns *edje_match_callback_source_init(Eina_List *lst);
|
2008-01-17 22:34:04 -08:00
|
|
|
|
|
|
|
int edje_match_collection_dir_exec(const Edje_Patterns *ppat,
|
|
|
|
const char *string);
|
|
|
|
int edje_match_programs_exec(const Edje_Patterns *ppat_signal,
|
|
|
|
const Edje_Patterns *ppat_source,
|
|
|
|
const char *signal,
|
|
|
|
const char *source,
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *programs,
|
2008-01-17 22:34:04 -08:00
|
|
|
int (*func)(Edje_Program *pr, void *data),
|
|
|
|
void *data);
|
|
|
|
int edje_match_callback_exec(const Edje_Patterns *ppat_signal,
|
|
|
|
const Edje_Patterns *ppat_source,
|
|
|
|
const char *signal,
|
|
|
|
const char *source,
|
2008-10-22 04:34:42 -07:00
|
|
|
Eina_List *callbacks,
|
2008-01-17 22:34:04 -08:00
|
|
|
Edje *ed);
|
|
|
|
|
|
|
|
void edje_match_patterns_free(Edje_Patterns *ppat);
|
|
|
|
|
2008-11-10 08:37:52 -08:00
|
|
|
Eina_List *edje_match_program_hash_build(const Eina_List *callbacks,
|
|
|
|
Eina_Rbtree **tree);
|
|
|
|
Eina_List *edje_match_callback_hash_build(const Eina_List *callbacks,
|
|
|
|
Eina_Rbtree **tree);
|
|
|
|
const Eina_List *edje_match_signal_source_hash_get(const char *signal,
|
|
|
|
const char *source,
|
|
|
|
const Eina_Rbtree *tree);
|
|
|
|
void edje_match_signal_source_free(Edje_Signal_Source_Char *key, void *data);
|
|
|
|
|
2005-12-27 09:17:31 -08:00
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_file;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_style;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_style_tag;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_data;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_font_directory;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_font_directory_entry;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_image_directory;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry;
|
2006-08-02 03:52:44 -07:00
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_spectrum_directory;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_spectrum_directory_entry;
|
2005-12-27 09:17:31 -08:00
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_program;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_program_target;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory_entry;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_collection;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_description;
|
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_part_image_id;
|
2006-08-02 03:52:44 -07:00
|
|
|
EAPI extern Eet_Data_Descriptor *_edje_edd_edje_spectrum_color;
|
2003-06-23 19:33:04 -07:00
|
|
|
|
2003-07-07 00:55:18 -07:00
|
|
|
extern int _edje_anim_count;
|
2004-09-05 01:11:36 -07:00
|
|
|
extern Ecore_Animator *_edje_timer;
|
2008-10-22 04:34:42 -07:00
|
|
|
extern Eina_List *_edje_animators;
|
|
|
|
extern Eina_List *_edje_edjes;
|
2003-06-23 19:33:04 -07:00
|
|
|
|
2005-03-20 08:49:10 -08:00
|
|
|
extern char *_edje_fontset_append;
|
2008-09-09 07:13:34 -07:00
|
|
|
extern double _edje_scale;
|
2008-09-09 23:39:57 -07:00
|
|
|
extern int _edje_freeze_val;
|
|
|
|
extern int _edje_freeze_calc_count;
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
void _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, double pos);
|
2006-03-18 20:22:35 -08:00
|
|
|
Edje_Part_Description *_edje_part_description_find(Edje *ed, Edje_Real_Part *rp, const char *name, double val);
|
|
|
|
void _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, double v1, const char *d2, double v2);
|
2004-10-29 19:47:33 -07:00
|
|
|
void _edje_recalc(Edje *ed);
|
2008-11-14 03:06:15 -08:00
|
|
|
void _edje_recalc_do(Edje *ed);
|
2004-10-29 19:47:33 -07:00
|
|
|
int _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, double *x, double *y);
|
|
|
|
void _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, double x, double y);
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
void _edje_mouse_in_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
void _edje_mouse_out_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
void _edje_mouse_down_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
void _edje_mouse_up_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
void _edje_mouse_move_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
void _edje_mouse_wheel_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);
|
|
|
|
int _edje_timer_cb(void *data);
|
|
|
|
int _edje_pending_timer_cb(void *data);
|
2007-04-04 05:51:51 -07:00
|
|
|
void _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
|
|
|
|
void _edje_callbacks_del(Evas_Object *obj);
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
void _edje_edd_setup(void);
|
|
|
|
void _edje_edd_free(void);
|
|
|
|
|
|
|
|
void _edje_file_add(Edje *ed);
|
|
|
|
void _edje_file_del(Edje *ed);
|
|
|
|
void _edje_file_free(Edje_File *edf);
|
2005-04-03 04:43:00 -07:00
|
|
|
void _edje_file_cache_shutdown(void);
|
|
|
|
void _edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec);
|
2008-03-13 09:01:35 -07:00
|
|
|
void _edje_collection_free_part_description_free(Edje_Part_Description *desc, unsigned int free_strings);
|
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
|
|
|
|
Edje *_edje_add(Evas_Object *obj);
|
|
|
|
void _edje_del(Edje *ed);
|
|
|
|
void _edje_ref(Edje *ed);
|
|
|
|
void _edje_unref(Edje *ed);
|
|
|
|
void _edje_clean_objects(Edje *ed);
|
|
|
|
void _edje_ref(Edje *ed);
|
|
|
|
void _edje_unref(Edje *ed);
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-10-29 19:47:33 -07:00
|
|
|
int _edje_program_run_iterate(Edje_Running_Program *runp, double tim);
|
|
|
|
void _edje_program_end(Edje *ed, Edje_Running_Program *runp);
|
2006-03-18 20:22:35 -08:00
|
|
|
void _edje_program_run(Edje *ed, Edje_Program *pr, int force, const char *ssig, const char *ssrc);
|
|
|
|
void _edje_emit(Edje *ed, const char *sig, const char *src);
|
|
|
|
void _edje_emit_handle(Edje *ed, const char *sig, const char *src);
|
2008-02-26 12:12:00 -08:00
|
|
|
void _edje_signals_sources_patterns_clean(Edje_Signals_Sources_Patterns *ssp);
|
|
|
|
void _edje_callbacks_patterns_clean(Edje *ed);
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2007-05-03 16:15:09 -07:00
|
|
|
void _edje_text_init(void);
|
|
|
|
void _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
|
|
|
|
void _edje_text_part_on_add_clippers(Edje *ed, Edje_Real_Part *ep);
|
|
|
|
void _edje_text_part_on_del(Edje *ed, Edje_Part *ep);
|
|
|
|
void _edje_text_real_part_on_del(Edje *ed, Edje_Real_Part *ep);
|
|
|
|
void _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *params, Edje_Part_Description *chosen_desc);
|
|
|
|
Evas_Font_Size _edje_text_size_calc(Evas_Font_Size size, Edje_Text_Class *tc);
|
2008-02-29 13:43:55 -08:00
|
|
|
const char * _edje_text_class_font_get(Edje *ed, Edje_Part_Description *chosen_desc, int *size, char **free_later);
|
|
|
|
|
2007-05-03 16:15:09 -07:00
|
|
|
|
2006-03-18 20:22:35 -08:00
|
|
|
Edje_Real_Part *_edje_real_part_get(Edje *ed, const char *part);
|
2007-05-26 22:28:07 -07:00
|
|
|
Edje_Real_Part *_edje_real_part_recursive_get(Edje *ed, const char *part);
|
2006-03-18 20:22:35 -08:00
|
|
|
Edje_Color_Class *_edje_color_class_find(Edje *ed, const char *color_class);
|
|
|
|
void _edje_color_class_member_add(Edje *ed, const char *color_class);
|
|
|
|
void _edje_color_class_member_del(Edje *ed, const char *color_class);
|
2004-10-29 19:47:33 -07:00
|
|
|
void _edje_color_class_on_del(Edje *ed, Edje_Part *ep);
|
|
|
|
void _edje_color_class_members_free(void);
|
2005-01-12 22:29:52 -08:00
|
|
|
void _edje_color_class_hash_free(void);
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2006-03-18 20:22:35 -08:00
|
|
|
Edje_Text_Class *_edje_text_class_find(Edje *ed, const char *text_class);
|
|
|
|
void _edje_text_class_member_add(Edje *ed, const char *text_class);
|
|
|
|
void _edje_text_class_member_del(Edje *ed, const char *text_class);
|
2004-10-29 19:47:33 -07:00
|
|
|
void _edje_text_class_members_free(void);
|
2005-01-12 22:29:52 -08:00
|
|
|
void _edje_text_class_hash_free(void);
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2008-08-14 11:21:27 -07:00
|
|
|
Edje *_edje_fetch(const Evas_Object *obj);
|
2004-10-29 19:47:33 -07:00
|
|
|
int _edje_freeze(Edje *ed);
|
|
|
|
int _edje_thaw(Edje *ed);
|
|
|
|
int _edje_block(Edje *ed);
|
|
|
|
int _edje_unblock(Edje *ed);
|
|
|
|
int _edje_block_break(Edje *ed);
|
2007-09-08 11:21:57 -07:00
|
|
|
void _edje_block_violate(Edje *ed);
|
2004-10-29 19:47:33 -07:00
|
|
|
void _edje_object_part_swallow_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
2007-05-26 22:28:07 -07:00
|
|
|
void _edje_real_part_swallow(Edje_Real_Part *rp, Evas_Object *obj_swallow);
|
2004-10-29 19:47:33 -07:00
|
|
|
|
2004-04-02 01:16:53 -08:00
|
|
|
void _edje_embryo_script_init (Edje *ed);
|
|
|
|
void _edje_embryo_script_shutdown (Edje *ed);
|
|
|
|
void _edje_embryo_script_reset (Edje *ed);
|
2006-03-18 20:22:35 -08:00
|
|
|
void _edje_embryo_test_run (Edje *ed, const char *fname, const char *sig, const char *src);
|
2004-06-03 02:14:55 -07:00
|
|
|
Edje_Var *_edje_var_new (void);
|
|
|
|
void _edje_var_free (Edje_Var *var);
|
2004-04-02 01:16:53 -08:00
|
|
|
void _edje_var_init (Edje *ed);
|
|
|
|
void _edje_var_shutdown (Edje *ed);
|
2006-03-18 20:22:35 -08:00
|
|
|
int _edje_var_string_id_get (Edje *ed, const char *string);
|
2004-06-03 02:14:55 -07:00
|
|
|
int _edje_var_var_int_get (Edje *ed, Edje_Var *var);
|
|
|
|
void _edje_var_var_int_set (Edje *ed, Edje_Var *var, int v);
|
|
|
|
double _edje_var_var_float_get (Edje *ed, Edje_Var *var);
|
|
|
|
void _edje_var_var_float_set (Edje *ed, Edje_Var *var, double v);
|
|
|
|
const char *_edje_var_var_str_get (Edje *ed, Edje_Var *var);
|
2006-03-18 20:22:35 -08:00
|
|
|
void _edje_var_var_str_set (Edje *ed, Edje_Var *var, const char *str);
|
2004-04-02 01:16:53 -08:00
|
|
|
int _edje_var_int_get (Edje *ed, int id);
|
|
|
|
void _edje_var_int_set (Edje *ed, int id, int v);
|
|
|
|
double _edje_var_float_get (Edje *ed, int id);
|
|
|
|
void _edje_var_float_set (Edje *ed, int id, double v);
|
|
|
|
const char *_edje_var_str_get (Edje *ed, int id);
|
2006-03-18 20:22:35 -08:00
|
|
|
void _edje_var_str_set (Edje *ed, int id, const char *str);
|
2004-03-30 02:30:35 -08:00
|
|
|
|
2004-06-03 02:14:55 -07:00
|
|
|
void _edje_var_list_var_append(Edje *ed, int id, Edje_Var *var);
|
|
|
|
void _edje_var_list_var_prepend(Edje *ed, int id, Edje_Var *var);
|
|
|
|
void _edje_var_list_var_append_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
|
|
|
|
void _edje_var_list_var_prepend_relative(Edje *ed, int id, Edje_Var *var, Edje_Var *relative);
|
|
|
|
Edje_Var *_edje_var_list_nth(Edje *ed, int id, int n);
|
|
|
|
|
|
|
|
int _edje_var_list_count_get(Edje *ed, int id);
|
|
|
|
void _edje_var_list_remove_nth(Edje *ed, int id, int n);
|
|
|
|
|
|
|
|
int _edje_var_list_nth_int_get(Edje *ed, int id, int n);
|
|
|
|
void _edje_var_list_nth_int_set(Edje *ed, int id, int n, int v);
|
|
|
|
void _edje_var_list_int_append(Edje *ed, int id, int v);
|
|
|
|
void _edje_var_list_int_prepend(Edje *ed, int id, int v);
|
|
|
|
void _edje_var_list_int_insert(Edje *ed, int id, int n, int v);
|
|
|
|
|
|
|
|
double _edje_var_list_nth_float_get(Edje *ed, int id, int n);
|
|
|
|
void _edje_var_list_nth_float_set(Edje *ed, int id, int n, double v);
|
|
|
|
void _edje_var_list_float_append(Edje *ed, int id, double v);
|
|
|
|
void _edje_var_list_float_prepend(Edje *ed, int id, double v);
|
|
|
|
void _edje_var_list_float_insert(Edje *ed, int id, int n, double v);
|
|
|
|
|
2004-08-24 03:06:33 -07:00
|
|
|
const char *_edje_var_list_nth_str_get(Edje *ed, int id, int n);
|
2006-03-18 20:22:35 -08:00
|
|
|
void _edje_var_list_nth_str_set(Edje *ed, int id, int n, const char *v);
|
|
|
|
void _edje_var_list_str_append(Edje *ed, int id, const char *v);
|
|
|
|
void _edje_var_list_str_prepend(Edje *ed, int id, const char *v);
|
|
|
|
void _edje_var_list_str_insert(Edje *ed, int id, int n, const char *v);
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2006-03-18 20:22:35 -08:00
|
|
|
int _edje_var_timer_add (Edje *ed, double in, const char *fname, int val);
|
2004-04-02 01:16:53 -08:00
|
|
|
void _edje_var_timer_del (Edje *ed, int id);
|
|
|
|
|
2006-03-18 20:22:35 -08:00
|
|
|
int _edje_var_anim_add (Edje *ed, double len, const char *fname, int val);
|
2004-04-02 01:16:53 -08:00
|
|
|
void _edje_var_anim_del (Edje *ed, int id);
|
2007-09-08 11:21:57 -07:00
|
|
|
|
2004-07-02 03:17:25 -07:00
|
|
|
void _edje_message_init (void);
|
|
|
|
void _edje_message_shutdown (void);
|
|
|
|
void _edje_message_cb_set (Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data);
|
|
|
|
Edje_Message *_edje_message_new (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id);
|
|
|
|
void _edje_message_free (Edje_Message *em);
|
|
|
|
void _edje_message_send (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg);
|
2008-05-30 04:20:49 -07:00
|
|
|
void _edje_message_parameters_push (Edje_Message *em);
|
2004-07-02 03:17:25 -07:00
|
|
|
void _edje_message_process (Edje_Message *em);
|
|
|
|
void _edje_message_queue_process (void);
|
|
|
|
void _edje_message_queue_clear (void);
|
|
|
|
void _edje_message_del (Edje *ed);
|
2005-10-05 01:38:04 -07:00
|
|
|
|
2006-03-27 23:45:54 -08:00
|
|
|
void _edje_textblock_styles_add(Edje *ed);
|
|
|
|
void _edje_textblock_styles_del(Edje *ed);
|
|
|
|
void _edje_textblock_style_all_update(Edje *ed);
|
2005-10-05 01:38:04 -07:00
|
|
|
void _edje_textblock_style_parse_and_fix(Edje_File *edf);
|
|
|
|
void _edje_textblock_style_cleanup(Edje_File *edf);
|
2006-03-18 20:22:35 -08:00
|
|
|
Edje_File *_edje_cache_file_coll_open(const char *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret);
|
2005-10-05 01:38:04 -07:00
|
|
|
void _edje_cache_coll_clean(Edje_File *edf);
|
2005-11-02 00:13:56 -08:00
|
|
|
void _edje_cache_coll_flush(Edje_File *edf);
|
2005-10-05 01:38:04 -07:00
|
|
|
void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc);
|
|
|
|
void _edje_cache_file_unref(Edje_File *edf);
|
|
|
|
|
2005-11-23 19:23:01 -08:00
|
|
|
void _edje_embryo_globals_init(Edje *ed);
|
|
|
|
|
2008-05-30 04:20:49 -07:00
|
|
|
#define CHKPARAM(n) if (params[0] != (sizeof(Embryo_Cell) * (n))) return -1;
|
|
|
|
#define GETSTR(str, par) { \
|
|
|
|
Embryo_Cell *___cptr; \
|
|
|
|
int ___l; \
|
|
|
|
str = NULL; \
|
|
|
|
if ((___cptr = embryo_data_address_get(ep, (par)))) { \
|
|
|
|
___l = embryo_data_string_length_get(ep, ___cptr); \
|
|
|
|
if (((str) = alloca(___l + 1))) \
|
|
|
|
embryo_data_string_get(ep, ___cptr, (str)); } }
|
|
|
|
#define GETSTREVAS(str, par) { \
|
|
|
|
if ((str)) { \
|
|
|
|
if ((par) && (!strcmp((par), (str)))) return 0; \
|
2008-10-15 07:11:11 -07:00
|
|
|
if ((par)) eina_stringshare_del((par)); \
|
|
|
|
(par) = (char *)eina_stringshare_add((str)); } \
|
2008-05-30 04:20:49 -07:00
|
|
|
else (par) = NULL; }
|
|
|
|
#define GETFLOAT(val, par) { \
|
|
|
|
float *___cptr; \
|
|
|
|
if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
|
|
|
|
val = *___cptr; } }
|
|
|
|
#define GETINT(val, par) { \
|
|
|
|
int *___cptr; \
|
|
|
|
if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
|
|
|
|
val = *___cptr; } }
|
|
|
|
#define SETSTR(str, par) { \
|
|
|
|
Embryo_Cell *___cptr; \
|
|
|
|
if ((___cptr = embryo_data_address_get(ep, (par)))) { \
|
|
|
|
embryo_data_string_set(ep, str, ___cptr); } }
|
|
|
|
#define SETSTRALLOCATE(s) { \
|
|
|
|
if (s) { \
|
|
|
|
if (strlen((s)) < params[4]) { \
|
|
|
|
SETSTR((s), params[3]); } \
|
|
|
|
else { \
|
|
|
|
char *ss; \
|
|
|
|
ss = alloca(strlen((s)) + 1); \
|
|
|
|
strcpy(ss, (s)); \
|
|
|
|
ss[params[4] - 2] = 0; \
|
|
|
|
SETSTR(ss, params[3]); } } \
|
|
|
|
else \
|
|
|
|
SETSTR("", params[3]); }
|
|
|
|
#define SETFLOAT(val, par) { \
|
|
|
|
float *___cptr; \
|
|
|
|
if ((___cptr = (float *)embryo_data_address_get(ep, (par)))) { \
|
|
|
|
*___cptr = (float)val; } }
|
|
|
|
#define SETINT(val, par) { \
|
|
|
|
int *___cptr; \
|
|
|
|
if ((___cptr = (int *)embryo_data_address_get(ep, (par)))) { \
|
|
|
|
*___cptr = (int)val; } }
|
|
|
|
|
|
|
|
int _edje_script_only(Edje *ed);
|
|
|
|
void _edje_script_only_init(Edje *ed);
|
|
|
|
void _edje_script_only_shutdown(Edje *ed);
|
|
|
|
void _edje_script_only_show(Edje *ed);
|
|
|
|
void _edje_script_only_hide(Edje *ed);
|
|
|
|
void _edje_script_only_move(Edje *ed);
|
|
|
|
void _edje_script_only_resize(Edje *ed);
|
|
|
|
void _edje_script_only_message(Edje *ed, Edje_Message *em);
|
2008-10-13 02:19:04 -07:00
|
|
|
|
|
|
|
void _edje_entry_init(Edje *ed);
|
|
|
|
void _edje_entry_shutdown(Edje *ed);
|
|
|
|
void _edje_entry_real_part_init(Edje_Real_Part *rp);
|
|
|
|
void _edje_entry_real_part_shutdown(Edje_Real_Part *rp);
|
|
|
|
void _edje_entry_real_part_configure(Edje_Real_Part *rp);
|
2008-10-16 02:17:44 -07:00
|
|
|
const char *_edje_entry_selection_get(Edje_Real_Part *rp);
|
2008-10-15 02:58:25 -07:00
|
|
|
const char *_edje_entry_text_get(Edje_Real_Part *rp);
|
|
|
|
void _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text);
|
2008-10-16 02:17:44 -07:00
|
|
|
void _edje_entry_text_markup_insert(Edje_Real_Part *rp, const char *text);
|
2008-10-15 02:58:25 -07:00
|
|
|
void _edje_entry_set_cursor_start(Edje_Real_Part *rp);
|
|
|
|
void _edje_entry_set_cursor_end(Edje_Real_Part *rp);
|
2008-11-18 00:45:27 -08:00
|
|
|
void _edje_entry_select_none(Edje_Real_Part *rp);
|
|
|
|
void _edje_entry_select_all(Edje_Real_Part *rp);
|
2008-10-23 17:44:26 -07:00
|
|
|
const Eina_List *_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char *anchor);
|
2008-10-22 04:34:42 -07:00
|
|
|
const Eina_List *_edje_entry_anchors_list(Edje_Real_Part *rp);
|
2008-10-16 23:42:33 -07:00
|
|
|
void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch);
|
2008-11-16 21:54:01 -08:00
|
|
|
|
2003-06-02 16:49:56 -07:00
|
|
|
#endif
|