Enlightenment CVS committal
Author : dj2
Project : e17
Module : libs/engrave
Dir : e17/libs/engrave/src/lib
Modified Files:
Engrave.h Makefile.am engrave.l engrave.y engrave_data.c
engrave_data.h engrave_file.c engrave_file.h engrave_font.c
engrave_font.h engrave_group.c engrave_group.h engrave_image.c
engrave_image.h engrave_load.c engrave_out.c engrave_parse.c
engrave_parse.h engrave_part.c engrave_part.h
engrave_part_state.c engrave_part_state.h engrave_program.c
engrave_program.h
Added Files:
engrave_canvas.c engrave_canvas.h
Log Message:
- fix compile warnings
- add some missing functions
- fixup some function signatures to be correct
- add the start of engrave_canvas. Has a lot of work to still be done, but
seems to display images at least.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/Engrave.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- Engrave.h 13 Nov 2004 20:50:20 -0000 1.9
+++ Engrave.h 5 Dec 2004 21:16:29 -0000 1.10
@@ -77,6 +77,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
#include <Evas.h>
#include <engrave_enums.h>
@@ -92,6 +93,8 @@
#include <engrave_load.h>
#include <engrave_out.h>
+#include <engrave_canvas.h>
+
#ifdef __cplusplus
}
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/Makefile.am,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- Makefile.am 13 Nov 2004 20:50:20 -0000 1.5
+++ Makefile.am 5 Dec 2004 21:16:29 -0000 1.6
@@ -27,11 +27,12 @@
engrave_parse.h \
engrave_part.h \
engrave_part_state.h \
- engrave_program.h
+ engrave_program.h \
+ engrave_canvas.h
ENGRAVEFILES = \
- engrave.y \
engrave.l \
+ engrave.y \
engrave_out.c \
engrave_data.c \
engrave_file.c \
@@ -43,6 +44,7 @@
engrave_part_state.c \
engrave_program.c \
engrave_load.c \
+ engrave_canvas.c \
$(ENGRAVEHEADERS)
libengrave_la_SOURCES = $(ENGRAVEFILES)
@@ -54,4 +56,5 @@
libengrave_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @LEXLIB@ -lm
libengrave_la_DEPENDENCIES = $(top_builddir)/src/config.h
libengrave_la_LDFLAGS = -version-info 1:0:1
+libengrave_la_CFLAGS = -Wall
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.l,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave.l 16 Nov 2004 22:51:37 -0000 1.7
+++ engrave.l 5 Dec 2004 21:16:29 -0000 1.8
@@ -45,7 +45,7 @@
#define SCRIPT_NEW_LINE() engrave_lnum ++; SCRIPT_PIECE();
#define SCRIPT_OPEN_BRACE() script_level++; \
- if (script_level > 1) SCRIPT_PIECE();
+ if (script_level > 1) { SCRIPT_PIECE(); }
#define SCRIPT_CLOSE_BRACE() script_level--; \
if (script_level > 0) { SCRIPT_PIECE();}\
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- engrave.y 29 Nov 2004 21:37:01 -0000 1.12
+++ engrave.y 5 Dec 2004 21:16:29 -0000 1.13
@@ -2,10 +2,10 @@
#include <stdio.h>
#include <string.h>
#include "Engrave.h"
-//#include "engrave_private.h"
+#include "engrave_parse.h"
#define YYDEBUG 1
-
+ int yylex(void);
void yyerror(const char *s);
void parse_error(void);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_data.c 29 Nov 2004 20:53:21 -0000 1.9
+++ engrave_data.c 5 Dec 2004 21:16:29 -0000 1.10
@@ -102,4 +102,32 @@
ed->int_value = value;
}
+/**
+ * engrave_data_parent_set - set the parent pointer on this node
+ * @param ed: The Engrave_Data to set the parent on
+ * @param parent: The parent pointer to set
+ *
+ * @return Returns no value.
+ * @brief This will set the parent pointer, in the case of Engrave_Data this
+ * can be either an Engrave_File or an Engrave_Group.
+ */
+void
+engrave_data_parent_set(Engrave_Data *ed, void *parent)
+{
+ if (!ed) return;
+ ed->parent = parent;
+}
+
+/**
+ * engrave_data_parent_get - get the parent pointer on this node
+ * @param ed: The Engrave_Data to get the pointer from
+ *
+ * @return Returns the parent pointer, or NULL if none set.
+ */
+void *
+engrave_data_parent_get(Engrave_Data *ed)
+{
+ return (ed ? ed->parent : NULL);
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- engrave_data.h 29 Nov 2004 20:53:23 -0000 1.6
+++ engrave_data.h 5 Dec 2004 21:16:29 -0000 1.7
@@ -25,11 +25,16 @@
char *key; /**< The data key */
char *value; /**< The data string value */
int int_value; /**< The data int value */
+
+ void *parent; /**< A pointer to the parent */
};
Engrave_Data * engrave_data_new(const char *key, const char *value);
void engrave_data_free(Engrave_Data *ed);
+void engrave_data_parent_set(Engrave_Data *ed, void *parent);
+void *engrave_data_parent_get(Engrave_Data *ed);
+
const char *engrave_data_key_get(Engrave_Data *ed);
const char *engrave_data_value_get(Engrave_Data *ed);
int engrave_data_int_value_get(Engrave_Data *ed);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- engrave_file.c 30 Nov 2004 17:32:15 -0000 1.15
+++ engrave_file.c 5 Dec 2004 21:16:29 -0000 1.16
@@ -127,6 +127,7 @@
{
if (!e || !ef) return;
e->fonts = evas_list_append(e->fonts, ef);
+ engrave_font_parent_set(ef, e);
}
/**
@@ -141,6 +142,7 @@
{
if (!ef || !ei) return;
ef->images = evas_list_append(ef->images, ei);
+ engrave_image_parent_set(ei, ef);
}
/**
@@ -155,6 +157,7 @@
{
if (!ef || !ed) return;
ef->data = evas_list_append(ef->data, ed);
+ engrave_data_parent_set(ed, ef);
}
/**
@@ -169,6 +172,7 @@
{
if (!ef || !eg) return;
ef->groups = evas_list_append(ef->groups, eg);
+ engrave_group_parent_set(eg, ef);
}
/**
@@ -181,10 +185,32 @@
Engrave_Group *
engrave_file_group_last_get(Engrave_File *ef)
{
+ if (!ef) return NULL;
return evas_list_data(evas_list_last(ef->groups));
}
/**
+ * engrave_file_group_by_name_find - returns the Engrave_Group with the given
name.
+ * @param ef: The Engrave_File to search for the group in.
+ * @param name: The name of the group to search for.
+ *
+ * @return Returns the Engrave_Group with the given @a name or NULL if no
+ * corresponding group can be found.
+ */
+Engrave_Group *
+engrave_file_group_by_name_find(Engrave_File *ef, const char *name)
+{
+ Evas_List *l;
+ for (l = ef->groups; l; l = l->next)
+ {
+ Engrave_Group *eg = l->data;
+ if (eg && !strcmp(engrave_group_name_get(eg), name))
+ return eg;
+ }
+ return NULL;
+}
+
+/**
* engrave_file_image_by_name_find - returns the Engrave_Image with the given
name.
* @param ef: The Engrave_File to search for the image in.
* @param name: The name of the image to search for.
@@ -199,7 +225,7 @@
for (l = ef->images; l; l = l->next)
{
Engrave_Image *im = l->data;
- if (im && !strcmp(im->name, name))
+ if (im && !strcmp(engrave_image_name_get(im), name))
return im;
}
return NULL;
@@ -366,7 +392,33 @@
if (!strcmp(key, data_key))
return ed;
}
+ return NULL;
}
+/**
+ * engrave_file_font_by_name_find - find the Engrave_Font by name
+ * @param ef: The Engrave_File to search
+ * @param name: They name to search for
+ *
+ * @return Returns the Engrave_Font with the matching name or NULL if no such
+ * font exists.
+ */
+Engrave_Font *
+engrave_file_font_by_name_find(Engrave_File *ef, const char *name)
+{
+ Evas_List *l;
+
+ if (!ef || !name) return NULL;
+ for (l = ef->fonts; l; l = l->next) {
+ Engrave_Font *ef = l->data;
+ const char *font_name = engrave_font_name_get(ef);
+
+ if (!strcmp(name, font_name))
+ return ef;
+ }
+ return NULL;
+}
+
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_file.h 29 Nov 2004 22:27:22 -0000 1.10
+++ engrave_file.h 5 Dec 2004 21:16:29 -0000 1.11
@@ -46,6 +46,10 @@
void engrave_file_group_add(Engrave_File *ef, Engrave_Group *eg);
Engrave_Group *engrave_file_group_last_get(Engrave_File *ef);
+Engrave_Group *engrave_file_group_by_name_find(Engrave_File *ef,
+ const char *name);
+Engrave_Font *engrave_file_font_by_name_find(Engrave_File *ef,
+ const char *name);
Engrave_Image *engrave_file_image_by_name_find(Engrave_File *ef,
const char *name);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- engrave_font.c 15 Nov 2004 16:49:05 -0000 1.8
+++ engrave_font.c 5 Dec 2004 21:16:29 -0000 1.9
@@ -61,4 +61,32 @@
return (ef ? ef->path : NULL);
}
+/**
+ * engrave_font_parent_set - set the parent of the font node
+ * @param font: The Engrave_Font to set the parent into
+ * @param ef: The Engrave_File to set as parent
+ *
+ * @return Retruns no value.
+ */
+void
+engrave_font_parent_set(Engrave_Font *font, void *ef)
+{
+ if (!font) return;
+ font->parent = ef;
+}
+
+/**
+ * engrave_font_parent_get - get the parent pointer
+ * @param ef: The Engrave_Font to get the parent from
+ *
+ * @return Returns the pointer to the parent or NULL if none set
+ */
+void *
+engrave_font_parent_get(Engrave_Font *ef)
+{
+ return (ef ? ef->parent : NULL);
+}
+
+
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave_font.h 16 Nov 2004 01:13:30 -0000 1.7
+++ engrave_font.h 5 Dec 2004 21:16:29 -0000 1.8
@@ -24,11 +24,16 @@
{
char *name; /**< The font alias */
char *path; /**< The font relative path */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Font *engrave_font_new(const char *path, const char *name);
void engrave_font_free(Engrave_Font *ef);
+void engrave_font_parent_set(Engrave_Font *font, void *ef);
+void *engrave_font_parent_get(Engrave_Font *ef);
+
const char *engrave_font_name_get(Engrave_Font *ef);
const char *engrave_font_path_get(Engrave_Font *ef);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- engrave_group.c 30 Nov 2004 17:32:15 -0000 1.13
+++ engrave_group.c 5 Dec 2004 21:16:29 -0000 1.14
@@ -69,6 +69,7 @@
{
if (!eg || !ed) return;
eg->data = evas_list_append(eg->data, ed);
+ engrave_data_parent_set(ed, eg);
}
/**
@@ -145,6 +146,7 @@
{
if (!eg || !ep) return;
eg->parts = evas_list_append(eg->parts, ep);
+ engrave_part_parent_set(ep, eg);
}
/**
@@ -158,6 +160,7 @@
engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep)
{
eg->programs = evas_list_append(eg->programs, ep);
+ engrave_program_parent_set(ep, eg);
}
/**
@@ -170,7 +173,7 @@
Engrave_Part *
engrave_group_part_last_get(Engrave_Group *eg)
{
- if (!eg) return;
+ if (!eg) return NULL;
return evas_list_data(evas_list_last(eg->parts));
}
@@ -382,5 +385,52 @@
if (!strcmp(key, data_key))
return ed;
}
+ return NULL;
}
+Engrave_Part *
+engrave_group_part_by_name_find(Engrave_Group *eg, const char *part)
+{
+ Evas_List *l;
+
+ if (!eg || !part) return NULL;
+ for (l = eg->data; l; l = l->next) {
+ Engrave_Part *ep = l->data;
+ const char *name = engrave_part_name_get(ep);
+
+ if (!strcmp(part, name))
+ return ep;
+ }
+ return NULL;
+}
+
+/**
+ * engrave_group_parent_set - set the parent pointer
+ * @param eg: The Engrave_Group to set the parent pointer into
+ * @param ef: The Engrave_File to set as the parent
+ *
+ * @return Returns no value.
+ */
+void
+engrave_group_parent_set(Engrave_Group *eg, void *ef)
+{
+ if (!eg) return;
+ eg->parent = ef;
+}
+
+/**
+ * engrave_group_parent_get - get the parent pointer
+ * @param eg: The Engrave_Group to get the parent pointer from
+ *
+ * @return Returns the Engrave_File parent pointer or NULL if none set
+ */
+void *
+engrave_group_parent_get(Engrave_Group *eg)
+{
+ return (eg ? eg->parent : NULL);
+}
+
+
+
+
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_group.h 29 Nov 2004 22:27:23 -0000 1.10
+++ engrave_group.h 5 Dec 2004 21:16:29 -0000 1.11
@@ -37,11 +37,16 @@
Evas_List *data; /**< The list of data used in this group */
char *script; /**< The script attached to this group */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Group *engrave_group_new(void);
void engrave_group_free(Engrave_Group *eg);
+void engrave_group_parent_set(Engrave_Group *eg, void *ef);
+void *engrave_group_parent_get(Engrave_Group *eg);
+
void engrave_group_data_add(Engrave_Group *eg, Engrave_Data *ed);
void engrave_group_part_add(Engrave_Group *eg, Engrave_Part *ep);
void engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep);
@@ -70,6 +75,8 @@
void engrave_group_programs_foreach(Engrave_Group *eg,
void (*func)(Engrave_Program *, void *), void *data);
+Engrave_Part *engrave_group_part_by_name_find(Engrave_Group *eg,
+ const char *part);
Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg,
const char *key);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- engrave_image.c 16 Nov 2004 01:13:30 -0000 1.11
+++ engrave_image.c 5 Dec 2004 21:16:29 -0000 1.12
@@ -91,4 +91,33 @@
return (ei ? ei->value : 0.0);
}
+/**
+ * engrave_image_parent_set - set the image parent pointer
+ * @param ei: The Engrave_Image to set the parent into
+ * @param ef: The Engrave_File to set as the parent
+ *
+ * @return Returns no value.
+ */
+void
+engrave_image_parent_set(Engrave_Image *ei, void *ef)
+{
+ if (!ei) return;
+ ei->parent = ef;
+}
+
+/**
+ * engrave_image_parent_get - get the parent of the image
+ * @param ei: The Engrave_Image to get the parent from
+ *
+ * @return Returns the pointer to the Engrave_File parent or NULL if none set
+ */
+void *
+engrave_image_parent_get(Engrave_Image *ei)
+{
+ return (ei ? ei->parent : NULL);
+}
+
+
+
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- engrave_image.h 16 Nov 2004 01:13:30 -0000 1.8
+++ engrave_image.h 5 Dec 2004 21:16:29 -0000 1.9
@@ -25,6 +25,8 @@
char *name; /**< The image basename */
Engrave_Image_Type type; /**< The image storage type */
double value; /**< Compression value for image */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Image *engrave_image_new(const char *name,
@@ -32,6 +34,9 @@
Engrave_Image *engrave_image_dup(Engrave_Image *from);
void engrave_image_free(Engrave_Image *ef);
+void engrave_image_parent_set(Engrave_Image *ei, void *ef);
+void *engrave_image_parent_get(Engrave_Image *ei);
+
const char *engrave_image_name_get(Engrave_Image *ei);
Engrave_Image_Type engrave_image_type_get(Engrave_Image *ei);
double engrave_image_compression_value_get(Engrave_Image *ei);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- engrave_load.c 16 Nov 2004 01:54:08 -0000 1.12
+++ engrave_load.c 5 Dec 2004 21:16:29 -0000 1.13
@@ -1,4 +1,5 @@
#include <errno.h>
+#include <unistd.h>
#include <Engrave.h>
#include "engrave_parse.h"
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- engrave_out.c 15 Nov 2004 16:49:05 -0000 1.19
+++ engrave_out.c 5 Dec 2004 21:16:29 -0000 1.20
@@ -1,4 +1,5 @@
#include <errno.h>
+#include <unistd.h>
#include <stdio.h>
#include <stdarg.h>
#include <Engrave.h>
@@ -197,7 +198,6 @@
_engrave_output_group(Engrave_Group *group, void *data)
{
FILE *out = data;
- char *tmp = NULL;
int w, h;
engrave_out_start(out, "group");
@@ -243,7 +243,6 @@
_engrave_output_part(Engrave_Part *part, void *data)
{
FILE *out = data;
- char *tmp;
int x, step_x, count_x;
int y, step_y, count_y;
@@ -289,7 +288,6 @@
_engrave_output_program(Engrave_Program *program, void *data)
{
FILE *out = data;
- char *tmp;
Engrave_Action action;
double value, value2;
char state[128], state2[128];
@@ -394,11 +392,11 @@
if (x || y)
engrave_out_data(out, "step", "%.2f %.2f", x, y);
- engrave_part_state_min_get(state, &w, &h);
+ engrave_part_state_min_size_get(state, &w, &h);
if (w > 0 || h > 0)
engrave_out_data(out, "min", "%d %d", w, h);
- engrave_part_state_max_get(state, &w, &h);
+ engrave_part_state_max_size_get(state, &w, &h);
if (w >= 0 || h >= 0)
engrave_out_data(out, "max", "%d %d", w, h);
@@ -547,7 +545,6 @@
static void
_engrave_output_font(Engrave_Font *font, void *data)
{
- char *name, *path;
FILE *out;
out = data;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_parse.c 16 Nov 2004 01:13:30 -0000 1.10
+++ engrave_parse.c 5 Dec 2004 21:16:29 -0000 1.11
@@ -2,6 +2,7 @@
static Engrave_File *engrave_file = 0;
extern FILE *yyin;
+int yyparse(void);
Engrave_File *
engrave_parse(const char *file, const char *imdir, const char *fontdir)
@@ -34,10 +35,14 @@
}
void
-engrave_parse_data(char *key, char *value)
+engrave_parse_data(char *key, char *value, int int_val)
{
Engrave_Data *data;
data = engrave_data_new(key, value);
+
+ if (!value)
+ engrave_data_int_value_set(data, int_val);
+
engrave_file_data_add(engrave_file, data);
}
@@ -50,12 +55,15 @@
}
void
-engrave_parse_group_data(char *key, char *value)
+engrave_parse_group_data(char *key, char *value, int int_value)
{
Engrave_Group *group;
Engrave_Data *data;
data = engrave_data_new(key, value);
+ if (!value)
+ engrave_data_int_value_set(data, int_value);
+
group = engrave_file_group_last_get(engrave_file);
engrave_group_data_add(group, data);
}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- engrave_parse.h 16 Nov 2004 01:13:30 -0000 1.3
+++ engrave_parse.h 5 Dec 2004 21:16:29 -0000 1.4
@@ -6,5 +6,78 @@
Engrave_File * engrave_parse(const char *file, const char *imdir,
const char *fontdir);
+void engrave_parse_font(char *file, char *name);
+void engrave_parse_image(char *name, Engrave_Image_Type type, double value);
+void engrave_parse_data(char *key, char *value, int int_val);
+void engrave_parse_group();
+void engrave_parse_group_data(char *key, char *value, int int_value);
+void engrave_parse_group_script(char *script);
+void engrave_parse_group_name(char *name);
+void engrave_parse_group_min(int w, int h);
+void engrave_parse_group_max(int w, int h);
+void engrave_parse_part();
+void engrave_parse_part_name(char *name);
+void engrave_parse_part_type(Engrave_Part_Type type);
+void engrave_parse_part_effect(Engrave_Text_Effect effect);
+void engrave_parse_part_mouse_events(int mouse_events);
+void engrave_parse_part_repeat_events(int repeat_events);
+void engrave_parse_part_clip_to(char *clip_to);
+void engrave_parse_part_dragable_x(int x, int step, int count);
+void engrave_parse_part_dragable_y(int y, int step, int count);
+void engrave_parse_part_dragable_confine(char *confine);
+void engrave_parse_state();
+void engrave_parse_state_name(char *name, double value);
+void engrave_parse_state_visible(int visible);
+void engrave_parse_state_inherit(char *name, double val);
+void engrave_parse_state_align(double x, double y);
+void engrave_parse_state_step(double x, double y);
+void engrave_parse_state_min(double w, double h);
+void engrave_parse_state_max(double w, double h);
+void engrave_parse_state_aspect(double w, double h);
+void engrave_parse_state_aspect_preference(
+ Engrave_Aspect_Preference prefer);
+void engrave_parse_state_rel1_relative(double x, double y);
+void engrave_parse_state_rel1_offset(int x, int y);
+void engrave_parse_state_rel1_to_x(char *to);
+void engrave_parse_state_rel1_to_y(char *to);
+void engrave_parse_state_rel1_to(char *to);
+void engrave_parse_state_rel2_relative(double x, double y);
+void engrave_parse_state_rel2_offset(int x, int y);
+void engrave_parse_state_rel2_to_x(char *to);
+void engrave_parse_state_rel2_to_y(char *to);
+void engrave_parse_state_rel2_to(char *to);
+void engrave_parse_state_image_normal(char *name);
+void engrave_parse_state_image_tween(char *name);
+void engrave_parse_image_border(int l, int r, int t, int b);
+void engrave_parse_state_color_class(char *color_class);
+void engrave_parse_state_color(int r, int g, int b, int a);
+void engrave_parse_state_color2(int r, int g, int b, int a);
+void engrave_parse_state_color3(int r, int g, int b, int a);
+void engrave_parse_state_fill_smooth(int smooth);
+void engrave_parse_state_fill_origin_relative(double x, double y);
+void engrave_parse_state_fill_size_relative(double x, double y);
+void engrave_parse_state_fill_origin_offset(int x, int y);
+void engrave_parse_state_fill_size_offset(int x, int y);
+void engrave_parse_state_text_text(char *text);
+void engrave_parse_state_text_text_class(char *text_class);
+void engrave_parse_state_text_font(char *font);
+void engrave_parse_state_text_size(int size);
+void engrave_parse_state_text_fit(int x, int y);
+void engrave_parse_state_text_min(int x, int y);
+void engrave_parse_state_text_align(double x, double y);
+void engrave_parse_program();
+void engrave_parse_program_script(char *script);
+void engrave_parse_program_name(char *name);
+void engrave_parse_program_signal(char *signal);
+void engrave_parse_program_source(char *source);
+void engrave_parse_program_target(char *target);
+void engrave_parse_program_after(char *after);
+void engrave_parse_program_in(double from, double range);
+void engrave_parse_program_action(Engrave_Action action, char *state,
+ char *state2, double value,
+ double value2);
+void engrave_parse_program_transition(Engrave_Transition transition,
+ double duration);
+
#endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- engrave_part.c 15 Nov 2004 16:49:06 -0000 1.12
+++ engrave_part.c 5 Dec 2004 21:16:29 -0000 1.13
@@ -352,6 +352,14 @@
{
if (!ep || !eps) return;
ep->states = evas_list_append(ep->states, eps);
+ engrave_part_state_parent_set(eps, ep);
+
+ /* set the current state if it isnt' set already */
+ if (engrave_part_state_name_get(eps, NULL) &&
+ !strcmp(engrave_part_state_name_get(eps, NULL), "default")) {
+ if (ep->current_state == NULL)
+ engrave_part_current_state_set(ep, eps);
+ }
}
/**
@@ -421,5 +429,49 @@
}
}
+/**
+ * engrave_part_parent_set - set the parent pointer in the part
+ * @param ep: The Engrave_Part to set the pointer into
+ * @param eg: The Engrave_Group to set as parent
+ *
+ * @return Returns no value.
+ */
+void
+engrave_part_parent_set(Engrave_Part *ep, void *eg)
+{
+ if (!ep) return;
+ ep->parent = eg;
+}
+
+/**
+ * engrave_part_parent_get - get the parent pointer for the part
+ * @param ep: The Engrave_Part to get the parent from
+ *
+ * @return Returns the Engrave_Group pointer if set, or NULL if none set.
+ */
+void *
+engrave_part_parent_get(Engrave_Part *ep)
+{
+ return (ep ? ep->parent : NULL);
+}
+
+void
+engrave_part_current_state_set(Engrave_Part *ep, Engrave_Part_State *eps)
+{
+ if (!ep) return;
+ ep->current_state = eps;
+}
+
+Engrave_Part_State *
+engrave_part_current_state_get(Engrave_Part *ep)
+{
+ if (!ep) return NULL;
+ if (ep->current_state) return ep->current_state;
+
+ ep->current_state = engrave_part_state_by_name_value_find(ep,
+ "default", 0.0);
+ return ep->current_state;
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_part.h 15 Nov 2004 16:49:06 -0000 1.10
+++ engrave_part.h 5 Dec 2004 21:16:29 -0000 1.11
@@ -50,11 +50,21 @@
} dragable;
Evas_List *states; /**< The list of states assocated with the part */
+ Engrave_Part_State *current_state; /**< The current state */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Part * engrave_part_new(Engrave_Part_Type type);
void engrave_part_free(Engrave_Part *ep);
+void engrave_part_parent_set(Engrave_Part *ep, void *eg);
+void *engrave_part_parent_get(Engrave_Part *ep);
+
+void engrave_part_current_state_set(Engrave_Part *ep,
+ Engrave_Part_State *eps);
+Engrave_Part_State *engrave_part_current_state_get(Engrave_Part *ep);
+
void engrave_part_name_set(Engrave_Part *ep, const char *name);
void engrave_part_mouse_events_set(Engrave_Part *ep, int val);
void engrave_part_repeat_events_set(Engrave_Part *ep, int val);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- engrave_part_state.c 15 Nov 2004 20:19:44 -0000 1.14
+++ engrave_part_state.c 5 Dec 2004 21:16:29 -0000 1.15
@@ -68,7 +68,6 @@
void
engrave_part_state_free(Engrave_Part_State *eps)
{
- Evas_List *l;
if (!eps) return;
IF_FREE(eps->name);
@@ -128,7 +127,7 @@
* @return Returns no value
*/
void
-engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y)
+engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y)
{
if (!eps) return;
eps->align.x = x;
@@ -144,7 +143,7 @@
* @return Returns no value
*/
void
-engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y)
+engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y)
{
if (!eps) return;
eps->step.x = x;
@@ -192,7 +191,7 @@
* @return Returns no value
*/
void
-engrave_part_state_aspect_set(Engrave_Part_State *eps, int w, int h)
+engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h)
{
if (!eps) return;
eps->aspect.w = w;
@@ -223,7 +222,7 @@
* @return Returns no value
*/
void
-engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, int x, int y)
+engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, double x, double
y)
{
if (!eps) return;
eps->rel1.relative.x = x;
@@ -239,7 +238,7 @@
* @return Returns no value
*/
void
-engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, int x, int y)
+engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, double x, double
y)
{
if (!eps) return;
eps->rel2.relative.x = x;
@@ -813,7 +812,7 @@
}
/**
- * engrave_part_state_min_get - get the minimum size of the state
+ * engrave_part_state_min_size_get - get the minimum size of the state
* @param eps: The Engrave_Part_State to get the min from
* @param w: Where to store the w value
* @param h: Where to store the h value
@@ -821,14 +820,14 @@
* @return Returns no value.
*/
void
-engrave_part_state_min_get(Engrave_Part_State *eps, int *w, int *h)
+engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h)
{
if (w) *w = (eps ? eps->min.w : 0);
if (h) *h = (eps ? eps->min.h : 0);
}
/**
- * engrave_part_state_max_get - get the maximum size of the state
+ * engrave_part_state_max_size_get - get the maximum size of the state
* @param eps: The Engrave_Part_State to get the max from
* @param w: Where to store the w value
* @param h: Where to store the h value
@@ -836,7 +835,7 @@
* @return Returns no value.
*/
void
-engrave_part_state_max_get(Engrave_Part_State *eps, int *w, int *h)
+engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h)
{
if (w) *w = (eps ? eps->max.w : -1);
if (h) *h = (eps ? eps->max.h : -1);
@@ -1176,6 +1175,43 @@
if (y) *y = (eps ? eps->text.align.y : 0.5);
}
+int
+engrave_part_state_fill_smooth_get(Engrave_Part_State *eps)
+{
+ return (eps ? eps->fill.smooth : 1);
+}
+
+void
+engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state,
+ double *x, double *y)
+{
+ if (x) *x = (state ? state->fill.pos_rel.x : 0);
+ if (y) *y = (state ? state->fill.pos_rel.y : 0);
+}
+
+void
+engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps,
+ double *x, double *y)
+{
+ if (x) *x = (eps ? eps->fill.rel.x : 1);
+ if (y) *y = (eps ? eps->fill.rel.y : 1);
+}
+
+void
+engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps,
+ int *x, int *y)
+{
+ if (x) *x = (eps ? eps->fill.pos_abs.x : 0);
+ if (y) *y = (eps ? eps->fill.pos_abs.y : 0);
+}
+
+void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps,
+ int *x, int *y)
+{
+ if (x) *x = (eps ? eps->fill.abs.x : 0);
+ if (y) *y = (eps ? eps->fill.abs.y : 0);
+}
+
/**
* engrave_part_state_tweens_count - get the number of tweens in the state
* @param eps: The Engrave_Part_State to check for tweens
@@ -1209,4 +1245,57 @@
}
}
+/**
+ * engrave_part_state_evas_object_get - get the object for this state
+ * @param eps: The Engrave_Part_State to get the object from
+ *
+ * @return Returns the evas object that displays this state
+ */
+Evas_Object *
+engrave_part_state_evas_object_get(Engrave_Part_State *eps)
+{
+ return (eps ? eps->object : NULL);
+}
+
+/**
+ * engrave_part_state_evas_object_set - set the evas object for this state
+ * @param eps: The Engrave_Part_State to set the object into
+ * @param o: The Evas_Object to set into the state
+ *
+ * @return Returns no value.
+ */
+void
+engrave_part_state_evas_object_set(Engrave_Part_State *eps, Evas_Object *o)
+{
+ if (!eps) return;
+ eps->object = o;
+}
+
+/**
+ * engrave_part_state_parent_set - set the parent part on this state
+ * @param eps: The Engrave_Part_State to set the parent into
+ * @param ep: The Engrave_Part to set as the parent
+ *
+ * @return Returns no value.
+ */
+void
+engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep)
+{
+ if (!eps) return;
+ eps->parent = ep;
+}
+
+/**
+ * engrave_part_state_parent_get - get the parent part of this state
+ * @param eps: The Engrave_Part_State to get the parent from
+ *
+ * @return Returns the Engrave_Part parent pointer, or NULL if none set.
+ */
+void *
+engrave_part_state_parent_get(Engrave_Part_State *eps)
+{
+ return (eps ? eps->parent : NULL);
+}
+
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_part_state.h 15 Nov 2004 16:49:06 -0000 1.10
+++ engrave_part_state.h 5 Dec 2004 21:16:29 -0000 1.11
@@ -40,8 +40,8 @@
*/
struct
{
- double w; /**< width value */
- double h; /**< height value */
+ int w; /**< width value */
+ int h; /**< height value */
} min, max;
/**
@@ -167,30 +167,45 @@
double y; /**< The y value */
} align;
} text;
+
+ struct
+ {
+ Evas_Coord x; /**< The x position to place the object */
+ Evas_Coord y; /**< The y position to place the object */
+ Evas_Coord w; /**< The width of the object */
+ Evas_Coord h; /**< The hight of the object */
+ } pos;
+
+ Evas_Object *object; /**< The evas object used to display this state */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Part_State * engrave_part_state_new(void);
void engrave_part_state_free(Engrave_Part_State *eps);
+void engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep);
+void *engrave_part_state_parent_get(Engrave_Part_State *eps);
+
void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name,
double value);
void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible);
-void engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y);
-void engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y);
+void engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y);
+void engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y);
void engrave_part_state_min_size_set(Engrave_Part_State *eps, int w, int h);
void engrave_part_state_max_size_set(Engrave_Part_State *eps, int w, int h);
-void engrave_part_state_aspect_set(Engrave_Part_State *eps, int w, int h);
+void engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double
h);
void engrave_part_state_aspect_preference_set(Engrave_Part_State *eps,
Engrave_Aspect_Preference prefer);
void engrave_part_state_rel1_relative_set(Engrave_Part_State *eps,
- int x, int y);
+ double x, double y);
void engrave_part_state_rel1_offset_set(Engrave_Part_State *eps, int x, int y);
void engrave_part_state_rel1_to_set(Engrave_Part_State *eps, const char *to);
void engrave_part_state_rel1_to_x_set(Engrave_Part_State *eps, const char *to);
void engrave_part_state_rel1_to_y_set(Engrave_Part_State *eps, const char *to);
void engrave_part_state_rel2_relative_set(Engrave_Part_State *eps,
- int x, int y);
+ double x, double y);
void engrave_part_state_rel2_offset_set(Engrave_Part_State *eps, int x, int y);
void engrave_part_state_rel2_to_set(Engrave_Part_State *eps, const char *to);
void engrave_part_state_rel2_to_x_set(Engrave_Part_State *eps, const char *to);
@@ -242,8 +257,8 @@
double *x, double *y);
void engrave_part_state_step_get(Engrave_Part_State *eps,
double *x, double *y);
-void engrave_part_state_min_get(Engrave_Part_State *eps, int *w, int *h);
-void engrave_part_state_max_get(Engrave_Part_State *eps, int *w, int *h);
+void engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h);
+void engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h);
void engrave_part_state_aspect_get(Engrave_Part_State *eps,
double *w, double *h);
Engrave_Aspect_Preference
@@ -280,11 +295,23 @@
int *x, int *y);
void engrave_part_state_text_align_get(Engrave_Part_State *eps,
double *x, double *y);
+int engrave_part_state_fill_smooth_get(Engrave_Part_State *eps);
+void engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state,
+ double *x, double *y);
+void engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps,
+ double *x, double *y);
+void engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps,
+ int *x, int *y);
+void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps,
+ int *x, int *y);
int engrave_part_state_tweens_count(Engrave_Part_State *eps);
void engrave_part_state_tween_foreach(Engrave_Part_State *eps,
void (*func)(Engrave_Image *, void *), void *data);
+Evas_Object *engrave_part_state_evas_object_get(Engrave_Part_State *eps);
+void engrave_part_state_evas_object_set(Engrave_Part_State *eps,
+ Evas_Object *o);
/**
* @}
*/
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- engrave_program.c 15 Nov 2004 20:19:44 -0000 1.12
+++ engrave_program.c 5 Dec 2004 21:16:29 -0000 1.13
@@ -385,5 +385,31 @@
}
}
+/**
+ * engrave_program_parent_set - set the parent of the program
+ * @param ep: The Engrave_Program to set the parent into
+ * @param eg: The Engrave_Group to set as parent
+ *
+ * @return Returns no value.
+ */
+void
+engrave_program_parent_set(Engrave_Program *ep, void *eg)
+{
+ if (!ep) return;
+ ep->parent = eg;
+}
+
+/**
+ * engrave_program_parent_get - get the parent pointer
+ * @param ep: The Engrave_Program to get the parent from
+ *
+ * @return Returns a pointer to the Engrave_Group parent, or NULL if none set
+ */
+void *
+engrave_program_parent_get(Engrave_Program *ep)
+{
+ return (ep ? ep->parent : NULL);
+}
+
+
-
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_program.h 15 Nov 2004 16:49:06 -0000 1.9
+++ engrave_program.h 5 Dec 2004 21:16:29 -0000 1.10
@@ -46,11 +46,16 @@
double duration; /**< The duration of the transition */
char *script; /**< The script associated with the program */
+
+ void *parent; /**< Pointer to parent */
};
Engrave_Program *engrave_program_new(void);
void engrave_program_free(Engrave_Program *ep);
+void engrave_program_parent_set(Engrave_Program *ep, void *eg);
+void *engrave_program_parent_get(Engrave_Program *ep);
+
void engrave_program_script_set(Engrave_Program *ep, const char *script);
void engrave_program_name_set(Engrave_Program *ep, const char *name);
void engrave_program_signal_set(Engrave_Program *ep, const char *signal);
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs