Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_x/xlib
Modified Files:
ecore_x_atoms.c ecore_x_e.c
Log Message:
e vkbd hint wrappers!
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ecore_x_atoms.c 23 Jul 2008 10:00:01 -0000 1.1
+++ ecore_x_atoms.c 25 Jul 2008 01:45:36 -0000 1.2
@@ -176,7 +176,19 @@
{ "SECONDARY", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
{ "_ECORE_SELECTION_PRIMARY", &ECORE_X_ATOM_SELECTION_PROP_PRIMARY },
{ "_ECORE_SELECTION_SECONDARY", &ECORE_X_ATOM_SELECTION_PROP_SECONDARY
},
- { "_ECORE_SELECTION_CLIPBOARD", &ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD }
+ { "_ECORE_SELECTION_CLIPBOARD", &ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD
},
+
+ { "_E_VIRTUAL_KEYBOARD", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD },
+ { "_E_VIRTUAL_KEYBOARD_STATE", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE },
+ { "_E_VIRTUAL_KEYBOARD_ON", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON },
+ { "_E_VIRTUAL_KEYBOARD_OFF", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF },
+ { "_E_VIRTUAL_KEYBOARD_ALPHA", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA },
+ { "_E_VIRTUAL_KEYBOARD_NUMERIC",
&ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC },
+ { "_E_VIRTUAL_KEYBOARD_PIN", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN },
+ { "_E_VIRTUAL_KEYBOARD_PHONE_NUMBER",
&ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER },
+ { "_E_VIRTUAL_KEYBOARD_HEX", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX },
+ { "_E_VIRTUAL_KEYBOARD_TERMINAL",
&ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL },
+ { "_E_VIRTUAL_KEYBOARD_PASSWORD",
&ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD }
};
Atom *atoms;
char **names;
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/xlib/ecore_x_e.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ecore_x_e.c 23 Jul 2008 10:00:01 -0000 1.1
+++ ecore_x_e.c 25 Jul 2008 01:45:36 -0000 1.2
@@ -26,3 +26,85 @@
frames[3] = fb;
ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_FRAME_SIZE, frames, 4);
}
+
+EAPI void
+ecore_x_e_virtual_keyboard_set(Ecore_X_Window win, int is_keyboard)
+{
+ ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
+ &is_keyboard, 1);
+}
+
+EAPI int
+ecore_x_e_virtual_keyboard_get(Ecore_X_Window win)
+{
+ unsigned int val;
+
+ if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
&val, 1))
+ return 0;
+ return val;
+}
+
+static Ecore_X_Virtual_Keyboard_State
+_ecore_x_e_vkbd_state_get(Ecore_X_Atom atom)
+{
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_ON;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_OFF;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_ALPHA;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_NUMERIC;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_PIN;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_PHONE_NUMBER;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_HEX;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_TERMINAL;
+ if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD) return
ECORE_X_VIRTUAL_KEYOBARD_STATE_PASSWORD;
+ return ECORE_X_VIRTUAL_KEYOBARD_STATE_UNKNOWN;
+}
+
+static Ecore_X_Atom
+_ecore_x_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state)
+{
+ switch (state)
+ {
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_OFF: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_ON: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_ALPHA: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_NUMERIC: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_PIN: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_PHONE_NUMBER: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_HEX: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_TERMINAL: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL;
+ case ECORE_X_VIRTUAL_KEYOBARD_STATE_PASSWORD: return
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD;
+ default: return 0;
+ }
+ return 0;
+}
+
+EAPI void
+ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
Ecore_X_Virtual_Keyboard_State state)
+{
+ Ecore_X_Atom atom = 0;
+
+ atom = _ecore_x_e_vkbd_atom_get(state);
+ ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
+ &atom, 1);
+}
+
+EAPI Ecore_X_Virtual_Keyboard_State
+ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win)
+{
+ Ecore_X_Atom atom;
+ int num;
+
+ if (!ecore_x_window_prop_atom_get(win,
ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
+ &atom, 1))
+ return ECORE_X_VIRTUAL_KEYOBARD_STATE_UNKNOWN;
+ return _ecore_x_e_vkbd_state_get(atom);
+}
+
+EAPI void
+ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
Ecore_X_Virtual_Keyboard_State state)
+{
+ ecore_x_client_message32_send(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
+ ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
+ _ecore_x_e_vkbd_atom_get(state),
+ 0, 0, 0, 0);
+}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs