Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        Ecore_X.h ecore_x.c ecore_x_events.c ecore_x_window.c 


Log Message:


1. fix docs for event handlers. oops. that was wrong
2. default op for exit event is to quit the main loop if u dont set handlers

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Ecore_X.h   23 Sep 2003 22:33:10 -0000      1.3
+++ Ecore_X.h   9 Oct 2003 02:20:37 -0000       1.4
@@ -473,6 +473,7 @@
 
 Ecore_X_Window   ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int 
h);
 Ecore_X_Window   ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int 
w, int h);
+Ecore_X_Window   ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, 
int h);
 void             ecore_x_window_del(Ecore_X_Window win);
 void             ecore_x_window_show(Ecore_X_Window win);
 void             ecore_x_window_hide(Ecore_X_Window win);
@@ -564,6 +565,17 @@
      ecore_x_cursor_free(Ecore_X_Cursor c);
    void
      ecore_x_cursor_set(Ecore_X_Window win, Ecore_X_Cursor c);
+   
+   int
+     ecore_x_pointer_grab(Ecore_X_Window win);
+   void
+     ecore_x_pointer_ungrab(void);
+   int
+     ecore_x_keyboard_grab(Ecore_X_Window win);
+   void
+     ecore_x_keyboard_ungrab(void);
+       
+       
 #ifdef __cplusplus
 }
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ecore_x.c   23 Sep 2003 22:33:10 -0000      1.3
+++ ecore_x.c   9 Oct 2003 02:20:37 -0000       1.4
@@ -803,6 +803,36 @@
      XDefineCursor(_ecore_x_disp, win, c);
 }
 
+int
+ecore_x_pointer_grab(Ecore_X_Window win)
+{
+   return XGrabPointer(_ecore_x_disp, win, False,
+                      ButtonPressMask | ButtonReleaseMask | 
+                      EnterWindowMask | LeaveWindowMask | PointerMotionMask,
+                      GrabModeAsync, GrabModeAsync,
+                      None, None, CurrentTime);
+}
+
+void
+ecore_x_pointer_ungrab(void)
+{
+   XUngrabPointer(_ecore_x_disp, CurrentTime);
+}
+
+int
+ecore_x_keyboard_grab(Ecore_X_Window win)
+{
+   return XGrabKeyboard(_ecore_x_disp, win, False,
+                       GrabModeAsync, GrabModeAsync,
+                       CurrentTime);
+}
+
+void
+ecore_x_keyboard_ungrab(void)
+{
+   XUngrabKeyboard(_ecore_x_disp, CurrentTime);   
+}
+
 /*****************************************************************************/
 /*****************************************************************************/
 /*****************************************************************************/
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_events.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_x_events.c    23 Sep 2003 08:09:31 -0000      1.2
+++ ecore_x_events.c    9 Oct 2003 02:20:37 -0000       1.3
@@ -94,7 +94,7 @@
    else e->key_compose = NULL;
    keyname = XKeysymToString(sym);
    if (keyname) e->keysymbol = strdup(keyname);
-   else e->keysymbol = strdup("");
+   else e->keysymbol = strdup(e->keyname);
    if (!e->keysymbol)
      {
        if (e->keyname) free(e->keyname);
@@ -145,7 +145,7 @@
    else e->key_compose = NULL;
    keyname = XKeysymToString(sym);
    if (keyname) e->keysymbol = strdup(keyname);
-   else e->keysymbol = strdup("");
+   else e->keysymbol = strdup(e->keyname);
    if (!e->keysymbol)
      {
        if (e->keyname) free(e->keyname);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- ecore_x_window.c    23 Sep 2003 08:09:32 -0000      1.2
+++ ecore_x_window.c    9 Oct 2003 02:20:37 -0000       1.3
@@ -115,6 +115,52 @@
 }
 
 /**
+ * Create a window.
+ * @param parent The parent window
+ * @param x X
+ * @param y Y
+ * @param w Width
+ * @param h Height
+ * @return The new window handle
+ * 
+ * Create a new window
+ * <hr><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
+ */
+Ecore_X_Window
+ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h)
+{
+   Window               win;
+   XSetWindowAttributes attr;
+   
+   if (parent == 0) parent = DefaultRootWindow(_ecore_x_disp);
+   attr.override_redirect     = True;
+   attr.do_not_propagate_mask = True;
+   attr.event_mask            = KeyPressMask |
+                                KeyReleaseMask |
+                                ButtonPressMask |
+                                ButtonReleaseMask |
+                                EnterWindowMask |
+                                LeaveWindowMask |
+                                PointerMotionMask |
+                                ExposureMask |
+                                VisibilityChangeMask |
+                                StructureNotifyMask |
+                                FocusChangeMask |
+                                PropertyChangeMask |
+                                ColormapChangeMask;
+   win = XCreateWindow(_ecore_x_disp, parent,
+                      x, y, w, h, 0,
+                      0, 
+                      InputOnly,
+                      DefaultVisual(_ecore_x_disp, DefaultScreen(_ecore_x_disp)),
+                      CWOverrideRedirect | 
+                      CWDontPropagate | 
+                      CWEventMask,
+                      &attr);
+   return win;
+}
+
+/**
  * Delete a window.
  * @param win The window to delete
  * 




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to