EFL core migration @74576
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 7 Aug 2012 08:51:14 +0000 (17:51 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 14 Aug 2012 13:40:11 +0000 (22:40 +0900)
Merge remote-tracking branch 'origin/upstream' into HEAD

Conflicts:
ChangeLog
NEWS
src/lib/ecore/ecore_thread.c
src/lib/ecore_evas/Ecore_Evas.h
src/lib/ecore_evas/ecore_evas_wayland_shm.c
src/lib/ecore_evas/ecore_evas_x.c
src/lib/ecore_imf/Ecore_IMF.h
src/lib/ecore_imf/ecore_imf_context.c
src/lib/ecore_x/Ecore_X.h
src/lib/ecore_x/Ecore_X_Atoms.h
src/lib/ecore_x/ecore_x_atoms_decl.h
src/lib/ecore_x/xcb/ecore_xcb_atoms.c
src/lib/ecore_x/xcb/ecore_xcb_e.c
src/lib/ecore_x/xlib/ecore_x_atoms.c

Conflicts:

ChangeLog
NEWS
configure.ac
packaging/ecore.spec
po/cs.po
po/de.po
po/el.po
po/fr.po
po/it.po
po/nl.po
po/pt.po
po/sl.po
src/examples/ecore_exe_example.c
src/examples/ecore_exe_example_child.c
src/examples/ecore_imf_example.c
src/lib/ecore_con/ecore_con_dns.c
src/lib/ecore_evas/ecore_evas_wayland_egl.c
src/lib/ecore_evas/ecore_evas_wayland_shm.c
src/lib/ecore_imf/Ecore_IMF.h
src/lib/ecore_input/Ecore_Input.h
src/lib/ecore_wayland/Ecore_Wayland.h
src/lib/ecore_wayland/ecore_wl_input.c
src/lib/ecore_wayland/ecore_wl_window.c
src/lib/ecore_x/Ecore_X.h
src/modules/immodules/ibus/ibus_imcontext.c
src/modules/immodules/ibus/ibus_module.c
src/modules/immodules/xim/ecore_imf_xim.c

96 files changed:
ChangeLog
NEWS
README
configure.ac
po/cs.po
po/de.po
po/el.po
po/fr.po
po/it.po
po/nl.po
po/pt.po
po/sl.po
src/examples/ecore_animator_example.c
src/examples/ecore_client_bench.c
src/examples/ecore_con_client_example.c
src/examples/ecore_con_client_simple_example.c
src/examples/ecore_con_lookup_example.c
src/examples/ecore_con_server_example.c
src/examples/ecore_con_server_http_example.c
src/examples/ecore_con_server_simple_example.c
src/examples/ecore_con_url_cookies_example.c
src/examples/ecore_con_url_download_example.c
src/examples/ecore_con_url_headers_example.c
src/examples/ecore_evas_basics_example.c
src/examples/ecore_evas_buffer_example_01.c
src/examples/ecore_evas_buffer_example_02.c
src/examples/ecore_evas_callbacks.c
src/examples/ecore_evas_ews_example.c
src/examples/ecore_evas_object_example.c
src/examples/ecore_evas_window_sizes_example.c
src/examples/ecore_event_example_01.c
src/examples/ecore_event_example_02.c
src/examples/ecore_exe_example.c
src/examples/ecore_exe_example_child.c
src/examples/ecore_fd_handler_example.c
src/examples/ecore_fd_handler_gnutls_example.c
src/examples/ecore_file_download_example.c
src/examples/ecore_idler_example.c
src/examples/ecore_imf_example.c
src/examples/ecore_job_example.c
src/examples/ecore_pipe_gstreamer_example.c
src/examples/ecore_pipe_simple_example.c
src/examples/ecore_poller_example.c
src/examples/ecore_server_bench.c
src/examples/ecore_thread_example.c
src/examples/ecore_time_functions_example.c
src/examples/ecore_timer_example.c
src/lib/ecore/Ecore.h
src/lib/ecore/ecore_exe.c
src/lib/ecore/ecore_timer.c
src/lib/ecore_con/ecore_con.c
src/lib/ecore_con/ecore_con_dns.c
src/lib/ecore_evas/Ecore_Evas.h
src/lib/ecore_evas/ecore_evas.c
src/lib/ecore_evas/ecore_evas_buffer.c
src/lib/ecore_evas/ecore_evas_cocoa.c
src/lib/ecore_evas/ecore_evas_directfb.c
src/lib/ecore_evas/ecore_evas_ews.c
src/lib/ecore_evas/ecore_evas_extn.c
src/lib/ecore_evas/ecore_evas_fb.c
src/lib/ecore_evas/ecore_evas_private.h
src/lib/ecore_evas/ecore_evas_psl1ght.c
src/lib/ecore_evas/ecore_evas_sdl.c
src/lib/ecore_evas/ecore_evas_wayland_egl.c
src/lib/ecore_evas/ecore_evas_wayland_shm.c
src/lib/ecore_evas/ecore_evas_win32.c
src/lib/ecore_evas/ecore_evas_wince.c
src/lib/ecore_evas/ecore_evas_x.c
src/lib/ecore_fb/ecore_fb.c
src/lib/ecore_fb/ecore_fb_kbd.c
src/lib/ecore_fb/ecore_fb_keytable.h
src/lib/ecore_fb/ecore_fb_li.c
src/lib/ecore_imf/Ecore_IMF.h
src/lib/ecore_imf/ecore_imf_context.c
src/lib/ecore_input/Ecore_Input.h
src/lib/ecore_input_evas/ecore_input_evas.c
src/lib/ecore_wayland/Ecore_Wayland.h
src/lib/ecore_wayland/ecore_wl.c
src/lib/ecore_wayland/ecore_wl_dnd.c
src/lib/ecore_wayland/ecore_wl_input.c
src/lib/ecore_wayland/ecore_wl_output.c
src/lib/ecore_wayland/ecore_wl_private.h
src/lib/ecore_wayland/ecore_wl_window.c
src/lib/ecore_x/Ecore_X.h
src/lib/ecore_x/xcb/ecore_xcb_atoms.c
src/lib/ecore_x/xcb/ecore_xcb_e.c
src/lib/ecore_x/xcb/ecore_xcb_events.c
src/lib/ecore_x/xlib/ecore_x_atoms.c
src/lib/ecore_x/xlib/ecore_x_e.c
src/lib/ecore_x/xlib/ecore_x_error.c
src/lib/ecore_x/xlib/ecore_x_events.c
src/modules/immodules/ibus/ibus_imcontext.c
src/modules/immodules/ibus/ibus_module.c
src/modules/immodules/scim/scim_imcontext.cpp
src/modules/immodules/scim/scim_module.cpp
src/modules/immodules/xim/ecore_imf_xim.c

index 00c3dec..c9f654b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
         * Improve callbacks in ecore_evas to use typedefs for readability.
 
+2012-02-20  Cedric Bail
+
+       * Rewrite internal of Ecore_Thread to use Eina_Lock and ecore_main_loop_thread_safe_call_async.
+
 2012-02-23  Cedric Bail
 
        * Move to Evas buffer engine for Ecore_Evas SDL software backend.
         query a sequence of keysyms for a final compose string (utf8)
         that you free if you get it.
 
+2012-07-02  Mike Blumenkrantz
+
+        * Fix crash which occurred in ecore-con when dns resolution failed
+          immediately due to lack of connectivity
+
+2012-07-03  Cedric Bail
+
+       * Fix unitialized use of Ecore_X_Atom.
+
+2012-07-03 Christopher Michael
+
+       * Merge Tizen EFL changes to upsteam.
+       * Add ecore_evas functions to get/set profiles
+       * Fix GL buffer. some GL drivers are doing buffer copy in a separate thread.
+               we need to check whether GL driver sends SYNC_DRAW_DONE msg afger copying
+               that are required in order to exactly render. - added by gl77.lee
+       * Add Ecore_X atoms for Illume Rotate Window
+       * Add event callbacks for Ecore_Imf Input Panel
+       * Add functions to retrieve input panel geometry & state from Ecore_Imf.
+
+2012-07-05  Carsten Haitzler (The Rasterman)
+
+        * Add ecore_evas_screen_dpi_get()
+        * Fix ecore_evas_screen_geometry_get(0 for x11 to return zone
+          pos/size as it should.
+        * Fix ecore-fb to use key repeat like x so apps dont break in fb
+        * Fix ecore-fb string lookup table to include ctrl+keys
+        * Fix ecore-fb to trap sigint (ctrl+c) so it doesnt exit your fb app
+        * Fix ecore-fb mouse to swap button 2 and 3 ro work right.
+
+2012-07-13  Jiyoun Park
+
+        * Fix bug in Ecore_extn to call pre/post render function
+
+2012-07-16  Carsten Haitzler (The Rasterman)
+
+        * Fix ecore-x selection handling to fall back to getting
+          selection directly if getting targets fails. This fixes e17 to
+          elm cnp.
+
+2012-08-01  Mike Blumenkrantz
+
+        * Add ecore_main_fd_handler_file_add() for integrating file descriptors
+          from regular files into the main loop
+
+2012-08-01  Rob Bradford
+
+       * Support setting fullscreen on Ecore_Evas's under the Wayland engine
+       before they are visible. The fullscreening will then be applied when
+       they become visible.
+
+2012-08-01  Rob Bradford
+
+       * Use libxkbcommon function to map keysym to unicode characters in the
+       Wayland backend. Removing the need to have our own function to do this
+       and increasing the range of supported keysms. Fixes #1105.
+
+2012-08-03  Rob Bradford
+
+       * In the Wayland backend handle the case that events can be received
+       for surfaces that have been since destroyed - the client side
+       marshaller changes the pointer to NULL to when the object is destroyed
+       on the client side. Fixes #1258.
+
+2012-08-09  Cedric Bail
+
+       * Correctly shutdown Ecore_Thread.
diff --git a/NEWS b/NEWS
index 54bd644..0500358 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,12 +4,15 @@ Changes since Ecore 1.2.0:
 --------------------------
 
 Additions:
+    * ecore:
+     - Add ecore_main_fd_handler_file_add()
     * ecore_evas:
      - Add transparency support on Windows (GDI engine only)
-       * ecore_x:
-     - Add Ecore_X_Error_Code enumeration
+     - Add API functions to get/set an Ecore_Evas's profile.
     * ecore_x:
+     - Add Ecore_X_Error_Code enumeration
      - ECORE_X_RANDR_OUTPUT_POLICY_ASK
+     - Add API functions to get/set an Ecore_X window's profile
     * ecore_con:
      - ECORE_{CON,IPC}_NO_PROXY now available for disabling proxying on certain connections
      - New dns.c resolver backend for faster dns lookups
@@ -24,6 +27,10 @@ Fixes:
      - Reduce race condition on shutdown of Ecore_Thread.
      - Force cancel of all running Ecore_Thread on shutdown.
      - Make Ecore_Thread work reliably when called without a running main loop.
+     - Correctly shutdown Ecore_Thread.
+
+    * ecore_x
+     - Fix unitialized Ecore_X_Atom use.
 
 
 Ecore 1.2.0
@@ -144,6 +151,9 @@ Improvements:
      - certificates can now be added for STARTTTLS
     * ecore_win32:
      - fix modifiers value on Windows XP
+    * ecore_thread:
+     - use eina_lock
+     - use Ecore thread safe async call
     * ecore_evas:
      - use Evas buffer backend for SDL software engine
      - clean up ecore-evas-buffer code somewhat
diff --git a/README b/README
index ef98451..e0712b4 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ecore 1.2.0
+Ecore 1.7.0
 
 ******************************************************************************
 
index 115e75f..f7af9d6 100644 (file)
@@ -1,7 +1,7 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
-m4_define([v_min], [2])
+m4_define([v_min], [6])
 m4_define([v_mic], [99])
 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n' | sed 's/Unversioneddirectory/0/' | tr -d '\n']))
 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
@@ -422,7 +422,7 @@ fi
 
 case "$host_os" in
    mingw*)
-      PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
+      PKG_CHECK_MODULES([EVIL], [evil >= 1.6.99])
       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
       requirements_ecore="evil ${requirements_ecore}"
       requirements_ecore_evas="evil ${requirements_ecore_evas}"
@@ -542,26 +542,26 @@ AC_SUBST(rt_libs)
 
 # Eina library
 
-PKG_CHECK_MODULES(EINA, [eina >= 1.2.0])
+PKG_CHECK_MODULES(EINA, [eina >= 1.6.99])
 #FIXME check all the requirements when the eina move will be finished
-requirements_ecore="eina >= 1.2.0 ${requirements_ecore}"
-requirements_ecore_con="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_con}"
-#requirements_ecore_config="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_config}"
-requirements_ecore_directfb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_directfb}"
-requirements_ecore_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_evas}"
-requirements_ecore_fb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_fb}"
-requirements_ecore_file="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_file}"
-requirements_ecore_imf="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf}"
-requirements_ecore_imf_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf_evas}"
-requirements_ecore_input="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input}"
-requirements_ecore_input_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input_evas}"
-requirements_ecore_ipc="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_ipc}"
-requirements_ecore_cocoa="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_cocoa}"
-requirements_ecore_sdl="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}"
-requirements_ecore_psl1ght="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}"
-requirements_ecore_win32="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_win32}"
-requirements_ecore_wince="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_wince}"
-requirements_ecore_x="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_x}"
+requirements_ecore="eina >= 1.6.99 ${requirements_ecore}"
+requirements_ecore_con="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_con}"
+#requirements_ecore_config="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_input}"
+requirements_ecore_input_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_input_evas}"
+requirements_ecore_ipc="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_ipc}"
+requirements_ecore_cocoa="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_cocoa}"
+requirements_ecore_sdl="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_sdl}"
+requirements_ecore_psl1ght="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_sdl}"
+requirements_ecore_win32="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_wince}"
+requirements_ecore_x="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_x}"
 
 
 # glib support (main loop integration)
@@ -623,7 +623,7 @@ PKG_CHECK_MODULES([DIRECTFB],
 # Eet library (ecore_config)
 
 #PKG_CHECK_MODULES([EET],
-#   [eet >= 1.4.0],
+#   [eet >= 1.6.99],
 #   [have_eet="yes"],
 #   [have_eet="no"])
 
@@ -1203,7 +1203,7 @@ AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
 
 # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas)
 
-PKG_CHECK_MODULES([EVAS], [evas >= 1.2.0],
+PKG_CHECK_MODULES([EVAS], [evas >= 1.6.99],
    [have_evas="yes"],
    [have_evas="no"])
 
@@ -1539,8 +1539,8 @@ AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
 # ecore_ipc
 ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}],
    [
-     requirements_ecore_ipc="ecore-con >= 1.2.0 ${requirements_ecore_ipc}"
-     requirements_ecore_evas="ecore-ipc >= 1.2.0 ${requirements_ecore_evas}"
+     requirements_ecore_ipc="ecore-con >= 1.6.99 ${requirements_ecore_ipc}"
+     requirements_ecore_evas="ecore-ipc >= 1.6.99 ${requirements_ecore_evas}"
    ])
 
 # ecore_file
@@ -1555,7 +1555,7 @@ if test "x${have_ecore_file}" = "xyes" ; then
    ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"])
 
    if test "x${have_ecore_con}" = "xyes" ; then
-      requirements_ecore_file="ecore-con >= 1.2.0 ${requirements_ecore_file}"
+      requirements_ecore_file="ecore-con >= 1.6.99 ${requirements_ecore_file}"
    else
       ECORE_CHECK_CURL([${want_curl}],
          [
@@ -1574,7 +1574,7 @@ fi
 #fi
 
 #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
-#   [requirements_ecore_config="ecore-ipc >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 ${requirements_ecore_config}"])
+#   [requirements_ecore_config="ecore-ipc >= 1.6.99 evas >= 1.6.99 eet >= 1.6.99 ${requirements_ecore_config}"])
 
 AM_CONDITIONAL(BUILD_ECORE_CONFIG, false)
 
@@ -1590,12 +1590,12 @@ if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}],
-   [requirements_ecore_imf_evas="ecore-imf >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_imf_evas}"])
+   [requirements_ecore_imf_evas="ecore-imf >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_imf_evas}"])
 
 # ecore_input{_evas}
 ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input])
 ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}],
-   [requirements_ecore_input_evas="ecore-input >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_input}"])
+   [requirements_ecore_input_evas="ecore-input >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_input}"])
 
 # ecore_imf_xim
 AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false)
@@ -1609,7 +1609,7 @@ if test    "x${have_ecore_imf}" = "xyes" \
 fi
 
 ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}],
-   [requirements_ecore_imf_xim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_xim}"])
+   [requirements_ecore_imf_xim="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_xim}"])
 
 # ecore_imf_scim
 PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"])
@@ -1625,7 +1625,24 @@ if test    "x${have_ecore_imf}" = "xyes" \
 fi
 
 ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}],
-   [requirements_ecore_imf_scim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_scim}"])
+   [requirements_ecore_imf_scim="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_scim}"])
+
+# ecore_imf_ibus
+PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.4], [have_ibus="yes"], [have_ibus="no"])
+
+AM_CONDITIONAL(BUILD_ECORE_IMF_IBUS, false)
+ecore_imf_ibus_deps="no"
+echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
+if test    "x${have_ecore_imf}" = "xyes" \
+        -a "x${have_glib}" =  "xyes" \
+        -a "x${have_ibus}" =  "xyes" \
+        -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_imf_ibus_deps="yes"
+   AC_DEFINE(BUILD_ECORE_IMF_IBUS, 1, [Ecore Imf IBUS Support])
+fi
+
+ECORE_CHECK_MODULE([imf-ibus], [${want_ecore_imf}], [Imf_IBUS], [${ecore_imf_ibus_deps}],
+   [requirements_ecore_imf_ibus="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_ibus}"])
 
 # ecore_imf_ibus
 PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.3.99], [have_ibus="yes"], [have_ibus="no"])
@@ -1657,7 +1674,7 @@ fi
 ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
   [
    ecore_x_libs="$ecore_x_libs $x_libs"
-   requirements_ecore_x="ecore-input >= 1.2.0 ${requirements_ecore_x}"
+   requirements_ecore_x="ecore-input >= 1.6.99 ${requirements_ecore_x}"
   ])
 
 # ecore_win32
@@ -1665,7 +1682,7 @@ ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
 ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}],
    [
     ecore_win32_libs="-lole32 -lgdi32"
-    requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}"
+    requirements_ecore_win32="ecore-input >= 1.6.99 ${requirements_ecore_win32}"
    ])
 AC_SUBST(ecore_win32_libs)
 
@@ -1677,7 +1694,7 @@ if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}],
-   [requirements_ecore_cocoa="ecore-input >= 1.2.0 ${requirements_ecore_cocoa}"])
+   [requirements_ecore_cocoa="ecore-input >= 1.6.99 ${requirements_ecore_cocoa}"])
 
 # ecore_sdl
 
@@ -1687,10 +1704,10 @@ if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}],
-   [requirements_ecore_sdl="ecore-input >= 1.2.0 ${requirements_ecore_sdl}"])
+   [requirements_ecore_sdl="ecore-input >= 1.6.99 ${requirements_ecore_sdl}"])
 
 ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}],
-   [requirements_ecore_psl1ght="ecore-input >= 1.2.0 ${requirements_ecore_psl1ght}"])
+   [requirements_ecore_psl1ght="ecore-input >= 1.6.99 ${requirements_ecore_psl1ght}"])
 
 # ecore_fb
 ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
@@ -1712,7 +1729,7 @@ ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_dir
 # ecore_wince
 
 ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}],
-   [requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}"])
+   [requirements_ecore_win32="ecore-input >= 1.6.99 ${requirements_ecore_win32}"])
 
 ## Ecore Evas
 
@@ -1724,7 +1741,7 @@ if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test
 fi
 
 ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
-  [requirements_ecore_evas="ecore-input >= 1.2.0 ecore-input-evas >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_evas}"])
+  [requirements_ecore_evas="ecore-input >= 1.6.99 ecore-input-evas >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_buffer
 
@@ -1814,7 +1831,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \
         "x$have_ecore_evas_software_16_x11" = "xyes" -o \
         "x$have_ecore_evas_software_xcb" = "xyes"; then
    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
-   requirements_ecore_evas="ecore-x >= 1.2.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-x >= 1.6.99 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_win32
@@ -1850,17 +1867,17 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \
         "x${have_ecore_evas_opengl_glew}" = "xyes" -o \
         "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then
    AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
-   requirements_ecore_evas="ecore-win32 >= 1.2.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-win32 >= 1.6.99 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_software_sdl
 
 have_ecore_evas_software_sdl="no"
 if test "x${have_ecore_sdl}" = "xyes"; then
-   requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"
    have_ecore_evas_software_sdl="yes"
    AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_SDL, 1, [Support for Software SDL Engine in Ecore_Evas])
-   requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_gl_sdl
@@ -1869,7 +1886,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl],
    [${want_ecore_evas_gl_sdl}],
    [OpenGL SDL],
    [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_cocoa
 
@@ -1877,7 +1894,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-cocoa],
    [${want_ecore_evas_gl_cocoa}],
    [OpenGL Cocoa],
    [${have_ecore_cocoa}],
-   [requirements_ecore_evas="ecore-cocoa >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-cocoa >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_directfb
 
@@ -1885,7 +1902,7 @@ ECORE_EVAS_CHECK_MODULE([directfb],
    [${want_ecore_evas_directfb}],
    [DirectFB],
    [${have_ecore_directfb}],
-   [requirements_ecore_evas="ecore-directfb >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-directfb >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_fb
 
@@ -1893,7 +1910,7 @@ ECORE_EVAS_CHECK_MODULE([fb],
    [${want_ecore_evas_fb}],
    [Linux Framebuffer],
    [${have_ecore_fb}],
-   [requirements_ecore_evas="ecore-fb >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-fb >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_wince
 
@@ -1901,7 +1918,7 @@ ECORE_EVAS_CHECK_MODULE([software-16-wince],
    [${want_ecore_evas_software_16_wince}],
    [16 bpp Software Windows CE],
    [${have_ecore_wince}],
-   [requirements_ecore_evas="ecore-wince >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-wince >= 1.6.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_ews
 
@@ -1934,7 +1951,7 @@ ECORE_EVAS_CHECK_MODULE([psl1ght],
    [${want_ecore_evas_psl1ght}],
    [PSL1GHT],
    [${have_ecore_psl1ght}],
-   [requirements_ecore_evas="ecore-psl1ght >= 1.2.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-psl1ght >= 1.6.99 ${requirements_ecore_evas}"])
 
 ### WAYLAND
 
@@ -1949,7 +1966,7 @@ fi
 
 ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}])
 if test "x${have_ecore_wayland}" = "xyes" ; then
-  requirements_ecore_wayland="ecore-input >= 1.1.0 wayland-client xkbcommon ${requirements_ecore_wayland}"
+  requirements_ecore_wayland="ecore-input >= 1.6.99 wayland-client xkbcommon ${requirements_ecore_wayland}"
 fi
 
 ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], 
index 5c7544c..eeb2844 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,7 +4,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2011-10-23 01:28+0100\n"
 "Last-Translator: Daniel Kolesa <quaker66@gmail.com>\n"
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
index a61c425..5977fd3 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 0.9.9.063-2\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2010-01-03 21:52+GMT\n"
 "Last-Translator: Fabian Nowak <timystery@arcor.de>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
index a9625f0..9dd9d63 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2011-11-20 22:42+0200\n"
 "Last-Translator: George Rizopoulos <george.rizopoulos.1@gmail.com>\n"
 "Language-Team: Greek\n"
index b833447..1f9bfb9 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2010-07-11 11:01+0400\n"
 "Last-Translator: batden <batden@orange.fr>\n"
 "Language-Team: Enlightenment French Team <pourunmondesansgourou@gmail.com>\n"
index 8e1704f..0ce2aa0 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2009-10-27 19:36+0100\n"
 "Last-Translator: quaker66 <quaker66@gmail.com>\n"
 "Language-Team: none\n"
index 406bba5..92f3134 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2011-09-03 15:48+0100\n"
 "Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n"
 "Language-Team:  <vistausss@gmail.com>\n"
index 55d61c0..3dac17a 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2010-10-06 12:37-0000\n"
 "Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
 "Language-Team: \n"
index deed11a..f67baf8 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 1.0\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-04-26 13:55+0900\n"
+"POT-Creation-Date: 2012-07-09 19:11+0900\n"
 "PO-Revision-Date: 2011-02-24 16:54+0100\n"
 "Last-Translator: r1to <renato.rener@gmail.com>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
index f91a96d..545d48a 100644 (file)
@@ -12,7 +12,7 @@ static Eina_Bool _freeze_third_anim(void *data);
 static Eina_Bool _thaw_third_anim(void *data);
 
 int
-main (int argc, char *argv[])
+main(int argc, char *argv[])
 {
    Evas_Object *rect, *bg, *rect2;
    Ecore_Evas *ee;
@@ -39,7 +39,7 @@ main (int argc, char *argv[])
    evas_object_resize(rect2, 50, 50);
    evas_object_show(rect2);
 
-   ecore_animator_frametime_set(1./50);
+   ecore_animator_frametime_set(1. / 50);
    ecore_animator_timeline_add(5, _advance_frame, rect);
 
    anim = ecore_animator_add(_advance_frame3, rect2);
@@ -72,7 +72,7 @@ _advance_frame(void *data, double pos)
 static Eina_Bool
 _start_second_anim(void *data)
 {
-   ecore_animator_frametime_set(1./10);
+   ecore_animator_frametime_set(1. / 10);
    ecore_animator_timeline_add(20, _advance_frame2, data);
    return EINA_FALSE;
 }
@@ -95,7 +95,7 @@ _advance_frame3(void *data)
    static int x = 0;
 
    if (x >= 250)
-      x = 0;
+     x = 0;
    evas_object_move(data, ++x, 350);
 
    return EINA_TRUE;
@@ -114,3 +114,4 @@ _thaw_third_anim(void *data)
    ecore_animator_thaw(data);
    return EINA_FALSE;
 }
+
index 2a58dcf..dc550ee 100644 (file)
@@ -36,7 +36,7 @@ static void
 _spawn(void *data)
 {
    int x;
-   
+
    for (x = 0; x < NUM_CLIENTS; x++)
      {
 //        printf("Creating connection %i\n", x);
@@ -47,10 +47,11 @@ _spawn(void *data)
              exit(1);
           }
      }
-     printf("***Job done***\n");
+   printf("***Job done***\n");
 }
 
-int main(void)
+int
+main(void)
 {
    double done;
    eina_init();
@@ -75,3 +76,4 @@ int main(void)
    printf("\nTime elapsed for %i connections: %f seconds\n%s", NUM_CLIENTS, ecore_time_get() - done, eina_counter_dump(counter));
    return 0;
 }
+
index 2f656c7..c6ab50d 100644 (file)
@@ -23,7 +23,6 @@ _add(void *data, int type, Ecore_Con_Event_Server_Add *ev)
    return ECORE_CALLBACK_RENEW;
 }
 
-
 Eina_Bool
 _del(void *data, int type, Ecore_Con_Event_Server_Del *ev)
 {
@@ -47,7 +46,9 @@ _data(void *data, int type, Ecore_Con_Event_Server_Data *ev)
    printf(fmt, ev->data);
    return ECORE_CALLBACK_RENEW;
 }
-int main()
+
+int
+main()
 {
    Ecore_Con_Server *svr;
    Eina_Iterator *it;
@@ -72,7 +73,7 @@ int main()
      {
         if (!ecore_con_ssl_server_cafile_add(svr, ca))
           printf("Could not load CA: %s!\n", ca);
-        eina_stringshare_del(ca);   
+        eina_stringshare_del(ca);
      }
 
    eina_iterator_free(it);
@@ -88,3 +89,4 @@ int main()
 /* start client */
    ecore_main_loop_begin();
 }
+
index f6eb257..fe852b7 100644 (file)
@@ -8,8 +8,9 @@
 # define __UNUSED__
 #endif
 
-struct _Server {
-    int sdata;
+struct _Server
+{
+   int sdata;
 };
 
 Eina_Bool
@@ -21,25 +22,24 @@ _add(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Add *ev)
 
    ecore_con_server_data_set(ev->server, server);
    printf("Server with ip %s, name %s, port %d, connected = %d!\n",
-         ecore_con_server_ip_get(ev->server),
-         ecore_con_server_name_get(ev->server),
-         ecore_con_server_port_get(ev->server),
-         ecore_con_server_connected_get(ev->server));
+          ecore_con_server_ip_get(ev->server),
+          ecore_con_server_name_get(ev->server),
+          ecore_con_server_port_get(ev->server),
+          ecore_con_server_connected_get(ev->server));
    ecore_con_server_send(ev->server, welcome, sizeof(welcome));
    ecore_con_server_flush(ev->server);
 
    return ECORE_CALLBACK_RENEW;
 }
 
-
 Eina_Bool
 _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Del *ev)
 {
    if (!ev->server)
      {
-       printf("Failed to establish connection to the server.\nExiting.\n");
-       ecore_main_loop_quit();
-       return ECORE_CALLBACK_RENEW;
+        printf("Failed to establish connection to the server.\nExiting.\n");
+        ecore_main_loop_quit();
+        return ECORE_CALLBACK_RENEW;
      }
 
    struct _Server *server = ecore_con_server_data_get(ev->server);
@@ -48,8 +48,8 @@ _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Del *ev)
 
    if (server)
      {
-       printf("Total data received from this server: %d\n", server->sdata);
-       free(server);
+        printf("Total data received from this server: %d\n", server->sdata);
+        free(server);
      }
 
    ecore_con_server_del(ev->server);
@@ -77,7 +77,8 @@ _data(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Data *e
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    Ecore_Con_Server *svr;
    const char *address;
@@ -85,9 +86,9 @@ int main(int argc, const char *argv[])
 
    if (argc < 2)
      {
-       printf("wrong usage. Command syntax is:\n");
-       printf("\tecore_con_client_simple_example <address> [port]\n");
-       exit (1);
+        printf("wrong usage. Command syntax is:\n");
+        printf("\tecore_con_client_simple_example <address> [port]\n");
+        exit(1);
      }
 
    address = argv[1];
@@ -101,9 +102,9 @@ int main(int argc, const char *argv[])
 
    if (!(svr = ecore_con_server_connect(ECORE_CON_REMOTE_TCP, address, port, NULL)))
      {
-       printf("could not connect to the server: %s, port %d.\n",
-              address, port);
-       exit(2);
+        printf("could not connect to the server: %s, port %d.\n",
+               address, port);
+        exit(2);
      }
 
    /* set event handler for server connect */
@@ -122,3 +123,4 @@ int main(int argc, const char *argv[])
 
    return 0;
 }
+
index 3a3d024..1a47d0b 100644 (file)
@@ -5,18 +5,19 @@
 static void
 _lookup_done_cb(const char *canonname, const char *ip, struct sockaddr *addr, int addrlen, void *data)
 {
-    printf("canonname = %s\n", canonname);
-    printf("ip = %s\n", ip);
-    printf("addr = %p\n", addr);
-    printf("addrlen = %d\n", addrlen);
+   printf("canonname = %s\n", canonname);
+   printf("ip = %s\n", ip);
+   printf("addr = %p\n", addr);
+   printf("addrlen = %d\n", addrlen);
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    if (argc < 2)
      {
-       printf("need one parameter: <address>\n");
-       return -1;
+        printf("need one parameter: <address>\n");
+        return -1;
      }
 
    ecore_init();
@@ -24,8 +25,8 @@ int main(int argc, const char *argv[])
 
    if (!ecore_con_lookup(argv[1], _lookup_done_cb, NULL))
      {
-       printf("error when trying to start lookup for %s\n", argv[1]);
-       goto end;
+        printf("error when trying to start lookup for %s\n", argv[1]);
+        goto end;
      }
 
    ecore_main_loop_begin();
@@ -36,3 +37,4 @@ end:
 
    return 0;
 }
+
index 5423eb1..7333521 100644 (file)
@@ -24,7 +24,6 @@ _add(void *data, int type, Ecore_Con_Event_Client_Add *ev)
    return ECORE_CALLBACK_RENEW;
 }
 
-
 Eina_Bool
 _del(void *data, int type, Ecore_Con_Event_Client_Del *ev)
 {
@@ -48,7 +47,9 @@ _data(void *data, int type, Ecore_Con_Event_Client_Data *ev)
    printf(fmt, ev->data);
    return ECORE_CALLBACK_RENEW;
 }
