Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : proto

Dir     : e17/proto/edje_cc


Modified Files:
        Etcher.h Makefile edje.y etcher_parse.c main.c 
Added Files:
        etcher_out.c 


Log Message:

Cleanups and fixups.
Start of code to output structs to .edc



===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/Etcher.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- Etcher.h    8 Sep 2004 22:37:22 -0000       1.8
+++ Etcher.h    9 Sep 2004 13:55:55 -0000       1.9
@@ -27,7 +27,8 @@
   ETCHER_IMAGE_TYPE_RAW,
   ETCHER_IMAGE_TYPE_COMP,
   ETCHER_IMAGE_TYPE_LOSSY,
-  ETCHER_IMAGE_TYPE_EXTERNAL
+  ETCHER_IMAGE_TYPE_EXTERNAL,
+  ETCHER_IMAGE_TYPE_NUM
 
 };
 
@@ -36,7 +37,8 @@
   ETCHER_PART_TYPE_IMAGE,
   ETCHER_PART_TYPE_TEXT,
   ETCHER_PART_TYPE_RECT,
-  ETCHER_PART_TYPE_SWALLOW
+  ETCHER_PART_TYPE_SWALLOW,
+  ETCHER_PART_TYPE_NUM
 };
 
 enum _Etcher_Text_Effect
@@ -48,7 +50,8 @@
   ETCHER_TEXT_EFFECT_SHADOW,
   ETCHER_TEXT_EFFECT_OUTLINE_SHADOW,
   ETCHER_TEXT_EFFECT_SOFT_SHADOW,
-  ETCHER_TEXT_EFFECT_OUTLINE_SOFT_SHADOW
+  ETCHER_TEXT_EFFECT_OUTLINE_SOFT_SHADOW,
+  ETCHER_TEXT_EFFECT_NUM
 };
 
 enum _Etcher_Action
@@ -59,7 +62,8 @@
   ETCHER_ACTION_DRAG_VAL_SET,
   ETCHER_ACTION_DRAG_VAL_STEP,
   ETCHER_ACTION_DRAG_VAL_PAGE,
-  ETCHER_ACTION_SCRIPT
+  ETCHER_ACTION_SCRIPT,
+  ETCHER_ACTION_NUM
 };
 
 enum _Etcher_Transition
@@ -67,7 +71,8 @@
   ETCHER_TRANSITION_LINEAR,
   ETCHER_TRANSITION_SINUSOIDAL,
   ETCHER_TRANSITION_ACCELERATE,
-  ETCHER_TRANSITION_DECELERATE
+  ETCHER_TRANSITION_DECELERATE,
+  ETCHER_TRANSITION_NUM
 };
 
 enum _Etcher_Aspect_Preference
@@ -75,7 +80,8 @@
   ETCHER_ASPECT_PREFERENCE_NONE,
   ETCHER_ASPECT_PREFERENCE_VERTICAL,
   ETCHER_ASPECT_PREFERENCE_HORIZONTAL,
-  ETCHER_ASPECT_PREFERENCE_BOTH
+  ETCHER_ASPECT_PREFERENCE_BOTH,
+  ETCHER_ASPECT_PREFERENCE_NUM
 };
 
 struct _Etcher_File
@@ -94,17 +100,17 @@
 
 struct _Etcher_Image
 {
-  char *name;
-  char *path;
+  char *name; /* basename */
+  char *path; /* dir path */
   Etcher_Image_Type type;
   double value;
 };
 
 struct _Etcher_Font
 {
-  char *name;
-  char *font;
-  char *path;
+  char *name; /* alias */
+  char *file; /* basename */
+  char *path; /* dir path */
 };
 
 struct _Etcher_Group
@@ -153,10 +159,16 @@
   Evas_List *targets;
   Evas_List *afters;
 
-  int in1, in2;
+  struct {
+    double from, range;
+  } in;
   
   Etcher_Action action;
+  char *state, *state2;
+  double value, value2;
+
   Etcher_Transition transition;
+  double duration;
  
   char *script;
 };
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Makefile    8 Sep 2004 06:56:23 -0000       1.3
+++ Makefile    9 Sep 2004 13:55:55 -0000       1.4
@@ -3,7 +3,7 @@
 PARSE_FILE=edje.y
 
 all: lexer parser
-       $(CC) lex.yy.c edje_cc.tab.c main.c etcher_parse.c -lfl -levas -o edje_cc
+       $(CC) lex.yy.c edje_cc.tab.c main.c etcher_parse.c etcher_out.c -lfl -levas -o 
edje_cc
 
 lexer: $(LEX_FILE)
        flex $(LEX_FILE)
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/edje.y,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- edje.y      8 Sep 2004 22:37:22 -0000       1.21
+++ edje.y      9 Sep 2004 13:55:55 -0000       1.22
@@ -195,15 +195,19 @@
        ;
 
 program_action: ACTION COLON action_type STRING FLOAT SEMICOLON {
+                etcher_parse_program_action($3, $4, NULL, $5, 0);
                printf("action %d %s %f\n", $3, $4, $5);
        }
        | ACTION COLON action_type STRING STRING SEMICOLON {
+                etcher_parse_program_action($3, $4, $5, 0, 0);
                printf("action %d %s %s\n", $3, $4, $5);
        }
        | ACTION COLON action_type FLOAT FLOAT SEMICOLON {
+                etcher_parse_program_action($3, NULL, NULL, $4, $5);
                printf("action %d %f %f\n", $3, $4, $5);
        }
        | ACTION COLON action_type SEMICOLON {
+                etcher_parse_program_action($3, NULL, NULL, 0, 0);
                printf("action %d\n", $3);
        }
        ;
@@ -290,13 +294,13 @@
                 switch(section)
                 {
                   case GROUP:
-                    etcher_parse_group_min($3, $4);
+                    etcher_parse_group_min((int)$3, (int)$4);
                     break;
                   case STATE:
-                    etcher_parse_state_min($3, $4);
+                    etcher_parse_state_min((int)$3, (int)$4);
                     break;
                   case TEXT:
-                    etcher_parse_state_text_min($3, $4);
+                    etcher_parse_state_text_min((int)$3, (int)$4);
                     break;
                   default: 
                     break;
@@ -309,10 +313,10 @@
                 switch(section)
                 {
                   case GROUP:
-                    etcher_parse_group_max($3, $4);
+                    etcher_parse_group_max((int)$3, (int)$4);
                     break;
                   case STATE:
-                    etcher_parse_state_max($3, $4);
+                    etcher_parse_state_max((int)$3, (int)$4);
                     break;
                   default: 
                     break;
@@ -429,13 +433,13 @@
        ;
 
 x: X COLON FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_part_dragable_x($3, $4, $5);
+                etcher_parse_part_dragable_x((int)$3, (int)$4, (int)$5);
                printf("x %f %f %f\n", $3, $4, $5);
        }
        ;
 
 y: Y COLON FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_part_dragable_y($3, $4, $5);
+                etcher_parse_part_dragable_y((int)$3, (int)$4, (int)$5);
                printf("y %f %f %f\n", $3, $4, $5);
        }
        ;
@@ -475,21 +479,29 @@
        ;
 
 visible: VISIBLE COLON FLOAT SEMICOLON {
-                etcher_parse_state_visible($3);
+                etcher_parse_state_visible((int)$3);
                printf("visible %f\n", $3);
        }
        ;
 
 align: ALIGN COLON FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_align($3, $4);
-                /* FIXME what about text align? */
+                switch(section)
+                {
+                  case STATE:
+                    etcher_parse_state_align($3, $4);
+                    break;
+                  case TEXT:
+                    etcher_parse_state_text_align($3, $4);
+                    break;
+                  default:
+                    break;
+                }
                printf("align %f %f\n", $3, $4);
        }
        ;
 
 step: STEP COLON FLOAT FLOAT SEMICOLON {
                 etcher_parse_state_step($3, $4);
-                /* FIXME what about drag step? */
                printf("step %f %f\n", $3, $4);
        }
        ;
@@ -572,16 +584,16 @@
                 switch(section)
                 {
                   case REL1:
-                    etcher_parse_state_rel1_offset($3, $4);
+                    etcher_parse_state_rel1_offset((int)$3, (int)$4);
                     break;
                   case REL2:
-                    etcher_parse_state_rel2_offset($3, $4);
+                    etcher_parse_state_rel2_offset((int)$3, (int)$4);
                     break;
                   case ORIGIN:
-                    etcher_parse_state_fill_origin_offset($3, $4);
+                    etcher_parse_state_fill_origin_offset((int)$3, (int)$4);
                     break;
                   case SIZE:
-                    etcher_parse_state_fill_size_offset($3, $4);
+                    etcher_parse_state_fill_size_offset((int)$3, (int)$4);
                     break;
                   default: 
                     break;
@@ -665,7 +677,7 @@
        ;
 
 border: BORDER COLON FLOAT FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_border($3, $4, $5, $6);
+                etcher_parse_state_border((int)$3, (int)$4, (int)$5, (int)$6);
                printf("border %f %f %f %f\n", $3, $4, $5, $6);
        }
        ;
@@ -684,7 +696,7 @@
        ;
 
 smooth: SMOOTH COLON FLOAT SEMICOLON {
-                etcher_parse_state_fill_smooth($3);
+                etcher_parse_state_fill_smooth((int)$3);
                printf("smooth %f\n", $3);
        }
        ;
@@ -711,19 +723,19 @@
        ;
 
 color: COLOR COLON FLOAT FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_color($3, $4, $5, $6);
+                etcher_parse_state_color((int)$3, (int)$4, (int)$5, (int)$6);
                printf("color %f %f %f %f\n", $3, $4, $5, $6);
        }
        ;
 
 color2: COLOR2 COLON FLOAT FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_color2($3, $4, $5, $6);
+                etcher_parse_state_color2((int)$3, (int)$4, (int)$5, (int)$6);
                printf("color2 %f %f %f %f\n", $3, $4, $5, $6);
        }
        ;
                
 color3: COLOR3 COLON FLOAT FLOAT FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_color3($3, $4, $5, $6);
+                etcher_parse_state_color3((int)$3, (int)$4, (int)$5, (int)$6);
                printf("color3 %f %f %f %f\n", $3, $4, $5, $6);
        }
        ;
@@ -764,13 +776,13 @@
        ;
 
 size_entry: SIZE COLON FLOAT SEMICOLON {
-                etcher_parse_state_text_size($3);
+                etcher_parse_state_text_size((int)$3);
                printf("size %f\n", $3);
        }
        ;
 
 fit: FIT COLON FLOAT FLOAT SEMICOLON {
-                etcher_parse_state_text_fit($3, $4);
+                etcher_parse_state_text_fit((int)$3, (int)$4);
                printf("fit %f %f\n", $3, $4);
        }
        ;
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/etcher_parse.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- etcher_parse.c      8 Sep 2004 22:37:22 -0000       1.3
+++ etcher_parse.c      9 Sep 2004 13:55:55 -0000       1.4
@@ -1,4 +1,5 @@
 #include "Etcher.h"
+#include <stdlib.h>
 
 Etcher_File *etcher_file = 0;
 
@@ -15,7 +16,7 @@
   Etcher_Font *font;
 
   font = (Etcher_Font *)calloc(1, sizeof(Etcher_Font));
-  font->font = (char *)strdup(font);
+  font->file = (char *)strdup(file);
   font->name = (char *)strdup(name);
 
   etcher_file->fonts = evas_list_append(etcher_file->fonts, font);
@@ -54,6 +55,11 @@
 {
   Etcher_Group *group;
   group = (Etcher_Group *)calloc(1, sizeof(Etcher_Group));
+
+  /* defaults */
+  group->max.w = 0x7fffffff;
+  group->max.h = 0x7fffffff;
+  
   etcher_file->groups = evas_list_append(etcher_file->groups, group);
   return;
 }
@@ -131,6 +137,10 @@
   part = (Etcher_Part *)calloc(1, sizeof(Etcher_Part));
   group = evas_list_data(evas_list_last(etcher_file->groups));
 
