2003-06-02 16:49:56 -07:00
|
|
|
#ifndef _EDJE_PRIVATE_H
|
|
|
|
#define _EDJE_PRIVATE_H
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
|
|
|
#include <Evas.h>
|
|
|
|
#include <Ecore.h>
|
2003-07-10 06:34:04 -07:00
|
|
|
#ifndef EDJE_FB_ONLY
|
2003-07-07 00:55:18 -07:00
|
|
|
#include <Ecore_X.h>
|
2003-07-10 06:34:04 -07:00
|
|
|
#else
|
|
|
|
#include <Ecore_Fb.h>
|
|
|
|
#endif
|
2003-06-02 16:49:56 -07:00
|
|
|
#include <Eet.h>
|
2004-03-26 01:10:05 -08:00
|
|
|
#include <Embryo.h>
|
2003-06-02 16:49:56 -07:00
|
|
|
|
2003-06-18 07:20:26 -07:00
|
|
|
#include <math.h>
|
2003-06-19 07:43:49 -07:00
|
|
|
#include <fnmatch.h>
|
2004-04-01 16:16:21 -08:00
|
|
|
|
|
|
|
#ifdef HAVE_ALLOCA_H
|
2004-03-30 02:30:35 -08:00
|
|
|
#include <alloca.h>
|
2004-04-01 16:16:21 -08:00
|
|
|
#endif
|
2003-06-18 07:20:26 -07:00
|
|
|
|
2004-02-19 19:20:10 -08:00
|
|
|
#include "Edje_Edit.h"
|
|
|
|
|
2004-10-29 08:14:43 -07:00
|
|
|
#ifndef ABS
|
|
|
|
#define ABS(x) x < 0 ? -x : x
|
|
|
|
#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:
|
2003-07-07 00:55:18 -07:00
|
|
|
*
|
2003-07-27 06:16:51 -07:00
|
|
|
* more example edje files
|
2003-07-07 00:55:18 -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
|
2003-08-31 19:53:08 -07:00
|
|
|
*
|
|
|
|
* ? recursions, unsafe callbacks outside edje etc. with freeze, ref/unref and blobk/unblock and break_programs needs to be redesigned & fixed
|
|
|
|
* ? 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
|
|
|
|
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
|
|
|
|
{
|
|
|
|
char *sig;
|
|
|
|
char *src;
|
|
|
|
};
|
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
|
|
|
|
2003-06-17 01:15:06 -07:00
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_file;
|
2003-08-05 07:33:35 -07:00
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_data;
|
2004-08-29 22:39:24 -07:00
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_font_directory;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_font_directory_entry;
|
2003-06-17 01:15:06 -07:00
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_image_directory;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_image_directory_entry;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_program;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_program_target;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part_collection_directory_entry;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part_collection;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part_description;
|
|
|
|
extern Eet_Data_Descriptor *_edje_edd_edje_part_image_id;
|
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;
|
2003-07-07 00:55:18 -07:00
|
|
|
extern Evas_List *_edje_animators;
|
2003-10-29 20:45:18 -08:00
|
|
|
extern Edje_Text_Style _edje_text_styles[EDJE_TEXT_EFFECT_LAST];
|
2003-07-15 22:15:15 -07:00
|
|
|
extern Evas_List *_edje_edjes;
|
2003-06-23 19:33:04 -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);
|
|
|
|
void _edje_embryo_test_run (Edje *ed, char *fname, char *sig, 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);
|
|
|
|
int _edje_var_string_id_get (Edje *ed, 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);
|
|
|
|
void _edje_var_var_str_set (Edje *ed, Edje_Var *var, 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);
|
|
|
|
void _edje_var_str_set (Edje *ed, int id, 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);
|
2004-06-03 02:14:55 -07:00
|
|
|
void _edje_var_list_nth_str_set(Edje *ed, int id, int n, char *v);
|
|
|
|
void _edje_var_list_str_append(Edje *ed, int id, char *v);
|
|
|
|
void _edje_var_list_str_prepend(Edje *ed, int id, char *v);
|
|
|
|
void _edje_var_list_str_insert(Edje *ed, int id, int n, char *v);
|
|
|
|
|
2004-04-02 01:16:53 -08:00
|
|
|
int _edje_var_timer_add (Edje *ed, double in, char *fname, int val);
|
|
|
|
void _edje_var_timer_del (Edje *ed, int id);
|
|
|
|
|
|
|
|
int _edje_var_anim_add (Edje *ed, double len, char *fname, int val);
|
|
|
|
void _edje_var_anim_del (Edje *ed, int id);
|
|
|
|
|
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);
|
|
|
|
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);
|
2004-06-30 20:46:05 -07:00
|
|
|
|
2003-06-02 16:49:56 -07:00
|
|
|
#endif
|