-int main()
+
+int
+main()
 {
    Ecore_Con_Server *svr;
    eina_init();
@@ -59,10 +60,8 @@ int main()
    gnutls_global_set_log_level(9);
    gnutls_global_set_log_function(tls_log_func);
 
-
 /* to use a PEM certificate with TLS and SSL3, uncomment the lines below */
    if (!(svr = ecore_con_server_add(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_TLS | ECORE_CON_USE_SSL3 | ECORE_CON_LOAD_CERT, "127.0.0.1", 8080, NULL)))
-
 /* to use simple tcp with ssl/tls, use this line */
 //   if (!ecore_con_server_add(ECORE_CON_REMOTE_TCP | ECORE_CON_USE_SSL3, "127.0.0.1", 8080, NULL))
      exit(1);
@@ -79,3 +78,4 @@ int main()
 /* start server */
    ecore_main_loop_begin();
 }
+
index d3fdeee..a106ba1 100644 (file)
 #endif
 
 static const char response_template[] =
-"HTTP/1.0 200 OK\r\n"
-"Server: Ecore_Con custom server\r\n"
-"Content-Length: %zd\r\n"
-"Content-Type: text/html; charset=UTF-8\r\n"
-"Set-Cookie: MYCOOKIE=1; path=/; expires=%s\r\n"
-"Set-Cookie: SESSIONCOOKIE=1; path=/\r\n"
-"\r\n"
-"%s";
-
-struct _Client {
-    int sdata;
+  "HTTP/1.0 200 OK\r\n"
+  "Server: Ecore_Con custom server\r\n"
+  "Content-Length: %zd\r\n"
+  "Content-Type: text/html; charset=UTF-8\r\n"
+  "Set-Cookie: MYCOOKIE=1; path=/; expires=%s\r\n"
+  "Set-Cookie: SESSIONCOOKIE=1; path=/\r\n"
+  "\r\n"
+  "%s";
+
+struct _Client
+{
+   int sdata;
 };
 
 Eina_Bool
@@ -33,9 +34,9 @@ _add(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Add *ev)
    time_t t;
 
    printf("Client with ip %s, port %d, connected = %d!\n",
-         ecore_con_client_ip_get(ev->client),
-         ecore_con_client_port_get(ev->client),
-         ecore_con_client_connected_get(ev->client));
+          ecore_con_client_ip_get(ev->client),
+          ecore_con_client_port_get(ev->client),
+          ecore_con_client_connected_get(ev->client));
 
    ecore_con_client_data_set(ev->client, client);
 
@@ -46,11 +47,9 @@ _add(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Add *ev)
    ecore_con_client_send(ev->client, buf, strlen(buf));
    ecore_con_client_flush(ev->client);
 
-
    return ECORE_CALLBACK_RENEW;
 }
 
-
 Eina_Bool
 _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Del *ev)
 {
@@ -64,7 +63,7 @@ _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Del *ev)
    printf("Lost client with ip %s!\n", ecore_con_client_ip_get(ev->client));
    printf("Total data received from this client: %d\n", client->sdata);
    printf("Client was connected for %0.3f seconds.\n",
-         ecore_con_client_uptime_get(ev->client));
+          ecore_con_client_uptime_get(ev->client));
 
    if (client)
      free(client);
@@ -86,7 +85,7 @@ _data(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Data *e
             "%%.%is\n"
             ">>>>>\n\n",
             ev->size, ecore_con_client_ip_get(ev->client),
-           ecore_con_client_port_get(ev->client), ev->size);
+            ecore_con_client_port_get(ev->client), ev->size);
 
    printf(fmt, ev->data);
 
@@ -95,7 +94,8 @@ _data(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Data *e
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(void)
+int
+main(void)
 {
    Ecore_Con_Server *svr;
    Ecore_Con_Client *cl;
@@ -120,8 +120,8 @@ int main(void)
           eina_list_count(clients));
    EINA_LIST_FOREACH(clients, l, cl)
      {
-       printf("%s\n", ecore_con_client_ip_get(cl));
-       free(ecore_con_client_data_get(cl));
+        printf("%s\n", ecore_con_client_ip_get(cl));
+        free(ecore_con_client_data_get(cl));
      }
 
    printf("Server was up for %0.3f seconds\n",
@@ -133,3 +133,4 @@ int main(void)
 
    return 0;
 }
+
index e466ed4..13dd953 100644 (file)
@@ -8,8 +8,9 @@
 # define __UNUSED__
 #endif
 
-struct _Client {
-    int sdata;
+struct _Client
+{
+   int sdata;
 };
 
 Eina_Bool
@@ -24,9 +25,9 @@ _add(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Add *ev)
    client->sdata = 0;
 
    printf("Client with ip %s, port %d, connected = %d!\n",
-         ecore_con_client_ip_get(ev->client),
-         ecore_con_client_port_get(ev->client),
-         ecore_con_client_connected_get(ev->client));
+          ecore_con_client_ip_get(ev->client),
+          ecore_con_client_port_get(ev->client),
+          ecore_con_client_connected_get(ev->client));
 
    ecore_con_client_send(ev->client, welcome, sizeof(welcome));
    ecore_con_client_flush(ev->client);
@@ -39,12 +40,11 @@ _add(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Add *ev)
    printf("Clients connected to this server:\n");
    clients = ecore_con_server_clients_get(srv);
    EINA_LIST_FOREACH(clients, l, cl)
-      printf("%s\n", ecore_con_client_ip_get(cl));
+     printf("%s\n", ecore_con_client_ip_get(cl));
 
    return ECORE_CALLBACK_RENEW;
 }
 
-
 Eina_Bool
 _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Del *ev)
 {
@@ -58,7 +58,7 @@ _del(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Del *ev)
    printf("Lost client with ip %s!\n", ecore_con_client_ip_get(ev->client));
    printf("Total data received from this client: %d\n", client->sdata);
    printf("Client was connected for %0.3f seconds.\n",
-         ecore_con_client_uptime_get(ev->client));
+          ecore_con_client_uptime_get(ev->client));
 
    if (client)
      free(client);
@@ -80,7 +80,7 @@ _data(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Data *e
             "%%.%is\n"
             ">>>>>\n",
             ev->size, ecore_con_client_ip_get(ev->client),
-           ecore_con_client_port_get(ev->client), ev->size);
+            ecore_con_client_port_get(ev->client), ev->size);
 
    printf(fmt, ev->data);
 
@@ -89,7 +89,8 @@ _data(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Client_Data *e
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(void)
+int
+main(void)
 {
    Ecore_Con_Server *svr;
    Ecore_Con_Client *cl;
@@ -116,8 +117,8 @@ int main(void)
           eina_list_count(clients));
    EINA_LIST_FOREACH(clients, l, cl)
      {
-       printf("%s\n", ecore_con_client_ip_get(cl));
-       free(ecore_con_client_data_get(cl));
+        printf("%s\n", ecore_con_client_ip_get(cl));
+        free(ecore_con_client_data_get(cl));
      }
 
    printf("Server was up for %0.3f seconds\n",
@@ -129,3 +130,4 @@ int main(void)
 
    return 0;
 }
+
index 64f37d2..09c7b70 100644 (file)
@@ -39,7 +39,7 @@ _url_complete_cb(void *data __UNUSED__, int type __UNUSED__, void *event_info)
 
    printf("response headers:\n");
    EINA_LIST_FOREACH(headers, l, str)
-      printf("header: %s", str);
+     printf("header: %s", str);
 
    ecore_con_url_cookies_jar_write(url_complete->url_con);
 
@@ -48,7 +48,8 @@ _url_complete_cb(void *data __UNUSED__, int type __UNUSED__, void *event_info)
    return EINA_TRUE;
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    Ecore_Con_Url *ec_url = NULL;
    char cmd = '\0';
@@ -56,8 +57,8 @@ int main(int argc, const char *argv[])
 
    if (argc < 2)
      {
-       printf("need at least one parameter: <url> [command]\n");
-       return -1;
+        printf("need at least one parameter: <url> [command]\n");
+        return -1;
      }
 
    if (argc > 2)
@@ -70,8 +71,8 @@ int main(int argc, const char *argv[])
    ec_url = ecore_con_url_new(argv[1]);
    if (!ec_url)
      {
-       printf("error when creating ecore con url object.\n");
-       goto end;
+        printf("error when creating ecore con url object.\n");
+        goto end;
      }
 
    ecore_event_handler_add(ECORE_CON_EVENT_URL_DATA, _url_data_cb, NULL);
@@ -87,23 +88,25 @@ int main(int argc, const char *argv[])
    switch (cmd)
      {
       case 'c': // clear
-        printf("Cleaning previously set cookies.\n");
-        ecore_con_url_cookies_clear(ec_url);
-        break;
+        printf("Cleaning previously set cookies.\n");
+        ecore_con_url_cookies_clear(ec_url);
+        break;
+
       case 's': // clear session
-        printf("Cleaning previously set session cookies.\n");
-        ecore_con_url_cookies_session_clear(ec_url);
-        break;
+        printf("Cleaning previously set session cookies.\n");
+        ecore_con_url_cookies_session_clear(ec_url);
+        break;
+
       case 'i': // ignore session
-        printf("Ignoring old session cookies.\n");
-        ecore_con_url_cookies_ignore_old_session_set(ec_url, EINA_TRUE);
+        printf("Ignoring old session cookies.\n");
+        ecore_con_url_cookies_ignore_old_session_set(ec_url, EINA_TRUE);
      }
 
    r = ecore_con_url_get(ec_url);
    if (!r)
      {
-       printf("could not realize request.\n");
-       goto free_ec_url;
+        printf("could not realize request.\n");
+        goto free_ec_url;
      }
 
    ecore_main_loop_begin();
@@ -117,3 +120,4 @@ end:
 
    return 0;
 }
+
index 0cb81e1..2f95db4 100644 (file)
@@ -5,8 +5,9 @@
 #include <Ecore.h>
 #include <Ecore_Con.h>
 
-struct _request {
-     long size;
+struct _request
+{
+   long size;
 };
 
 static Eina_Bool
@@ -17,12 +18,12 @@ _url_progress_cb(void *data, int type, void *event_info)
 
    if (url_progress->down.total > 0)
      {
-       struct _request *req = ecore_con_url_data_get(url_progress->url_con);
-       req->size = url_progress->down.now;
+        struct _request *req = ecore_con_url_data_get(url_progress->url_con);
+        req->size = url_progress->down.now;
 
-       percent = (url_progress->down.now / url_progress->down.total) * 100;
-       printf("Total of download complete: %0.1f (%0.0f)%%\n",
-              percent, url_progress->down.now);
+        percent = (url_progress->down.now / url_progress->down.total) * 100;
+        printf("Total of download complete: %0.1f (%0.0f)%%\n",
+               percent, url_progress->down.now);
      }
 
    return EINA_TRUE;
@@ -40,13 +41,14 @@ _url_complete_cb(void *data, int type, void *event_info)
    printf("download completed with status code: %d\n", url_complete->status);
    printf("Total size of downloaded file: %ld bytes\n", req->size);
    printf("Total size of downloaded file: %ld bytes "
-         "(from received_bytes_get)\n", nbytes);
+          "(from received_bytes_get)\n", nbytes);
    ecore_main_loop_quit();
 
    return EINA_TRUE;
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    Ecore_Con_Url *ec_url = NULL;
    struct _request *req;
@@ -55,17 +57,17 @@ int main(int argc, const char *argv[])
 
    if (argc < 2)
      {
-       printf("need one parameter: <url>\n");
-       return -1;
+        printf("need one parameter: <url>\n");
+        return -1;
      }
 
-   fd = open(filename, O_CREAT|O_WRONLY|O_TRUNC, 0644);
+   fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0644);
 
    if (fd == -1)
      {
-       printf("error: could not open file for writing: \"%s\"\n",
-              filename);
-       return -1;
+        printf("error: could not open file for writing: \"%s\"\n",
+               filename);
+        return -1;
      }
 
    ecore_init();
@@ -75,8 +77,8 @@ int main(int argc, const char *argv[])
    ec_url = ecore_con_url_new(argv[1]);
    if (!ec_url)
      {
-       printf("error when creating ecore con url object.\n");
-       goto end;
+        printf("error when creating ecore con url object.\n");
+        goto end;
      }
 
    req = malloc(sizeof(*req));
@@ -90,8 +92,8 @@ int main(int argc, const char *argv[])
 
    if (!ecore_con_url_get(ec_url))
      {
-       printf("could not realize request.\n");
-       goto free_ec_url;
+        printf("could not realize request.\n");
+        goto free_ec_url;
      }
 
    ecore_main_loop_begin();
@@ -108,3 +110,4 @@ end:
 
    return 0;
 }
+
index 262823b..fb05df3 100644 (file)
@@ -28,14 +28,15 @@ _url_complete_cb(void *data, int type, void *event_info)
    headers = ecore_con_url_response_headers_get(url_complete->url_con);
 
    EINA_LIST_FOREACH(headers, l, str)
-      printf("header: %s\n", str);
+     printf("header: %s\n", str);
 
    ecore_main_loop_quit();
 
    return EINA_TRUE;
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    Ecore_Con_Url *ec_url = NULL;
    const char *type;
@@ -43,16 +44,16 @@ int main(int argc, const char *argv[])
 
    if (argc < 3)
      {
-       printf("need at least two parameters: < POST|GET >  <url1>\n");
-       return -1;
+        printf("need at least two parameters: < POST|GET >  <url1>\n");
+        return -1;
      }
 
    type = argv[1];
 
    if (strcmp(type, "POST") && (strcmp(type, "GET")))
      {
-       printf("only POST or GET are supported by this example.\n");
-       return -1;
+        printf("only POST or GET are supported by this example.\n");
+        return -1;
      }
 
    ecore_init();
@@ -66,8 +67,8 @@ int main(int argc, const char *argv[])
    ec_url = ecore_con_url_custom_new(argv[2], type);
    if (!ec_url)
      {
-       printf("error when creating ecore con url object.\n");
-       goto end;
+        printf("error when creating ecore con url object.\n");
+        goto end;
      }
 
    ecore_event_handler_add(ECORE_CON_EVENT_URL_DATA, _url_data_cb, NULL);
@@ -87,8 +88,8 @@ int main(int argc, const char *argv[])
 
    if (!r)
      {
-       printf("could not realize request.\n");
-       goto free_ec_url;
+        printf("could not realize request.\n");
+        goto free_ec_url;
      }
 
    ecore_main_loop_begin();
@@ -102,3 +103,4 @@ end:
 
    return 0;
 }
+
index af05530..a060a0a 100644 (file)
@@ -29,7 +29,7 @@ static Ecore_Evas *ee;
 
 /* support function to save scene as PPM image */
 static void
-_scene_save(Evas       *canvas,
+_scene_save(Evas *canvas,
             const char *dest)
 {
    const unsigned int *pixels, *pixels_end;
index 29b7b3d..360faa2 100644 (file)
@@ -80,7 +80,7 @@ main(void)
    img = ecore_evas_object_image_new(ee);
    evas_object_image_filled_set(img, EINA_TRUE);
    evas_object_image_size_set(
-       img, ((2 * WIDTH) / 3) - 6, ((2 * HEIGHT) / 3) - 6);
+     img, ((2 * WIDTH) / 3) - 6, ((2 * HEIGHT) / 3) - 6);
    sub_ee = ecore_evas_object_ecore_evas_get(img);
    sub_canvas = ecore_evas_object_evas_get(img);
 
index 31b724d..3e42da1 100644 (file)
@@ -116,7 +116,7 @@ main(void)
    ecore_evas_callback_pre_free_set(ee, _pre_free);
    ecore_evas_callback_pre_render_set(ee, _pre_render);
    ecore_evas_callback_resize_set(ee, _resize);
-   ecore_evas_callback_show_set (ee, _show);
+   ecore_evas_callback_show_set(ee, _show);
 
    ecore_main_loop_begin();
 
@@ -125,3 +125,4 @@ main(void)
 
    return 0;
 }
+
index 7f2af92..1209ffd 100644 (file)
@@ -91,108 +91,123 @@ _stdin_cb(void *data, Ecore_Fd_Handler *handler)
      }
 
    switch (c) {
-    case 'h':
-       printf("hide all windows\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         ecore_evas_hide(ee);
-       break;
-    case 's':
-       printf("show all windows\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         ecore_evas_show(ee);
-       break;
-    case 'l':
-       printf("move all windows left\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int x, y;
-            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
-            ecore_evas_move(ee, x - 10, y);
-         }
-       break;
-    case 'r':
-       printf("move all windows right\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int x, y;
-            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
-            ecore_evas_move(ee, x + 10, y);
-         }
-       break;
-    case 't':
-       printf("move all windows top\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int x, y;
-            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
-            ecore_evas_move(ee, x, y - 10);
-         }
-       break;
-    case 'b':
-       printf("move all windows bottom\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int x, y;
-            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
-            ecore_evas_move(ee, x, y + 10);
-         }
-       break;
-    case 'S':
-       printf("make all windows smaller\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int w, h;
-            ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-            ecore_evas_resize(ee, w - 10, h - 10);
-         }
-       break;
-    case 'B':
-       printf("make all windows bigger\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-         {
-            int w, h;
-            ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
-            ecore_evas_resize(ee, w + 10, h + 10);
-         }
-       break;
-    case 'm':
-       printf("make all windows unmaximized\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_maximized_set(ee, EINA_FALSE);
-       break;
-    case 'M':
-       printf("make all windows maximized\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_maximized_set(ee, EINA_TRUE);
-       break;
-    case 'i':
-       printf("make all windows uniconified\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_iconified_set(ee, EINA_FALSE);
-       break;
-    case 'I':
-       printf("make all windows iconified\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_iconified_set(ee, EINA_TRUE);
-       break;
-    case 'f':
-       printf("make all windows unfullscreen\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_fullscreen_set(ee, EINA_FALSE);
-       break;
-    case 'F':
-       printf("make all windows fullscreen\n");
-       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
-            ecore_evas_fullscreen_set(ee, EINA_TRUE);
-       break;
-    case 'q':
-       printf("quit\n");
-       ecore_main_loop_quit();
-       break;
-    default:
-       if (!isspace(c))
-         printf("Unknown command: %c\n", c);
-   }
+      case 'h':
+        printf("hide all windows\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_hide(ee);
+        break;
+
+      case 's':
+        printf("show all windows\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_show(ee);
+        break;
+
+      case 'l':
+        printf("move all windows left\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int x, y;
+             ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
+             ecore_evas_move(ee, x - 10, y);
+          }
+        break;
+
+      case 'r':
+        printf("move all windows right\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int x, y;
+             ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
+             ecore_evas_move(ee, x + 10, y);
+          }
+        break;
+
+      case 't':
+        printf("move all windows top\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int x, y;
+             ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
+             ecore_evas_move(ee, x, y - 10);
+          }
+        break;
+
+      case 'b':
+        printf("move all windows bottom\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int x, y;
+             ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
+             ecore_evas_move(ee, x, y + 10);
+          }
+        break;
+
+      case 'S':
+        printf("make all windows smaller\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int w, h;
+             ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+             ecore_evas_resize(ee, w - 10, h - 10);
+          }
+        break;
+
+      case 'B':
+        printf("make all windows bigger\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          {
+             int w, h;
+             ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+             ecore_evas_resize(ee, w + 10, h + 10);
+          }
+        break;
+
+      case 'm':
+        printf("make all windows unmaximized\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_maximized_set(ee, EINA_FALSE);
+        break;
+
+      case 'M':
+        printf("make all windows maximized\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_maximized_set(ee, EINA_TRUE);
+        break;
+
+      case 'i':
+        printf("make all windows uniconified\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_iconified_set(ee, EINA_FALSE);
+        break;
+
+      case 'I':
+        printf("make all windows iconified\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_iconified_set(ee, EINA_TRUE);
+        break;
+
+      case 'f':
+        printf("make all windows unfullscreen\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_fullscreen_set(ee, EINA_FALSE);
+        break;
+
+      case 'F':
+        printf("make all windows fullscreen\n");
+        EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
+          ecore_evas_fullscreen_set(ee, EINA_TRUE);
+        break;
+
+      case 'q':
+        printf("quit\n");
+        ecore_main_loop_quit();
+        break;
+
+      default:
+        if (!isspace(c))
+          printf("Unknown command: %c\n", c);
+     }
    return ECORE_CALLBACK_RENEW;
 }
 
@@ -211,7 +226,7 @@ main(void)
    Evas_Object *bg;
 
    if (ecore_evas_init() <= 0)
-      return 1;
+     return 1;
 
    optional_ews_setup();
    optional_ews_window_manager_setup();
@@ -228,7 +243,7 @@ main(void)
 
    canvas = ecore_evas_get(ee);
    if (ecore_evas_ecore_evas_get(canvas) == ee)
-      printf("Everything is sane!\n");
+     printf("Everything is sane!\n");
 
    bg = evas_object_rectangle_add(canvas);
    evas_object_color_set(bg, 0, 0, 255, 255);
@@ -240,9 +255,9 @@ main(void)
    ecore_evas_move(ee, 50, 50);
 
    ecore_main_fd_handler_add(STDIN_FILENO,
-              ECORE_FD_READ | ECORE_FD_ERROR,
-              _stdin_cb,
-              NULL, NULL, NULL);
+                             ECORE_FD_READ | ECORE_FD_ERROR,
+                             _stdin_cb,
+                             NULL, NULL, NULL);
 
    ecore_main_loop_begin();
 
@@ -251,3 +266,4 @@ main(void)
 
    return 0;
 }
+
index f23ff30..38e4c4b 100644 (file)
@@ -32,7 +32,7 @@ main(void)
    ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE);
 
    if (bg == ecore_evas_object_associate_get(ee))
-      printf("Association worked!\n");
+     printf("Association worked!\n");
 
    cursor = evas_object_rectangle_add(ecore_evas_get(ee));
    evas_object_color_set(cursor, 0, 255, 0, 255);
@@ -41,7 +41,7 @@ main(void)
 
    ecore_evas_cursor_get(ee, &obj, &layer, &x, &y);
    if (obj == cursor && layer == 0 && x == 1 && y == 1)
-      printf("Set cursor worked!\n");
+     printf("Set cursor worked!\n");
 
    ecore_main_loop_begin();
 
@@ -50,3 +50,4 @@ main(void)
 
    return 0;
 }
+
index badfb16..ceb601c 100644 (file)
@@ -60,10 +60,10 @@ _on_destroy(Ecore_Evas *ee __UNUSED__)
 }
 
 static void
-_on_keydown(void        *data __UNUSED__,
-            Evas        *evas __UNUSED__,
+_on_keydown(void *data __UNUSED__,
+            Evas *evas __UNUSED__,
             Evas_Object *o __UNUSED__,
-            void        *einfo)
+            void *einfo)
 {
    Evas_Event_Key_Down *ev = einfo;
 
index a1f56ae..64a5be8 100644 (file)
@@ -23,3 +23,4 @@ main(int argc, char **argv)
 
    return 0;
 }
+
index ef3f187..a8eccf3 100644 (file)
@@ -1,10 +1,11 @@
 #include <Ecore.h>
 #include <unistd.h>
 
-struct context { // helper struct to give some context to the callbacks
-     const char *str1, *str2;
-     Ecore_Event_Handler *handler1;
-     Ecore_Event_Handler *handler2;
+struct context   // helper struct to give some context to the callbacks
+{
+   const char          *str1, *str2;
+   Ecore_Event_Handler *handler1;
+   Ecore_Event_Handler *handler2;
 };
 
 static _event_type = 0; // a new type of event will be defined and stored here
@@ -33,21 +34,22 @@ _event_handler2_cb(void *data, int type, void *event) // event callback
 
    if (*number == 5)
      {
-       const char *old = NULL;
-       old = ecore_event_handler_data_set(ctxt->handler1, (void *)ctxt->str2);
-       printf("changed handler1 data from \"%s\" to \"%s\".\n",
-              old, ctxt->str2);
+        const char *old = NULL;
+        old = ecore_event_handler_data_set(ctxt->handler1, (void *)ctxt->str2);
+        printf("changed handler1 data from \"%s\" to \"%s\".\n",
+               old, ctxt->str2);
      }
    else if (*number >= 10)
      {
-       printf("finish main loop.\n");
-       ecore_main_loop_quit();
+        printf("finish main loop.\n");
+        ecore_main_loop_quit();
      }
 
    return ECORE_CALLBACK_DONE; // same as EINA_FALSE
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    struct context ctxt = {0};
    int i;
@@ -56,24 +58,24 @@ int main(int argc, char **argv)
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    _event_type = ecore_event_type_new();
 
    ctxt.handler1 = ecore_event_handler_add(_event_type,
-                                          _event_handler1_cb,
-                                          ctxt.str1);
+                                           _event_handler1_cb,
+                                           ctxt.str1);
    ctxt.handler2 = ecore_event_handler_add(_event_type,
-                                          _event_handler2_cb,
-                                          &ctxt);
+                                           _event_handler2_cb,
+                                           &ctxt);
 
    for (i = 0; i <= 15; i++)
      {
-       int *event_data = malloc(sizeof(*event_data));
-       *event_data = i;
-       ecore_event_add(_event_type, event_data, NULL, NULL);
+        int *event_data = malloc(sizeof(*event_data));
+        *event_data = i;
+        ecore_event_add(_event_type, event_data, NULL, NULL);
      }
 
    printf("start the main loop.\n");
@@ -84,3 +86,4 @@ int main(int argc, char **argv)
 
    return 0;
 }
+
index c0a00f7..8d0dedc 100644 (file)
@@ -1,6 +1,6 @@
 /**
-Compile with gcc -o ecore_exe_example ecore_exe_example.c `pkg-config --cflags --libs ecore`
-*/
+   Compile with gcc -o ecore_exe_example ecore_exe_example.c `pkg-config --cflags --libs ecore`
+ */
 
 #include <stdio.h>
 #include <string.h>
@@ -12,8 +12,17 @@ static Eina_Bool
 _msg_from_child_handler(void *data, int type, void *event)
 {
    Ecore_Exe_Event_Data *dataFromProcess = (Ecore_Exe_Event_Data *)event;
-   char *msg = (char *) dataFromProcess->data;
+   char msg[BUFFER_SIZE];
 
+   if (dataFromProcess->size >= (BUFFER_SIZE - 1))
+     {
+        fprintf(stdout, "Data too big for bugger. error\n");
+        return ECORE_CALLBACK_DONE;
+     }
+   
+   strncpy(msg, dataFromProcess->data, dataFromProcess->size);
+   msg[dataFromProcess->size] = 0;
+       
    if (strcmp(msg, "quit") == 0)
      {
         fprintf(stdout, "My child said to me, QUIT!\n");
@@ -23,14 +32,13 @@ _msg_from_child_handler(void *data, int type, void *event)
      fprintf(stdout, "I received a message from my child: %s\n", msg);
 
    return ECORE_CALLBACK_DONE;
-
 }
 
 static Eina_Bool
 _sendMessage(void *data)
 {
    static int numberOfMessages = 0;
-   Ecore_Exe *childHandle = (Ecore_Exe*) data;
+   Ecore_Exe *childHandle = (Ecore_Exe *)data;
    char msg[BUFFER_SIZE];
 
    sprintf(msg, " Message: %d\n", numberOfMessages);
@@ -42,8 +50,6 @@ _sendMessage(void *data)
      fprintf(stdout,
              "I'm the father and I sent this message to the child: %s\n", msg);
 
-
-
    return ECORE_CALLBACK_RENEW;
 }
 
@@ -58,7 +64,7 @@ main(int argc, char **argv)
 
    childHandle = ecore_exe_pipe_run("./ecore_exe_example_child",
                                     ECORE_EXE_PIPE_WRITE |
-                                    ECORE_EXE_PIPE_READ_LINE_BUFFERED  |
+                                    ECORE_EXE_PIPE_READ_LINE_BUFFERED |
                                     ECORE_EXE_PIPE_READ, NULL);
 
    if (childHandle == NULL)
@@ -91,3 +97,4 @@ ecore_shutdown:
 exit:
    return EXIT_FAILURE;
 }
+
index 332b66f..0d5b469 100644 (file)
@@ -1,12 +1,11 @@
 /**
-  Compile with gcc -o ecore_exe_example_child ecore_exe_example_child.c `pkg-config --cflags --libs ecore`
-*/
+   Compile with gcc -o ecore_exe_example_child ecore_exe_example_child.c `pkg-config --cflags --libs ecore`
+ */
 
 #include <stdio.h>
 #include <unistd.h>
 #include <Ecore.h>
 
-
 #define BUFFER_SIZE 1024
 
 static Eina_Bool
@@ -38,14 +37,13 @@ _fd_handler_cb(void *data, Ecore_Fd_Handler
 int
 main(int argc, char **argv)
 {
-
    if (!ecore_init())
      goto error;
 
    ecore_main_fd_handler_add(STDIN_FILENO,
-                                ECORE_FD_READ,
-                                _fd_handler_cb,
-                                NULL, NULL, NULL);
+                             ECORE_FD_READ,
+                             _fd_handler_cb,
+                             NULL, NULL, NULL);
    ecore_main_loop_begin();
 
    ecore_shutdown();
@@ -55,3 +53,4 @@ main(int argc, char **argv)
 error:
    return EXIT_FAILURE;
 }
+
index d80b290..381d101 100644 (file)
@@ -1,9 +1,10 @@
 #include <Ecore.h>
 #include <unistd.h>
 
-struct context {
-     Ecore_Fd_Handler *handler;
-     Ecore_Timer *timer;
+struct context
+{
+   Ecore_Fd_Handler *handler;
+   Ecore_Timer      *timer;
 };
 
 static void
@@ -22,20 +23,20 @@ _fd_handler_cb(void *data, Ecore_Fd_Handler *handler)
 
    if (ecore_main_fd_handler_active_get(handler, ECORE_FD_ERROR))
      {
-       printf("An error has occurred. Stop watching this fd and quit.\n");
-       ecore_main_loop_quit();
-       ctxt->handler = NULL;
-       return ECORE_CALLBACK_CANCEL;
+        printf("An error has occurred. Stop watching this fd and quit.\n");
+        ecore_main_loop_quit();
+        ctxt->handler = NULL;
+        return ECORE_CALLBACK_CANCEL;
      }
 
    fd = ecore_main_fd_handler_fd_get(handler);
    nbytes = read(fd, buf, sizeof(buf));
    if (nbytes == 0)
      {
-       printf("Nothing to read, exiting...\n");
-       ecore_main_loop_quit();
-       ctxt->handler = NULL;
-       return ECORE_CALLBACK_CANCEL;
+        printf("Nothing to read, exiting...\n");
+        ecore_main_loop_quit();
+        ctxt->handler = NULL;
+        return ECORE_CALLBACK_CANCEL;
      }
    buf[nbytes - 1] = '\0';
 
@@ -52,25 +53,26 @@ _timer_cb(void *data)
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    struct context ctxt = {0};
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    ctxt.handler = ecore_main_fd_handler_add(STDIN_FILENO,
-                                           ECORE_FD_READ | ECORE_FD_ERROR,
-                                           _fd_handler_cb,
-                                           &ctxt, NULL, NULL);
+                                            ECORE_FD_READ | ECORE_FD_ERROR,
+                                            _fd_handler_cb,
+                                            &ctxt, NULL, NULL);
    ecore_main_fd_handler_prepare_callback_set(ctxt.handler, _fd_prepare_cb, &ctxt);
    ctxt.timer = ecore_timer_add(5, _timer_cb, &ctxt);
 
    printf("Starting the main loop. Type anything and hit <enter> to "
-         "activate the fd_handler callback, or CTRL+d to shutdown.\n");
+          "activate the fd_handler callback, or CTRL+d to shutdown.\n");
 
    ecore_main_loop_begin();
 
@@ -84,3 +86,4 @@ int main(int argc, char **argv)
 
    return 0;
 }
+
index b67e04e..5635b13 100644 (file)
  * compile with gcc $(pkgconfig --cflags --libs gnutls ecore)
  */
 
-
 #define print(...) fprintf(stderr, "line %i: ", __LINE__); fprintf(stderr, __VA_ARGS__); fprintf(stderr, "\n")
 
 static int done = 0;
 
 static void
-tls_log_func (int level, const char *str)
+tls_log_func(int level, const char *str)
 {
-  fprintf(stderr, "|<%d>| %s", level, str);
+   fprintf(stderr, "|<%d>| %s", level, str);
 }
 
-static const char*
+static const char *
 SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(gnutls_handshake_description_t status)
 {
    switch (status)
      {
       case GNUTLS_HANDSHAKE_HELLO_REQUEST:
         return "Hello request";
+
       case GNUTLS_HANDSHAKE_CLIENT_HELLO:
         return "Client hello";
+
       case GNUTLS_HANDSHAKE_SERVER_HELLO:
         return "Server hello";
+
       case GNUTLS_HANDSHAKE_CERTIFICATE_PKT:
         return "Certificate packet";
+
       case GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE:
         return "Server key exchange";
+
       case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST:
         return "Certificate request";
+
       case GNUTLS_HANDSHAKE_SERVER_HELLO_DONE:
         return "Server hello done";
+
       case GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY:
         return "Certificate verify";
+
       case GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE:
         return "Client key exchange";
+
       case GNUTLS_HANDSHAKE_FINISHED:
         return "Finished";
+
       case GNUTLS_HANDSHAKE_SUPPLEMENTAL:
         return "Supplemental";
      }
@@ -59,46 +68,46 @@ SSL_GNUTLS_PRINT_HANDSHAKE_STATUS(gnutls_handshake_description_t status)
  * descriptor.
  */
 static int
-tcp_connect (void)
+tcp_connect(void)
 {
-  const char *PORT = "443";
-  const char *SERVER = "69.58.181.89"; //verisign.com
-  int err, sd;
-  int flag = 1, curstate = 0;
-  struct sockaddr_in sa;
-
-  /* sets some fd options such as nonblock */
-  sd = socket (AF_INET, SOCK_STREAM, 0);
-  fcntl(sd, F_SETFL, O_NONBLOCK);
-  fcntl(sd, F_SETFD, FD_CLOEXEC);
-  setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, (const void *)&curstate, sizeof(curstate));
-
-  setsockopt(sd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(int));
-
-  memset (&sa, '\0', sizeof (sa));
-  sa.sin_family = AF_INET;
-  sa.sin_port = htons (atoi (PORT));
-  inet_pton (AF_INET, SERVER, &sa.sin_addr);
-
-  /* connects to server
-   */
-  err = connect (sd, (struct sockaddr *) &sa, sizeof (sa));
-  if ((err < 0) && (errno != EINPROGRESS))
-    {
-      print("Connect error\n");
-      exit (1);
-    }
-
-  return sd;
+   const char *PORT = "443";
+   const char *SERVER = "69.58.181.89"; //verisign.com
+   int err, sd;
+   int flag = 1, curstate = 0;
+   struct sockaddr_in sa;
+
+   /* sets some fd options such as nonblock */
+   sd = socket(AF_INET, SOCK_STREAM, 0);
+   fcntl(sd, F_SETFL, O_NONBLOCK);
+   fcntl(sd, F_SETFD, FD_CLOEXEC);
+   setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, (const void *)&curstate, sizeof(curstate));
+
+   setsockopt(sd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(int));
+
+   memset(&sa, '\0', sizeof (sa));
+   sa.sin_family = AF_INET;
+   sa.sin_port = htons(atoi(PORT));
+   inet_pton(AF_INET, SERVER, &sa.sin_addr);
+
+   /* connects to server
+    */
+   err = connect(sd, (struct sockaddr *)&sa, sizeof (sa));
+   if ((err < 0) && (errno != EINPROGRESS))
+     {
+        print("Connect error\n");
+        exit(1);
+     }
+
+   return sd;
 }
 
 /* closes the given socket descriptor.
  */
 static void
-tcp_close (int sd)
+tcp_close(int sd)
 {
-  shutdown (sd, SHUT_RDWR);    /* no more receptions */
-  close (sd);
+   shutdown(sd, SHUT_RDWR);     /* no more receptions */
+   close(sd);
 }
 
 static Eina_Bool
@@ -106,11 +115,11 @@ _process_data(gnutls_session_t client, Ecore_Fd_Handler *fd_handler)
 {
    static int ret, lastret;
    static unsigned int count = 0;
-   
+
    if (!done)
      {
         lastret = ret;
-        ret = gnutls_handshake (client);
+        ret = gnutls_handshake(client);
         count++;
         if (gnutls_record_get_direction(client))
           ecore_main_fd_handler_active_set(fd_handler, ECORE_FD_WRITE);
@@ -131,65 +140,64 @@ _process_data(gnutls_session_t client, Ecore_Fd_Handler *fd_handler)
              print("yarrr this be an error!");
              exit(1);
           }
-        
      }
-  if (ret == GNUTLS_E_SUCCESS)
-    {
-       done = 1;
-       print("Handshake successful in %u handshake calls!", count);
-       ecore_main_loop_quit();
-    }
+   if (ret == GNUTLS_E_SUCCESS)
+     {
+        done = 1;
+        print("Handshake successful in %u handshake calls!", count);
+        ecore_main_loop_quit();
+     }
 
    return ECORE_CALLBACK_RENEW;
 }
 
 int
-main (void)
+main(void)
 {
-  /* credentials */
-  gnutls_anon_client_credentials_t c_anoncred;
-  gnutls_certificate_credentials_t c_certcred;
-  
-  gnutls_session_t client;
-  int sd;
-
-  /* General init. */
-  gnutls_global_init ();
-  ecore_init();
-  gnutls_global_set_log_function (tls_log_func);
-    gnutls_global_set_log_level (6);
-
-  /* Init client */
-  gnutls_anon_allocate_client_credentials (&c_anoncred);
-  gnutls_certificate_allocate_credentials (&c_certcred);
-  gnutls_init (&client, GNUTLS_CLIENT);
-  /* set very specific priorities */
-  gnutls_priority_set_direct(client, "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0", NULL);
-  gnutls_credentials_set (client, GNUTLS_CRD_ANON, c_anoncred);
-  gnutls_credentials_set (client, GNUTLS_CRD_CERTIFICATE, c_certcred);
-  gnutls_server_name_set(client, GNUTLS_NAME_DNS, "www.verisign.com", strlen("www.verisign.com"));
-
-
-  /* connect to the peer
-   */
-  sd = tcp_connect ();
-
-  /* associate gnutls with socket */
-  gnutls_transport_set_ptr (client, (gnutls_transport_ptr_t) sd);
-  /* add a callback for data being available for send/receive on socket */
-  if (!ecore_main_fd_handler_add(sd, ECORE_FD_READ | ECORE_FD_WRITE, (Ecore_Fd_Cb)_process_data, client, NULL, NULL))
-    {
-       print("could not create fd handler!");
-       exit(1);
-    }
-  /* begin main loop */
-  ecore_main_loop_begin();
-
-  gnutls_bye (client, GNUTLS_SHUT_RDWR);
-
-  gnutls_deinit (client);
-
-  tcp_close (sd);
-  
-  return 0;
+   /* credentials */
+   gnutls_anon_client_credentials_t c_anoncred;
+   gnutls_certificate_credentials_t c_certcred;
+
+   gnutls_session_t client;
+   int sd;
+
+   /* General init. */
+   gnutls_global_init();
+   ecore_init();
+   gnutls_global_set_log_function(tls_log_func);
+   gnutls_global_set_log_level(6);
+
+   /* Init client */
+   gnutls_anon_allocate_client_credentials(&c_anoncred);
+   gnutls_certificate_allocate_credentials(&c_certcred);
+   gnutls_init(&client, GNUTLS_CLIENT);
+   /* set very specific priorities */
+   gnutls_priority_set_direct(client, "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0", NULL);
+   gnutls_credentials_set(client, GNUTLS_CRD_ANON, c_anoncred);
+   gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, c_certcred);
+   gnutls_server_name_set(client, GNUTLS_NAME_DNS, "www.verisign.com", strlen("www.verisign.com"));
+
+   /* connect to the peer
+    */
+   sd = tcp_connect();
+
+   /* associate gnutls with socket */
+   gnutls_transport_set_ptr(client, (gnutls_transport_ptr_t)sd);
+   /* add a callback for data being available for send/receive on socket */
+   if (!ecore_main_fd_handler_add(sd, ECORE_FD_READ | ECORE_FD_WRITE, (Ecore_Fd_Cb)_process_data, client, NULL, NULL))
+     {
+        print("could not create fd handler!");
+        exit(1);
+     }
+   /* begin main loop */
+   ecore_main_loop_begin();
+
+   gnutls_bye(client, GNUTLS_SHUT_RDWR);
+
+   gnutls_deinit(client);
+
+   tcp_close(sd);
+
+   return 0;
 }
+
index c03940b..42cff6c 100644 (file)
@@ -3,7 +3,7 @@
 #include <Ecore.h>
 #include <Ecore_File.h>
 
-/* 
+/*
  * ecore_file_download() example
  *
  * compile with:
  *
  */
 
-#define URL "http://www.kernel.org/pub/linux/kernel/v1.0/linux-1.0.tar.gz"
-#define DST "linux-1.0.tar.gz"
+#define URL      "http://www.kernel.org/pub/linux/kernel/v1.0/linux-1.0.tar.gz"
+#define DST      "linux-1.0.tar.gz"
 #define DST_MIME "[x-gzip]linux-1.0.tar.gz"
 
-
 void
 completion_cb(void *data, const char *file, int status)
 {
@@ -33,8 +32,8 @@ progress_cb(void *data, const char *file,
    return ECORE_FILE_PROGRESS_CONTINUE; //  continue the download
 }
 
-
-int main(void)
+int
+main(void)
 {
    double start;
    Eina_Hash *headers;
@@ -74,7 +73,7 @@ int main(void)
    else
      {
         printf("Error, can't start download\n");
-        goto done; 
+        goto done;
      }
 
 done:
@@ -84,3 +83,4 @@ done:
    eina_shutdown();
    return 0;
 }
+
index 371ca5b..11b3397 100644 (file)
@@ -1,13 +1,14 @@
 #include <Ecore.h>
 #include <unistd.h>
 
-struct context { // helper struct to give some context to the callbacks
-     int count;
-     Ecore_Idle_Enterer *enterer;
-     Ecore_Idler *idler;
-     Ecore_Idle_Exiter *exiter;
-     Ecore_Event_Handler *handler;
-     Ecore_Timer *timer;
+struct context   // helper struct to give some context to the callbacks
+{
+   int                  count;
+   Ecore_Idle_Enterer  *enterer;
+   Ecore_Idler         *idler;
+   Ecore_Idle_Exiter   *exiter;
+   Ecore_Event_Handler *handler;
+   Ecore_Timer         *timer;
 };
 
 static _event_type = 0; // a new type of event will be defined and stored here
@@ -53,21 +54,21 @@ _event_handler_cb(void *data, int type, void *event) // event callback
 
    if (ctxt->count > 100)
      {
-       ecore_idle_enterer_del(ctxt->enterer);
-       ecore_idle_exiter_del(ctxt->exiter);
-       ecore_idler_del(ctxt->idler);
+        ecore_idle_enterer_del(ctxt->enterer);
+        ecore_idle_exiter_del(ctxt->exiter);
+        ecore_idler_del(ctxt->idler);
 
-       ctxt->enterer = NULL;
-       ctxt->exiter = NULL;
-       ctxt->idler = NULL;
+        ctxt->enterer = NULL;
+        ctxt->exiter = NULL;
+        ctxt->idler = NULL;
 
-       if (ctxt->timer)
-         {
-            ecore_timer_del(ctxt->timer);
-            ctxt->timer = NULL;
-         }
+        if (ctxt->timer)
+          {
+             ecore_timer_del(ctxt->timer);
+             ctxt->timer = NULL;
+          }
 
-       ecore_main_loop_quit();
+        ecore_main_loop_quit();
      }
 
    return ECORE_CALLBACK_DONE; // same as EINA_FALSE
@@ -85,14 +86,15 @@ _timer_cb(void *data)
    return ECORE_CALLBACK_CANCEL; // same as EINA_FALSE
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    struct context ctxt = {0};
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    _event_type = ecore_event_type_new();
@@ -101,8 +103,8 @@ int main(int argc, char **argv)
    ctxt.exiter = ecore_idle_exiter_add(_exiter_cb, &ctxt);
    ctxt.idler = ecore_idler_add(_idler_cb, &ctxt);
    ctxt.handler = ecore_event_handler_add(_event_type,
-                                         _event_handler_cb,
-                                         &ctxt);
+                                          _event_handler_cb,
+                                          &ctxt);
    ctxt.timer = ecore_timer_add(0.0005, _timer_cb, &ctxt);
 
    ecore_main_loop_begin();
@@ -110,3 +112,4 @@ int main(int argc, char **argv)
 
    return 0;
 }
+
index b0f43e5..c2d02a0 100644 (file)
@@ -17,17 +17,18 @@ typedef struct _Entry Entry;
 
 struct _Entry
 {
-   Evas_Object *rect;
-   Evas_Object *txt_obj;
-   Evas_Textblock_Style *txt_style;
+   Evas_Object           *rect;
+   Evas_Object           *txt_obj;
+   Evas_Textblock_Style  *txt_style;
    Evas_Textblock_Cursor *cursor;
    Evas_Textblock_Cursor *preedit_start;
    Evas_Textblock_Cursor *preedit_end;
-   Ecore_IMF_Context *imf_context;
-   Eina_Bool have_preedit : 1;
+   Ecore_IMF_Context     *imf_context;
+   Eina_Bool              have_preedit : 1;
 };
 
-static void _mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
+static void
+_mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
 {
    Entry *en = data;
    if (!en) return;
@@ -35,7 +36,8 @@ static void _mouse_up_cb(void *data, Evas *e, Evas_Object *o, void *event_info)
    evas_object_focus_set(en->rect, EINA_TRUE);
 }
 
-static void _entry_focus_in_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void
+_entry_focus_in_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
    Entry *en = data;
    if (!en) return;
@@ -44,7 +46,8 @@ static void _entry_focus_in_cb(void *data, Evas *e, Evas_Object *obj, void *even
      ecore_imf_context_focus_in(en->imf_context);
 }
 
-static void _entry_focus_out_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void
+_entry_focus_out_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
    Entry *en = data;
    if (!en) return;
@@ -89,10 +92,11 @@ _imf_cursor_info_set(Entry *en)
    cursor_pos = evas_textblock_cursor_pos_get(en->cursor);
 
    ecore_imf_context_cursor_position_set(en->imf_context, cursor_pos);
-   ecore_imf_context_cursor_location_set(en->imf_context, x+cx, y+cy, cw, ch);
+   ecore_imf_context_cursor_location_set(en->imf_context, x + cx, y + cy, cw, ch);
 }
 
-static void _preedit_del(Entry *en)
+static void
+_preedit_del(Entry *en)
 {
    if (!en || !en->have_preedit) return;
    if (!en->preedit_start || !en->preedit_end) return;
@@ -165,7 +169,8 @@ _ecore_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx, void
    evas_textblock_cursor_free(del_end);
 }
 
-static void _ecore_imf_event_commit_cb (void *data, Ecore_IMF_Context *ctx, void *event_info)
+static void
+_ecore_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
 {
    Entry *en = data;
    char *commit_str = (char *)event_info;
@@ -175,7 +180,7 @@ static void _ecore_imf_event_commit_cb (void *data, Ecore_IMF_Context *ctx, void
    _preedit_del(en);
    _preedit_clear(en);
 
-   printf ("commit string : %s\n", commit_str);
+   printf("commit string : %s\n", commit_str);
 
    evas_object_textblock_text_markup_prepend(en->cursor, commit_str);
 
@@ -185,7 +190,8 @@ static void _ecore_imf_event_commit_cb (void *data, Ecore_IMF_Context *ctx, void
    return;
 }
 
-static void _ecore_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
+static void
+_ecore_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx, void *event_info)
 {
    /* example how to get preedit string */
    Entry *en = data;
@@ -194,7 +200,7 @@ static void _ecore_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *c
    Eina_List *attrs = NULL;
    Eina_List *l;
    Ecore_IMF_Preedit_Attr *attr;
-   Ecore_IMF_Context * imf_context = ctx;
+   Ecore_IMF_Context *imf_context = ctx;
    int preedit_start_pos, preedit_end_pos;
    int i;
    Eina_Bool preedit_end_state = EINA_FALSE;
@@ -263,7 +269,8 @@ static void _ecore_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *c
    /* notify cursor information */
    _imf_cursor_info_set(en);
 
-   EINA_LIST_FREE(attrs, attr) free(attr);
+   EINA_LIST_FREE(attrs, attr)
+     free(attr);
 
    free(preedit_string);
 }
@@ -304,8 +311,8 @@ _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 
         return;
      }
-   else if (!strcmp(ev->key, "Delete") || 
-                   (!strcmp(ev->key, "KP_Delete") && !ev->string))
+   else if (!strcmp(ev->key, "Delete") ||
+            (!strcmp(ev->key, "KP_Delete") && !ev->string))
      {
         // FILLME
      }
@@ -350,7 +357,7 @@ _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
      }
    else
      {
-        if (ev->string) 
+        if (ev->string)
           {
              printf("key down string : %s\n", ev->string);
              evas_object_textblock_text_markup_prepend(en->cursor, ev->string);
@@ -403,9 +410,9 @@ create_input_field(Evas *evas, Entry *en, Evas_Coord x, Evas_Coord y, Evas_Coord
 
    /* set style on textblock */
    static const char *style_buf =
-      "DEFAULT='font=Sans font_size=30 color=#000 text_class=entry'"
-      "newline='br'"
-      "b='+ font=Sans:style=bold'";
+     "DEFAULT='font=Sans font_size=30 color=#000 text_class=entry'"
+     "newline='br'"
+     "b='+ font=Sans:style=bold'";
    en->txt_style = evas_textblock_style_new();
    evas_textblock_style_set(en->txt_style, style_buf);
    evas_object_textblock_style_set(en->txt_obj, en->txt_style);
@@ -414,7 +421,7 @@ create_input_field(Evas *evas, Entry *en, Evas_Coord x, Evas_Coord y, Evas_Coord
    en->cursor = evas_object_textblock_cursor_new(en->txt_obj);
 
    /* create input context */
-   const chardefault_id = ecore_imf_context_default_id_get();
+   const char *default_id = ecore_imf_context_default_id_get();
    if (!default_id)
      return;
 
@@ -493,13 +500,14 @@ delete_input_field(Entry *en)
      }
 }
 
-int main(int argc, char *argv[])
+int
+main(int argc, char *argv[])
 {
-   Ecore_Evasee;
-   Evasevas;
+   Ecore_Evas *ee;
+   Evas *evas;
    Entry en1, en2;
 
-   if (!ecore_evas_init()) 
+   if (!ecore_evas_init())
      {
         fprintf(stderr, "failed to call ecore_evas_init()\n");
         return EXIT_FAILURE;
@@ -510,7 +518,7 @@ int main(int argc, char *argv[])
    // create a new window, with size=480x800 and default engine
    ee = ecore_evas_new(NULL, 0, 0, 480, 800, NULL);
 
-   if (!ee) 
+   if (!ee)
      {
         fprintf(stderr, "failed to call ecore_evas_new\n");
         return EXIT_FAILURE;
@@ -520,14 +528,14 @@ int main(int argc, char *argv[])
 
    // get the canvas off just-created window
    evas = ecore_evas_get(ee);
-   if (!evas) 
+   if (!evas)
      {
         fprintf(stderr, "failed to ccall ecore_evas_get\n");
         return EXIT_FAILURE;
      }
 
    // create input field rectangle
-   Evas_Objectbg = evas_object_rectangle_add(evas);
+   Evas_Object *bg = evas_object_rectangle_add(evas);
    evas_object_move(bg, 0, 0);
    evas_object_resize(bg, 480, 800);
    evas_object_color_set(bg, 255, 255, 255, 255);
@@ -560,3 +568,4 @@ int main(int argc, char *argv[])
 
    return 0;
 }
+
index 1d28b7b..561a851 100644 (file)
@@ -15,7 +15,8 @@ _job_quit_cb(void *data)
    ecore_main_loop_quit();
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    Ecore_Job *job1, *job2, *job3, *job_quit;
    char *str1 = "Job 1 started.";
@@ -24,8 +25,8 @@ int main(int argc, char **argv)
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    job1 = ecore_job_add(_job_print_cb, str1);
@@ -37,12 +38,13 @@ int main(int argc, char **argv)
 
    if (job2)
      {
-       char *str;
-       str = ecore_job_del(job2);
-       job2 = NULL;
-       printf("Deleted job 2. Its data was: \"%s\"\n", str);
+        char *str;
+        str = ecore_job_del(job2);
+        job2 = NULL;
+        printf("Deleted job 2. Its data was: \"%s\"\n", str);
      }
 
    ecore_main_loop_begin();
    ecore_shutdown();
 }
+
index 590d957..072aade 100644 (file)
 
 static int nbr = 0;
 
-static GstElement *_buid_pipeline (gchar *filename, Ecore_Pipe *pipe);
+static GstElement *_buid_pipeline(gchar *filename, Ecore_Pipe *pipe);
 
-static void new_decoded_pad_cb (GstElement *demuxer,
-                                GstPad     *new_pad,
-                                gpointer    user_data);
+static void        new_decoded_pad_cb(GstElement *demuxer,
+                                      GstPad *new_pad,
+                                      gpointer user_data);
 
-static void handler(void *data, void *buf, unsigned int len)
+static void
+handler(void *data, void *buf, unsigned int len)
 {
-  GstBuffer  *buffer = *((GstBuffer **)buf);
+   GstBuffer *buffer = *((GstBuffer **)buf);
 
-  printf ("handler : %p\n", buffer);
-  printf ("frame  : %d %p %lld %p\n", nbr++, data, (long long)GST_BUFFER_DURATION(buffer), buffer);
-  gst_buffer_unref (buffer);
+   printf("handler : %p\n", buffer);
+   printf("frame  : %d %p %lld %p\n", nbr++, data, (long long)GST_BUFFER_DURATION(buffer), buffer);
+   gst_buffer_unref(buffer);
 }
 
-
-static void handoff (GstElement* object,
-                     GstBuffer* arg0,
-                     GstPad* arg1,
-                     gpointer user_data)
+static void
+handoff(GstElement *object,
+        GstBuffer *arg0,
+        GstPad *arg1,
+        gpointer user_data)
 {
-  Ecore_Pipe *pipe;
+   Ecore_Pipe *pipe;
 
-  pipe = (Ecore_Pipe *)user_data;
-  printf ("handoff : %p\n", arg0);
-  gst_buffer_ref (arg0);
-  ecore_pipe_write(pipe, &arg0, sizeof(arg0));
+   pipe = (Ecore_Pipe *)user_data;
+   printf("handoff : %p\n", arg0);
+   gst_buffer_ref(arg0);
+   ecore_pipe_write(pipe, &arg0, sizeof(arg0));
 }
 
 int
-main (int argc, char *argv[])
+main(int argc, char *argv[])
 {
-  GstElement *pipeline;
-  char *filename;
-  Ecore_Pipe *pipe;
-
-  gst_init (&argc, &argv);
-
-  if (!ecore_init ())
-    {
-      gst_deinit ();
-      return 0;
-    }
-
-  pipe = ecore_pipe_add (handler);
-  if (!pipe)
-    {
-      ecore_shutdown ();
-      gst_deinit ();
-      return 0;
-    }
-
-  if (argc < 2) {
-    g_print ("usage: %s file.avi\n", argv[0]);
-    ecore_pipe_del (pipe);
-    ecore_shutdown ();
-    gst_deinit ();
-    return 0;
-  }
-  filename = argv[1];
-
-  pipeline = _buid_pipeline (filename, pipe);
-  if (!pipeline) {
-    g_print ("Error during the pipeline building\n");
-    ecore_pipe_del (pipe);
-    ecore_shutdown ();
-    gst_deinit ();
-    return -1;
-  }
-
-  gst_element_set_state (pipeline, GST_STATE_PLAYING);
-
-  ecore_main_loop_begin();
-
-  ecore_pipe_del (pipe);
-  ecore_shutdown ();
-  gst_deinit ();
-
-  return 0;
+   GstElement *pipeline;
+   char *filename;
+   Ecore_Pipe *pipe;
+
+   gst_init(&argc, &argv);
+
+   if (!ecore_init())
+     {
+        gst_deinit();
+        return 0;
+     }
+
+   pipe = ecore_pipe_add(handler);
+   if (!pipe)
+     {
+        ecore_shutdown();
+        gst_deinit();
+        return 0;
+     }
+
+   if (argc < 2)
+     {
+        g_print("usage: %s file.avi\n", argv[0]);
+        ecore_pipe_del(pipe);
+        ecore_shutdown();
+        gst_deinit();
+        return 0;
+     }
+   filename = argv[1];
+
+   pipeline = _buid_pipeline(filename, pipe);
+   if (!pipeline)
+     {
+        g_print("Error during the pipeline building\n");
+        ecore_pipe_del(pipe);
+        ecore_shutdown();
+        gst_deinit();
+        return -1;
+     }
+
+   gst_element_set_state(pipeline, GST_STATE_PLAYING);
+
+   ecore_main_loop_begin();
+
+   ecore_pipe_del(pipe);
+   ecore_shutdown();
+   gst_deinit();
+
+   return 0;
 }
 
 static void
-new_decoded_pad_cb (GstElement *demuxer,
-                    GstPad     *new_pad,
-                    gpointer    user_data)
+new_decoded_pad_cb(GstElement *demuxer,
+                   GstPad *new_pad,
+                   gpointer user_data)
 {
-  GstElement *decoder;
-  GstPad *pad;
-  GstCaps *caps;
-  gchar *str;
-
-  caps = gst_pad_get_caps (new_pad);
-  str = gst_caps_to_string (caps);
-
-  if (g_str_has_prefix (str, "video/")) {
-    decoder = GST_ELEMENT (user_data);
-
-    pad = gst_element_get_pad (decoder, "sink");
-    if (GST_PAD_LINK_FAILED (gst_pad_link (new_pad, pad))) {
-      g_warning ("Failed to link %s:%s to %s:%s", GST_DEBUG_PAD_NAME (new_pad),
-                 GST_DEBUG_PAD_NAME (pad));
-    }
-  }
-  g_free (str);
-  gst_caps_unref (caps);
+   GstElement *decoder;
+   GstPad *pad;
+   GstCaps *caps;
+   gchar *str;
+
+   caps = gst_pad_get_caps(new_pad);
+   str = gst_caps_to_string(caps);
+
+   if (g_str_has_prefix(str, "video/"))
+     {
+        decoder = GST_ELEMENT(user_data);
+
+        pad = gst_element_get_pad(decoder, "sink");
+        if (GST_PAD_LINK_FAILED(gst_pad_link(new_pad, pad)))
+          {
+             g_warning("Failed to link %s:%s to %s:%s", GST_DEBUG_PAD_NAME(new_pad),
+                       GST_DEBUG_PAD_NAME(pad));
+          }
+     }
+   g_free(str);
+   gst_caps_unref(caps);
 }
 
 static GstElement
-_buid_pipeline (gchar *filename, Ecore_Pipe *pipe)
+_buid_pipeline(gchar *filename, Ecore_Pipe *pipe)
 {
-  GstElement          *pipeline;
-  GstElement          *filesrc;
-  GstElement          *demuxer;
-  GstElement          *decoder;
-  GstElement          *sink;
-  GstStateChangeReturn res;
-
-  pipeline = gst_pipeline_new ("pipeline");
-  if (!pipeline)
-    return NULL;
-
-  filesrc = gst_element_factory_make ("filesrc", "filesrc");
-  if (!filesrc) {
-    printf ("no filesrc");
-    goto failure;
-  }
-  g_object_set (G_OBJECT (filesrc), "location", filename, NULL);
-
-  demuxer = gst_element_factory_make ("oggdemux", "demuxer");
-  if (!demuxer) {
-    printf ("no demux");
-    goto failure;
-  }
-
-  decoder = gst_element_factory_make ("theoradec", "decoder");
-  if (!decoder) {
-    printf ("no dec");
-    goto failure;
-  }
-
-  g_signal_connect (demuxer, "pad-added",
-                    G_CALLBACK (new_decoded_pad_cb), decoder);
-
-  sink = gst_element_factory_make ("fakesink", "sink");
-  if (!sink) {
-    printf ("no sink");
-    goto failure;
-  }
-  g_object_set (G_OBJECT (sink), "sync", EINA_TRUE, NULL);
-  g_object_set (G_OBJECT (sink), "signal-handoffs", EINA_TRUE, NULL);
-  g_signal_connect (sink, "handoff",
-                    G_CALLBACK (handoff), pipe);
-
-  gst_bin_add_many (GST_BIN (pipeline),
+   GstElement *pipeline;
+   GstElement *filesrc;
+   GstElement *demuxer;
+   GstElement *decoder;
+   GstElement *sink;
+   GstStateChangeReturn res;
+
+   pipeline = gst_pipeline_new("pipeline");
+   if (!pipeline)
+     return NULL;
+
+   filesrc = gst_element_factory_make("filesrc", "filesrc");
+   if (!filesrc)
+     {
+        printf("no filesrc");
+        goto failure;
+     }
+   g_object_set(G_OBJECT(filesrc), "location", filename, NULL);
+
+   demuxer = gst_element_factory_make("oggdemux", "demuxer");
+   if (!demuxer)
+     {
+        printf("no demux");
+        goto failure;
+     }
+
+   decoder = gst_element_factory_make("theoradec", "decoder");
+   if (!decoder)
+     {
+        printf("no dec");
+        goto failure;
+     }
+
+   g_signal_connect(demuxer, "pad-added",
+                    G_CALLBACK(new_decoded_pad_cb), decoder);
+
+   sink = gst_element_factory_make("fakesink", "sink");
+   if (!sink)
+     {
+        printf("no sink");
+        goto failure;
+     }
+   g_object_set(G_OBJECT(sink), "sync", EINA_TRUE, NULL);
+   g_object_set(G_OBJECT(sink), "signal-handoffs", EINA_TRUE, NULL);
+   g_signal_connect(sink, "handoff",
+                    G_CALLBACK(handoff), pipe);
+
+   gst_bin_add_many(GST_BIN(pipeline),
                     filesrc, demuxer, decoder, sink, NULL);
 
-  if (!gst_element_link (filesrc, demuxer))
-    goto failure;
-  if (!gst_element_link (decoder, sink))
-    goto failure;
+   if (!gst_element_link(filesrc, demuxer))
+     goto failure;
+   if (!gst_element_link(decoder, sink))
+     goto failure;
 
-  res = gst_element_set_state (pipeline, GST_STATE_PAUSED);
-  if (res == GST_STATE_CHANGE_FAILURE)
-    goto failure;
+   res = gst_element_set_state(pipeline, GST_STATE_PAUSED);
+   if (res == GST_STATE_CHANGE_FAILURE)
+     goto failure;
 
-  res = gst_element_get_state( pipeline, NULL, NULL, GST_CLOCK_TIME_NONE );
-  if (res != GST_STATE_CHANGE_SUCCESS)
-    goto failure;
+   res = gst_element_get_state(pipeline, NULL, NULL, GST_CLOCK_TIME_NONE);
+   if (res != GST_STATE_CHANGE_SUCCESS)
+     goto failure;
 
-  return pipeline;
+   return pipeline;
 
- failure:
-  gst_object_unref (GST_OBJECT (pipeline));
-  return NULL;
+failure:
+   gst_object_unref(GST_OBJECT(pipeline));
+   return NULL;
 }
+
index 83cb5f7..67bd4e7 100644 (file)
@@ -14,7 +14,7 @@ do_lengthy_task(Ecore_Pipe *pipe)
         sleep(1);
         buffer = malloc(sizeof(char) * i);
         for (j = 0; j < i; j++)
-           buffer[j] = 'a' + j;
+          buffer[j] = 'a' + j;
         ecore_pipe_write(pipe, buffer, i);
         free(buffer);
      }
@@ -28,7 +28,7 @@ handler(void *data, void *buf, unsigned int len)
    memcpy(str, buf, len);
    str[len] = '\0';
    printf("received %d bytes\n", len);
-   printf("content: %s\n", (const char*)str);
+   printf("content: %s\n", (const char *)str);
    free(str);
    if (len && !strncmp(buf, "close", len < 5 ? len : 5))
      {
@@ -38,7 +38,7 @@ handler(void *data, void *buf, unsigned int len)
 }
 
 int
-main (int argc, char *argv[])
+main(int argc, char *argv[])
 {
    Ecore_Pipe *pipe;
    pid_t child_pid;
@@ -64,3 +64,4 @@ main (int argc, char *argv[])
 
    return 0;
 }
+
index a66c069..0e246de 100644 (file)
@@ -8,12 +8,13 @@ _poller_print_cb(void *data)
 {
    char *str = data;
    printf("Ecore Poller '%s' callback called after %0.3f seconds.\n",
-         str, ecore_time_get() - _initial_time);
+          str, ecore_time_get() - _initial_time);
 
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    double interval = 0.3; // tick each 0.3 seconds
    Ecore_Poller *poller1, *poller2;
@@ -22,8 +23,8 @@ int main(int argc, char **argv)
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    _initial_time = ecore_time_get();
@@ -45,3 +46,4 @@ int main(int argc, char **argv)
 
    ecore_shutdown();
 }
+
index db0020c..1f9b63a 100644 (file)
@@ -29,7 +29,8 @@ _del(void *data, int type, Ecore_Con_Event_Client_Del *ev)
    return ECORE_CALLBACK_RENEW;
 }
 
-int main(int argc, const char *argv[])
+int
+main(int argc, const char *argv[])
 {
    ecore_init();
    ecore_con_init();
@@ -37,15 +38,14 @@ int main(int argc, const char *argv[])
    eina_log_domain_level_set("ecore_con", EINA_LOG_LEVEL_ERR);
    eina_log_domain_level_set("eina", EINA_LOG_LEVEL_ERR);
 
-
 /* to use a PEM certificate with TLS and SSL3, uncomment the lines below */
 //   if (!(svr = ecore_con_server_add(ECORE_CON_REMOTE_NODELAY | ECORE_CON_USE_MIXED | ECORE_CON_LOAD_CERT, "127.0.0.1", 8080, NULL)))
 
 /* to use simple tcp with ssl/tls, use this line */
-   svr = ecore_con_server_add(ECORE_CON_REMOTE_NODELAY , "127.0.0.1", 8080, NULL);
+   svr = ecore_con_server_add(ECORE_CON_REMOTE_NODELAY, "127.0.0.1", 8080, NULL);
    if (!svr)
      exit(1);
-     
+
    ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_ADD, (Ecore_Event_Handler_Cb)_add, NULL);
    ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_DEL, (Ecore_Event_Handler_Cb)_del, NULL);
 