+  part->type = ETCHER_PART_TYPE_IMAGE;
+  part->mouse_events = 1;
+  part->repeat_events = 0;
+
   group->parts = evas_list_append(group->parts, part);
 }
 
@@ -261,6 +271,47 @@
   group = evas_list_data(evas_list_last(etcher_file->groups));
   part = evas_list_data(evas_list_last(group->parts));
 
+  /* defaults */
+  state->visible = 1;
+  state->align.x = 0.5;
+  state->align.y = 0.5;
+  state->min.w = 0;
+  state->min.h = 0;
+  state->max.w = -1;
+  state->max.h = -1;
+  state->rel1.relative.x = 0.0;
+  state->rel1.relative.y = 0.0;
+  state->rel1.offset.x = 0;
+  state->rel1.offset.y = 0;
+  state->rel2.relative.x = 1.0;
+  state->rel2.relative.y = 1.0;
+  state->rel2.offset.x = -1;
+  state->rel2.offset.y = -1;
+  state->fill.smooth = 1;
+  state->fill.pos_rel.x = 0.0;
+  state->fill.pos_abs.x = 0;
+  state->fill.rel.x = 1.0;
+  state->fill.abs.x = 0;
+  state->fill.pos_rel.y = 0.0;
+  state->fill.pos_abs.y = 0;
+  state->fill.rel.y = 1.0;
+  state->fill.abs.y = 0;
+  state->color_class = NULL;
+  state->color.r = 255;
+  state->color.g = 255;
+  state->color.b = 255;
+  state->color.a = 255;
+  state->color2.r = 0;
+  state->color2.g = 0;
+  state->color2.b = 0;
+  state->color2.a = 255;
+  state->color3.r = 0;
+  state->color3.g = 0;
+  state->color3.b = 0;
+  state->color3.a = 128;
+  state->text.align.x = 0.5;
+  state->text.align.y = 0.5;
+
   part->states = evas_list_append(part->states, state);
 }
 
@@ -944,7 +995,7 @@
 }
 
 void
-etcher_parse_program_in(double in1, double in2)
+etcher_parse_program_in(double from, double range)
 {
   Etcher_Group *group;
   Etcher_Program *program;
@@ -952,13 +1003,13 @@
   group = evas_list_data(evas_list_last(etcher_file->groups));
   program = evas_list_data(evas_list_last(group->programs));
 
-  program->in1 = in1;
-  program->in2 = in2;
+  program->in.from = from;
+  program->in.range = range;
 }
 
 /* handle different action types */
 void
-etcher_parse_program_action(Etcher_Action action)
+etcher_parse_program_action(Etcher_Action action, char *state, char *state2, double 
value, double value2)
 {
   Etcher_Group *group;
   Etcher_Program *program;
@@ -966,11 +1017,19 @@
   group = evas_list_data(evas_list_last(etcher_file->groups));
   program = evas_list_data(evas_list_last(group->programs));
 
+
+  if (program->state) free(program->state);
+  if (program->state2) free(program->state2);
+
   program->action = action;
+  if (state) program->state = (char *)strdup(state);
+  if (state2) program->state2 = (char *)strdup(state2);
+  program->value = value;
+  program->value2 = value2;
 }
 
 void
-etcher_parse_program_transition(Etcher_Transition transition)
+etcher_parse_program_transition(Etcher_Transition transition, double duration)
 {
   Etcher_Group *group;
   Etcher_Program *program;
@@ -979,4 +1038,6 @@
   program = evas_list_data(evas_list_last(group->programs));
 
   program->transition = transition;
+  program->duration = duration;
 }
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/main.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- main.c      8 Sep 2004 22:37:22 -0000       1.5
+++ main.c      9 Sep 2004 13:55:55 -0000       1.6
@@ -41,7 +41,9 @@
        yyparse();
        fclose(yyin);
 
+        etcher_file_output(etcher_file, "test.out");
         /* FIXME: make this a complete test suite */
+#if 0        
         {
           Evas_List *l;
 
@@ -79,6 +81,7 @@
             l = l->next;
           }
         }
+#endif
        return 0;
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to