Enlightenment CVS committal

Author  : leviathan
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave.l engrave.y engrave_enums.h engrave_out.c 
        engrave_parse.c engrave_parse.h engrave_part.c engrave_part.h 


Log Message:
Add support for pointer_mode

===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave.l,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- engrave.l   23 Jul 2007 20:02:22 -0000      1.16
+++ engrave.l   24 Jul 2007 20:01:07 -0000      1.17
@@ -158,6 +158,9 @@
 relative                       { KEYWORD_RETURN(RELATIVE); }
 repeat_events          { KEYWORD_RETURN(REPEAT_EVENTS); }
 precise_is_inside              { KEYWORD_RETURN(PRECISE_IS_INSIDE); }
+pointer_mode           { KEYWORD_RETURN(POINTER_MODE); }
+AUTOGRAB               { KEYWORD_RETURN(AUTOGRAB); }
+NOGRAB                 { KEYWORD_RETURN(NOGRAB); }
 SHADOW                         { KEYWORD_RETURN(SHADOW); }
 signal                         { KEYWORD_RETURN(SIGNAL); }
 SIGNAL_EMIT                    { KEYWORD_RETURN(SIGNAL_EMIT); }
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave.y,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- engrave.y   23 Jul 2007 20:02:22 -0000      1.25
+++ engrave.y   24 Jul 2007 20:01:07 -0000      1.26
@@ -28,6 +28,7 @@
        Engrave_Text_Effect text_effect;
        Engrave_Aspect_Preference aspect_pref;
        Engrave_Fill_Type fill_type_type;
+       Engrave_Pointer_Mode pointer_mode;
 }
 
 %token BASE
@@ -47,7 +48,7 @@
 %token SINUSOIDAL ACCELERATE DECELERATE IMAGE RECT SWALLOW GRADIENT TGROUP
 %token NONE PLAIN OUTLINE SOFT_OUTLINE SHADOW SOFT_SHADOW 
 %token OUTLINE_SHADOW OUTLINE_SOFT_SHADOW VERTICAL HORIZONTAL BOTH
-%token SPECTRA SPECTRUM GRAD
+%token SPECTRA SPECTRUM GRAD POINTER_MODE NOGRAB AUTOGRAB
 %left MINUS PLUS
 %left TIMES DIVIDE
 %left NEG     /* negation--unary minus */
@@ -64,6 +65,7 @@
 %type <aspect_pref> aspect_pref_type
 %type <val> exp boolean
 %type <fill_type_type> fill_type_type;
+%type <pointer_mode> pointer_mode grabmode;
 
 %%
 
@@ -458,6 +460,7 @@
        | mouse_events
        | repeat_events
        | precise_is_inside
+       | pointer_mode
        | clip_to
        | color_class
        | text_class
@@ -542,6 +545,14 @@
        }
        ;
 
+pointer_mode: POINTER_MODE COLON grabmode SEMICOLON {
+                engrave_parse_part_pointer_mode((int)$3);
+       }
+       ;
+
+grabmode: NOGRAB { $$ = ENGRAVE_POINTER_NOGRAB; }
+       | AUTOGRAB { $$ = ENGRAVE_POINTER_AUTOGRAB; }
+       ;
 
 clip_to: CLIP_TO COLON STRING SEMICOLON {
                 engrave_parse_part_clip_to($3);
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_enums.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- engrave_enums.h     8 Jul 2007 07:26:40 -0000       1.6
+++ engrave_enums.h     24 Jul 2007 20:01:07 -0000      1.7
@@ -19,6 +19,7 @@
 typedef enum _Engrave_Aspect_Preference Engrave_Aspect_Preference;
 typedef enum _Engrave_Parse_Section Engrave_Parse_Section;
 typedef enum _Engrave_Fill_Type Engrave_Fill_Type;
+typedef enum _Engrave_Pointer_Mode Engrave_Pointer_Mode;
 
 /**
  * @enum Engrave_Image_Type
@@ -118,6 +119,18 @@
   ENGRAVE_FILL_TYPE_TILE, /**< Tile type */
   ENGRAVE_FILL_TYPE_NUM
 };
+
+/**
+ * @enum Engrave_Pointer_Mode
+ * The different pointer gran modes available
+ */
+enum _Engrave_Pointer_Mode
+{
+  ENGRAVE_POINTER_AUTOGRAB, /**< Auto Grab */
+  ENGRAVE_POINTER_NOGRAB, /**< No Grab */
+  ENGRAVE_POINTER_NUM
+};
+
 
 /**
  * @}
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_out.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- engrave_out.c       24 Jul 2007 16:43:54 -0000      1.40
+++ engrave_out.c       24 Jul 2007 20:01:07 -0000      1.41
@@ -78,6 +78,11 @@
         "TILE"
         };
 
+static char *_pointer_mode_string[ENGRAVE_POINTER_NUM] = {
+        "AUTOGRAB",
+        "NOGRAB"
+        };
+
 static char *
 engrave_output_mk_tabs(void)
 {
@@ -294,6 +299,14 @@
   if (engrave_part_repeat_events_get(part))
     engrave_out_data(out, "repeat_events", "%d",
                     engrave_part_repeat_events_get(part));
+
+  if (engrave_part_precise_is_inside_get(part))
+    engrave_out_data(out, "precise_is_inside", "%d",
+                    engrave_part_precise_is_inside_get(part));
+
+  if (engrave_part_pointer_mode_get(part))
+    engrave_out_data(out, "pointer_mode", "%s",
+                    _pointer_mode_string[engrave_part_pointer_mode_get(part)]);
 
   if (engrave_part_effect_get(part) != ENGRAVE_TEXT_EFFECT_NONE)
     engrave_out_data(out, "effect", "%s", 
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- engrave_parse.c     23 Jul 2007 20:02:22 -0000      1.21
+++ engrave_parse.c     24 Jul 2007 20:01:07 -0000      1.22
@@ -282,6 +282,17 @@
 }
 
 void
+engrave_parse_part_pointer_mode(int mode)
+{
+  Engrave_Group *group;
+  Engrave_Part *part;
+
+  group = engrave_file_group_last_get(engrave_file);
+  part = engrave_group_part_last_get(group);
+  engrave_part_pointer_mode_set(part, mode);
+}
+
+void
 engrave_parse_part_clip_to(char *clip_to)
 {
   Engrave_Group *group;
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- engrave_parse.h     23 Jul 2007 20:02:22 -0000      1.15
+++ engrave_parse.h     24 Jul 2007 20:01:07 -0000      1.16
@@ -36,6 +36,7 @@
 void engrave_parse_part_mouse_events(int mouse_events);
 void engrave_parse_part_repeat_events(int repeat_events);
 void engrave_parse_part_precise_is_inside(int precise);
+void engrave_parse_part_pointer_mode(int mode);
 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);
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_part.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- engrave_part.c      23 Jul 2007 20:02:22 -0000      1.21
+++ engrave_part.c      24 Jul 2007 20:01:07 -0000      1.22
@@ -90,6 +90,20 @@
 }
 
 /**
+ * engrave_part_pointer_mode_set - set the pointer mode flag for the part.
+ * @param ep: The Engrave_Part to set the pointer mode flag on.
+ * @param val: The value to set the pointer mode flag too.
+ *
+ * @return Returns no value.
+ */
+EAPI void
+engrave_part_pointer_mode_set(Engrave_Part *ep, int val)
+{
+  if (!ep) return;
+  ep->pointer_mode = val;
+}
+
+/**
  * engrave_part_name_set - set the name of the part.
  * @param ep: The Engrave_Part to set the name off
  * @param name: The name to attach to the part.
@@ -254,6 +268,19 @@
 {
   if (!ep) return 0;
   return ep->precise_is_inside;
+}
+
+/**
+ * engrave_part_pointer_mode_get - Get the pointer mode setting 
+ * @param ep: The Engrave_Part to get the pointer mode setting from
+ * 
+ * @return Returns the pointer mode setting of the part
+ */
+EAPI int
+engrave_part_pointer_mode_get(Engrave_Part *ep)
+{
+  if (!ep) return 0;
+  return ep->pointer_mode;
 }
 
 /**
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_part.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- engrave_part.h      23 Jul 2007 20:02:22 -0000      1.16
+++ engrave_part.h      24 Jul 2007 20:01:07 -0000      1.17
@@ -30,6 +30,7 @@
   int mouse_events;             /**< The mouse events flag */
   int repeat_events;            /**< The repeat events flag */
   int precise_is_inside;        /**< The precise event flag */
+  int pointer_mode;             /**< The pointer mode flag */
   char *clip_to;                /**< The part to clip too */
   char *source;                        /**< The source of the part */
 
@@ -83,6 +84,7 @@
 EAPI void engrave_part_mouse_events_set(Engrave_Part *ep, int val);
 EAPI void engrave_part_repeat_events_set(Engrave_Part *ep, int val);
 EAPI void engrave_part_precise_is_inside_set(Engrave_Part *ep, int val);
+EAPI void engrave_part_pointer_mode_set(Engrave_Part *ep, int val);
 EAPI void engrave_part_type_set(Engrave_Part *ep, Engrave_Part_Type type);
 EAPI void engrave_part_source_set(Engrave_Part *ep, char * source);
 EAPI void engrave_part_effect_set(Engrave_Part *ep, Engrave_Text_Effect 
effect);
@@ -104,6 +106,7 @@
 EAPI int engrave_part_mouse_events_get(Engrave_Part *ep);
 EAPI int engrave_part_repeat_events_get(Engrave_Part *ep);
 EAPI int engrave_part_precise_is_inside_get(Engrave_Part *ep);
+EAPI int engrave_part_pointer_mode_get(Engrave_Part *ep);
 EAPI Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep);
 EAPI const char *engrave_part_clip_to_get(Engrave_Part *ep);
 EAPI void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int 
*count);



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to