@@ -60,3 +60,4 @@ int main(int argc, const char *argv[])
      }
    return 0;
 }
+
index 7028b25..f02d007 100644 (file)
@@ -9,10 +9,10 @@
 
 typedef struct
 {
-   Ecore_Thread *thread_3;
-   int msgs_received;
-   int max_msgs;
-   Eina_Lock mutex;
+   Ecore_Thread  *thread_3;
+   int            msgs_received;
+   int            max_msgs;
+   Eina_Lock      mutex;
    Eina_Condition condition;
 } App_Data;
 
@@ -23,14 +23,14 @@ typedef struct
 
 typedef struct
 {
-   char *name;
-   char *base;
+   char     *name;
+   char     *base;
    Eina_Lock mutex;
 } Feedback_Thread_Data;
 
 typedef struct
 {
-   int all_done;
+   int        all_done;
    Eina_List *list;
 } App_Msg;
 
@@ -288,11 +288,11 @@ main(int argc, char *argv[])
    Eina_List *path_list = NULL;
    App_Data appdata;
    Ecore_Getopt_Value values[] = {
-        ECORE_GETOPT_VALUE_INT(max_threads),
-        ECORE_GETOPT_VALUE_INT(max_msgs),
-        ECORE_GETOPT_VALUE_LIST(path_list),
-        ECORE_GETOPT_VALUE_BOOL(opt_quit),
-        ECORE_GETOPT_VALUE_NONE
+      ECORE_GETOPT_VALUE_INT(max_threads),
+      ECORE_GETOPT_VALUE_INT(max_msgs),
+      ECORE_GETOPT_VALUE_LIST(path_list),
+      ECORE_GETOPT_VALUE_BOOL(opt_quit),
+      ECORE_GETOPT_VALUE_NONE
    };
 
    ecore_init();
@@ -392,3 +392,4 @@ main(int argc, char *argv[])
 
    return 0;
 }
+
index 5fa5d60..d742c8b 100644 (file)
@@ -18,15 +18,17 @@ _timer_cb(void *data)
    return EINA_FALSE;
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    ecore_timer_add(0.1, _timer_cb, NULL);
    ecore_main_loop_begin();
    ecore_shutdown();
 }
+
index 2d5d368..bafeacb 100644 (file)
@@ -9,20 +9,21 @@
 #define TIMEOUT_6 18.0 // top timer1 and start timer7 and timer8 with changed precision
 #define TIMEOUT_7 1.1 // interval for timer7
 #define TIMEOUT_8 1.2 // interval for timer8
-#define DELAY_1 3.0 // delay time for timer1 - used by timer2
+#define DELAY_1   3.0 // delay time for timer1 - used by timer2
 #define INTERVAL1 2.0 // new interval for timer1 - used by timer5
 
 static double _initial_time = 0;
 
-struct context { // helper struct to give some context to the callbacks
-     Ecore_Timer *timer1;
-     Ecore_Timer *timer2;
-     Ecore_Timer *timer3;
-     Ecore_Timer *timer4;
-     Ecore_Timer *timer5;
-     Ecore_Timer *timer6;
-     Ecore_Timer *timer7;
-     Ecore_Timer *timer8;
+struct context   // helper struct to give some context to the callbacks
+{
+   Ecore_Timer *timer1;
+   Ecore_Timer *timer2;
+   Ecore_Timer *timer3;
+   Ecore_Timer *timer4;
+   Ecore_Timer *timer5;
+   Ecore_Timer *timer6;
+   Ecore_Timer *timer7;
+   Ecore_Timer *timer8;
 };
 
 static double
@@ -43,8 +44,8 @@ _timer2_cb(void *data)
 {
    struct context *ctxt = data;
    printf("Timer2 expired after %0.3f seconds. "
-         "Adding delay of %0.3f seconds to timer1.\n",
-         _get_current_time(), DELAY_1);
+          "Adding delay of %0.3f seconds to timer1.\n",
+          _get_current_time(), DELAY_1);
 
    ecore_timer_delay(ctxt->timer1, DELAY_1);
 
@@ -57,7 +58,7 @@ _timer3_cb(void *data)
 {
    struct context *ctxt = data;
    printf("Timer3 expired after %0.3f seconds. "
-         "Freezing timer1.\n", _get_current_time());
+          "Freezing timer1.\n", _get_current_time());
 
    ecore_timer_freeze(ctxt->timer1);
 
@@ -70,8 +71,8 @@ _timer4_cb(void *data)
 {
    struct context *ctxt = data;
    printf("Timer4 expired after %0.3f seconds. "
-         "Resuming timer1, which has %0.3f seconds left to expire.\n",
-         _get_current_time(), ecore_timer_pending_get(ctxt->timer1));
+          "Resuming timer1, which has %0.3f seconds left to expire.\n",
+          _get_current_time(), ecore_timer_pending_get(ctxt->timer1));
 
    ecore_timer_thaw(ctxt->timer1);
 
@@ -86,8 +87,8 @@ _timer5_cb(void *data)
    double interval = ecore_timer_interval_get(ctxt->timer1);
 
    printf("Timer5 expired after %0.3f seconds. "
-         "Changing interval of timer1 from %0.3f to %0.3f seconds.\n",
-         _get_current_time(), interval, INTERVAL1);
+          "Changing interval of timer1 from %0.3f to %0.3f seconds.\n",
+          _get_current_time(), interval, INTERVAL1);
 
    ecore_timer_interval_set(ctxt->timer1, INTERVAL1);
 
@@ -127,7 +128,7 @@ _timer6_cb(void *data)
    ctxt->timer1 = NULL;
 
    printf("Starting timer7 (%0.3fs) and timer8 (%0.3fs).\n",
-         TIMEOUT_7, TIMEOUT_8);
+          TIMEOUT_7, TIMEOUT_8);
 
    ctxt->timer7 = ecore_timer_add(TIMEOUT_7, _timer7_cb, ctxt);
    ctxt->timer8 = ecore_timer_add(TIMEOUT_8, _timer8_cb, ctxt);
@@ -138,14 +139,15 @@ _timer6_cb(void *data)
    return ECORE_CALLBACK_CANCEL;
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    struct context ctxt = {0};
 
    if (!ecore_init())
      {
-       printf("ERROR: Cannot init Ecore!\n");
-       return -1;
+        printf("ERROR: Cannot init Ecore!\n");
+        return -1;
      }
 
    _initial_time = ecore_time_get();
@@ -182,3 +184,4 @@ int main(int argc, char **argv)
 
    return 0;
 }
+
index f283849..ef79a21 100644 (file)
    @li @ref Ecore_Con_Group
    @li @ref Ecore_Evas_Group
    @li @ref Ecore_FB_Group
+   @li @ref Ecore_IMF_Lib_Group
+   @li @ref Ecore_IMF_Context_Group
+   @li @ref Ecore_IMF_Context_Module_Group
+   @li @ref Ecore_IMF_Evas_Group
    @li @link Ecore_Ipc.h    Ecore_IPC - Inter Process Communication functions. @endlink
    @li @link Ecore_X.h      Ecore_X - X Windows System wrapper. @endlink
    @li @ref Ecore_Win32_Group
@@ -396,7 +400,7 @@ EAPI int ecore_shutdown(void);
  */
 
 #define ECORE_VERSION_MAJOR 1
-#define ECORE_VERSION_MINOR 2
+#define ECORE_VERSION_MINOR 6
 
 typedef struct _Ecore_Version
 {
@@ -930,8 +934,8 @@ struct _Ecore_Exe_Event_Del    /** Process exit event */
 
 struct _Ecore_Exe_Event_Data_Line    /**< Lines from a child process */
 {
-   char *line;
-   int   size;
+   char *line; /**< The bytes of a line of buffered data */
+   int   size; /**< The size of the line buffer in bytes */
 };
 
 struct _Ecore_Exe_Event_Data    /** Data from a child process event */
@@ -1047,7 +1051,7 @@ typedef Eina_Bool (*Ecore_Win32_Handle_Cb)(void *data, Ecore_Win32_Handler *wh);
  *
  * @param fd The file descriptor to watch.
  * @param flags To monitor it for reading use @c ECORE_FD_READ, for writing @c
- * ECORE_FD_WRITE, and for error @c ECORE_FD_ERROR. Values bay |(ored).
+ * ECORE_FD_WRITE, and for error @c ECORE_FD_ERROR. Values by |(ored).
  * @param func The callback function.
  * @param data The data to pass to the callback.
  * @param buf_func The function to call to check if any data has been buffered
index 55462a8..7cc4b0f 100644 (file)
@@ -487,8 +487,14 @@ ecore_exe_pipe_run(const char     *exe_cmd,
       {
          if (run_pri != ECORE_EXE_PRIORITY_INHERIT)
          {
+#ifdef PRIO_PROCESS            
             if ((run_pri >= -20) && (run_pri <= 19))
               setpriority(PRIO_PROCESS, 0, run_pri);
+#else
+#warning "Your OS/libc does not provide PRIO_PROCESS (and possibly setpriority())"
+#warning "This is a POSIX-1.2001 standard and it is highly encouraged that you"
+#warning "Have support for this"
+#endif
          }
          /* dup2 STDERR, STDIN, and STDOUT.  dup2() allegedly closes the
           * second pipe if it's open. On the other hand, there was the
index 15facc3..b5b6e6d 100644 (file)
@@ -277,7 +277,7 @@ unlock:
  * This doesn't affect the interval of a timer.
  *
  * @param   timer The timer to change.
- * @param   add   The dalay to add to the next iteration.
+ * @param   add   The delay to add to the next iteration.
  */
 EAPI void
 ecore_timer_delay(Ecore_Timer *timer,
index b9b8a68..b4e01cb 100644 (file)
@@ -1432,7 +1432,10 @@ _ecore_con_cb_tcp_listen(void           *data,
 
    errno = 0;
    if (!net_info) /* error message has already been handled */
-     goto error;
+     {
+        svr->delete_me = EINA_TRUE;
+        goto error;
+     }
 
    svr->fd = socket(net_info->info.ai_family, net_info->info.ai_socktype,
                     net_info->info.ai_protocol);
@@ -1499,7 +1502,10 @@ _ecore_con_cb_udp_listen(void           *data,
 
    errno = 0;
    if (!net_info) /* error message has already been handled */
-     goto error;
+     {
+        svr->delete_me = EINA_TRUE;
+        goto error;
+     }
 
    svr->fd = socket(net_info->info.ai_family, net_info->info.ai_socktype,
                     net_info->info.ai_protocol);
@@ -1572,7 +1578,10 @@ _ecore_con_cb_tcp_connect(void           *data,
 
    errno = 0;
    if (!net_info) /* error message has already been handled */
-     goto error;
+     {
+        svr->delete_me = EINA_TRUE;
+        goto error;
+     }
 
    svr->fd = socket(net_info->info.ai_family, net_info->info.ai_socktype,
                     net_info->info.ai_protocol);
@@ -1662,7 +1671,10 @@ _ecore_con_cb_udp_connect(void           *data,
 
    errno = 0;
    if (!net_info) /* error message has already been handled */
-     goto error;
+     {
+        svr->delete_me = EINA_TRUE;
+        goto error;
+     }
 
    svr->fd = socket(net_info->info.ai_family, net_info->info.ai_socktype,
                     net_info->info.ai_protocol);
@@ -1810,9 +1822,6 @@ _ecore_con_svr_tcp_handler(void                        *data,
    if (svr->delete_me)
      return ECORE_CALLBACK_RENEW;
 
-   if (svr->delete_me)
-     return ECORE_CALLBACK_RENEW;
-
    if ((svr->client_limit >= 0) && (!svr->reject_excess_clients) &&
        (svr->client_count >= (unsigned int)svr->client_limit))
      return ECORE_CALLBACK_RENEW;
@@ -2290,6 +2299,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl)
 
    if (!count)
      {
+        if (!cl->buf) return;
         num = eina_binbuf_length_get(cl->buf) - cl->buf_offset;
         if (num <= 0) return;
         if (!(cl->host_server->type & ECORE_CON_SSL) || (!cl->upgrade))
index 979163f..3671576 100644 (file)
 #include <string.h>
 #include <sys/types.h>
 
+#ifdef HAVE_ERRNO_H
+# include <errno.h> /* for EAGAIN */
+#endif
+
 #ifdef HAVE_NETINET_IN_H
 # include <netinet/in.h>
 #endif
index e0c351b..db42d1d 100644 (file)
@@ -669,7 +669,7 @@ EAPI Eina_Bool   ecore_evas_maximized_get(const Ecore_Evas *ee);
  * @param num_profiles The number of profile names
  *
  * @warning Support for this depends on the underlying windowing system.
- * @since 1.3.0
+ * @since 1.7.0
  */
 EAPI void        ecore_evas_profiles_set(Ecore_Evas *ee, const char **profiles, unsigned int num_profiles);
 /**
@@ -678,7 +678,7 @@ EAPI void        ecore_evas_profiles_set(Ecore_Evas *ee, const char **profiles,
  * @param ee The Ecore_Evas
  * @return The profile name
  *
- * @since 1.3.0
+ * @since 1.7.0
  */
 EAPI const char *ecore_evas_profile_get(const Ecore_Evas *ee);
 /**
@@ -1701,8 +1701,25 @@ EAPI Eina_Bool   ecore_evas_override_get(const Ecore_Evas *ee);
  * @param ee The Ecore_Evas
  * @param on The type of the damage management
  *
- * This function causes @p ee to be drawn to a pixmap to avoid recalculations.
- * On expose events it will copy from the pixmap to the window.
+ * This option causes updates of the Ecore_Evas to be done on a pixmap, and
+ * then copied to the window, or the pixmap used directly on the window,
+ * depending on the setting. Possible options are:
+ *
+ * @li @ref ECORE_EVAS_AVOID_DAMAGE_NONE - every expose event triggers a new
+ * damage and consequently render of the affected area. The rendering of things
+ * happens directly on the window;
+ *
+ * @li @ref ECORE_EVAS_AVOID_DAMAGE_EXPOSE - there's a pixmap where everything
+ * is rendered into, and then copied to the window. On expose events, there's
+ * no need to render things again, just to copy the exposed region to the
+ * window;
+ *
+ * @li @ref ECORE_EVAS_AVOID_DAMAGE_BUILT_IN - there's the same pixmap as the
+ * previous one, but it is set as a "background pixmap" of the window.  The
+ * rendered things appear directly on the window, with no need to copy
+ * anything, but would stay stored on the pixmap, so there's no need to render
+ * things again on expose events. This option can be faster than the previous
+ * one, but may lead to artifacts during resize of the window.
  */
 EAPI void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, Ecore_Evas_Avoid_Damage_Type on);
 
@@ -1784,6 +1801,7 @@ EAPI void        ecore_evas_input_event_unregister(Ecore_Evas *ee);
 EAPI void        ecore_evas_manual_render(Ecore_Evas *ee);
 EAPI void        ecore_evas_comp_sync_set(Ecore_Evas *ee, Eina_Bool do_sync);
 EAPI Eina_Bool   ecore_evas_comp_sync_get(const Ecore_Evas *ee);
+
 /**
  * @brief Get geometry of screen associated with this Ecore_Evas.
  *
@@ -1797,6 +1815,17 @@ EAPI Eina_Bool   ecore_evas_comp_sync_get(const Ecore_Evas *ee);
  */
 EAPI void        ecore_evas_screen_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
 
+/**
+ * @brief Get the dpi of the screen the Ecore_Evas is primarily on.
+ *
+ * @param ee The Ecore_Evas whose window's to query.
+ * @param xdpi Pointer to integer to store horizontal DPI. May be @c NULL.
+ * @param ydpi Pointer to integer to store vertical DPI. May be @c NULL.
+ *
+ * @since 1.7
+ */
+EAPI void        ecore_evas_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int *ydpi);
+
 EAPI void        ecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool draw_frame);
 EAPI Eina_Bool   ecore_evas_draw_frame_get(const Ecore_Evas *ee);
 
index 3828447..b100d4c 100644 (file)
@@ -69,7 +69,7 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
 }
 
 /**
- * Query if a particular renginering engine target has support
+ * Query if a particular rendering engine target has support
  * @param  engine The engine to check support for
  * @return 1 if the particular engine is supported, 0 if it is not
  *
@@ -2319,6 +2319,22 @@ ecore_evas_screen_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int
 }
 
 EAPI void
+ecore_evas_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int *ydpi)
+{
+   if (xdpi) *xdpi = 0;
+   if (ydpi) *ydpi = 0;
+   if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
+     {
+        ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
+                         "ecore_evas_screen_geometry_get");
+        return;
+     }
+
+   IFC(ee, fn_screen_dpi_get) (ee, xdpi, ydpi);
+   IFE;
+}
+
+EAPI void
 ecore_evas_draw_frame_set(Ecore_Evas *ee, Eina_Bool draw_frame)
 {
    if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
index 105021b..f15436c 100644 (file)
@@ -525,7 +525,8 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func =
      NULL,
 
      _ecore_evas_buffer_render,
-     NULL  // screen_geometry_get
+     NULL, // screen_geometry_get
+     NULL  // screen_dpi_get
 };
 #endif
 
index 016e19e..96ea1d4 100644 (file)
@@ -472,8 +472,9 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func =
      NULL,
      NULL,
 
-    NULL, // render
-    NULL
+     NULL, // render
+     NULL,
+     NULL  // screen_dpi_get
   };
 #endif
 
index 074ce67..d9fb237 100644 (file)
@@ -499,7 +499,8 @@ static Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
      NULL,
 
      NULL, // render
-     NULL  // screen_geometry_get
+     NULL, // screen_geometry_get
+     NULL  // screen_dpi_get
 };
 #endif
 
index b612830..d6969cf 100644 (file)
@@ -693,7 +693,8 @@ static const Ecore_Evas_Engine_Func _ecore_ews_engine_func =
      NULL,
 
      _ecore_evas_ews_render,
-     _ecore_evas_ews_screen_geometry_get
+     _ecore_evas_ews_screen_geometry_get,
+     NULL  // screen_dpi_get
 };
 
 void
index 64e7351..ff8db45 100644 (file)
@@ -1119,7 +1119,7 @@ static const Ecore_Evas_Engine_Func _ecore_extn_plug_engine_func =
    NULL,
    NULL,
    NULL, //transparent
-
+   NULL, // profiles_set
    NULL,
    NULL,
    NULL,
@@ -1128,7 +1128,8 @@ static const Ecore_Evas_Engine_Func _ecore_extn_plug_engine_func =
    NULL,
 
    NULL, // render
-   NULL  // screen_geometry_get
+   NULL, // screen_geometry_get
+   NULL  // screen_dpi_get
 };
 
 static Eina_Bool
@@ -2017,7 +2018,8 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func =
    NULL,
    
    _ecore_evas_extn_socket_render, // render
-   NULL  // screen_geometry_get
+   NULL,  // screen_geometry_get
+   NULL,  // screen_dpi_get
 };
 
 #endif
index f8b8b86..a8200a9 100644 (file)
@@ -561,7 +561,8 @@ static Ecore_Evas_Engine_Func _ecore_fb_engine_func =
      NULL,
 
      NULL, // render
-     NULL  // screen_geometry_get
+     NULL, // screen_geometry_get
+     NULL  // screen_dpi_get
 };
 #endif
 
index e478ad2..6d45999 100644 (file)
@@ -188,6 +188,7 @@ struct _Ecore_Evas_Engine_Func
 
    int (*fn_render) (Ecore_Evas *ee);
    void (*fn_screen_geometry_get) (const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
+   void (*fn_screen_dpi_get) (const Ecore_Evas *ee, int *xdpi, int *ydpi);
 };
 
 struct _Ecore_Evas_Engine
index 02c6a69..98d570e 100644 (file)
@@ -405,7 +405,8 @@ static Ecore_Evas_Engine_Func _ecore_psl1ght_engine_func =
    NULL,
 
    NULL, // render
-   _ecore_evas_screen_geometry_get  // screen_geometry_get
+   _ecore_evas_screen_geometry_get, // screen_geometry_get
+   NULL  // screen_dpi_get
 };
 
 EAPI Ecore_Evas *
index 1ca6f2b..da1ddbd 100644 (file)
@@ -441,7 +441,8 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func =
    NULL,
 
    NULL, // render
-   NULL  // screen_geometry_get
+   NULL, // screen_geometry_get
+   NULL  // screen_dpi_get
 };
 
 static Ecore_Evas*
@@ -642,7 +643,7 @@ ecore_evas_gl_sdl_new(const char* name, int w, int h, int fullscreen, int nofram
    if (!rmethod) return NULL;
 
    ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, 0, noframe, 0);
-   ee->driver = "gl_sdl";
+   if (ee) ee->driver = "gl_sdl";
    return ee;
 }
 #else
index b168d31..6b901a2 100644 (file)
@@ -72,7 +72,7 @@ static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha);
 static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent);
 static int _ecore_evas_wl_render(Ecore_Evas *ee);
 static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h);
-
+static void _ecore_evas_wl_screen_dpi_get(const Ecore_Evas *ee __UNUSED__, int *xdpi, int *ydpi);
 static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event);
 static Eina_Bool _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event);
 static Eina_Bool _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event);
@@ -151,7 +151,8 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func =
    NULL,
    NULL,
    _ecore_evas_wl_render, 
-   _ecore_evas_wl_screen_geometry_get
+   _ecore_evas_wl_screen_geometry_get,
+   _ecore_evas_wl_screen_dpi_get
 };
 
 /* external variables */
@@ -445,6 +446,7 @@ static void
 _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
 {
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
+   int fw = 0, fh = 0;
 
    if (!ee) return;
    if (w < 1) w = 1;
@@ -458,6 +460,10 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
    ee->req.w = w;
    ee->req.h = h;
 
+   evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
+   w += fw;
+   h += fh;
+
 //   ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h);
 
    if ((ee->w != w) || (ee->h != h))
@@ -830,6 +836,21 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int
    ecore_wl_screen_size_get(w, h);
 }
 
+static void 
+_ecore_evas_wl_screen_dpi_get(const Ecore_Evas *ee __UNUSED__, int *xdpi, int *ydpi)
+{
+   int dpi = 0;
+
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+
+   if (xdpi) *xdpi = 0;
+   if (ydpi) *ydpi = 0;
+   /* FIXME: Ideally this needs to get the DPI from a specific screen */
+   dpi = ecore_wl_dpi_get();
+   if (xdpi) *xdpi = dpi;
+   if (ydpi) *ydpi = dpi;
+}
+
 void 
 _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location)
 {
@@ -945,8 +966,8 @@ _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, v
    if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
    if ((ee->x != ev->x) || (ee->y != ev->y))
      {
-        ee->x = ev->x;
-        ee->y = ev->y;
+        /* ee->x = ev->x; */
+        /* ee->y = ev->y; */
         ee->req.x = ee->x;
         ee->req.y = ee->y;
         if (ee->func.fn_move) ee->func.fn_move(ee);
index 598182f..b9c6d18 100644 (file)
@@ -73,6 +73,7 @@ static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha);
 static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent);
 static int _ecore_evas_wl_render(Ecore_Evas *ee);
 static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h);
+static void _ecore_evas_wl_screen_dpi_get(const Ecore_Evas *ee __UNUSED__, int *xdpi, int *ydpi);
 static void _ecore_evas_wl_ensure_pool_size(Ecore_Evas *ee, int w, int h);
 static struct wl_shm_pool *_ecore_evas_wl_shm_pool_create(int size, void **data);
 
@@ -155,8 +156,9 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func =
    NULL, // modal set
    NULL, // demand attention set
    NULL, // focus skip set
-   _ecore_evas_wl_render,
-   _ecore_evas_wl_screen_geometry_get
+   _ecore_evas_wl_render, 
+   _ecore_evas_wl_screen_geometry_get,
+   _ecore_evas_wl_screen_dpi_get
 };
 
 /* external variables */
@@ -453,6 +455,7 @@ static void
 _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
 {
    Evas_Engine_Info_Wayland_Shm *einfo;
+   int fw = 0, fh = 0;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
@@ -468,6 +471,10 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
    ee->req.w = w;
    ee->req.h = h;
 
+   evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
+   w += fw;
+   h += fh;
+
    if ((ee->w != w) || (ee->h != h))
      {
         ee->w = w;
@@ -516,9 +523,9 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
 
         if (ee->engine.wl.win)
           {
+             ecore_wl_window_update_size(ee->engine.wl.win, w, h);
              ecore_wl_window_buffer_attach(ee->engine.wl.win, 
                                            ee->engine.wl.buffer, 0, 0);
-             ecore_wl_window_update_size(ee->engine.wl.win, w, h);
           }
 
         if (ee->func.fn_resize) ee->func.fn_resize(ee);
@@ -904,6 +911,21 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int
    ecore_wl_screen_size_get(w, h);
 }
 
+static void 
+_ecore_evas_wl_screen_dpi_get(const Ecore_Evas *ee __UNUSED__, int *xdpi, int *ydpi)
+{
+   int dpi = 0;
+
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+
+   if (xdpi) *xdpi = 0;
+   if (ydpi) *ydpi = 0;
+   /* FIXME: Ideally this needs to get the DPI from a specific screen */
+   dpi = ecore_wl_dpi_get();
+   if (xdpi) *xdpi = dpi;
+   if (ydpi) *ydpi = dpi;
+}
+
 static struct wl_shm_pool *
 _ecore_evas_wl_shm_pool_create(int size, void **data)
 {
index ff3fe5c..59d6ed8 100644 (file)
@@ -1023,6 +1023,44 @@ _ecore_evas_win32_alpha_set(Ecore_Evas *ee, int alpha)
      }
 }
 
+static void
+_ecore_evas_win32_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int *ydpi)
+{
+   HDC dc;
+
+   dc = GetDC(NULL);
+   if (!dc)
+     {
+        if (xdpi) *xdpi = 0;
+        if (ydpi) *ydpi = 0;
+        return;
+     }
+
+   if (xdpi) *xdpi = GetDeviceCaps(dc, LOGPIXELSX);
+   if (ydpi) *ydpi = GetDeviceCaps(dc, LOGPIXELSY);
+
+   /*
+    * Alternative (to test)
+    int width_mm;
+    int height_mm;
+    int width_px;
+    int height_px;
+
+    width_mm = GetDeviceCaps(dc, HORZSIZE);
+    height_mm = GetDeviceCaps(dc, VERTSIZE);
+    width_px = GetDeviceCaps(dc, HORZRES);
+    height_px = GetDeviceCaps(dc, VERTRES);
+
+    *xdpi = (width_px * 254) / (width_mm * 10);
+    *ydpi = (height_px * 254) / (height_mm * 10);
+
+    code with LOGPIXELS gives 96x96
+    code with the computation gives 101x77
+
+    */
+
+   ReleaseDC(NULL, dc);
+}
 
 static Ecore_Evas_Engine_Func _ecore_win32_engine_func =
 {
@@ -1082,7 +1120,8 @@ static Ecore_Evas_Engine_Func _ecore_win32_engine_func =
      NULL,
 
      NULL, // render
-     NULL  //screen_geometry_get
+     NULL, // screen_geometry_get
+     _ecore_evas_win32_screen_dpi_get
 };
 
 #endif /* BUILD_ECORE_EVAS_WIN32 */
index 2bbd1bd..fe0054a 100644 (file)
@@ -724,6 +724,25 @@ _ecore_evas_wince_fullscreen_set(Ecore_Evas *ee, int on)
      }
 }
 
+static void
+_ecore_evas_wince_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int *ydpi)
+{
+   HDC dc;
+
+   dc = GetDC(NULL);
+   if (!dc)
+     {
+        if (xdpi) *xdpi = 0;
+        if (ydpi) *ydpi = 0;
+        return;
+     }
+
+   if (xdpi) *xdpi = GetDeviceCaps(dc, LOGPIXELSX);
+   if (ydpi) *ydpi = GetDeviceCaps(dc, LOGPIXELSY);
+
+   ReleaseDC(NULL, dc);
+}
+
 static Ecore_Evas_Engine_Func _ecore_wince_engine_func =
 {
    _ecore_evas_wince_free,
@@ -782,7 +801,8 @@ static Ecore_Evas_Engine_Func _ecore_wince_engine_func =
    NULL,
 
    NULL, // render
-   NULL  // screen_geometry_get
+   NULL, // screen_geometry_get
+   _ecore_evas_wince_screen_dpi_get
 };
 
 /* API */
index 7c285ed..c86cecd 100644 (file)
@@ -115,13 +115,13 @@ _ecore_evas_x_sync_set(Ecore_Evas *ee)
      {
         if (ee->engine.x.sync_counter)
           {
-             ecore_x_sync_counter_free(ee->engine.x.sync_counter);
+           ecore_x_sync_counter_free(ee->engine.x.sync_counter);
              ee->engine.x.sync_val = 0;
           }
         ee->engine.x.sync_counter = 0;
      }
    if (sync_counter != ee->engine.x.sync_counter)
-      ecore_x_e_comp_sync_counter_set(ee->prop.window, ee->engine.x.sync_counter);
+   ecore_x_e_comp_sync_counter_set(ee->prop.window, ee->engine.x.sync_counter);
 }
 
 static void
