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