@@ -2954,9 +2954,63 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 static void
 _ecore_evas_x_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h)
 {
-   if (x) *x = 0;
-   if (y) *y = 0;
-   ecore_x_screen_size_get(ecore_x_default_screen_get(), w, h);
+   int outnum = 0;
+   int px = 0, py = 0, pw = 0, ph = 0;
+   Ecore_X_Window root;
+   Ecore_X_Randr_Output *out = NULL;
+   Ecore_X_Randr_Crtc crtc;
+
+   root = ecore_x_window_root_get(ee->prop.window);
+   out = ecore_x_randr_window_outputs_get(ee->prop.window, &outnum);
+   if (!out)
+     {
+norandr:
+        if (out) free(out);
+        if (x) *x = 0;
+        if (y) *y = 0;
+        ecore_x_window_size_get(root, w, h);
+        return;
+     }
+   crtc = ecore_x_randr_output_crtc_get(root, out[0]);
+   if (!crtc) goto norandr;
+   ecore_x_randr_crtc_geometry_get(root, crtc, &px, &py, &pw, &ph);
+   if ((pw == 0) || (ph == 0)) goto norandr;
+   if (x) *x = px;
+   if (y) *y = py;
+   if (w) *w = pw;
+   if (h) *h = ph;
+   free(out);
+}
+
+static void
+_ecore_evas_x_screen_dpi_get(const Ecore_Evas *ee, int *xdpi, int *ydpi)
+{
+   int scdpi, xmm = 0, ymm = 0, outnum = 0, w = 0, h = 0;
+   int px = 0, py = 0;
+   Ecore_X_Window root;
+   Ecore_X_Randr_Output *out = NULL;
+   Ecore_X_Randr_Crtc crtc;
+
+   root = ecore_x_window_root_get(ee->prop.window);
+   out = ecore_x_randr_window_outputs_get(ee->prop.window, &outnum);
+   if (!out)
+     {
+norandr:
+        if (out) free(out);
+        scdpi = ecore_x_dpi_get();
+        if (xdpi) *xdpi = scdpi;
+        if (ydpi) *ydpi = scdpi;
+        return;
+     }
+   crtc = ecore_x_randr_output_crtc_get(root, out[0]);
+   if (!crtc) goto norandr;
+   ecore_x_randr_crtc_geometry_get(root, crtc, &px, &py, &w, &h);
+   if ((w == 0) || (h == 0)) goto norandr;
+   ecore_x_randr_output_size_mm_get(root, out[0], &xmm, &ymm);
+   if ((xmm == 0) || (ymm == 0)) goto norandr;
+   if (xdpi) *xdpi = (w * 254) / (xmm * 10); // 25.4mm / inch
+   if (ydpi) *ydpi = (h * 254) / (ymm * 10); // 25.4mm / inch
+   free(out);
 }
 
 int
@@ -3036,7 +3090,8 @@ static Ecore_Evas_Engine_Func _ecore_x_engine_func =
      _ecore_evas_x_focus_skip_set,
 
      NULL, // render
-     _ecore_evas_x_screen_geometry_get
+     _ecore_evas_x_screen_geometry_get,
+     _ecore_evas_x_screen_dpi_get
 };
 #endif /* BUILD_ECORE_EVAS_X11 */
 
index daeea0f..5b2b84b 100644 (file)
@@ -17,6 +17,13 @@ static int _ecore_fb_console_h = 0;
  * @{
  */
 
+static sighandler_t oldhand = NULL;
+
+static void
+nosigint(int val __UNUSED__)
+{
+}
+
 /**
  * @brief Initialize the Ecore_Fb library.
  *
@@ -39,6 +46,11 @@ ecore_fb_init(const char *name __UNUSED__)
    if (!ecore_fb_vt_init())
       return --_ecore_fb_init_count;
 
+   if (!oldhand)
+     {
+        oldhand = signal(SIGINT, nosigint);
+     }
+   
    _ecore_fb_size_get(&_ecore_fb_console_w, &_ecore_fb_console_h);
 
    return _ecore_fb_init_count;
@@ -59,6 +71,12 @@ ecore_fb_shutdown(void)
    if (--_ecore_fb_init_count != 0)
       return _ecore_fb_init_count;
 
+   if (oldhand)
+     {
+        signal(SIGINT, oldhand);
+        oldhand = NULL;
+     }
+   
    ecore_fb_vt_shutdown();
 
    return _ecore_fb_init_count;
index bf81e66..f9cdc3d 100644 (file)
@@ -1,7 +1,7 @@
 static void _ecore_fb_event_free_key_down(void *data, void *ev);
 static void _ecore_fb_event_free_key_up(void *data, void *ev);
 
-static const char *_ecore_fb_kbd_syms[128 * 6] =
+static const char *_ecore_fb_kbd_syms[128 * 7] =
 {
 #include "ecore_fb_keytable.h"
 };
@@ -179,9 +179,9 @@ _ecore_fb_kbd_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __U
 
                   if (_ecore_fb_shift) add = 1;
                   else if (_ecore_fb_lock) add = 2;
-                  e->keyname = strdup(_ecore_fb_kbd_syms[(buf & 0x7f) * 6]);
-                  e->keysymbol = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 6) + add]);
-                  e->key_compose = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 6) + 3 + add]);
+                  e->keyname = strdup(_ecore_fb_kbd_syms[(buf & 0x7f) * 7]);
+                  e->keysymbol = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 7) + add]);
+                  e->key_compose = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 7) + 3 + add]);
                }
              else
                 e->keyname = strdup(_ecore_fb_btn_syms[buf & 0x7f]);
@@ -195,7 +195,6 @@ _ecore_fb_kbd_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __U
              e->root_window = e->window; 
              e->same_screen = 1;
              e->timestamp = ecore_loop_time_get() * 1000.0;
-             ecore_event_add(ECORE_FB_EVENT_KEY_DOWN, e, _ecore_fb_event_free_key_down, NULL);
              if (!strcmp(e->keyname, "Control_L"))
                 _ecore_fb_ctrl++;
              else if (!strcmp(e->keyname, "Control_R"))
@@ -224,10 +223,22 @@ _ecore_fb_kbd_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __U
              else if (!strcmp(e->keyname, "F12")) vt_switch = 11;
              if (_ecore_fb_ctrl > 2) _ecore_fb_ctrl = 2;
              if (_ecore_fb_alt > 2) _ecore_fb_alt = 2;
+             if ((_ecore_fb_kbd_fd == _ecore_fb_tty_fd) &&
+                 (_ecore_fb_ctrl))
+               {
+                  const char *ts = _ecore_fb_kbd_syms[(buf & 0x7f) + 3 + 3];
+                  
+                  if (ts)
+                    {
+                       if (e->key_compose) free(e->key_compose);
+                       e->key_compose = strdup(ts);
+                    }
+               }
              if ((vt_switch >= 0) &&
                  (_ecore_fb_ctrl) &&
                  (_ecore_fb_alt))
                 _ecore_fb_vt_switch(vt_switch);
+             ecore_event_add(ECORE_FB_EVENT_KEY_DOWN, e, _ecore_fb_event_free_key_down, NULL);
           }
         else
           {
@@ -242,9 +253,9 @@ _ecore_fb_kbd_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __U
 
                   if (_ecore_fb_shift) add = 1;
                   else if (_ecore_fb_lock) add = 2;
-                  e->keyname = strdup(_ecore_fb_kbd_syms[(buf & 0x7f) * 6]);
-                  e->keysymbol = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 6) + add]);
-                  e->key_compose = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 6) + 3 + add]);
+                  e->keyname = strdup(_ecore_fb_kbd_syms[(buf & 0x7f) * 7]);
+                  e->keysymbol = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 7) + add]);
+                  e->key_compose = strdup(_ecore_fb_kbd_syms[((buf & 0x7f) * 7) + 3 + add]);
                }
              else
                 e->keyname = strdup(_ecore_fb_btn_syms[buf & 0x7f]);
index 38de7bf..70bf6b9 100644 (file)
 /* this table was taken from ecore_fb, is the default en layout */
-         "0x00",          "0x00",          "0x00", /**/"",    "",    "",/***/
-       "Escape",        "Escape",        "Escape", /**/"",    "",    "",/***/
-            "1",        "exclam",             "1", /**/"1",   "!",   "1",/***/
-            "2",            "at",             "2", /**/"2",   "@",   "2",/***/
-            "3",    "numbersign",             "3", /**/"3",   "#",   "3",/***/
-            "4",        "dollar",             "4", /**/"4",   "$",   "4",/***/
-            "5",       "percent",             "5", /**/"5",   "%",   "5",/***/
-            "6",  "asciicircumm",             "6", /**/"6",   "^",   "6",/***/
-            "7",     "ampersand",             "7", /**/"7",   "&",   "7",/***/
-            "8",       "asterisk",            "8", /**/"8",   "*",   "8",/***/
-            "9",     "parenleft",             "9", /**/"9",   "(",   "9",/***/
-            "0",    "parenright",             "0", /**/"0",   ")",   "0",/***/
-        "minus",    "underscore",         "minus", /**/"-",   "_",   "-",/***/
-        "equal",          "plus",         "equal", /**/"=",   "+",   "=",/***/
-    "BackSpace",     "BackSpace",     "BackSpace", /**/"\010","\010","\010",/***/
-          "Tab",  "ISO_Left_Tab",           "Tab", /**/"\011","",    "\011",/***/
-            "q",             "Q",             "Q", /**/"q",   "Q",   "Q",/***/
-            "w",             "W",             "W", /**/"w",   "W",   "W",/***/
-            "e",             "E",             "E", /**/"e",   "E",   "E",/***/
-            "r",             "R",             "R", /**/"r",   "R",   "R",/***/
-            "t",             "T",             "T", /**/"t",   "T",   "T",/***/
-            "y",             "Y",             "Y", /**/"y",   "Y",   "Y",/***/
-            "u",             "U",             "U", /**/"u",   "U",   "U",/***/
-            "i",             "I",             "I", /**/"i",   "I",   "I",/***/
-            "o",             "O",             "O", /**/"o",   "O",   "O",/***/
-            "p",             "P",             "P", /**/"p",   "P",   "P",/***/
-  "bracketleft",     "braceleft",   "bracketleft", /**/"[",   "{",   "[",/***/
- "bracketright",    "braceright",  "bracketright", /**/"]",   "}",   "]",/***/
-       "Return",        "Return",        "Return", /**/"\015","\015","\015",/***/
-    "Control_L",     "Control_L",     "Control_L", /**/"",    "",    "",/***/
-            "a",             "A",             "A", /**/"a",   "A",   "A",/***/
-            "s",             "S",             "S", /**/"s",   "S",   "S",/***/
-            "d",             "D",             "D", /**/"d",   "D",   "D",/***/
-            "f",             "F",             "F", /**/"f",   "F",   "F",/***/
-            "g",             "G",             "G", /**/"g",   "G",   "G",/***/
-            "h",             "h",             "H", /**/"h",   "H",   "H",/***/
-            "j",             "J",             "J", /**/"j",   "J",   "J",/***/
-            "k",             "K",             "K", /**/"k",   "K",   "K",/***/
-            "l",             "L",             "L", /**/"l",   "L",   "L",/***/
-    "semicolon",         "colon",     "semicolon", /**/";",   ":",   ";",/***/
-   "apostrophe",      "quotedbl",    "apostrophe", /**/"'",   "\"",  "'",/***/
-        "grave",    "asciitilde",         "grave", /**/"`",   "~",   "`",/***/
-      "Shift_L",       "Shift_L",       "Shift_L", /**/"",    "",    "",/***/
-    "backslash",           "bar",     "backslash", /**/"\\",  "|",   "\\",/***/
-            "z",             "Z",             "Z", /**/"z",   "Z",   "Z",/***/
-            "x",             "X",             "X", /**/"x",   "X",   "X",/***/
-            "c",             "C",             "C", /**/"c",   "C",   "C",/***/
-            "v",             "V",             "V", /**/"v",   "V",   "V",/***/
-            "b",             "B",             "B", /**/"b",   "B",   "B",/***/
-            "n",             "N",             "N", /**/"n",   "N",   "N",/***/
-            "m",             "M",             "M", /**/"m",   "M",   "M",/***/
-        "comma",          "less",         "comma", /**/",",   "<",   ",",/***/
-       "period",       "greater",        "period", /**/".",   ">",   ".",/***/
-        "slash",      "question",         "slash", /**/"/",   "?",   "/",/***/
-      "Shift_R",       "Shift_R",       "Shift_R", /**/"",    "",    "",/***/
-  "KP_Multiply",   "KP_Multiply",   "KP_Multiply", /**/"",    "*",   "",/***/
-        "Alt_L",         "Alt_L",         "Alt_L", /**/"",    "",    "",/***/
-        "space",         "space",         "space", /**/" ",   " ",   " ",/***/
-    "Caps_Lock",     "Caps_Lock",     "Caps_Lock", /**/"",    "",    "",/***/
-           "F1",            "F1",            "F1", /**/"",    "",    "",/***/
-           "F2",            "F2",            "F2", /**/"",    "",    "",/***/
-           "F3",            "F3",            "F3", /**/"",    "",    "",/***/
-           "F4",            "F4",            "F4", /**/"",    "",    "",/***/
-           "F5",            "F5",            "F5", /**/"",    "",    "",/***/
-           "F6",            "F6",            "F6", /**/"",    "",    "",/***/
-           "F7",            "F7",            "F7", /**/"",    "",    "",/***/
-           "F8",            "F8",            "F8", /**/"",    "",    "",/***/
-           "F9",            "F9",            "F9", /**/"",    "",    "",/***/
-          "F10",           "F10",           "F10", /**/"",    "",    "",/***/
-     "Num_Lock",      "Num_Lock",      "Num_Lock", /**/"",    "",    "",/***/
-  "Scroll_Lock",   "Scroll_Lock",   "Scroll_Lock", /**/"",    "",    "",/***/
-      "KP_Home",          "KP_7",       "KP_Home", /**/"",    "7",   "",/***/
-        "KP_Up",          "KP_8",         "KP_Up", /**/"",    "8",   "",/***/
-     "KP_Prior",          "KP_9",      "KP_Prior", /**/"",    "9",   "",/***/
-  "KP_Subtract",   "KP_Subtract",   "KP_Subtract", /**/"",    "",    "",/***/
-      "KP_Left",          "KP_4",       "KP_Left", /**/"",    "4",   "",/***/
-     "KP_Begin",          "KP_5",      "KP_Begin", /**/"",    "5",   "",/***/
-     "KP_Right",          "KP_6",      "KP_Right", /**/"",    "6",   "",/***/
-       "KP_Add",        "KP_Add",        "KP_Add", /**/"",    "",    "",/***/
-       "KP_End",          "KP_1",        "KP_End", /**/"",    "1",   "",/***/
-      "KP_Down",          "KP_2",       "KP_Down", /**/"",    "2",   "",/***/
-      "KP_Next",          "KP_3",       "KP_Next", /**/"",    "3",   "",/***/
-    "KP_Insert",          "KP_0",     "KP_Insert", /**/"",    "0",   "",/***/
-    "KP_Delete",    "KP_Decimal",     "KP_Delete", /**/"",    ".",   "",/***/
-         "0x54",          "0x54",          "0x54", /**/"",    "",    "",/***/
-         "0x55",          "0x55",          "0x55", /**/"",    "",    "",/***/
-         "0x56",          "0x56",          "0x56", /**/"",    "",    "",/***/
-          "F11",           "F11",           "F11", /**/"",    "",    "",/***/
-          "F12",           "F12",           "F12", /**/"",    "",    "",/***/
-         "0x59",          "0x59",          "0x59", /**/"",    "",    "",/***/
-         "0x5a",          "0x5a",          "0x5a", /**/"",    "",    "",/***/
-         "0x5b",          "0x5b",          "0x5b", /**/"",    "",    "",/***/
-         "0x5c",          "0x5c",          "0x5c", /**/"",    "",    "",/***/
-         "0x5d",          "0x5d",          "0x5d", /**/"",    "",    "",/***/
-         "0x5e",          "0x5e",          "0x5e", /**/"",    "",    "",/***/
-         "0x5f",          "0x5f",          "0x5f", /**/"",    "",    "",/***/
-     "KP_Enter",      "KP_Enter",      "KP_Enter", /**/"",    "",    "",/***/
-    "Control_R",     "Control_R",     "Control_R", /**/"",    "",    "",/***/
-    "KP_Divide",     "KP_Divide",     "KP_Divide", /**/"",    "",    "",/***/
-        "Print",         "Print",         "Print", /**/"",    "",    "",/***/
-        "Alt_R",         "Alt_R",         "Alt_R", /**/"",    "",    "",/***/
-         "0x65",          "0x65",          "0x65", /**/"",    "",    "",/***/
-         "Home",          "Home",          "Home", /**/"",    "",    "",/***/
-           "Up",            "Up",            "Up", /**/"",    "",    "",/***/
-        "Prior",         "Prior",         "Prior", /**/"",    "",    "",/***/
-         "Left",          "Left",          "Left", /**/"",    "",    "",/***/
-        "Right",         "Right",         "Right", /**/"",    "",    "",/***/
-          "End",           "End",           "End", /**/"",    "",    "",/***/
-         "Down",          "Down",          "Down", /**/"",    "",    "",/***/
-         "Next",          "Next",          "Next", /**/"",    "",    "",/***/
-       "Insert",        "Insert",        "Insert", /**/"",    "",    "",/***/
-       "Delete",        "Delete",        "Delete", /**/"\177","\177","\177",/***/
-         "0x70",          "0x70",          "0x70", /**/"",    "",    "",/***/
-         "0x71",          "0x71",          "0x71", /**/"",    "",    "",/***/
-         "0x72",          "0x72",          "0x72", /**/"",    "",    "",/***/
-         "0x73",          "0x73",          "0x73", /**/"",    "",    "",/***/
-         "0x74",          "0x74",          "0x74", /**/"",    "",    "",/***/
-         "0x75",          "0x75",          "0x75", /**/"",    "",    "",/***/
-         "0x76",          "0x76",          "0x76", /**/"",    "",    "",/***/
-        "Pause",         "Pause",         "Pause", /**/"",    "",    "",/***/
-         "0x78",          "0x78",          "0x78", /**/"",    "",    "",/***/
-         "0x79",          "0x79",          "0x79", /**/"",    "",    "",/***/
-         "0x7a",          "0x7a",          "0x7a", /**/"",    "",    "",/***/
-         "0x7b",          "0x7b",          "0x7b", /**/"",    "",    "",/***/
-         "0x7c",          "0x7c",          "0x7c", /**/"",    "",    "",/***/
-      "Super_L",       "Super_L",       "Super_L", /**/"",    "",    "",/***/
-      "Super_R",       "Super_R",       "Super_R", /**/"",    "",    "",/***/
-         "0x7f",          "0x7f",          "0x7f", /**/"",    "",    "" /***/
+         "0x00",          "0x00",          "0x00", /**/"",    "",    "",  NULL,/***/
+       "Escape",        "Escape",        "Escape", /**/"",    "",    "",  "\x1b",/***/
+            "1",        "exclam",             "1", /**/"1",   "!",   "1",  NULL,/***/
+            "2",            "at",             "2", /**/"2",   "@",   "2",  "",/***/
+            "3",    "numbersign",             "3", /**/"3",   "#",   "3",  "\x1b",/***/
+            "4",        "dollar",             "4", /**/"4",   "$",   "4",  "\x1c",/***/
+            "5",       "percent",             "5", /**/"5",   "%",   "5",  "\x1d",/***/
+            "6",  "asciicircumm",             "6", /**/"6",   "^",   "6",  "\x1e",/***/
+            "7",     "ampersand",             "7", /**/"7",   "&",   "7",  "\x1f",/***/
+            "8",       "asterisk",            "8", /**/"8",   "*",   "8",  "\x7f",/***/
+            "9",     "parenleft",             "9", /**/"9",   "(",   "9",  NULL,/***/
+            "0",    "parenright",             "0", /**/"0",   ")",   "0",  NULL,/***/
+        "minus",    "underscore",         "minus", /**/"-",   "_",   "-",  NULL,/***/
+        "equal",          "plus",         "equal", /**/"=",   "+",   "=",  NULL,/***/
+    "BackSpace",     "BackSpace",     "BackSpace", /**/"\010","\010","\010",  NULL,/***/
+          "Tab",  "ISO_Left_Tab",           "Tab", /**/"\011","",    "\011",  NULL,/***/
+            "q",             "Q",             "Q", /**/"q",   "Q",   "Q",  "\x11",/***/
+            "w",             "W",             "W", /**/"w",   "W",   "W",  "\x17",/***/
+            "e",             "E",             "E", /**/"e",   "E",   "E",  "\x05",/***/
+            "r",             "R",             "R", /**/"r",   "R",   "R",  "\x12",/***/
+            "t",             "T",             "T", /**/"t",   "T",   "T",  "\x14",/***/
+            "y",             "Y",             "Y", /**/"y",   "Y",   "Y",  "\x19",/***/
+            "u",             "U",             "U", /**/"u",   "U",   "U",  "\x15",/***/
+            "i",             "I",             "I", /**/"i",   "I",   "I",  "\x09",/***/
+            "o",             "O",             "O", /**/"o",   "O",   "O",  "\x0f",/***/
+            "p",             "P",             "P", /**/"p",   "P",   "P",  "\x10",/***/
+  "bracketleft",     "braceleft",   "bracketleft", /**/"[",   "{",   "[",  "\x1b",/***/
+ "bracketright",    "braceright",  "bracketright", /**/"]",   "}",   "]",  "\x1d",/***/
+       "Return",        "Return",        "Return", /**/"\015","\015","\015",  NULL,/***/
+    "Control_L",     "Control_L",     "Control_L", /**/"",    "",    "",  NULL,/***/
+            "a",             "A",             "A", /**/"a",   "A",   "A",  "\x01",/***/
+            "s",             "S",             "S", /**/"s",   "S",   "S",  "\x13",/***/
+            "d",             "D",             "D", /**/"d",   "D",   "D",  "\x04",/***/
+            "f",             "F",             "F", /**/"f",   "F",   "F",  "\x06",/***/
+            "g",             "G",             "G", /**/"g",   "G",   "G",  "\x07",/***/
+            "h",             "h",             "H", /**/"h",   "H",   "H",  "\x08",/***/
+            "j",             "J",             "J", /**/"j",   "J",   "J",  "\x0a",/***/
+            "k",             "K",             "K", /**/"k",   "K",   "K",  "\x0b",/***/
+            "l",             "L",             "L", /**/"l",   "L",   "L",  "\x0c",/***/
+    "semicolon",         "colon",     "semicolon", /**/";",   ":",   ";",  NULL,/***/
+   "apostrophe",      "quotedbl",    "apostrophe", /**/"'",   "\"",  "'",  NULL,/***/
+        "grave",    "asciitilde",         "grave", /**/"`",   "~",   "`",  "",/***/
+      "Shift_L",       "Shift_L",       "Shift_L", /**/"",    "",    "",  NULL,/***/
+    "backslash",           "bar",     "backslash", /**/"\\",  "|",   "\\",  "\x1c",/***/
+            "z",             "Z",             "Z", /**/"z",   "Z",   "Z",  "\x1a",/***/
+            "x",             "X",             "X", /**/"x",   "X",   "X",  "\x18",/***/
+            "c",             "C",             "C", /**/"c",   "C",   "C",  "\x03",/***/
+            "v",             "V",             "V", /**/"v",   "V",   "V",  "\x16",/***/
+            "b",             "B",             "B", /**/"b",   "B",   "B",  "\x02",/***/
+            "n",             "N",             "N", /**/"n",   "N",   "N",  "\x0e",/***/
+            "m",             "M",             "M", /**/"m",   "M",   "M",  "\x0d",/***/
+        "comma",          "less",         "comma", /**/",",   "<",   ",",  NULL,/***/
+       "period",       "greater",        "period", /**/".",   ">",   ".",  NULL,/***/
+        "slash",      "question",         "slash", /**/"/",   "?",   "/",  "",/***/
+      "Shift_R",       "Shift_R",       "Shift_R", /**/"",    "",    "",  NULL,/***/
+  "KP_Multiply",   "KP_Multiply",   "KP_Multiply", /**/"",    "*",   "",  NULL,/***/
+        "Alt_L",         "Alt_L",         "Alt_L", /**/"",    "",    "",  NULL,/***/
+        "space",         "space",         "space", /**/" ",   " ",   " ",  "",/***/
+    "Caps_Lock",     "Caps_Lock",     "Caps_Lock", /**/"",    "",    "",  NULL,/***/
+           "F1",            "F1",            "F1", /**/"",    "",    "",  NULL,/***/
+           "F2",            "F2",            "F2", /**/"",    "",    "",  NULL,/***/
+           "F3",            "F3",            "F3", /**/"",    "",    "",  NULL,/***/
+           "F4",            "F4",            "F4", /**/"",    "",    "",  NULL,/***/
+           "F5",            "F5",            "F5", /**/"",    "",    "",  NULL,/***/
+           "F6",            "F6",            "F6", /**/"",    "",    "",  NULL,/***/
+           "F7",            "F7",            "F7", /**/"",    "",    "",  NULL,/***/
+           "F8",            "F8",            "F8", /**/"",    "",    "",  NULL,/***/
+           "F9",            "F9",            "F9", /**/"",    "",    "",  NULL,/***/
+          "F10",           "F10",           "F10", /**/"",    "",    "",  NULL,/***/
+     "Num_Lock",      "Num_Lock",      "Num_Lock", /**/"",    "",    "",  NULL,/***/
+  "Scroll_Lock",   "Scroll_Lock",   "Scroll_Lock", /**/"",    "",    "",  NULL,/***/
+      "KP_Home",          "KP_7",       "KP_Home", /**/"",    "7",   "",  NULL,/***/
+        "KP_Up",          "KP_8",         "KP_Up", /**/"",    "8",   "",  NULL,/***/
+     "KP_Prior",          "KP_9",      "KP_Prior", /**/"",    "9",   "",  NULL,/***/
+  "KP_Subtract",   "KP_Subtract",   "KP_Subtract", /**/"",    "",    "",  NULL,/***/
+      "KP_Left",          "KP_4",       "KP_Left", /**/"",    "4",   "",  NULL,/***/
+     "KP_Begin",          "KP_5",      "KP_Begin", /**/"",    "5",   "",  NULL,/***/
+     "KP_Right",          "KP_6",      "KP_Right", /**/"",    "6",   "",  NULL,/***/
+       "KP_Add",        "KP_Add",        "KP_Add", /**/"",    "",    "",  NULL,/***/
+       "KP_End",          "KP_1",        "KP_End", /**/"",    "1",   "",  NULL,/***/
+      "KP_Down",          "KP_2",       "KP_Down", /**/"",    "2",   "",  NULL,/***/
+      "KP_Next",          "KP_3",       "KP_Next", /**/"",    "3",   "",  NULL,/***/
+    "KP_Insert",          "KP_0",     "KP_Insert", /**/"",    "0",   "",  NULL,/***/
+    "KP_Delete",    "KP_Decimal",     "KP_Delete", /**/"",    ".",   "",  NULL,/***/
+         "0x54",          "0x54",          "0x54", /**/"",    "",    "",  NULL,/***/
+         "0x55",          "0x55",          "0x55", /**/"",    "",    "",  NULL,/***/
+         "0x56",          "0x56",          "0x56", /**/"",    "",    "",  NULL,/***/
+          "F11",           "F11",           "F11", /**/"",    "",    "",  NULL,/***/
+          "F12",           "F12",           "F12", /**/"",    "",    "",  NULL,/***/
+         "0x59",          "0x59",          "0x59", /**/"",    "",    "",  NULL,/***/
+         "0x5a",          "0x5a",          "0x5a", /**/"",    "",    "",  NULL,/***/
+         "0x5b",          "0x5b",          "0x5b", /**/"",    "",    "",  NULL,/***/
+         "0x5c",          "0x5c",          "0x5c", /**/"",    "",    "",  NULL,/***/
+         "0x5d",          "0x5d",          "0x5d", /**/"",    "",    "",  NULL,/***/
+         "0x5e",          "0x5e",          "0x5e", /**/"",    "",    "",  NULL,/***/
+         "0x5f",          "0x5f",          "0x5f", /**/"",    "",    "",  NULL,/***/
+     "KP_Enter",      "KP_Enter",      "KP_Enter", /**/"\015", "\015", "\015",  NULL,/***/
+    "Control_R",     "Control_R",     "Control_R", /**/"",    "",    "",  NULL,/***/
+    "KP_Divide",     "KP_Divide",     "KP_Divide", /**/"",    "",    "",  NULL,/***/
+        "Print",         "Print",         "Print", /**/"",    "",    "",  NULL,/***/
+        "Alt_R",         "Alt_R",         "Alt_R", /**/"",    "",    "",  NULL,/***/
+         "0x65",          "0x65",          "0x65", /**/"",    "",    "",  NULL,/***/
+         "Home",          "Home",          "Home", /**/"",    "",    "",  NULL,/***/
+           "Up",            "Up",            "Up", /**/"",    "",    "",  NULL,/***/
+        "Prior",         "Prior",         "Prior", /**/"",    "",    "",  NULL,/***/
+         "Left",          "Left",          "Left", /**/"",    "",    "",  NULL,/***/
+        "Right",         "Right",         "Right", /**/"",    "",    "",  NULL,/***/
+          "End",           "End",           "End", /**/"",    "",    "",  NULL,/***/
+         "Down",          "Down",          "Down", /**/"",    "",    "",  NULL,/***/
+         "Next",          "Next",          "Next", /**/"",    "",    "",  NULL,/***/
+       "Insert",        "Insert",        "Insert", /**/"",    "",    "",  NULL,/***/
+       "Delete",        "Delete",        "Delete", /**/"\177","\177","\177",  NULL,/***/
+         "0x70",          "0x70",          "0x70", /**/"",    "",    "",  NULL,/***/
+         "0x71",          "0x71",          "0x71", /**/"",    "",    "",  NULL,/***/
+         "0x72",          "0x72",          "0x72", /**/"",    "",    "",  NULL,/***/
+         "0x73",          "0x73",          "0x73", /**/"",    "",    "",  NULL,/***/
+         "0x74",          "0x74",          "0x74", /**/"",    "",    "",  NULL,/***/
+         "0x75",          "0x75",          "0x75", /**/"",    "",    "",  NULL,/***/
+         "0x76",          "0x76",          "0x76", /**/"",    "",    "",  NULL,/***/
+        "Pause",         "Pause",         "Pause", /**/"",    "",    "",  NULL,/***/
+         "0x78",          "0x78",          "0x78", /**/"",    "",    "",  NULL,/***/
+         "0x79",          "0x79",          "0x79", /**/"",    "",    "",  NULL,/***/
+         "0x7a",          "0x7a",          "0x7a", /**/"",    "",    "",  NULL,/***/
+         "0x7b",          "0x7b",          "0x7b", /**/"",    "",    "",  NULL,/***/
+         "0x7c",          "0x7c",          "0x7c", /**/"",    "",    "",  NULL,/***/
+      "Super_L",       "Super_L",       "Super_L", /**/"",    "",    "",  NULL,/***/
+      "Super_R",       "Super_R",       "Super_R", /**/"",    "",    "",  NULL,/***/
+         "0x7f",          "0x7f",          "0x7f", /**/"",    "",    "",  NULL, /***/
index bc28261..23599c9 100644 (file)
@@ -11,7 +11,7 @@
 
 static Eina_List *_ecore_fb_li_devices = NULL;
 
-static const char *_ecore_fb_li_kbd_syms[128 * 6] =
+static const char *_ecore_fb_li_kbd_syms[128 * 7] =
 {
 #include "ecore_fb_keytable.h"
 };
@@ -46,31 +46,33 @@ _ecore_fb_li_device_event_key(Ecore_Fb_Input_Device *dev, struct input_event *ie
    if ((iev->code >= KEY_ESC) && (iev->code <= KEY_COMPOSE))
      {
         int offset = 0;
-        const char *keyname = _ecore_fb_li_kbd_syms[iev->code * 6];
+        const char *keyname = _ecore_fb_li_kbd_syms[iev->code * 7];
+        
         /* check the key table */
         if (iev->value)
           {
              /* its a repeated key, dont increment */
-             if (iev->value == 2)
-                return;
-             if (!strcmp(keyname, "Control_L"))
-                dev->keyboard.ctrl++;
-             else if (!strcmp(keyname, "Control_R"))
-                dev->keyboard.ctrl++;
-             else if (!strcmp(keyname, "Alt_L"))
-                dev->keyboard.alt++;
-             else if (!strcmp(keyname, "Alt_R"))
-                dev->keyboard.alt++;
-             else if (!strcmp(keyname, "Shift_L"))
-                dev->keyboard.shift++;
-             else if (!strcmp(keyname, "Shift_R"))
-                dev->keyboard.shift++;
-             else if (!strcmp(keyname, "Caps_Lock"))
-               dev->keyboard.lock = !dev->keyboard.lock;
-             if (dev->keyboard.ctrl > 2) dev->keyboard.ctrl = 2;
-             if (dev->keyboard.alt > 2) dev->keyboard.alt = 2;
-             if (dev->keyboard.shift > 2) dev->keyboard.shift = 2;
-             if (dev->keyboard.lock > 1) dev->keyboard.lock = 1;
+             if (iev->value != 2)
+               {
+                  if (!strcmp(keyname, "Control_L"))
+                    dev->keyboard.ctrl++;
+                  else if (!strcmp(keyname, "Control_R"))
+                    dev->keyboard.ctrl++;
+                  else if (!strcmp(keyname, "Alt_L"))
+                    dev->keyboard.alt++;
+                  else if (!strcmp(keyname, "Alt_R"))
+                    dev->keyboard.alt++;
+                  else if (!strcmp(keyname, "Shift_L"))
+                    dev->keyboard.shift++;
+                  else if (!strcmp(keyname, "Shift_R"))
+                    dev->keyboard.shift++;
+                  else if (!strcmp(keyname, "Caps_Lock"))
+                    dev->keyboard.lock = !dev->keyboard.lock;
+                  if (dev->keyboard.ctrl > 2) dev->keyboard.ctrl = 2;
+                  if (dev->keyboard.alt > 2) dev->keyboard.alt = 2;
+                  if (dev->keyboard.shift > 2) dev->keyboard.shift = 2;
+                  if (dev->keyboard.lock > 1) dev->keyboard.lock = 1;
+               }
           }
         else
           {
@@ -98,8 +100,15 @@ _ecore_fb_li_device_event_key(Ecore_Fb_Input_Device *dev, struct input_event *ie
         if (dev->keyboard.shift) offset = 1;
         else if (dev->keyboard.lock) offset = 2;
 
-        const char *key = _ecore_fb_li_kbd_syms[(iev->code * 6) + offset];
-        const char *compose = _ecore_fb_li_kbd_syms[(iev->code * 6) + 3 + offset];
+        const char *key = _ecore_fb_li_kbd_syms[(iev->code * 7) + offset];
+        const char *compose = _ecore_fb_li_kbd_syms[(iev->code * 7) + 3 + offset];
+        
+        if (dev->keyboard.ctrl)
+          {
+             const char *ts = _ecore_fb_li_kbd_syms[(iev->code * 7) + 3 + 3];
+             
+             if (ts) compose = ts;
+          }
 
         e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) +
                    strlen(keyname) + (compose ? strlen(compose) : 0) + 3);
@@ -139,6 +148,9 @@ _ecore_fb_li_device_event_key(Ecore_Fb_Input_Device *dev, struct input_event *ie
         double current = ecore_loop_time_get();
 
         button = ((iev->code & 0x00F) + 1);
+        // swap 2 and 3 to make middle and right butotn work right.
+        if (button == 3) button = 2;
+        else if (button == 2) button = 3;
         if (iev->value)
           {
              dev->mouse.did_double = EINA_FALSE;
@@ -210,21 +222,21 @@ _ecore_fb_li_device_event_rel(Ecore_Fb_Input_Device *dev, struct input_event *ie
      case REL_Y:
           {
              Ecore_Event_Mouse_Move *e;
-             if(iev->code == REL_X)
+             if (iev->code == REL_X)
                {
                   dev->mouse.x += iev->value;
-                  if(dev->mouse.x > dev->mouse.w - 1)
-                     dev->mouse.x = dev->mouse.w;
+                  if (dev->mouse.x > dev->mouse.w - 1)
+                    dev->mouse.x = dev->mouse.w;
                   else if(dev->mouse.x < 0)
-                     dev->mouse.x = 0;
+                    dev->mouse.x = 0;
                }
              else
                {
                   dev->mouse.y += iev->value;
-                  if(dev->mouse.y > dev->mouse.h - 1)
-                     dev->mouse.y = dev->mouse.h;
+                  if (dev->mouse.y > dev->mouse.h - 1)
+                    dev->mouse.y = dev->mouse.h;
                   else if(dev->mouse.y < 0)
-                     dev->mouse.y = 0;
+                    dev->mouse.y = 0;
                }
 
              e = calloc(1, sizeof(Ecore_Event_Mouse_Move));
@@ -314,7 +326,7 @@ _ecore_fb_li_device_event_abs(Ecore_Fb_Input_Device *dev, struct input_event *ie
         break;
 
      case ABS_Y:
-        if(dev->mouse.h != 0)
+        if (dev->mouse.h != 0)
           {
              int tmp;
 
@@ -537,8 +549,8 @@ ecore_fb_input_device_open(const char *dev)
    /* set info */
    for (event_type = 0; event_type < EV_MAX; event_type++)
      {
-        if(!test_bit(event_type, event_type_bitmask))
-           continue;
+        if (!test_bit(event_type, event_type_bitmask))
+          continue;
         switch (event_type)
           {
           case EV_SYN:
index 2f233ef..679aad4 100644 (file)
@@ -41,31 +41,31 @@ extern "C" {
 /* ecore_imf_context_input_panel_event_callback_add() flag */
 typedef enum
 {
-   ECORE_IMF_INPUT_PANEL_STATE_EVENT,              /**< called when the state of the input panel is changed. */
-   ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT,           /**< called when the language of the input panel is changed. */
-   ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT,         /**< called when the shift key state of the input panel is changed */
-   ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT,           /**< called when the size of the input panel is changed. */
-   ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT,          /**< called when the state of the candidate word panel is changed. */
-   ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT        /**< called when the size of the candidate word panel is changed. */
+   ECORE_IMF_INPUT_PANEL_STATE_EVENT,              /**< called when the state of the input panel is changed. @since 1.7 */
+   ECORE_IMF_INPUT_PANEL_LANGUAGE_EVENT,           /**< called when the language of the input panel is changed. @since 1.7 */
+   ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT,         /**< called when the shift key state of the input panel is changed @since 1.7 */
+   ECORE_IMF_INPUT_PANEL_GEOMETRY_EVENT,           /**< called when the size of the input panel is changed. @since 1.7 */
+   ECORE_IMF_CANDIDATE_PANEL_STATE_EVENT,          /**< called when the state of the candidate word panel is changed. @since 1.7 */
+   ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT        /**< called when the size of the candidate word panel is changed. @since 1.7 */
 } Ecore_IMF_Input_Panel_Event;
 
 typedef enum
 {
-   ECORE_IMF_INPUT_PANEL_STATE_SHOW,        /**< Notification after the display of the input panel */
-   ECORE_IMF_INPUT_PANEL_STATE_HIDE,        /**< Notification prior to the dismissal of the input panel */
-   ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW    /**< Notification prior to the display of the input panel */
+   ECORE_IMF_INPUT_PANEL_STATE_SHOW,        /**< Notification after the display of the input panel @since 1.7 */
+   ECORE_IMF_INPUT_PANEL_STATE_HIDE,        /**< Notification prior to the dismissal of the input panel @since 1.7 */
+   ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW    /**< Notification prior to the display of the input panel @since 1.7 */
 } Ecore_IMF_Input_Panel_State;
 
 typedef enum
 {
-    ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF,
-    ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON
+    ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, /**< @since 1.7 */
+    ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON   /**< @since 1.7 */
 } Ecore_IMF_Input_Panel_Shift_Mode;
 
 typedef enum
 {
-   ECORE_IMF_CANDIDATE_PANEL_SHOW,        /**< Notification after the display of the candidate word panel */
-   ECORE_IMF_CANDIDATE_PANEL_HIDE         /**< Notification prior to the dismissal of the candidate word panel */
+   ECORE_IMF_CANDIDATE_PANEL_SHOW,        /**< Notification after the display of the candidate word panel @since 1.7 */
+   ECORE_IMF_CANDIDATE_PANEL_HIDE         /**< Notification prior to the dismissal of the candidate word panel @since 1.7 */
 } Ecore_IMF_Candidate_Panel_State;
 
 /* Events sent by the Input Method */
@@ -110,11 +110,11 @@ typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *ev
  */
 typedef enum
 {
-   ECORE_IMF_CALLBACK_PREEDIT_START,      /**< "PREEDIT_START" is called when a new preediting sequence starts. */
-   ECORE_IMF_CALLBACK_PREEDIT_END,        /**< "PREEDIT_END" is called when a preediting sequence has been completed or canceled. */
-   ECORE_IMF_CALLBACK_PREEDIT_CHANGED,    /**< "PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed. */
-   ECORE_IMF_CALLBACK_COMMIT,             /**< "COMMIT" is called when a complete input sequence has been entered by the user */
-   ECORE_IMF_CALLBACK_DELETE_SURROUNDING  /**< "DELETE_SURROUNDING" is called when the input method needs to delete all or part of the context surrounding the cursor */
+   ECORE_IMF_CALLBACK_PREEDIT_START,      /**< "PREEDIT_START" is called when a new preediting sequence starts. @since 1.2 */
+   ECORE_IMF_CALLBACK_PREEDIT_END,        /**< "PREEDIT_END" is called when a preediting sequence has been completed or canceled. @since 1.2 */
+   ECORE_IMF_CALLBACK_PREEDIT_CHANGED,    /**< "PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed. @since 1.2 */
+   ECORE_IMF_CALLBACK_COMMIT,             /**< "COMMIT" is called when a complete input sequence has been entered by the user @since 1.2 */
+   ECORE_IMF_CALLBACK_DELETE_SURROUNDING  /**< "DELETE_SURROUNDING" is called when the input method needs to delete all or part of the context surrounding the cursor @since 1.2 */
 } Ecore_IMF_Callback_Type;
 
 /**
@@ -146,7 +146,7 @@ typedef enum
    ECORE_IMF_KEYBOARD_MODIFIER_ALT   = 1 << 1, /**< "Alt" is pressed */
    ECORE_IMF_KEYBOARD_MODIFIER_SHIFT = 1 << 2, /**< "Shift" is pressed */
    ECORE_IMF_KEYBOARD_MODIFIER_WIN   = 1 << 3, /**< "Win" (between "Ctrl" and "Alt") is pressed */
-   ECORE_IMF_KEYBOARD_MODIFIER_ALTGR = 1 << 4  /**< "AltGr" is pressed @since 1.3 */
+   ECORE_IMF_KEYBOARD_MODIFIER_ALTGR = 1 << 4  /**< "AltGr" is pressed @since 1.7 */
 } Ecore_IMF_Keyboard_Modifiers;
 
 /**
@@ -160,6 +160,7 @@ typedef enum
    ECORE_IMF_KEYBOARD_LOCK_CAPS      = 1 << 1, /**< "Caps" lock is active */
    ECORE_IMF_KEYBOARD_LOCK_SCROLL    = 1 << 2  /**< "Scroll" lock is active */
 } Ecore_IMF_Keyboard_Locks;
+
 /**
  * @typedef Ecore_IMF_Mouse_Flags
  * Type for Ecore_IMF mouse flags
@@ -192,10 +193,10 @@ typedef enum
  */
 typedef enum
 {
-   ECORE_IMF_PREEDIT_TYPE_NONE, /**< None style */
-   ECORE_IMF_PREEDIT_TYPE_SUB1, /**< Substring style 1 */
-   ECORE_IMF_PREEDIT_TYPE_SUB2, /**< Substring style 2 */
-   ECORE_IMF_PREEDIT_TYPE_SUB3  /**< Substring style 3 */
+   ECORE_IMF_PREEDIT_TYPE_NONE, /**< None style @since 1.1 */
+   ECORE_IMF_PREEDIT_TYPE_SUB1, /**< Substring style 1 @since 1.1 */
+   ECORE_IMF_PREEDIT_TYPE_SUB2, /**< Substring style 2 @since 1.1 */
+   ECORE_IMF_PREEDIT_TYPE_SUB3  /**< Substring style 3 @since 1.1 */
 } Ecore_IMF_Preedit_Type;
 
 /**
@@ -207,10 +208,10 @@ typedef enum
  */
 typedef enum
 {
-   ECORE_IMF_AUTOCAPITAL_TYPE_NONE,         /**< No auto-capitalization when typing */
-   ECORE_IMF_AUTOCAPITAL_TYPE_WORD,         /**< Autocapitalize each word typed */
-   ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE,     /**< Autocapitalize the start of each sentence */
-   ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER, /**< Autocapitalize all letters */
+   ECORE_IMF_AUTOCAPITAL_TYPE_NONE,         /**< No auto-capitalization when typing @since 1.1 */
+   ECORE_IMF_AUTOCAPITAL_TYPE_WORD,         /**< Autocapitalize each word typed @since 1.1 */
+   ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE,     /**< Autocapitalize the start of each sentence @since 1.1 */
+   ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER, /**< Autocapitalize all letters @since 1.1 */
 } Ecore_IMF_Autocapital_Type;
 
 /**
index dbac201..0ae316a 100644 (file)
@@ -1745,7 +1745,7 @@ ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx)
  * @param w width of the input panel
  * @param h height of the input panel
  * @ingroup Ecore_IMF_Context_Group
- * @since 1.2.0
+ * @since 1.3
  */
 EAPI void
 ecore_imf_context_input_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
@@ -1765,9 +1765,9 @@ ecore_imf_context_input_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, int *
  * Get state of current active input panel.
  *
  * @param ctx An #Ecore_IMF_Context.
- * @param The state of input panel.
+ * @return The state of input panel.
  * @ingroup Ecore_IMF_Context_Group
- * @since 1.2.0
+ * @since 1.3
  */
 EAPI Ecore_IMF_Input_Panel_State
 ecore_imf_context_input_panel_state_get(Ecore_IMF_Context *ctx)
@@ -1796,7 +1796,7 @@ ecore_imf_context_input_panel_state_get(Ecore_IMF_Context *ctx)
  * @param func the callback function
  * @param data application-input panel specific data.
  * @ingroup Ecore_IMF_Context_Group
- * @since 1.2.0
+ * @since 1.3
  */
 EAPI void
 ecore_imf_context_input_panel_event_callback_add(Ecore_IMF_Context *ctx,
@@ -1819,10 +1819,10 @@ ecore_imf_context_input_panel_event_callback_add(Ecore_IMF_Context *ctx,
  * Unregister a callback function which will be called if there is change in input panel state, language, mode etc.
  *
  * @param ctx An #Ecore_IMF_Context.
+ * @param type An #Ecore_IMF_Input_Panel_Event.
  * @param func the callback function
- * @param data application-input panel specific data.
  * @ingroup Ecore_IMF_Context_Group
- * @since 1.2.0
+ * @since 1.3
  */
 EAPI void
 ecore_imf_context_input_panel_event_callback_del(Ecore_IMF_Context *ctx,
@@ -1849,6 +1849,7 @@ ecore_imf_context_input_panel_event_callback_del(Ecore_IMF_Context *ctx,
  * @param lang Location to store the retrieved language string. The
  *             string retrieved must be freed with free().
  * @ingroup Ecore_IMF_Context_Group
+ * @since 1.3
  */
 EAPI void
 ecore_imf_context_input_panel_language_locale_get(Ecore_IMF_Context *ctx, char **lang)
@@ -1877,6 +1878,7 @@ ecore_imf_context_input_panel_language_locale_get(Ecore_IMF_Context *ctx, char *
  * @param w width of the candidate panel
  * @param h height of the candidate panel
  * @ingroup Ecore_IMF_Context_Group
+ * @since 1.3
  */
 EAPI void
 ecore_imf_context_candidate_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h)
index 9b1f8ac..376703c 100644 (file)
@@ -57,7 +57,7 @@ extern "C" {
 #define ECORE_EVENT_LOCK_NUM            0x0100
 #define ECORE_EVENT_LOCK_CAPS           0x0200
 #define ECORE_EVENT_LOCK_SHIFT          0x0300
-#define ECORE_EVENT_MODIFIER_ALTGR      0x0400 /**< @since 1.3 */
+#define ECORE_EVENT_MODIFIER_ALTGR      0x0400 /**< @since 1.7 */
 
    typedef uintptr_t                        Ecore_Window;
    typedef struct _Ecore_Event_Key          Ecore_Event_Key;
@@ -76,7 +76,7 @@ extern "C" {
         ECORE_WIN,
         ECORE_SCROLL,
         ECORE_CAPS,
-        ECORE_MODE, /**< @since 1.3 */
+        ECORE_MODE, /**< @since 1.7 */
         ECORE_LAST
      } Ecore_Event_Modifier;
 
@@ -223,7 +223,7 @@ extern "C" {
    EAPI Ecore_Event_Modifier ecore_event_update_modifier(const char *key, Ecore_Event_Modifiers *modifiers, int inc);
 
    /**
-    * @since 1.3
+    * @since 1.7
     */
    EAPI Ecore_Compose_State  ecore_compose_get(const Eina_List *seq, char **seqstr_ret);
    
index d512dc0..8ac41aa 100644 (file)
@@ -153,13 +153,13 @@ _ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
    Ecore_Input_Window *lookup;
 
    lookup = _ecore_event_window_match(e->event_window);
-   if (!lookup) return ECORE_CALLBACK_RENEW;
+   if (!lookup) return ECORE_CALLBACK_PASS_ON;
    ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
    if (press == ECORE_DOWN)
      evas_event_feed_key_down(lookup->evas, e->keyname, e->key, e->string, e->compose, e->timestamp, NULL);
    else
      evas_event_feed_key_up(lookup->evas, e->keyname, e->key, e->string, e->compose, e->timestamp, NULL);
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 static Eina_Bool
@@ -169,7 +169,7 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
    Evas_Button_Flags flags = EVAS_BUTTON_NONE;
 
    lookup = _ecore_event_window_match(e->event_window);
-   if (!lookup) return ECORE_CALLBACK_RENEW;
+   if (!lookup) return ECORE_CALLBACK_PASS_ON;
    if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
    if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
    if (e->multi.device == 0)
@@ -219,7 +219,7 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
                                          e->timestamp, NULL);
           }
      }
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 EAPI Eina_Bool
@@ -230,7 +230,7 @@ ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *ev
 
    e = event;
    lookup = _ecore_event_window_match(e->event_window);
-   if (!lookup) return ECORE_CALLBACK_RENEW;
+   if (!lookup) return ECORE_CALLBACK_PASS_ON;
    if (e->multi.device == 0)
      {
         ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
@@ -256,7 +256,7 @@ ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *ev
                                       e->multi.x, e->multi.y, e->timestamp,
                                       NULL);
      }
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 EAPI Eina_Bool
@@ -277,7 +277,7 @@ _ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
    Ecore_Input_Window *lookup;
 
    lookup = _ecore_event_window_match(e->event_window);
-   if (!lookup) return ECORE_CALLBACK_RENEW;
+   if (!lookup) return ECORE_CALLBACK_PASS_ON;
    ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
    switch (io)
      {
@@ -292,7 +292,7 @@ _ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
      }
 
    lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 EAPI Eina_Bool
@@ -315,10 +315,10 @@ ecore_event_evas_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *e
 
    e = event;
    lookup = _ecore_event_window_match(e->event_window);
-   if (!lookup) return ECORE_CALLBACK_RENEW;
+   if (!lookup) return ECORE_CALLBACK_PASS_ON;
    ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
    evas_event_feed_mouse_wheel(lookup->evas, e->direction, e->z, e->timestamp, NULL);
-   return ECORE_CALLBACK_RENEW;
+   return ECORE_CALLBACK_PASS_ON;
 }
 
 EAPI Eina_Bool
index ec0776b..5ff3293 100644 (file)
@@ -122,6 +122,7 @@ struct _Ecore_Wl_Input
    struct wl_touch *touch;
 
    struct wl_surface *cursor_surface;
+   struct wl_callback *cursor_frame_cb;
 
    struct wl_data_device *data_device;
 
index 3a3250d..c21c102 100644 (file)
@@ -287,8 +287,8 @@ ecore_wl_pointer_xy_get(int *x, int *y)
  * Return the screen DPI
  *
  * This is a simplistic call to get DPI. It does not account for differing
- * DPI in the x amd y axes nor does it accoutn for multihead or xinerama and
- * xrander where different parts of the screen may have differen DPI etc.
+ * DPI in the x and y axes nor does it account for multihead or xinerama and
+ * xrandr where different parts of the screen may have different DPI etc.
  *
  * @return the general screen DPI (dots/pixels per inch).
  * 
@@ -307,6 +307,8 @@ ecore_wl_dpi_get(void)
    if (mw <= 0) return 75;
 
    w = _ecore_wl_disp->output->allocation.w;
+   /* FIXME: NB: Hrrrmmm, need to verify this. xorg code is using a different 
+    * formula to calc this */
    return (((w * 254) / mw) + 5) / 10;
 }
 
index 39e4f1c..164693f 100644 (file)
@@ -15,7 +15,7 @@ static const struct wl_data_offer_listener _ecore_wl_data_offer_listener =
 };
 
 void 
-_ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, unsigned int id)
+_ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device __UNUSED__, struct wl_data_offer *offer)
 {
    Ecore_Wl_Dnd_Source *source;
 
@@ -25,10 +25,7 @@ _ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, uns
    wl_array_init(&source->types);
    source->refcount = 1;
    source->input = input;
-   /* FIXME: Change this when wayland has typesafe wrapper for it */
-   source->offer = (struct wl_data_offer *)
-     wl_proxy_create_for_id((struct wl_proxy *)data_device, 
-                            id, &wl_data_offer_interface);
+   source->offer = offer;
    wl_data_offer_add_listener(source->offer, 
                               &_ecore_wl_data_offer_listener, source);
 }
index 0239924..9d82f60 100644 (file)
@@ -46,6 +46,7 @@ static void _ecore_wl_input_cb_pointer_leave(void *data, struct wl_pointer *poin
 static void _ecore_wl_input_cb_pointer_motion(void *data, struct wl_pointer *pointer __UNUSED__, unsigned int timestamp, wl_fixed_t sx, wl_fixed_t sy);
 static void _ecore_wl_input_cb_pointer_button(void *data, struct wl_pointer *pointer __UNUSED__, unsigned int serial, unsigned int timestamp, unsigned int button, unsigned int state);
 static void _ecore_wl_input_cb_pointer_axis(void *data, struct wl_pointer *pointer __UNUSED__, unsigned int timestamp, unsigned int axis, wl_fixed_t value);
+static void _ecore_wl_input_cb_pointer_frame(void *data, struct wl_callback *callback, unsigned int timestamp __UNUSED__);
 static void _ecore_wl_input_cb_keyboard_keymap(void *data, struct wl_keyboard *keyboard __UNUSED__, unsigned int format, int fd, unsigned int size);
 static void _ecore_wl_input_cb_keyboard_enter(void *data, struct wl_keyboard *keyboard __UNUSED__, unsigned int serial, struct wl_surface *surface, struct wl_array *keys __UNUSED__);
 static void _ecore_wl_input_cb_keyboard_leave(void *data, struct wl_keyboard *keyboard __UNUSED__, unsigned int serial, struct wl_surface *surface);
@@ -56,7 +57,7 @@ static void _ecore_wl_input_cb_touch_up(void *data, struct wl_touch *touch __UNU
 static void _ecore_wl_input_cb_touch_motion(void *data, struct wl_touch *touch __UNUSED__, unsigned int timestamp, int id __UNUSED__, wl_fixed_t x, wl_fixed_t y);
 static void _ecore_wl_input_cb_touch_frame(void *data __UNUSED__, struct wl_touch *touch __UNUSED__);
 static void _ecore_wl_input_cb_touch_cancel(void *data __UNUSED__, struct wl_touch *touch __UNUSED__);
-static void _ecore_wl_input_cb_data_offer(void *data, struct wl_data_device *data_device, unsigned int id);
+static void _ecore_wl_input_cb_data_offer(void *data, struct wl_data_device *data_device, struct wl_data_offer *offer);
 static void _ecore_wl_input_cb_data_enter(void *data, struct wl_data_device *data_device, unsigned int timestamp, struct wl_surface *surface, wl_fixed_t x, wl_fixed_t y, struct wl_data_offer *offer);
 static void _ecore_wl_input_cb_data_leave(void *data, struct wl_data_device *data_device);
 static void _ecore_wl_input_cb_data_motion(void *data, struct wl_data_device *data_device, unsigned int timestamp, wl_fixed_t x, wl_fixed_t y);
@@ -118,6 +119,11 @@ static const struct wl_data_device_listener _ecore_wl_data_listener =
    _ecore_wl_input_cb_data_selection
 };
 
+static const struct wl_callback_listener _ecore_wl_pointer_surface_listener = 
+{
+   _ecore_wl_input_cb_pointer_frame
+};
+
 /* local variables */
 static int _pointer_x, _pointer_y;
 
@@ -184,6 +190,9 @@ ecore_wl_input_cursor_from_name_set(Ecore_Wl_Input *input, const char *cursor_na
         wl_surface_attach(input->cursor_surface, buffer, 0, 0);
         wl_surface_damage(input->cursor_surface, 0, 0, 
                           cursor_image->width, cursor_image->height);
+
+        if (!input->cursor_frame_cb)
+          _ecore_wl_input_cb_pointer_frame(input, NULL, 0);
      }
 }
 
@@ -243,16 +252,18 @@ _ecore_wl_input_del(Ecore_Wl_Input *input)
    input->selection_source = NULL;
 
    if (input->data_device) wl_data_device_destroy(input->data_device);
-   if (input->seat) wl_seat_destroy(input->seat);
-   wl_list_remove(&input->link);
 
    if (input->xkb.state)
      xkb_state_unref(input->xkb.state);
    if (input->xkb.keymap)
      xkb_map_unref(input->xkb.keymap);
+
    if (input->cursor_surface)
      wl_surface_destroy(input->cursor_surface);
 
+   wl_list_remove(&input->link);
+   if (input->seat) wl_seat_destroy(input->seat);
+
    free(input);
 }
 
@@ -322,9 +333,10 @@ _ecore_wl_input_cb_pointer_motion(void *data, struct wl_pointer *pointer __UNUSE
 
    input->timestamp = timestamp;
 
-   /* TODO: FIXME: NB: Weston window code has set pointer image here also */
    if (input->pointer_focus)
      _ecore_wl_input_mouse_move_send(input, input->pointer_focus, timestamp);
+
+   ecore_wl_input_cursor_default_restore(input);
 }
 
 static void 
@@ -376,6 +388,31 @@ _ecore_wl_input_cb_pointer_axis(void *data, struct wl_pointer *pointer __UNUSED_
 }
 
 static void 
+_ecore_wl_input_cb_pointer_frame(void *data, struct wl_callback *callback, unsigned int timestamp __UNUSED__)
+{
+   Ecore_Wl_Input *input;
+
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+
+   if (!(input = data)) return;
+
+   if (callback)
+     {
+        if (callback != input->cursor_frame_cb) return;
+        wl_callback_destroy(callback);
+        input->cursor_frame_cb = NULL;
+     }
+
+   /* TODO: Finish me */
+   if (!input->cursor_frame_cb)
+     {
+        input->cursor_frame_cb = wl_surface_frame(input->cursor_surface);
+        wl_callback_add_listener(input->cursor_frame_cb, 
+                                 &_ecore_wl_pointer_surface_listener, input);
+     }
+}
+
+static void 
 _ecore_wl_input_cb_keyboard_keymap(void *data, struct wl_keyboard *keyboard __UNUSED__, unsigned int format, int fd, unsigned int size)
 {
    Ecore_Wl_Input *input;
@@ -586,6 +623,7 @@ _ecore_wl_input_cb_pointer_enter(void *data, struct wl_pointer *pointer __UNUSED
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
+   if (!surface) return;
    if (!(input = data)) return;
 
    if (!input->timestamp)
@@ -596,8 +634,8 @@ _ecore_wl_input_cb_pointer_enter(void *data, struct wl_pointer *pointer __UNUSED
         input->timestamp = (tv.tv_sec * 1000 + tv.tv_usec / 1000);
      }
 
-   input->sx = wl_fixed_to_int(sx);
-   input->sy = wl_fixed_to_int(sy);
+   input->sx = wl_fixed_to_double(sx);
+   input->sy = wl_fixed_to_double(sy);
    input->display->serial = serial;
    input->pointer_enter_serial = serial;
 
@@ -799,11 +837,11 @@ _ecore_wl_input_cb_touch_cancel(void *data __UNUSED__, struct wl_touch *touch __
 }
 
 static void 
-_ecore_wl_input_cb_data_offer(void *data, struct wl_data_device *data_device, unsigned int id)
+_ecore_wl_input_cb_data_offer(void *data, struct wl_data_device *data_device, struct wl_data_offer *offer)
 {
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   _ecore_wl_dnd_add(data, data_device, id);
+   _ecore_wl_dnd_add(data, data_device, offer);
 }
 
 static void 
index 8ad6ce5..5e6c38d 100644 (file)
@@ -5,7 +5,7 @@
 #include "ecore_wl_private.h"
 
 /* local function prototypes */
-static void _ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__);
+static void _ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__, int transform __UNUSED__);
 static void _ecore_wl_output_cb_mode(void *data, struct wl_output *wl_output __UNUSED__, unsigned int flags, int w, int h, int refresh __UNUSED__);
 
 /* wayland listeners */
@@ -52,7 +52,7 @@ _ecore_wl_output_del(Ecore_Wl_Output *output)
 
 /* local functions */
 static void 
-_ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__)
+_ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__, int transform __UNUSED__)
 {
    Ecore_Wl_Output *output;
 
index 20d7626..63a5f12 100644 (file)
@@ -78,7 +78,7 @@ void _ecore_wl_input_add(Ecore_Wl_Display *ewd, unsigned int id);
 void _ecore_wl_input_del(Ecore_Wl_Input *input);
 void _ecore_wl_input_pointer_xy_get(int *x, int *y);
 
-void _ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, unsigned int id);
+void _ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, struct wl_data_offer *offer);
 void _ecore_wl_dnd_enter(void *data, struct wl_data_device *data_device __UNUSED__, unsigned int timestamp __UNUSED__, struct wl_surface *surface, int x, int y, struct wl_data_offer *offer);
 void _ecore_wl_dnd_leave(void *data, struct wl_data_device *data_device __UNUSED__);
 void _ecore_wl_dnd_motion(void *data, struct wl_data_device *data_device __UNUSED__, unsigned int timestamp __UNUSED__, int x, int y);
index 45a82a3..ab72a01 100644 (file)
@@ -270,8 +270,10 @@ ecore_wl_window_buffer_attach(Ecore_Wl_Window *win, struct wl_buffer *buffer, in
       case ECORE_WL_WINDOW_BUFFER_TYPE_SHM:
         if (win->surface)
           {
-             if (buffer)
-               wl_surface_attach(win->surface, buffer, x, y);
+             /* if (buffer) */
+             wl_surface_attach(win->surface, buffer, x, y);
+             wl_surface_damage(win->surface, 0, 0, 
+                               win->allocation.w, win->allocation.h);
 
              wl_surface_damage(win->surface, 0, 0, 
                                win->allocation.w, win->allocation.h);
@@ -337,14 +339,14 @@ ecore_wl_window_show(Ecore_Wl_Window *win)
         break;
       case ECORE_WL_WINDOW_TYPE_TRANSIENT:
         wl_shell_surface_set_transient(win->shell_surface, 
-                                       win->parent->shell_surface, 
+                                       win->parent->surface, 
                                        win->allocation.x, win->allocation.y, 0);
         break;
       case ECORE_WL_WINDOW_TYPE_MENU:
         wl_shell_surface_set_popup(win->shell_surface, 
                                    _ecore_wl_disp->input->seat,
                                    _ecore_wl_disp->serial,
-                                   win->parent->shell_surface, 
+                                   win->parent->surface, 
                                    win->allocation.x, win->allocation.y, 0);
         break;
       case ECORE_WL_WINDOW_TYPE_NONE:
@@ -357,21 +359,21 @@ ecore_wl_window_show(Ecore_Wl_Window *win)
         break;
      }
 
-   if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN)
-     {
-        win->region.input = 
-          wl_compositor_create_region(_ecore_wl_disp->wl.compositor);
-        wl_region_add(win->region.input, win->allocation.x, win->allocation.y, 
-                      win->allocation.w, win->allocation.h);
-     }
-
-   if (!win->transparent)
-     {
-        win->region.opaque = 
-          wl_compositor_create_region(_ecore_wl_disp->wl.compositor);
-        wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, 
-                      win->allocation.w, win->allocation.h);
-     }
+   /* if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN) */
+   /*   { */
+   /*      win->region.input =  */
+   /*        wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */
+   /*      wl_region_add(win->region.input, win->allocation.x, win->allocation.y,  */
+   /*                    win->allocation.w, win->allocation.h); */
+   /*   } */
+
+   /* if (!win->transparent) */
+   /*   { */
+   /*      win->region.opaque =  */
+   /*        wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */
+   /*      wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y,  */
+   /*                    win->allocation.w, win->allocation.h); */
+   /*   } */
 }
 
 /**
index 201beef..b16fab5 100644 (file)
@@ -356,7 +356,7 @@ typedef enum _Ecore_X_Netwm_Direction
  * Defines the error codes of Ecore_X which wraps the X Window Systems
  * protocol's errors.
  *
- * @since 1.3.0
+ * @since 1.7.0
  */
 typedef enum _Ecore_X_Error_Code
 {
@@ -1056,11 +1056,11 @@ EAPI extern int ECORE_X_EVENT_XDND_LEAVE;
 EAPI extern int ECORE_X_EVENT_XDND_DROP;
 EAPI extern int ECORE_X_EVENT_XDND_FINISHED;
 
-EAPI extern int ECORE_X_MODIFIER_SHIFT; /**< @since 1.3 */
-EAPI extern int ECORE_X_MODIFIER_CTRL;  /**< @since 1.3 */
-EAPI extern int ECORE_X_MODIFIER_ALT;   /**< @since 1.3 */
-EAPI extern int ECORE_X_MODIFIER_WIN;   /**< @since 1.3 */
-EAPI extern int ECORE_X_MODIFIER_ALTGR; /**< @since 1.3 */
+EAPI extern int ECORE_X_MODIFIER_SHIFT; /**< @since 1.7 */
+EAPI extern int ECORE_X_MODIFIER_CTRL;  /**< @since 1.7 */
+EAPI extern int ECORE_X_MODIFIER_ALT;   /**< @since 1.7 */
+EAPI extern int ECORE_X_MODIFIER_WIN;   /**< @since 1.7 */
+EAPI extern int ECORE_X_MODIFIER_ALTGR; /**< @since 1.7 */
 
 EAPI extern int ECORE_X_LOCK_SCROLL;
 EAPI extern int ECORE_X_LOCK_NUM;
@@ -1594,7 +1594,6 @@ EAPI void                            ecore_x_netwm_ping_send(Ecore_X_Window win)
 EAPI void                            ecore_x_netwm_sync_request_send(Ecore_X_Window win, unsigned int serial);
 EAPI void                            ecore_x_netwm_state_request_send(Ecore_X_Window win, Ecore_X_Window root, Ecore_X_Window_State s1, Ecore_X_Window_State s2, Eina_Bool set);
 EAPI void                            ecore_x_netwm_desktop_request_send(Ecore_X_Window win, Ecore_X_Window root, unsigned int desktop);
-EAPI void                            ecore_x_netwm_moveresize_request_send(Ecore_X_Window win, int x, int y, Ecore_X_Netwm_Direction direction, unsigned int button);
 
 EAPI void                            ecore_x_e_init(void);
 EAPI void                            ecore_x_e_frame_size_set(Ecore_X_Window win, int fl, int fr, int ft, int fb);
@@ -1674,44 +1673,10 @@ EAPI void                            ecore_x_e_comp_dump_send(Ecore_X_Window win
 EAPI void                            ecore_x_e_comp_pixmap_set(Ecore_X_Window win, Ecore_X_Pixmap pixmap);
 EAPI Ecore_X_Pixmap                  ecore_x_e_comp_pixmap_get(Ecore_X_Window win);
 
-/**
- * @brief Set the window profile list.
- *
- * @param win The window
- * @param profiles The profile name list 
- * @param num_profiles The number of profile names
- *
- * @since 1.3.0
- */
-EAPI void                            ecore_x_e_window_profile_list_set(Ecore_X_Window win, const char **profiles, unsigned int num_profiles);
-/**
- * @brief Get the window profile list.
- *
- * @param win The window
- * @param[out] profiles Returns the profile name list
- * @param[out] ret_num Returns the number of profile names
- *
- * @since 1.3.0
- */
-EAPI Eina_Bool                       ecore_x_e_window_profile_list_get(Ecore_X_Window win, const char ***profiles, int *ret_num);
-/**
- * @brief Set the window profile.
- *
- * @param win The window
- * @param profile The profile name
- *
- * @since 1.3.0
- */
-EAPI void                            ecore_x_e_window_profile_set(Ecore_X_Window win, const char *profile);
-/**
- * @brief Get the window profile.
- *
- * @param win The window
- * @return The profile name
- *
- * @since 1.3.0
- */
-EAPI char                           *ecore_x_e_window_profile_get(Ecore_X_Window win);
+EAPI char                            *ecore_x_e_window_profile_get(Ecore_X_Window win);
+EAPI void                             ecore_x_e_window_profile_set(Ecore_X_Window win, const char *profile);
+EAPI void                             ecore_x_e_window_profile_list_set(Ecore_X_Window  win, const char **profiles, unsigned int num_profiles);
+EAPI Eina_Bool                        ecore_x_e_window_profile_list_get(Ecore_X_Window win, const char ***profiles, int *ret_num);
 
 EAPI Ecore_X_Sync_Alarm              ecore_x_sync_alarm_new(Ecore_X_Sync_Counter counter);
 EAPI Eina_Bool                       ecore_x_sync_alarm_free(Ecore_X_Sync_Alarm alarm);
@@ -2118,13 +2083,15 @@ EAPI Eina_Bool                                 ecore_x_randr_output_signal_forma
 EAPI Ecore_X_Randr_Signal_Property            *ecore_x_randr_output_signal_properties_get(Ecore_X_Window root, Ecore_X_Randr_Output output, int *num);
 EAPI int                                       ecore_x_randr_output_connector_number_get(Ecore_X_Window root, Ecore_X_Randr_Output output);
 EAPI Ecore_X_Randr_Connector_Type              ecore_x_randr_output_connector_type_get(Ecore_X_Window root, Ecore_X_Randr_Output output);
+/* WTF - these dont exist in ecore-x!!!!   
 EAPI Eina_Rectangle                           *ecore_x_randr_crtc_panning_area_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc, int *x, int *y, int *w, int *h);
 EAPI Eina_Bool                                 ecore_x_randr_crtc_panning_area_set(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc, int x, const int y, const int w, const int h);
 EAPI Eina_Rectangle                           *ecore_x_randr_crtc_tracking_area_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc, int *x, int *y, int *w, int *h);
 EAPI Eina_Bool                                 ecore_x_randr_crtc_tracking_area_set(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc, int x, const int y, const int w, const int h);
 EAPI Eina_Rectangle                           *ecore_x_randr_crtc_border_area_get(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc);
 EAPI Eina_Bool                                 ecore_x_randr_crtc_border_area_set(Ecore_X_Window root, Ecore_X_Randr_Crtc crtc, int left, const int top, const int right, const int bottom);
-
+*/
+   
 /* XRender Support (horrendously incomplete) */
 typedef Ecore_X_ID Ecore_X_Picture;
 
@@ -2412,6 +2379,13 @@ ecore_x_e_illume_window_state_set(Ecore_X_Window win,
 EAPI Ecore_X_Illume_Window_State
 ecore_x_e_illume_window_state_get(Ecore_X_Window win);
 
+EAPI void
+ecore_x_e_illume_window_state_set(Ecore_X_Window win,
+                                  Ecore_X_Illume_Window_State state);
+
+EAPI Ecore_X_Illume_Window_State
+ecore_x_e_illume_window_state_get(Ecore_X_Window win);
+
 #ifdef __cplusplus
 }
 #endif // ifdef __cplusplus
index ac184d5..b01898f 100644 (file)
@@ -8,273 +8,6 @@
 
 /* local variables */
 static xcb_intern_atom_cookie_t cookies[ECORE_X_ATOMS_COUNT];
-static Xcb_Atom atoms[] =
-{
-   { "ATOM", &ECORE_X_ATOM_ATOM },
-   { "CARDINAL", &ECORE_X_ATOM_CARDINAL },
-   { "COMPOUND_TEXT", &ECORE_X_ATOM_COMPOUND_TEXT },
-   { "FILE_NAME", &ECORE_X_ATOM_FILE_NAME },
-   { "STRING", &ECORE_X_ATOM_STRING },
-   { "TEXT", &ECORE_X_ATOM_TEXT },
-   { "UTF8_STRING", &ECORE_X_ATOM_UTF8_STRING },
-   { "WINDOW", &ECORE_X_ATOM_WINDOW },
-   { "PIXMAP", &ECORE_X_ATOM_PIXMAP },
-   { "VISUALID", &ECORE_X_ATOM_VISUALID },
-
-   { "JXSelectionWindowProperty", &ECORE_X_ATOM_SELECTION_PROP_XDND },
-   { "XdndSelection", &ECORE_X_ATOM_SELECTION_XDND },
-   { "XdndAware", &ECORE_X_ATOM_XDND_AWARE },
-   { "XdndEnter", &ECORE_X_ATOM_XDND_ENTER },
-   { "XdndTypeList", &ECORE_X_ATOM_XDND_TYPE_LIST },
-   { "XdndPosition", &ECORE_X_ATOM_XDND_POSITION },
-   { "XdndActionCopy", &ECORE_X_ATOM_XDND_ACTION_COPY },
-   { "XdndActionMove", &ECORE_X_ATOM_XDND_ACTION_MOVE },
-   { "XdndActionPrivate", &ECORE_X_ATOM_XDND_ACTION_PRIVATE },
-   { "XdndActionAsk", &ECORE_X_ATOM_XDND_ACTION_ASK },
-   { "XdndActionList", &ECORE_X_ATOM_XDND_ACTION_LIST },
-   { "XdndActionLink", &ECORE_X_ATOM_XDND_ACTION_LINK },
-   { "XdndActionDescription", &ECORE_X_ATOM_XDND_ACTION_DESCRIPTION },
-   { "XdndProxy", &ECORE_X_ATOM_XDND_PROXY },
-   { "XdndStatus", &ECORE_X_ATOM_XDND_STATUS },
-   { "XdndLeave", &ECORE_X_ATOM_XDND_LEAVE },
-   { "XdndDrop", &ECORE_X_ATOM_XDND_DROP },
-   { "XdndFinished", &ECORE_X_ATOM_XDND_FINISHED },
-
-   { "XdndActionCopy", &ECORE_X_DND_ACTION_COPY },
-   { "XdndActionMove", &ECORE_X_DND_ACTION_MOVE },
-   { "XdndActionLink", &ECORE_X_DND_ACTION_LINK },
-   { "XdndActionAsk", &ECORE_X_DND_ACTION_ASK },
-   { "XdndActionPrivate", &ECORE_X_DND_ACTION_PRIVATE },
-
-   { "_E_FRAME_SIZE", &ECORE_X_ATOM_E_FRAME_SIZE },
-
-   { "_WIN_LAYER", &ECORE_X_ATOM_WIN_LAYER },
-
-   { "WM_NAME", &ECORE_X_ATOM_WM_NAME },
-   { "WM_ICON_NAME", &ECORE_X_ATOM_WM_ICON_NAME },
-   { "WM_NORMAL_HINTS", &ECORE_X_ATOM_WM_NORMAL_HINTS },
-   { "WM_SIZE_HINTS", &ECORE_X_ATOM_WM_SIZE_HINTS },
-   { "WM_HINTS", &ECORE_X_ATOM_WM_HINTS },
-   { "WM_CLASS", &ECORE_X_ATOM_WM_CLASS },
-   { "WM_TRANSIENT_FOR", &ECORE_X_ATOM_WM_TRANSIENT_FOR },
-   { "WM_PROTOCOLS", &ECORE_X_ATOM_WM_PROTOCOLS },
-   { "WM_COLORMAP_WINDOWS", &ECORE_X_ATOM_WM_COLORMAP_WINDOWS },
-   { "WM_COMMAND", &ECORE_X_ATOM_WM_COMMAND },
-   { "WM_CLIENT_MACHINE", &ECORE_X_ATOM_WM_CLIENT_MACHINE },
-
-   { "WM_STATE", &ECORE_X_ATOM_WM_STATE },
-   { "WM_ICON_SIZE", &ECORE_X_ATOM_WM_ICON_SIZE },
-
-   { "WM_CHANGE_STATE", &ECORE_X_ATOM_WM_CHANGE_STATE },
-
-   { "WM_TAKE_FOCUS", &ECORE_X_ATOM_WM_TAKE_FOCUS },
-   { "WM_SAVE_YOURSELF", &ECORE_X_ATOM_WM_SAVE_YOURSELF },
-   { "WM_DELETE_WINDOW", &ECORE_X_ATOM_WM_DELETE_WINDOW },
-
-   { "WM_COLORMAP_NOTIFY", &ECORE_X_ATOM_WM_COLORMAP_NOTIFY },
-
-   { "SM_CLIENT_ID", &ECORE_X_ATOM_SM_CLIENT_ID },
-   { "WM_CLIENT_LEADER", &ECORE_X_ATOM_WM_CLIENT_LEADER },
-   { "WM_WINDOW_ROLE", &ECORE_X_ATOM_WM_WINDOW_ROLE },
-
-   { "_MOTIF_WM_HINTS", &ECORE_X_ATOM_MOTIF_WM_HINTS },
-
-   { "_NET_SUPPORTED", &ECORE_X_ATOM_NET_SUPPORTED },
-   { "_NET_CLIENT_LIST", &ECORE_X_ATOM_NET_CLIENT_LIST },
-   { "_NET_CLIENT_LIST_STACKING", &ECORE_X_ATOM_NET_CLIENT_LIST_STACKING },
-   { "_NET_NUMBER_OF_DESKTOPS", &ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS },
-   { "_NET_DESKTOP_GEOMETRY", &ECORE_X_ATOM_NET_DESKTOP_GEOMETRY },
-   { "_NET_DESKTOP_VIEWPORT", &ECORE_X_ATOM_NET_DESKTOP_VIEWPORT },
-   { "_NET_CURRENT_DESKTOP", &ECORE_X_ATOM_NET_CURRENT_DESKTOP },
-   { "_NET_DESKTOP_NAMES", &ECORE_X_ATOM_NET_DESKTOP_NAMES },
-   { "_NET_ACTIVE_WINDOW", &ECORE_X_ATOM_NET_ACTIVE_WINDOW },
-   { "_NET_WORKAREA", &ECORE_X_ATOM_NET_WORKAREA },
-   { "_NET_SUPPORTING_WM_CHECK", &ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK },
-   { "_NET_VIRTUAL_ROOTS", &ECORE_X_ATOM_NET_VIRTUAL_ROOTS },
-   { "_NET_DESKTOP_LAYOUT", &ECORE_X_ATOM_NET_DESKTOP_LAYOUT },
-   { "_NET_SHOWING_DESKTOP", &ECORE_X_ATOM_NET_SHOWING_DESKTOP },
-
-   { "_NET_CLOSE_WINDOW", &ECORE_X_ATOM_NET_CLOSE_WINDOW },
-   { "_NET_MOVERESIZE_WINDOW", &ECORE_X_ATOM_NET_MOVERESIZE_WINDOW },
-   { "_NET_WM_MOVERESIZE", &ECORE_X_ATOM_NET_WM_MOVERESIZE },
-   { "_NET_RESTACK_WINDOW", &ECORE_X_ATOM_NET_RESTACK_WINDOW },
-
-   { "_NET_REQUEST_FRAME_EXTENTS", &ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS },
-
-   { "_NET_WM_NAME", &ECORE_X_ATOM_NET_WM_NAME },
-   { "_NET_WM_VISIBLE_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_NAME },
-   { "_NET_WM_ICON_NAME", &ECORE_X_ATOM_NET_WM_ICON_NAME },
-   { "_NET_WM_VISIBLE_ICON_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME },
-   { "_NET_WM_DESKTOP", &ECORE_X_ATOM_NET_WM_DESKTOP },
-
-   { "_NET_WM_WINDOW_TYPE", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE },
-   { "_NET_WM_WINDOW_TYPE_DESKTOP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP },
-   { "_NET_WM_WINDOW_TYPE_DOCK", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK },
-   { "_NET_WM_WINDOW_TYPE_TOOLBAR", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR },
-   { "_NET_WM_WINDOW_TYPE_MENU", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU },
-   { "_NET_WM_WINDOW_TYPE_UTILITY", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY },
-   { "_NET_WM_WINDOW_TYPE_SPLASH", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH },
-   { "_NET_WM_WINDOW_TYPE_DIALOG", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG },
-   { "_NET_WM_WINDOW_TYPE_NORMAL", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL },
-   { "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU",
-     &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DROPDOWN_MENU },
-   { "_NET_WM_WINDOW_TYPE_POPUP_MENU",
-     &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_POPUP_MENU },
-   { "_NET_WM_WINDOW_TYPE_TOOLTIP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLTIP },
-   { "_NET_WM_WINDOW_TYPE_NOTIFICATION",
-     &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NOTIFICATION },
-   { "_NET_WM_WINDOW_TYPE_COMBO", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_COMBO },
-   { "_NET_WM_WINDOW_TYPE_DND", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DND },
-
-   { "_NET_WM_STATE", &ECORE_X_ATOM_NET_WM_STATE },
-   { "_NET_WM_STATE_MODAL", &ECORE_X_ATOM_NET_WM_STATE_MODAL },
-   { "_NET_WM_STATE_STICKY", &ECORE_X_ATOM_NET_WM_STATE_STICKY },
-   { "_NET_WM_STATE_MAXIMIZED_VERT",
-     &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT },
-   { "_NET_WM_STATE_MAXIMIZED_HORZ",
-     &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ },
-   { "_NET_WM_STATE_SHADED", &ECORE_X_ATOM_NET_WM_STATE_SHADED },
-   { "_NET_WM_STATE_SKIP_TASKBAR", &ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR },
-   { "_NET_WM_STATE_SKIP_PAGER", &ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER },
-   { "_NET_WM_STATE_HIDDEN", &ECORE_X_ATOM_NET_WM_STATE_HIDDEN },
-   { "_NET_WM_STATE_FULLSCREEN", &ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN },
-   { "_NET_WM_STATE_ABOVE", &ECORE_X_ATOM_NET_WM_STATE_ABOVE },
-   { "_NET_WM_STATE_BELOW", &ECORE_X_ATOM_NET_WM_STATE_BELOW },
-   { "_NET_WM_STATE_DEMANDS_ATTENTION",
-     &ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION },
-
-   { "_NET_WM_ALLOWED_ACTIONS", &ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS },
-   { "_NET_WM_ACTION_MOVE", &ECORE_X_ATOM_NET_WM_ACTION_MOVE },
-   { "_NET_WM_ACTION_RESIZE", &ECORE_X_ATOM_NET_WM_ACTION_RESIZE },
-   { "_NET_WM_ACTION_MINIMIZE", &ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE },
-   { "_NET_WM_ACTION_SHADE", &ECORE_X_ATOM_NET_WM_ACTION_SHADE },
-   { "_NET_WM_ACTION_STICK", &ECORE_X_ATOM_NET_WM_ACTION_STICK },
-   { "_NET_WM_ACTION_MAXIMIZE_HORZ",
-     &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ },
-   { "_NET_WM_ACTION_MAXIMIZE_VERT",
-     &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT },
-   { "_NET_WM_ACTION_FULLSCREEN", &ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN },
-   { "_NET_WM_ACTION_CHANGE_DESKTOP",
-     &ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP },
-   { "_NET_WM_ACTION_CLOSE", &ECORE_X_ATOM_NET_WM_ACTION_CLOSE },
-   { "_NET_WM_ACTION_ABOVE", &ECORE_X_ATOM_NET_WM_ACTION_ABOVE },
-   { "_NET_WM_ACTION_BELOW", &ECORE_X_ATOM_NET_WM_ACTION_BELOW },
-
-   { "_NET_WM_STRUT", &ECORE_X_ATOM_NET_WM_STRUT },
-   { "_NET_WM_STRUT_PARTIAL", &ECORE_X_ATOM_NET_WM_STRUT_PARTIAL },
-   { "_NET_WM_ICON_GEOMETRY", &ECORE_X_ATOM_NET_WM_ICON_GEOMETRY },
-   { "_NET_WM_ICON", &ECORE_X_ATOM_NET_WM_ICON },
-   { "_NET_WM_PID", &ECORE_X_ATOM_NET_WM_PID },
-   { "_NET_WM_HANDLED_ICONS", &ECORE_X_ATOM_NET_WM_HANDLED_ICONS },
-   { "_NET_WM_USER_TIME", &ECORE_X_ATOM_NET_WM_USER_TIME },
-   { "_NET_STARTUP_ID", &ECORE_X_ATOM_NET_STARTUP_ID },
-   { "_NET_FRAME_EXTENTS", &ECORE_X_ATOM_NET_FRAME_EXTENTS },
-
-   { "_NET_WM_PING", &ECORE_X_ATOM_NET_WM_PING },
-   { "_NET_WM_SYNC_REQUEST", &ECORE_X_ATOM_NET_WM_SYNC_REQUEST },
-   { "_NET_WM_SYNC_REQUEST_COUNTER",
-     &ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER },
-
-   { "_NET_WM_WINDOW_OPACITY", &ECORE_X_ATOM_NET_WM_WINDOW_OPACITY },
-   { "_NET_WM_WINDOW_SHADOW", &ECORE_X_ATOM_NET_WM_WINDOW_SHADOW },
-   { "_NET_WM_WINDOW_SHADE", &ECORE_X_ATOM_NET_WM_WINDOW_SHADE },
-
-   { "TARGETS", &ECORE_X_ATOM_SELECTION_TARGETS },
-   { "CLIPBOARD", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
-   { "PRIMARY", &ECORE_X_ATOM_SELECTION_PRIMARY },
-   { "SECONDARY", &ECORE_X_ATOM_SELECTION_SECONDARY },
-   { "_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 },
-
-   { "_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 },
-   { "_E_VIRTUAL_KEYBOARD_IP", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP },
-   { "_E_VIRTUAL_KEYBOARD_HOST", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST },
-   { "_E_VIRTUAL_KEYBOARD_FILE", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE },
-   { "_E_VIRTUAL_KEYBOARD_URL", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL },
-   { "_E_VIRTUAL_KEYBOARD_KEYPAD", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD },
-   { "_E_VIRTUAL_KEYBOARD_J2ME", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME },
-
-   { "_E_ILLUME_ZONE", &ECORE_X_ATOM_E_ILLUME_ZONE },
-   { "_E_ILLUME_ZONE_LIST", &ECORE_X_ATOM_E_ILLUME_ZONE_LIST },
-   { "_E_ILLUME_CONFORMANT", &ECORE_X_ATOM_E_ILLUME_CONFORMANT },
-   { "_E_ILLUME_MODE", &ECORE_X_ATOM_E_ILLUME_MODE },
-   { "_E_ILLUME_MODE_SINGLE", &ECORE_X_ATOM_E_ILLUME_MODE_SINGLE },
-   { "_E_ILLUME_MODE_DUAL_TOP", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP },
-   { "_E_ILLUME_MODE_DUAL_LEFT", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT },
-   { "_E_ILLUME_FOCUS_BACK", &ECORE_X_ATOM_E_ILLUME_FOCUS_BACK },
-   { "_E_ILLUME_FOCUS_FORWARD", &ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD },
-   { "_E_ILLUME_FOCUS_HOME", &ECORE_X_ATOM_E_ILLUME_FOCUS_HOME },
-   { "_E_ILLUME_CLOSE", &ECORE_X_ATOM_E_ILLUME_CLOSE },
-   { "_E_ILLUME_HOME_NEW", &ECORE_X_ATOM_E_ILLUME_HOME_NEW },
-   { "_E_ILLUME_HOME_DEL", &ECORE_X_ATOM_E_ILLUME_HOME_DEL },
-   { "_E_ILLUME_DRAG", &ECORE_X_ATOM_E_ILLUME_DRAG },
-   { "_E_ILLUME_DRAG_LOCKED", &ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED },
-   { "_E_ILLUME_DRAG_START", &ECORE_X_ATOM_E_ILLUME_DRAG_START },
-   { "_E_ILLUME_DRAG_END", &ECORE_X_ATOM_E_ILLUME_DRAG_END },
-   { "_E_ILLUME_INDICATOR_GEOMETRY",
-     &ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY },
-   { "_E_ILLUME_SOFTKEY_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY },
-   { "_E_ILLUME_KEYBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY },
-   { "_E_ILLUME_QUICKPANEL", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL },
-   { "_E_ILLUME_QUICKPANEL_STATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE },
-   { "_E_ILLUME_QUICKPANEL_STATE_TOGGLE",
-     &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE },
-   { "_E_ILLUME_QUICKPANEL_ON", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON },
-   { "_E_ILLUME_QUICKPANEL_OFF", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF },
-   { "_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR",
-     &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR },
-   { "_E_ILLUME_QUICKPANEL_PRIORITY_MINOR",
-     &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR },
-   { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE },
-   { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE",
-     &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE },
-   { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE },
-   { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON },
-   { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF },
-   { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE },
-   { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE },
-   { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT },
-   { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT },
-   { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE },
-   { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE },
-   { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE },
-   { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE },
-   { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON },
-   { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF },
-   { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY },
-   { "_E_ILLUME_WINDOW_STATE", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE },
-   { "_E_ILLUME_WINDOW_STATE_NORMAL", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL },
-   { "_E_ILLUME_WINDOW_STATE_FLOATING", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING },
-   { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER },
-   { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE },
-   { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED },
-   { "_E_COMP_SYNC_BEGIN", &ECORE_X_ATOM_E_COMP_SYNC_BEGIN },
-   { "_E_COMP_SYNC_END", &ECORE_X_ATOM_E_COMP_SYNC_END },
-   { "_E_COMP_SYNC_CANCEL", &ECORE_X_ATOM_E_COMP_SYNC_CANCEL },
-
-   { "_E_COMP_FLUSH", &ECORE_X_ATOM_E_COMP_FLUSH },
-   { "_E_COMP_DUMP", &ECORE_X_ATOM_E_COMP_DUMP },
-   { "_E_COMP_PIXMAP", &ECORE_X_ATOM_E_COMP_PIXMAP },
-   { "_E_VIDEO_PARENT", &ECORE_X_ATOM_E_VIDEO_PARENT },
-   { "_E_VIDEO_POSITION", &ECORE_X_ATOM_E_VIDEO_POSITION },
-
-   { "_E_PROFILE", &ECORE_X_ATOM_E_PROFILE },
-   { "_E_PROFILE_LIST", &ECORE_X_ATOM_E_PROFILE_LIST }
-};
 
 void
 _ecore_xcb_atoms_init(void)
index 974655b..d86d0c7 100644 (file)
@@ -144,7 +144,7 @@ ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
         ecore_x_atoms_get(profiles, num_profiles, atoms);
         ecore_x_window_prop_property_set(win,
                                          ECORE_X_ATOM_E_PROFILE_LIST,
-                                         XA_ATOM, 32, (void *)atoms,
+                                         ECORE_X_ATOM_ATOM, 32, (void *)atoms,
                                          num_profiles);
      }
 }
@@ -170,7 +170,7 @@ ecore_x_e_window_profile_list_get(Ecore_X_Window   win,
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_property_get(win,
                                          ECORE_X_ATOM_E_PROFILE_LIST,
-                                         XA_ATOM, 32, &data, &num))
+                                         ECORE_X_ATOM_ATOM, 32, &data, &num))
      return EINA_FALSE;
 
    if (ret_num)
@@ -217,7 +217,7 @@ ecore_x_e_window_profile_set(Ecore_X_Window win,
      {
         atom = ecore_x_atom_get(profile);
         ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
-                                         XA_ATOM, 32, (void *)&atom, 1);
+                                         ECORE_X_ATOM_ATOM, 32, (void *)&atom, 1);
      }
 }
 
@@ -231,7 +231,7 @@ ecore_x_e_window_profile_get(Ecore_X_Window win)
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
-                                         XA_ATOM, 32, &data, &num))
+                                         ECORE_X_ATOM_ATOM, 32, &data, &num))
      return NULL;
 
    if (data)
index 5b7d974..272071f 100644 (file)
@@ -1333,7 +1333,15 @@ _ecore_xcb_event_handle_selection_notify(xcb_generic_event_t *event)
         format =
           ecore_x_window_prop_property_get(ev->requestor, ev->property,
                                            XCB_ATOM_ATOM, 32, &data, &num);
-        if (!format) return;
+        if (!format)
+          {
+             /* fallback if targets handling is not working and try get the
+              * selection directly */
+             xcb_convert_selection(_ecore_xcb_conn, ev->requestor,
+                                   selection, selection,
+                                   ECORE_X_ATOM_UTF8_STRING, XCB_CURRENT_TIME);
+             return;
+          }
      }
    else
      {
index 8a508c8..6518264 100644 (file)
@@ -30,282 +30,6 @@ void *alloca(size_t);
 void
 _ecore_x_atoms_init(void)
 {
-   const Atom_Item items[] =
-   {
-      { "ATOM", &ECORE_X_ATOM_ATOM },
-      { "CARDINAL", &ECORE_X_ATOM_CARDINAL },
-      { "COMPOUND_TEXT", &ECORE_X_ATOM_COMPOUND_TEXT },
-      { "FILE_NAME", &ECORE_X_ATOM_FILE_NAME },
-      { "STRING", &ECORE_X_ATOM_STRING },
-      { "TEXT", &ECORE_X_ATOM_TEXT },
-      { "UTF8_STRING", &ECORE_X_ATOM_UTF8_STRING },
-      { "WINDOW", &ECORE_X_ATOM_WINDOW },
-      { "PIXMAP", &ECORE_X_ATOM_PIXMAP },
-
-      { "JXSelectionWindowProperty", &ECORE_X_ATOM_SELECTION_PROP_XDND },
-      { "XdndSelection", &ECORE_X_ATOM_SELECTION_XDND },
-      { "XdndAware", &ECORE_X_ATOM_XDND_AWARE },
-      { "XdndEnter", &ECORE_X_ATOM_XDND_ENTER },
-      { "XdndTypeList", &ECORE_X_ATOM_XDND_TYPE_LIST },
-      { "XdndPosition", &ECORE_X_ATOM_XDND_POSITION },
-      { "XdndActionCopy", &ECORE_X_ATOM_XDND_ACTION_COPY },
-      { "XdndActionMove", &ECORE_X_ATOM_XDND_ACTION_MOVE },
-      { "XdndActionPrivate", &ECORE_X_ATOM_XDND_ACTION_PRIVATE },
-      { "XdndActionAsk", &ECORE_X_ATOM_XDND_ACTION_ASK },
-      { "XdndActionList", &ECORE_X_ATOM_XDND_ACTION_LIST },
-      { "XdndActionLink", &ECORE_X_ATOM_XDND_ACTION_LINK },
-      { "XdndActionDescription", &ECORE_X_ATOM_XDND_ACTION_DESCRIPTION },
-      { "XdndProxy", &ECORE_X_ATOM_XDND_PROXY },
-      { "XdndStatus", &ECORE_X_ATOM_XDND_STATUS },
-      { "XdndLeave", &ECORE_X_ATOM_XDND_LEAVE },
-      { "XdndDrop", &ECORE_X_ATOM_XDND_DROP },
-      { "XdndFinished", &ECORE_X_ATOM_XDND_FINISHED },
-
-      { "XdndActionCopy", &ECORE_X_DND_ACTION_COPY },
-      { "XdndActionMove", &ECORE_X_DND_ACTION_MOVE },
-      { "XdndActionLink", &ECORE_X_DND_ACTION_LINK },
-      { "XdndActionAsk", &ECORE_X_DND_ACTION_ASK },
-      { "XdndActionPrivate", &ECORE_X_DND_ACTION_PRIVATE },
-
-      { "_E_FRAME_SIZE", &ECORE_X_ATOM_E_FRAME_SIZE },
-
-      { "_WIN_LAYER", &ECORE_X_ATOM_WIN_LAYER },
-
-      { "WM_NAME", &ECORE_X_ATOM_WM_NAME },
-      { "WM_ICON_NAME", &ECORE_X_ATOM_WM_ICON_NAME },
-      { "WM_NORMAL_HINTS", &ECORE_X_ATOM_WM_NORMAL_HINTS },
-      { "WM_SIZE_HINTS", &ECORE_X_ATOM_WM_SIZE_HINTS },
-      { "WM_HINTS", &ECORE_X_ATOM_WM_HINTS },
-      { "WM_CLASS", &ECORE_X_ATOM_WM_CLASS },
-      { "WM_TRANSIENT_FOR", &ECORE_X_ATOM_WM_TRANSIENT_FOR },
-      { "WM_PROTOCOLS", &ECORE_X_ATOM_WM_PROTOCOLS },
-      { "WM_COLORMAP_WINDOWS", &ECORE_X_ATOM_WM_COLORMAP_WINDOWS },
-      { "WM_COMMAND", &ECORE_X_ATOM_WM_COMMAND },
-      { "WM_CLIENT_MACHINE", &ECORE_X_ATOM_WM_CLIENT_MACHINE },
-
-      { "WM_STATE", &ECORE_X_ATOM_WM_STATE },
-      { "WM_ICON_SIZE", &ECORE_X_ATOM_WM_ICON_SIZE },
-
-      { "WM_CHANGE_STATE", &ECORE_X_ATOM_WM_CHANGE_STATE },
-
-      { "WM_TAKE_FOCUS", &ECORE_X_ATOM_WM_TAKE_FOCUS },
-      { "WM_SAVE_YOURSELF", &ECORE_X_ATOM_WM_SAVE_YOURSELF },
-      { "WM_DELETE_WINDOW", &ECORE_X_ATOM_WM_DELETE_WINDOW },
-
-      { "WM_COLORMAP_NOTIFY", &ECORE_X_ATOM_WM_COLORMAP_NOTIFY },
-
-      { "SM_CLIENT_ID", &ECORE_X_ATOM_SM_CLIENT_ID },
-      { "WM_CLIENT_LEADER", &ECORE_X_ATOM_WM_CLIENT_LEADER },
-      { "WM_WINDOW_ROLE", &ECORE_X_ATOM_WM_WINDOW_ROLE },
-
-      { "_MOTIF_WM_HINTS", &ECORE_X_ATOM_MOTIF_WM_HINTS },
-
-      { "_NET_SUPPORTED", &ECORE_X_ATOM_NET_SUPPORTED },
-      { "_NET_CLIENT_LIST", &ECORE_X_ATOM_NET_CLIENT_LIST },
-      { "_NET_CLIENT_LIST_STACKING", &ECORE_X_ATOM_NET_CLIENT_LIST_STACKING },
-      { "_NET_NUMBER_OF_DESKTOPS", &ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS },
-      { "_NET_DESKTOP_GEOMETRY", &ECORE_X_ATOM_NET_DESKTOP_GEOMETRY },
-      { "_NET_DESKTOP_VIEWPORT", &ECORE_X_ATOM_NET_DESKTOP_VIEWPORT },
-      { "_NET_CURRENT_DESKTOP", &ECORE_X_ATOM_NET_CURRENT_DESKTOP },
-      { "_NET_DESKTOP_NAMES", &ECORE_X_ATOM_NET_DESKTOP_NAMES },
-      { "_NET_ACTIVE_WINDOW", &ECORE_X_ATOM_NET_ACTIVE_WINDOW },
-      { "_NET_WORKAREA", &ECORE_X_ATOM_NET_WORKAREA },
-      { "_NET_SUPPORTING_WM_CHECK", &ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK },
-      { "_NET_VIRTUAL_ROOTS", &ECORE_X_ATOM_NET_VIRTUAL_ROOTS },
-      { "_NET_DESKTOP_LAYOUT", &ECORE_X_ATOM_NET_DESKTOP_LAYOUT },
-      { "_NET_SHOWING_DESKTOP", &ECORE_X_ATOM_NET_SHOWING_DESKTOP },
-
-      { "_NET_CLOSE_WINDOW", &ECORE_X_ATOM_NET_CLOSE_WINDOW },
-      { "_NET_MOVERESIZE_WINDOW", &ECORE_X_ATOM_NET_MOVERESIZE_WINDOW },
-      { "_NET_WM_MOVERESIZE", &ECORE_X_ATOM_NET_WM_MOVERESIZE },
-      { "_NET_RESTACK_WINDOW", &ECORE_X_ATOM_NET_RESTACK_WINDOW },
-
-      { "_NET_REQUEST_FRAME_EXTENTS", &ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS },
-
-      { "_NET_WM_NAME", &ECORE_X_ATOM_NET_WM_NAME },
-      { "_NET_WM_VISIBLE_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_NAME },
-      { "_NET_WM_ICON_NAME", &ECORE_X_ATOM_NET_WM_ICON_NAME },
-      { "_NET_WM_VISIBLE_ICON_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME },
-      { "_NET_WM_DESKTOP", &ECORE_X_ATOM_NET_WM_DESKTOP },
-
-      { "_NET_WM_WINDOW_TYPE", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE },
-      { "_NET_WM_WINDOW_TYPE_DESKTOP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP },
-      { "_NET_WM_WINDOW_TYPE_DOCK", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK },
-      { "_NET_WM_WINDOW_TYPE_TOOLBAR", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR },
-      { "_NET_WM_WINDOW_TYPE_MENU", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU },
-      { "_NET_WM_WINDOW_TYPE_UTILITY", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY },
-      { "_NET_WM_WINDOW_TYPE_SPLASH", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH },
-      { "_NET_WM_WINDOW_TYPE_DIALOG", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG },
-      { "_NET_WM_WINDOW_TYPE_NORMAL", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL },
-      { "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU",
-        &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DROPDOWN_MENU },
-      { "_NET_WM_WINDOW_TYPE_POPUP_MENU",
-        &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_POPUP_MENU },
-      { "_NET_WM_WINDOW_TYPE_TOOLTIP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLTIP },
-      { "_NET_WM_WINDOW_TYPE_NOTIFICATION",
-        &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NOTIFICATION },
-      { "_NET_WM_WINDOW_TYPE_COMBO", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_COMBO },
-      { "_NET_WM_WINDOW_TYPE_DND", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DND },
-
-      { "_NET_WM_STATE", &ECORE_X_ATOM_NET_WM_STATE },
-      { "_NET_WM_STATE_MODAL", &ECORE_X_ATOM_NET_WM_STATE_MODAL },
-      { "_NET_WM_STATE_STICKY", &ECORE_X_ATOM_NET_WM_STATE_STICKY },
-      { "_NET_WM_STATE_MAXIMIZED_VERT",
-        &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT },
-      { "_NET_WM_STATE_MAXIMIZED_HORZ",
-        &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ },
-      { "_NET_WM_STATE_SHADED", &ECORE_X_ATOM_NET_WM_STATE_SHADED },
-      { "_NET_WM_STATE_SKIP_TASKBAR", &ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR },
-      { "_NET_WM_STATE_SKIP_PAGER", &ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER },
-      { "_NET_WM_STATE_HIDDEN", &ECORE_X_ATOM_NET_WM_STATE_HIDDEN },
-      { "_NET_WM_STATE_FULLSCREEN", &ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN },
-      { "_NET_WM_STATE_ABOVE", &ECORE_X_ATOM_NET_WM_STATE_ABOVE },
-      { "_NET_WM_STATE_BELOW", &ECORE_X_ATOM_NET_WM_STATE_BELOW },
-      { "_NET_WM_STATE_DEMANDS_ATTENTION",
-        &ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION },
-
-      { "_NET_WM_ALLOWED_ACTIONS", &ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS },
-      { "_NET_WM_ACTION_MOVE", &ECORE_X_ATOM_NET_WM_ACTION_MOVE },
-      { "_NET_WM_ACTION_RESIZE", &ECORE_X_ATOM_NET_WM_ACTION_RESIZE },
-      { "_NET_WM_ACTION_MINIMIZE", &ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE },
-      { "_NET_WM_ACTION_SHADE", &ECORE_X_ATOM_NET_WM_ACTION_SHADE },
-      { "_NET_WM_ACTION_STICK", &ECORE_X_ATOM_NET_WM_ACTION_STICK },
-      { "_NET_WM_ACTION_MAXIMIZE_HORZ",
-        &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ },
-      { "_NET_WM_ACTION_MAXIMIZE_VERT",
-        &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT },
-      { "_NET_WM_ACTION_FULLSCREEN", &ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN },
-      { "_NET_WM_ACTION_CHANGE_DESKTOP",
-        &ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP },
-      { "_NET_WM_ACTION_CLOSE", &ECORE_X_ATOM_NET_WM_ACTION_CLOSE },
-      { "_NET_WM_ACTION_ABOVE", &ECORE_X_ATOM_NET_WM_ACTION_ABOVE },
-      { "_NET_WM_ACTION_BELOW", &ECORE_X_ATOM_NET_WM_ACTION_BELOW },
-
-      { "_NET_WM_STRUT", &ECORE_X_ATOM_NET_WM_STRUT },
-      { "_NET_WM_STRUT_PARTIAL", &ECORE_X_ATOM_NET_WM_STRUT_PARTIAL },
-      { "_NET_WM_ICON_GEOMETRY", &ECORE_X_ATOM_NET_WM_ICON_GEOMETRY },
-      { "_NET_WM_ICON", &ECORE_X_ATOM_NET_WM_ICON },
-      { "_NET_WM_PID", &ECORE_X_ATOM_NET_WM_PID },
-      { "_NET_WM_HANDLED_ICONS", &ECORE_X_ATOM_NET_WM_HANDLED_ICONS },
-      { "_NET_WM_USER_TIME", &ECORE_X_ATOM_NET_WM_USER_TIME },
-      { "_NET_STARTUP_ID", &ECORE_X_ATOM_NET_STARTUP_ID },
-      { "_NET_FRAME_EXTENTS", &ECORE_X_ATOM_NET_FRAME_EXTENTS },
-
-      { "_NET_WM_PING", &ECORE_X_ATOM_NET_WM_PING },
-      { "_NET_WM_SYNC_REQUEST", &ECORE_X_ATOM_NET_WM_SYNC_REQUEST },
-      { "_NET_WM_SYNC_REQUEST_COUNTER",
-        &ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER },
-
-      { "_NET_WM_WINDOW_OPACITY", &ECORE_X_ATOM_NET_WM_WINDOW_OPACITY },
-      { "_NET_WM_WINDOW_SHADOW", &ECORE_X_ATOM_NET_WM_WINDOW_SHADOW },
-      { "_NET_WM_WINDOW_SHADE", &ECORE_X_ATOM_NET_WM_WINDOW_SHADE },
-
-      { "TARGETS", &ECORE_X_ATOM_SELECTION_TARGETS },
-      { "CLIPBOARD", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
-      { "PRIMARY", &ECORE_X_ATOM_SELECTION_PRIMARY },
-      { "SECONDARY", &ECORE_X_ATOM_SELECTION_SECONDARY },
-      { "_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 },
-
-      { "_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 },
-      { "_E_VIRTUAL_KEYBOARD_IP", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP },
-      { "_E_VIRTUAL_KEYBOARD_HOST", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST },
-      { "_E_VIRTUAL_KEYBOARD_FILE", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE },
-      { "_E_VIRTUAL_KEYBOARD_URL", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL },
-      { "_E_VIRTUAL_KEYBOARD_KEYPAD", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD },
-      { "_E_VIRTUAL_KEYBOARD_J2ME", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME },
-
-      { "_E_ILLUME_ZONE", &ECORE_X_ATOM_E_ILLUME_ZONE },
-      { "_E_ILLUME_ZONE_LIST", &ECORE_X_ATOM_E_ILLUME_ZONE_LIST },
-      { "_E_ILLUME_CONFORMANT", &ECORE_X_ATOM_E_ILLUME_CONFORMANT },
-      { "_E_ILLUME_MODE", &ECORE_X_ATOM_E_ILLUME_MODE },
-      { "_E_ILLUME_MODE_SINGLE", &ECORE_X_ATOM_E_ILLUME_MODE_SINGLE },
-      { "_E_ILLUME_MODE_DUAL_TOP", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP },
-      { "_E_ILLUME_MODE_DUAL_LEFT", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT },
-      { "_E_ILLUME_FOCUS_BACK", &ECORE_X_ATOM_E_ILLUME_FOCUS_BACK },
-      { "_E_ILLUME_FOCUS_FORWARD", &ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD },
-      { "_E_ILLUME_FOCUS_HOME", &ECORE_X_ATOM_E_ILLUME_FOCUS_HOME },
-      { "_E_ILLUME_CLOSE", &ECORE_X_ATOM_E_ILLUME_CLOSE },
-      { "_E_ILLUME_HOME_NEW", &ECORE_X_ATOM_E_ILLUME_HOME_NEW },
-      { "_E_ILLUME_HOME_DEL", &ECORE_X_ATOM_E_ILLUME_HOME_DEL },
-      { "_E_ILLUME_DRAG", &ECORE_X_ATOM_E_ILLUME_DRAG },
-      { "_E_ILLUME_DRAG_LOCKED", &ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED },
-      { "_E_ILLUME_DRAG_START", &ECORE_X_ATOM_E_ILLUME_DRAG_START },
-      { "_E_ILLUME_DRAG_END", &ECORE_X_ATOM_E_ILLUME_DRAG_END },
-      { "_E_ILLUME_INDICATOR_GEOMETRY",
-        &ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY },
-      { "_E_ILLUME_SOFTKEY_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY },
-      { "_E_ILLUME_KEYBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY },
-      { "_E_ILLUME_QUICKPANEL", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL },
-      { "_E_ILLUME_QUICKPANEL_STATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE },
-      { "_E_ILLUME_QUICKPANEL_STATE_TOGGLE",
-        &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE },
-      { "_E_ILLUME_QUICKPANEL_ON", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON },
-      { "_E_ILLUME_QUICKPANEL_OFF", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF },
-      { "_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR",
-        &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR },
-      { "_E_ILLUME_QUICKPANEL_PRIORITY_MINOR",
-        &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR },
-      { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE },
-      { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE",
-        &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE },
-      { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE },
-      { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON },
-      { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF },
-      { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE },
-      { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE },
-      { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT },
-      { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT },
-      { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE },
-      { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE },
-      { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE },
-      { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE },
-      { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON },
-      { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF },
-      { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY },
-      { "_E_ILLUME_WINDOW_STATE", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE },
-      { "_E_ILLUME_WINDOW_STATE_NORMAL", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL },
-      { "_E_ILLUME_WINDOW_STATE_FLOATING", &ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING },
-      { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER },
-      { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE },
-      { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED },
-      { "_E_COMP_SYNC_BEGIN", &ECORE_X_ATOM_E_COMP_SYNC_BEGIN },
-      { "_E_COMP_SYNC_END", &ECORE_X_ATOM_E_COMP_SYNC_END },
-      { "_E_COMP_SYNC_CANCEL", &ECORE_X_ATOM_E_COMP_SYNC_CANCEL },
-
-      { "_E_COMP_FLUSH", &ECORE_X_ATOM_E_COMP_FLUSH },
-      { "_E_COMP_DUMP", &ECORE_X_ATOM_E_COMP_DUMP },
-      { "_E_COMP_PIXMAP", &ECORE_X_ATOM_E_COMP_PIXMAP },
-      { "_E_VIDEO_PARENT", &ECORE_X_ATOM_E_VIDEO_PARENT },
-      { "_E_VIDEO_POSITION", &ECORE_X_ATOM_E_VIDEO_POSITION },
-
-      { "_E_PROFILE", &ECORE_X_ATOM_E_PROFILE },
-      { "_E_PROFILE_LIST", &ECORE_X_ATOM_E_PROFILE_LIST }
-
-      /* SLP additions after the comma */ ,
-
-      /* for sliding window */
-      { "_E_ILLUME_SLIDING_WIN_STATE", &ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE },
-      { "_E_ILLUME_SLIDING_WIN_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY },
-
-      /* for SDB(Samsung Debug Bridge) */
-      { "_SDB_SERVER_CONNECT", &ECORE_X_ATOM_SDB_SERVER_CONNECT },
-      { "_SDB_SERVER_DISCONNECT", &ECORE_X_ATOM_SDB_SERVER_DISCONNECT }
-   };
    Atom *atoms;
    char **names;
    int i, num;
index 89a9b66..fb26a13 100644 (file)
@@ -176,7 +176,7 @@ ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
 EAPI Ecore_X_Virtual_Keyboard_State
 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win)
 {
-   Ecore_X_Atom atom;
+   Ecore_X_Atom atom = 0;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
@@ -720,7 +720,7 @@ ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
 EAPI Ecore_X_Illume_Quickpanel_State
 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win)
 {
-   Ecore_X_Atom atom;
+   Ecore_X_Atom atom = 0;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_atom_get(win,
@@ -1088,6 +1088,10 @@ ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
               &xev);
 }
 
+/*
+ * @since 1.3
+ * 
+ */
 EAPI void
 ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
                                   const char    **profiles,
@@ -1112,6 +1116,9 @@ ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
      }
 }
 
+/*
+ * @since 1.3
+ */
 EAPI Eina_Bool
 ecore_x_e_window_profile_list_get(Ecore_X_Window   win,
                                   const char    ***profiles,
@@ -1164,6 +1171,9 @@ ecore_x_e_window_profile_list_get(Ecore_X_Window   win,
    return EINA_TRUE;
 }
 
+/*
+ * @since 1.3
+ */
 EAPI void
 ecore_x_e_window_profile_set(Ecore_X_Window win,
                              const char    *profile)
@@ -1184,6 +1194,9 @@ ecore_x_e_window_profile_set(Ecore_X_Window win,
      }
 }
 
+/*
+ * @since 1.3 
+ */
 EAPI char *
 ecore_x_e_window_profile_get(Ecore_X_Window win)
 {
@@ -1456,7 +1469,7 @@ ecore_x_e_illume_indicator_state_set(Ecore_X_Window win,
 EAPI Ecore_X_Illume_Indicator_State
 ecore_x_e_illume_indicator_state_get(Ecore_X_Window win)
 {
-   Ecore_X_Atom atom;
+   Ecore_X_Atom atom = 0;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_atom_get(win,
@@ -1529,7 +1542,7 @@ ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win,
 EAPI Ecore_X_Illume_Indicator_Opacity_Mode
 ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win)
 {
-   Ecore_X_Atom atom;
+   Ecore_X_Atom atom = 0;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    if (!ecore_x_window_prop_atom_get(win,
index 11e9f20..f6eb075 100644 (file)
@@ -69,6 +69,7 @@ ecore_x_error_request_get(void)
  *
  * Return the error code from the last X error
  */
+//FIXME: Use Ecore_X_Error_Code type when 2.0 is released
 EAPI int
 ecore_x_error_code_get(void)
 {
index 30a3924..034a1f1 100644 (file)
@@ -1403,7 +1403,16 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
                                                   xevent->xselection.property,
                                                   XA_ATOM, 32, &data, &num_ret);
         if (!format)
-          return;
+          {
+             /* fallback if targets handling is not working and try get the
+              * selection directly */
+             XConvertSelection(_ecore_x_disp, selection,
+                               ECORE_X_ATOM_UTF8_STRING,
+                               selection,
+                               xevent->xselection.requestor,
+                               CurrentTime);
+             return;
+          }
      }
    else
      {
index 217714a..2c2e180 100644 (file)
 #include <ibus.h>
 #include "ibus_imcontext.h"
 
-struct _IBusIMContext {
-     /* instance members */
-     Ecore_IMF_Context *ctx;
+struct _IBusIMContext
+{
+   /* instance members */
+   Ecore_IMF_Context *ctx;
 
-     /* enabled */
-     Eina_Bool        enable;
-     IBusInputContext *ibuscontext;
+   /* enabled */
+   Eina_Bool        enable;
+   IBusInputContext *ibuscontext;
 
-     /* preedit status */
-     char            *preedit_string;
-     Eina_List       *preedit_attrs;
-     int              preedit_cursor_pos;
-     Eina_Bool        preedit_visible;
+   /* preedit status */
+   char            *preedit_string;
+   Eina_List       *preedit_attrs;
+   int              preedit_cursor_pos;
+   Eina_Bool        preedit_visible;
 
-     int              cursor_x;
-     int              cursor_y;
-     int              cursor_w;
-     int              cursor_h;
+   int              cursor_x;
+   int              cursor_y;
+   int              cursor_w;
+   int              cursor_h;
 
-     Eina_Bool        has_focus;
+   Eina_Bool        has_focus;
 
-     Ecore_X_Window   client_window;
-     Evas            *client_canvas;
+   Ecore_X_Window   client_window;
+   Evas            *client_canvas;
 
-     int              caps;
+   int              caps;
 };
 
+typedef struct _KeyEvent KeyEvent;
+
+struct _KeyEvent
+{
+   int keysym;
+   int state;
+};
+
+static Eina_Bool _use_sync_mode = EINA_FALSE;
+
 static Ecore_IMF_Context *_focus_im_context = NULL;
-static IBusBus              *_bus = NULL;
+static IBusBus           *_bus = NULL;
 
 /* functions prototype */
 /* static methods*/
@@ -54,7 +65,7 @@ static void     _set_cursor_location_internal
 (Ecore_IMF_Context  *ctx);
 static void     _bus_connected_cb           (IBusBus            *bus,
                                              IBusIMContext      *context);
-
+static XKeyEvent createXKeyEvent            (Window win, Eina_Bool press, int keysym, int modifiers);
 
 static void
 _window_to_screen_geometry_get(Ecore_X_Window client_win, int *x, int *y)
@@ -97,13 +108,49 @@ _ecore_imf_modifier_to_ibus_modifier(unsigned int modifier)
    if (modifier & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT)
      state |= IBUS_SHIFT_MASK;
 
-   /**< "Win" (between "Ctrl" and "A */
+   /**< "Win" (between "Ctrl" and "Alt") */
    if (modifier & ECORE_IMF_KEYBOARD_MODIFIER_WIN)
      state |= IBUS_SUPER_MASK;
 
+   /**< "AltGr" is pressed */
+   if (modifier & ECORE_IMF_KEYBOARD_MODIFIER_ALTGR)
+     state |= IBUS_MOD5_MASK;
+
    return state;
 }
 
+static void
+key_event_put(int keysym, int state)
+{
+   // Find the window which has the current keyboard focus.
+   Window winFocus = 0;
+   int revert = RevertToParent;
+
+   XGetInputFocus(ecore_x_display_get(), &winFocus, &revert);
+
+   XKeyEvent event;
+   if (state & IBUS_RELEASE_MASK)
+     {
+        event = createXKeyEvent(winFocus, EINA_FALSE, keysym, state);
+        XSendEvent(event.display, event.window, True, KeyReleaseMask, (XEvent *)&event);
+     }
+   else
+     {
+        event = createXKeyEvent(winFocus, EINA_TRUE, keysym, state);
+        XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event);
+     }
+}
+
+static KeyEvent *
+key_event_copy(int keysym, int state)
+{
+   KeyEvent *kev = calloc(1, sizeof(KeyEvent));
+   kev->keysym = keysym;
+   kev->state = state;
+
+   return kev;
+}
+
 IBusIMContext *
 ibus_im_context_new(void)
 {
@@ -116,10 +163,10 @@ ibus_im_context_new(void)
      {
         char *display_name = NULL;
 
-        if ((display_name = getenv ("DISPLAY")))
-          ibus_set_display (display_name);
+        if ((display_name = getenv("DISPLAY")))
+          ibus_set_display(display_name);
         else
-          ibus_set_display (":0.0");
+          ibus_set_display(":0.0");
 
         _bus = ibus_bus_new();
      }
@@ -127,11 +174,38 @@ ibus_im_context_new(void)
    return context;
 }
 
+static void
+_process_key_event_done (GObject      *object,
+                         GAsyncResult *res,
+                         gpointer      user_data)
+{
+    IBusInputContext *context = (IBusInputContext *)object;
+    KeyEvent *event = (KeyEvent *)user_data;
+
+    GError *error = NULL;
+    Eina_Bool retval = ibus_input_context_process_key_event_async_finish(context,
+                                                                         res,
+                                                                         &error);
+
+    if (error != NULL)
+      {
+         g_warning("Process Key Event failed: %s.", error->message);
+         g_error_free(error);
+      }
+
+    if (retval == EINA_FALSE)
+      {
+         key_event_put(event->keysym, event->state);
+      }
+    free(event);
+}
+
 EAPI void
 ibus_im_context_add(Ecore_IMF_Context *ctx)
 {
    EINA_LOG_DBG("%s", __FUNCTION__);
 
+   char *s = NULL;
    IBusIMContext *ibusimcontext = (IBusIMContext *)ecore_imf_context_data_get(ctx);
    EINA_SAFETY_ON_NULL_RETURN(ibusimcontext);
 
@@ -157,6 +231,10 @@ ibus_im_context_add(Ecore_IMF_Context *ctx)
    ibusimcontext->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS | IBUS_CAP_SURROUNDING_TEXT;
    ibusimcontext->ctx = ctx;
 
+   s = getenv("IBUS_ENABLE_SYNC_MODE");
+   if (s)
+     _use_sync_mode = !!atoi(s);
+
    if (ibus_bus_is_connected(_bus))
      _create_input_context (ibusimcontext);
 
@@ -211,10 +289,26 @@ ibus_im_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type,
              keycode = ecore_x_keysym_keycode_get(ev->key);
              keysym = XStringToKeysym(ev->key);
              state = _ecore_imf_modifier_to_ibus_modifier(ev->modifiers) | IBUS_RELEASE_MASK;
-             retval = ibus_input_context_process_key_event (ibusimcontext->ibuscontext,
-                                                            keysym,
-                                                            keycode - 8,
-                                                            state);
+
+             if (_use_sync_mode)
+               {
+                  retval = ibus_input_context_process_key_event(ibusimcontext->ibuscontext,
+                                                                keysym,
+                                                                keycode - 8,
+                                                                state);
+               }
+             else
+               {
+                  ibus_input_context_process_key_event_async(ibusimcontext->ibuscontext,
+                                                             keysym,
+                                                             keycode - 8,
+                                                             state,
+                                                             -1,
+                                                             NULL,
+                                                             _process_key_event_done,
+                                                             key_event_copy(keysym, state));
+                  retval = EINA_TRUE;
+               }
           }
         else if (type == ECORE_IMF_EVENT_KEY_DOWN)
           {
@@ -225,10 +319,25 @@ ibus_im_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type,
              keycode = ecore_x_keysym_keycode_get(ev->key);
              keysym = XStringToKeysym(ev->key);
              state = _ecore_imf_modifier_to_ibus_modifier(ev->modifiers);
-             retval = ibus_input_context_process_key_event (ibusimcontext->ibuscontext,
-                                                            keysym,
-                                                            keycode - 8,
-                                                            state);
+             if (_use_sync_mode)
+               {
+                  retval = ibus_input_context_process_key_event(ibusimcontext->ibuscontext,
+                                                                keysym,
+                                                                keycode - 8,
+                                                                state);
+               }
+             else
+               {
+                  ibus_input_context_process_key_event_async(ibusimcontext->ibuscontext,
+                                                             keysym,
+                                                             keycode - 8,
+                                                             state,
+                                                             -1,
+                                                             NULL,
+                                                             _process_key_event_done,
+                                                             key_event_copy(keysym, state));
+                  retval = EINA_TRUE;
+               }
           }
         else
           retval = EINA_FALSE;
@@ -304,7 +413,7 @@ ibus_im_context_preedit_string_get(Ecore_IMF_Context *ctx,
    if (ibusimcontext->enable && ibusimcontext->preedit_visible)
      {
         if (str)
-          *str = strdup (ibusimcontext->preedit_string ? ibusimcontext->preedit_string: "");
+          *str = strdup(ibusimcontext->preedit_string ? ibusimcontext->preedit_string: "");
 
         if (cursor_pos)
           *cursor_pos = ibusimcontext->preedit_cursor_pos;
@@ -505,23 +614,7 @@ _ibus_context_forward_key_event_cb(IBusInputContext  *ibuscontext __UNUSED__,
 {
    EINA_LOG_DBG("keyval : %d, state : %d", keyval, state);
 
-   // Find the window which has the current keyboard focus.
-   Window winFocus = 0;
-   int revert = RevertToParent;
-
-   XGetInputFocus(ecore_x_display_get(), &winFocus, &revert);
-
-   XKeyEvent event;
-   if (state & IBUS_RELEASE_MASK)
-     {
-        event = createXKeyEvent(winFocus, EINA_FALSE, keyval, state);
-        XSendEvent(event.display, event.window, True, KeyReleaseMask, (XEvent *)&event);
-     }
-   else
-     {
-        event = createXKeyEvent(winFocus, EINA_TRUE, keyval, state);
-        XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event);
-     }
+   key_event_put(keyval, state);
 }
 
 static void
@@ -548,7 +641,7 @@ _ibus_context_update_preedit_text_cb(IBusInputContext  *ibuscontext __UNUSED__,
 
    ibusimcontext->preedit_cursor_pos = cursor_pos;
 
-   EINA_LOG_DBG("string : %s, cursor : %d",ibusimcontext->preedit_string, ibusimcontext->preedit_cursor_pos);
+   EINA_LOG_DBG("string : %s, cursor : %d", ibusimcontext->preedit_string, ibusimcontext->preedit_cursor_pos);
 
    flag = ibusimcontext->preedit_visible != visible;
    ibusimcontext->preedit_visible = visible;
@@ -578,8 +671,8 @@ _ibus_context_update_preedit_text_cb(IBusInputContext  *ibuscontext __UNUSED__,
 }
 
 static void
-_ibus_context_show_preedit_text_cb(IBusInputContext   *ibuscontext __UNUSED__,
-                                   IBusIMContext      *ibusimcontext)
+_ibus_context_show_preedit_text_cb(IBusInputContext *ibuscontext __UNUSED__,
+                                   IBusIMContext    *ibusimcontext)
 {
    EINA_LOG_DBG("preedit visible : %d", ibusimcontext->preedit_visible);
    EINA_SAFETY_ON_NULL_RETURN(ibusimcontext);
index a0bc3aa..3e3493e 100644 (file)
@@ -42,7 +42,13 @@ static Ecore_IMF_Context_Class ibus_imf_class = {
     NULL,                                   /* input_panel_imdata_get */
     NULL,                                   /* input_panel_return_key_type_set */
     NULL,                                   /* input_panel_return_key_disabled_set */
-    NULL                                    /* input_panel_caps_lock_mode_set */
+    NULL,                                   /* input_panel_caps_lock_mode_set */
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    NULL,
+    NULL
 };
 
 static Ecore_IMF_Context *im_module_create (void);
index d085ec0..d4d20b1 100644 (file)
@@ -1389,6 +1389,7 @@ isf_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type,
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask;
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask;
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALT) key.mask |=SCIM_KEY_AltMask;
+        if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALTGR) key.mask |=SCIM_KEY_Mod5Mask;
         if (ev->locks & ECORE_IMF_KEYBOARD_LOCK_CAPS) key.mask |=SCIM_KEY_CapsLockMask;
         if (ev->locks & ECORE_IMF_KEYBOARD_LOCK_NUM) key.mask |=SCIM_KEY_NumLockMask;
      }
@@ -1400,6 +1401,7 @@ isf_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type,
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask;
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask;
         if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALT) key.mask |=SCIM_KEY_AltMask;
+        if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALTGR) key.mask |=SCIM_KEY_Mod5Mask;
         if (ev->locks & ECORE_IMF_KEYBOARD_LOCK_CAPS) key.mask |=SCIM_KEY_CapsLockMask;
         if (ev->locks & ECORE_IMF_KEYBOARD_LOCK_NUM) key.mask |=SCIM_KEY_NumLockMask;
      }
index d17e37a..d77fb11 100644 (file)
@@ -43,7 +43,13 @@ extern "C"
         NULL,                                   /* input_panel_imdata_get */
         NULL,                                   /* input_panel_return_key_type_set */
         NULL,                                   /* input_panel_return_key_disabled_set */
-        NULL                                    /* input_panel_caps_lock_mode_set */
+        NULL,                                   /* input_panel_caps_lock_mode_set */
+        NULL,
+        NULL,
+        NULL,
+        NULL,
+        NULL,
+        NULL
    };
 
    static Ecore_IMF_Context *imf_module_create (void);
index f5aabd0..7605763 100644 (file)
@@ -59,7 +59,7 @@ struct _Ecore_IMF_Context_Data
    XIMFeedback   *feedbacks;
 
    XIMCallback    destroy_cb;
-   
+
    XIMCallback    preedit_start_cb;
    XIMCallback    preedit_done_cb;
    XIMCallback    preedit_draw_cb;