diff options
Diffstat (limited to '')
142 files changed, 9956 insertions, 7409 deletions
diff --git a/libraries/ecore/AUTHORS b/libraries/ecore/AUTHORS index 8fc1f10..3db7a4b 100644 --- a/libraries/ecore/AUTHORS +++ b/libraries/ecore/AUTHORS | |||
@@ -1,3 +1,4 @@ | |||
1 | Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@samsung.com> <myoungwoon@gmail.com> | ||
1 | The Rasterman <raster@rasterman.com> | 2 | The Rasterman <raster@rasterman.com> |
2 | Tom Gilbert <tom@linuxbrit.co.uk> | 3 | Tom Gilbert <tom@linuxbrit.co.uk> |
3 | Burra <burra@colorado.edu> | 4 | Burra <burra@colorado.edu> |
@@ -49,3 +50,5 @@ Youness Alaoui <kakaroto@kakaroto.homelinux.net> | |||
49 | Bluezery <ohpowel@gmail.com> | 50 | Bluezery <ohpowel@gmail.com> |
50 | Doyoun Kang <wayofmine@gmail.com> <doyoun.kang@samsung.com> | 51 | Doyoun Kang <wayofmine@gmail.com> <doyoun.kang@samsung.com> |
51 | Haifeng Deng <haifeng.deng@samsung.com> | 52 | Haifeng Deng <haifeng.deng@samsung.com> |
53 | Jérémy Zurcher <jeremy@asynk.ch> | ||
54 | Vikram Narayanan <vikram186@gmail.com> | ||
diff --git a/libraries/ecore/ChangeLog b/libraries/ecore/ChangeLog index 5c32d20..dc855e0 100644 --- a/libraries/ecore/ChangeLog +++ b/libraries/ecore/ChangeLog | |||
@@ -364,7 +364,7 @@ | |||
364 | 2011-12-02 Carsten Haitzler (The Rasterman) | 364 | 2011-12-02 Carsten Haitzler (The Rasterman) |
365 | 365 | ||
366 | 1.1.0 release | 366 | 1.1.0 release |
367 | 367 | ||
368 | 2011-12-02 Mike Blumenkrantz | 368 | 2011-12-02 Mike Blumenkrantz |
369 | 369 | ||
370 | * Use mempools for allocations | 370 | * Use mempools for allocations |
@@ -465,3 +465,124 @@ | |||
465 | using "Plug" image object. Before only one to one communication | 465 | using "Plug" image object. Before only one to one communication |
466 | is possible, but now many "plug"s can show socket's canvas. | 466 | is possible, but now many "plug"s can show socket's canvas. |
467 | 467 | ||
468 | 2011-12-26 Christopher Michael (devilhorns) | ||
469 | |||
470 | * Add Ecore_X function to return the keycode from a given keyname. | ||
471 | |||
472 | 2012-02-06 Jihoon Kim (jihoon) | ||
473 | |||
474 | * Set ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL as default layout in ecore_imf_context_add. | ||
475 | * Add Ecore_IMF function to set or get the input panel-specific data. | ||
476 | |||
477 | 2012-02-07 Jihoon Kim (jihoon) | ||
478 | |||
479 | * Support ecore_imf_context_input_panel_show/hide in XIM and SCIM module. | ||
480 | |||
481 | 2012-02-08 Carsten Haitzler (The Rasterman) | ||
482 | |||
483 | * Add ecore_con_url_http_version_set() to set url request version | ||
484 | |||
485 | 2012-02-09 Jihoon Kim (jihoon) | ||
486 | |||
487 | * Provide compose, string in key down/up event in case of scim-input-pad. | ||
488 | |||
489 | 2012-02-10 Christopher Michael (devilhorns) | ||
490 | |||
491 | * Add Ecore_Evas function to allow setting a mouse pointer from efl/elm wayland clients. | ||
492 | |||
493 | 2012-02-15 Jihoon Kim (jihoon) | ||
494 | |||
495 | * Add ecore_imf APIs to set return key type, disable return key. | ||
496 | |||
497 | 2012-02-16 Leif Middelschulte (T_UNIX) | ||
498 | |||
499 | * Add ecore_x_randr_mode_add to add a mode to a display | ||
500 | * Add ecore_x_randr_mode_del to remove a mode from the display | ||
501 | * Add ecore_x_randr_output_mode_add to add a mode to an output | ||
502 | * Add ecore_x_randr_output_mode_del to remove a mode from an output | ||
503 | |||
504 | 2012-02-10 Jérémy Zurcher | ||
505 | |||
506 | * Improve callbacks in ecore_evas to use typedefs for readability. | ||
507 | |||
508 | 2012-02-20 Cedric Bail | ||
509 | |||
510 | * Rewrite internal of Ecore_Thread to use Eina_Lock and ecore_main_loop_thread_safe_call_async. | ||
511 | |||
512 | 2012-02-23 Cedric Bail | ||
513 | |||
514 | * Move to Evas buffer engine for Ecore_Evas SDL software backend. | ||
515 | |||
516 | 2012-02-23 Leif Middelschulte (T_UNIX) | ||
517 | |||
518 | * Add ecore_x_randr_window_crtcs_get to get the crtcs that display a | ||
519 | window. | ||
520 | * Deprecate ecore_x_randr_current_output_get. Use | ||
521 | ecore_x_randr_window_crtcs_get instead. | ||
522 | |||
523 | 2012-02-24 Doyun Kang | ||
524 | |||
525 | * Add indicator controls to ecore_x | ||
526 | |||
527 | 2012-02-26 Carsten Haitzler (The Rasterman) | ||
528 | |||
529 | * Fix ecore_file_download to not limit downloads to 30sec. | ||
530 | |||
531 | 2012-02-28 Carsten Haitzler (The Rasterman) | ||
532 | |||
533 | * Add ecore_x_netwm_icons_set() | ||
534 | * Add ecore_evas_window_group_set() ecore_evas_window_group_get() | ||
535 | ecore_evas_aspect_set() ecore_evas_aspect_get() | ||
536 | ecore_evas_urgent_set() ecore_evas_urgent_get() | ||
537 | ecore_evas_modal_set() ecore_evas_modal_get() | ||
538 | ecore_evas_demand_attention_set() | ||
539 | ecore_evas_demand_attention_get() | ||
540 | ecore_evas_focus_skip_set() ecore_evas_focus_skip_get() | ||
541 | ecore_evas_callback_state_change_set() | ||
542 | |||
543 | 2012-02-28 Christopher Michael (devilhorns) | ||
544 | |||
545 | * Refactor Ecore_Wayland code to improve running EFL | ||
546 | applications as Wayland Clients. | ||
547 | * Refactor Ecore_Evas Wayland code to match changes in | ||
548 | Ecore_Wayland | ||
549 | |||
550 | 2012-02-29 Jihoon Kim (jihoon) | ||
551 | |||
552 | * Add ecore_imf_context_input_panel_caps_lock_mode_set/get to set the caps lock mode on the input panel | ||
553 | |||
554 | 2012-03-07 ChunEon Park (Hermet) | ||
555 | |||
556 | * Add ecore_x_illume_clipboard_state_set() | ||
557 | ecore_x_illume_clipboard_state_get() | ||
558 | ecore_x_illume_clipboard_geometry_set() | ||
559 | ecore_x_illume_clipboard_geometry_get() | ||
560 | |||
561 | 2012-03-07 Carsten Haitzler (The Rasterman) | ||
562 | |||
563 | * Add atoms and api for rotation and indicator transparency in | ||
564 | ecore_x/ecore_evas | ||
565 | |||
566 | 2012-03-07 Mike Blumenkrantz (discomfitor/zmike) | ||
567 | |||
568 | * Add ecore_con_url_status_code_get() to check return code at any time | ||
569 | |||
570 | 2012-03-09 Carsten Haitzler (The Rasterman) | ||
571 | |||
572 | * Fix ecore_thread_feedback_run to work as the documentation and logic tell us. | ||
573 | |||
574 | 2012-03-10 Cedric Bail | ||
575 | |||
576 | * Fix double free at end of execution of Ecore_Thread with feedback. | ||
577 | |||
578 | 2012-03-13 Leif Middelschulte (T_UNIX) | ||
579 | |||
580 | * Fix ecore_x_randr_modes_info_get to not cut off the trailing '\0' | ||
581 | anymore | ||
582 | |||
583 | 2012-03-20 Vincent Torri | ||
584 | |||
585 | * Rename ecore_win32_window_focus_set() to ecore_win32_window_focus() | ||
586 | to match ecore_x API. | ||
587 | * Add ecore_wince_window_focus(), ecore_wince_window_focus_get() | ||
588 | and ecore_win32_window_focus_get(). | ||
diff --git a/libraries/ecore/Makefile.in b/libraries/ecore/Makefile.in index 7ae3118..39507a9 100644 --- a/libraries/ecore/Makefile.in +++ b/libraries/ecore/Makefile.in | |||
@@ -79,8 +79,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ | |||
79 | $(srcdir)/ecore-wince.pc.in $(srcdir)/ecore-x.pc.in \ | 79 | $(srcdir)/ecore-wince.pc.in $(srcdir)/ecore-x.pc.in \ |
80 | $(srcdir)/ecore.pc.in $(srcdir)/ecore.spec.in \ | 80 | $(srcdir)/ecore.pc.in $(srcdir)/ecore.spec.in \ |
81 | $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ | 81 | $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ |
82 | INSTALL NEWS config.guess config.rpath config.sub depcomp \ | 82 | INSTALL NEWS TODO config.guess config.rpath config.sub depcomp \ |
83 | install-sh ltmain.sh missing mkinstalldirs | 83 | install-sh ltmain.sh missing |
84 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 84 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
85 | am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | 85 | am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ |
86 | $(top_srcdir)/m4/ac_path_generic.m4 \ | 86 | $(top_srcdir)/m4/ac_path_generic.m4 \ |
@@ -93,18 +93,17 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
93 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 93 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
94 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 94 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
95 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 95 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
96 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 96 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
97 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 97 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
98 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 98 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
99 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 99 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
100 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 100 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
101 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 101 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
102 | $(top_srcdir)/configure.ac | ||
103 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 102 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
104 | $(ACLOCAL_M4) | 103 | $(ACLOCAL_M4) |
105 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ | 104 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ |
106 | configure.lineno config.status.lineno | 105 | configure.lineno config.status.lineno |
107 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 106 | mkinstalldirs = $(install_sh) -d |
108 | CONFIG_HEADER = config.h | 107 | CONFIG_HEADER = config.h |
109 | CONFIG_CLEAN_FILES = ecore-con.pc ecore-config.pc ecore-directfb.pc \ | 108 | CONFIG_CLEAN_FILES = ecore-con.pc ecore-config.pc ecore-directfb.pc \ |
110 | ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc \ | 109 | ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc \ |
@@ -259,6 +258,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
259 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 258 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
260 | EVIL_LIBS = @EVIL_LIBS@ | 259 | EVIL_LIBS = @EVIL_LIBS@ |
261 | EXEEXT = @EXEEXT@ | 260 | EXEEXT = @EXEEXT@ |
261 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
262 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
262 | FGREP = @FGREP@ | 263 | FGREP = @FGREP@ |
263 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 264 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
264 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 265 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -314,6 +315,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
314 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 315 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
315 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 316 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
316 | PKG_CONFIG = @PKG_CONFIG@ | 317 | PKG_CONFIG = @PKG_CONFIG@ |
318 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
319 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
317 | POSUB = @POSUB@ | 320 | POSUB = @POSUB@ |
318 | RANLIB = @RANLIB@ | 321 | RANLIB = @RANLIB@ |
319 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 322 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -324,6 +327,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
324 | SED = @SED@ | 327 | SED = @SED@ |
325 | SET_MAKE = @SET_MAKE@ | 328 | SET_MAKE = @SET_MAKE@ |
326 | SHELL = @SHELL@ | 329 | SHELL = @SHELL@ |
330 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
327 | SSL_CFLAGS = @SSL_CFLAGS@ | 331 | SSL_CFLAGS = @SSL_CFLAGS@ |
328 | SSL_LIBS = @SSL_LIBS@ | 332 | SSL_LIBS = @SSL_LIBS@ |
329 | STRIP = @STRIP@ | 333 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/NEWS b/libraries/ecore/NEWS index f558bb4..22fd7a7 100644 --- a/libraries/ecore/NEWS +++ b/libraries/ecore/NEWS | |||
@@ -13,15 +13,43 @@ Additions: | |||
13 | - ECORE_CON_REMOTE_CORK | 13 | - ECORE_CON_REMOTE_CORK |
14 | - ecore_con_url_proxy_set() | 14 | - ecore_con_url_proxy_set() |
15 | - ecore_con_url_timeout_set() | 15 | - ecore_con_url_timeout_set() |
16 | - ecore_con_url_proxy_username_set | 16 | - ecore_con_url_proxy_username_set() |
17 | - ecore_con_url_proxy_password_set() | 17 | - ecore_con_url_proxy_password_set() |
18 | - ecore_con_url_http_version_set() | ||
19 | - ecore_con_url_status_code_get() | ||
18 | * ecore_x: | 20 | * ecore_x: |
19 | - ecore_x_randr_output_backlight_available() | 21 | - ecore_x_randr_output_backlight_available() |
22 | - ecore_x_randr_window_crtcs_get() | ||
20 | * ecore_evas: | 23 | * ecore_evas: |
21 | - Add Shm and Egl engines for ecore_evas to draw in Wayland. | 24 | - Add Shm and Egl engines for ecore_evas to draw in Wayland. |
22 | - Add Socket and Plug to draw other process area. | 25 | - Add Socket and Plug to draw other process area. |
23 | * ecore_wayland | 26 | * ecore_wayland |
24 | - Add Ecore_Wayland (backend to support Wayland). | 27 | - Add Ecore_Wayland (backend to support Wayland). |
28 | * ecore_imf | ||
29 | - ecore_imf_context_event_callback_add() | ||
30 | - ecore_imf_context_event_callback_del() | ||
31 | - ecore_imf_context_event_callback_call() | ||
32 | - ecore_imf_context_input_panel_imdata_set() | ||
33 | - ecore_imf_context_input_panel_imdata_get() | ||
34 | - ecore_imf_context_input_panel_return_key_type_set() | ||
35 | - ecore_imf_context_input_panel_return_key_type_get() | ||
36 | - ecore_imf_context_input_panel_return_key_disabled_set() | ||
37 | - ecore_imf_context_input_panel_return_key_disabled_get() | ||
38 | - ecore_imf_context_input_panel_caps_lock_mode_set() | ||
39 | - ecore_imf_context_input_panel_caps_lock_mode_get() | ||
40 | * ecore_win32: | ||
41 | - ecore_win32_focus() | ||
42 | - ecore_win32_focus_get() | ||
43 | * ecore_wince: | ||
44 | - ecore_wince_focus() | ||
45 | - ecore_wince_focus_get() | ||
46 | |||
47 | Fixes: | ||
48 | * ecore_thread: | ||
49 | - ecore_thread_feedback_run now handle try_no_queue the way it logically should. | ||
50 | - prevent double free that could cause crash when an Ecore_Thread stop. | ||
51 | * ecore_x: | ||
52 | - ecore_x_randr_modes_info_get does not cut off the trailing '\0' anymore. | ||
25 | 53 | ||
26 | Improvements: | 54 | Improvements: |
27 | * ecore: | 55 | * ecore: |
@@ -30,7 +58,19 @@ Improvements: | |||
30 | - certificates can now be added for STARTTTLS | 58 | - certificates can now be added for STARTTTLS |
31 | * ecore_win32: | 59 | * ecore_win32: |
32 | - fix modifiers value on Windows XP | 60 | - fix modifiers value on Windows XP |
61 | * ecore_thread: | ||
62 | - use eina_lock | ||
63 | - use Ecore thread safe async call | ||
64 | * ecore_evas: | ||
65 | - use Evas buffer backend for SDL software engine | ||
66 | |||
67 | Deprecations: | ||
68 | * ecore_x: | ||
69 | - ecore_x_randr_crtc_current_get() | ||
33 | 70 | ||
71 | Removal: | ||
72 | * ecore_win32: | ||
73 | - ecore_win32_focus_set() | ||
34 | 74 | ||
35 | Ecore 1.1.0 | 75 | Ecore 1.1.0 |
36 | 76 | ||
diff --git a/libraries/ecore/README b/libraries/ecore/README index 7b11f68..c902528 100644 --- a/libraries/ecore/README +++ b/libraries/ecore/README | |||
@@ -1,4 +1,4 @@ | |||
1 | Ecore 1.1.0 | 1 | Ecore 1.2.0 |
2 | 2 | ||
3 | ****************************************************************************** | 3 | ****************************************************************************** |
4 | 4 | ||
@@ -12,7 +12,6 @@ Requirements: | |||
12 | 12 | ||
13 | Must: | 13 | Must: |
14 | libc | 14 | libc |
15 | libm | ||
16 | eina (1.1.0 or better) | 15 | eina (1.1.0 or better) |
17 | (For windows you also need: evil) | 16 | (For windows you also need: evil) |
18 | 17 | ||
diff --git a/libraries/ecore/aclocal.m4 b/libraries/ecore/aclocal.m4 index 859816b..8ae8efb 100644 --- a/libraries/ecore/aclocal.m4 +++ b/libraries/ecore/aclocal.m4 | |||
@@ -13,13 +13,14 @@ | |||
13 | 13 | ||
14 | m4_ifndef([AC_AUTOCONF_VERSION], | 14 | m4_ifndef([AC_AUTOCONF_VERSION], |
15 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl | 15 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl |
16 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, | 16 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, |
17 | [m4_warning([this file was generated for autoconf 2.65. | 17 | [m4_warning([this file was generated for autoconf 2.67. |
18 | You have another version of autoconf. It may work, but is not guaranteed to. | 18 | You have another version of autoconf. It may work, but is not guaranteed to. |
19 | If you have problems, you may need to regenerate the build system entirely. | 19 | If you have problems, you may need to regenerate the build system entirely. |
20 | To do so, use the procedure documented by the package, typically `autoreconf'.])]) | 20 | To do so, use the procedure documented by the package, typically `autoreconf'.])]) |
21 | 21 | ||
22 | # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- | 22 | # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- |
23 | # serial 1 (pkg-config-0.24) | ||
23 | # | 24 | # |
24 | # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. | 25 | # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. |
25 | # | 26 | # |
@@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) | |||
47 | AC_DEFUN([PKG_PROG_PKG_CONFIG], | 48 | AC_DEFUN([PKG_PROG_PKG_CONFIG], |
48 | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) | 49 | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) |
49 | m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) | 50 | m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) |
50 | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl | 51 | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) |
52 | AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) | ||
53 | AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) | ||
54 | |||
51 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | 55 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
52 | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) | 56 | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) |
53 | fi | 57 | fi |
@@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then | |||
60 | AC_MSG_RESULT([no]) | 64 | AC_MSG_RESULT([no]) |
61 | PKG_CONFIG="" | 65 | PKG_CONFIG="" |
62 | fi | 66 | fi |
63 | |||
64 | fi[]dnl | 67 | fi[]dnl |
65 | ])# PKG_PROG_PKG_CONFIG | 68 | ])# PKG_PROG_PKG_CONFIG |
66 | 69 | ||
@@ -69,34 +72,31 @@ fi[]dnl | |||
69 | # Check to see whether a particular set of modules exists. Similar | 72 | # Check to see whether a particular set of modules exists. Similar |
70 | # to PKG_CHECK_MODULES(), but does not set variables or print errors. | 73 | # to PKG_CHECK_MODULES(), but does not set variables or print errors. |
71 | # | 74 | # |
72 | # | 75 | # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
73 | # Similar to PKG_CHECK_MODULES, make sure that the first instance of | 76 | # only at the first occurence in configure.ac, so if the first place |
74 | # this or PKG_CHECK_MODULES is called, or make sure to call | 77 | # it's called might be skipped (such as if it is within an "if", you |
75 | # PKG_CHECK_EXISTS manually | 78 | # have to call PKG_CHECK_EXISTS manually |
76 | # -------------------------------------------------------------- | 79 | # -------------------------------------------------------------- |
77 | AC_DEFUN([PKG_CHECK_EXISTS], | 80 | AC_DEFUN([PKG_CHECK_EXISTS], |
78 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | 81 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
79 | if test -n "$PKG_CONFIG" && \ | 82 | if test -n "$PKG_CONFIG" && \ |
80 | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then | 83 | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then |
81 | m4_ifval([$2], [$2], [:]) | 84 | m4_default([$2], [:]) |
82 | m4_ifvaln([$3], [else | 85 | m4_ifvaln([$3], [else |
83 | $3])dnl | 86 | $3])dnl |
84 | fi]) | 87 | fi]) |
85 | 88 | ||
86 | |||
87 | # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) | 89 | # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) |
88 | # --------------------------------------------- | 90 | # --------------------------------------------- |
89 | m4_define([_PKG_CONFIG], | 91 | m4_define([_PKG_CONFIG], |
90 | [if test -n "$PKG_CONFIG"; then | 92 | [if test -n "$$1"; then |
91 | if test -n "$$1"; then | 93 | pkg_cv_[]$1="$$1" |
92 | pkg_cv_[]$1="$$1" | 94 | elif test -n "$PKG_CONFIG"; then |
93 | else | 95 | PKG_CHECK_EXISTS([$3], |
94 | PKG_CHECK_EXISTS([$3], | 96 | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], |
95 | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], | 97 | [pkg_failed=yes]) |
96 | [pkg_failed=yes]) | 98 | else |
97 | fi | 99 | pkg_failed=untried |
98 | else | ||
99 | pkg_failed=untried | ||
100 | fi[]dnl | 100 | fi[]dnl |
101 | ])# _PKG_CONFIG | 101 | ])# _PKG_CONFIG |
102 | 102 | ||
@@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. | |||
138 | See the pkg-config man page for more details.]) | 138 | See the pkg-config man page for more details.]) |
139 | 139 | ||
140 | if test $pkg_failed = yes; then | 140 | if test $pkg_failed = yes; then |
141 | AC_MSG_RESULT([no]) | ||
141 | _PKG_SHORT_ERRORS_SUPPORTED | 142 | _PKG_SHORT_ERRORS_SUPPORTED |
142 | if test $_pkg_short_errors_supported = yes; then | 143 | if test $_pkg_short_errors_supported = yes; then |
143 | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` | 144 | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` |
144 | else | 145 | else |
145 | $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` | 146 | $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` |
146 | fi | 147 | fi |
147 | # Put the nasty error message in config.log where it belongs | 148 | # Put the nasty error message in config.log where it belongs |
148 | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD | 149 | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD |
149 | 150 | ||
150 | ifelse([$4], , [AC_MSG_ERROR(dnl | 151 | m4_default([$4], [AC_MSG_ERROR( |
151 | [Package requirements ($2) were not met: | 152 | [Package requirements ($2) were not met: |
152 | 153 | ||
153 | $$1_PKG_ERRORS | 154 | $$1_PKG_ERRORS |
@@ -155,25 +156,24 @@ $$1_PKG_ERRORS | |||
155 | Consider adjusting the PKG_CONFIG_PATH environment variable if you | 156 | Consider adjusting the PKG_CONFIG_PATH environment variable if you |
156 | installed software in a non-standard prefix. | 157 | installed software in a non-standard prefix. |
157 | 158 | ||
158 | _PKG_TEXT | 159 | _PKG_TEXT])[]dnl |
159 | ])], | 160 | ]) |
160 | [AC_MSG_RESULT([no]) | ||
161 | $4]) | ||
162 | elif test $pkg_failed = untried; then | 161 | elif test $pkg_failed = untried; then |
163 | ifelse([$4], , [AC_MSG_FAILURE(dnl | 162 | AC_MSG_RESULT([no]) |
163 | m4_default([$4], [AC_MSG_FAILURE( | ||
164 | [The pkg-config script could not be found or is too old. Make sure it | 164 | [The pkg-config script could not be found or is too old. Make sure it |
165 | is in your PATH or set the PKG_CONFIG environment variable to the full | 165 | is in your PATH or set the PKG_CONFIG environment variable to the full |
166 | path to pkg-config. | 166 | path to pkg-config. |
167 | 167 | ||
168 | _PKG_TEXT | 168 | _PKG_TEXT |
169 | 169 | ||
170 | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])], | 170 | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl |
171 | [$4]) | 171 | ]) |
172 | else | 172 | else |
173 | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS | 173 | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS |
174 | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS | 174 | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS |
175 | AC_MSG_RESULT([yes]) | 175 | AC_MSG_RESULT([yes]) |
176 | ifelse([$3], , :, [$3]) | 176 | $3 |
177 | fi[]dnl | 177 | fi[]dnl |
178 | ])# PKG_CHECK_MODULES | 178 | ])# PKG_CHECK_MODULES |
179 | 179 | ||
@@ -1148,7 +1148,6 @@ m4_include([m4/efl_threads.m4]) | |||
1148 | m4_include([m4/gettext.m4]) | 1148 | m4_include([m4/gettext.m4]) |
1149 | m4_include([m4/iconv.m4]) | 1149 | m4_include([m4/iconv.m4]) |
1150 | m4_include([m4/intlmacosx.m4]) | 1150 | m4_include([m4/intlmacosx.m4]) |
1151 | m4_include([m4/isc-posix.m4]) | ||
1152 | m4_include([m4/lib-ld.m4]) | 1151 | m4_include([m4/lib-ld.m4]) |
1153 | m4_include([m4/lib-link.m4]) | 1152 | m4_include([m4/lib-link.m4]) |
1154 | m4_include([m4/lib-prefix.m4]) | 1153 | m4_include([m4/lib-prefix.m4]) |
diff --git a/libraries/ecore/config.guess b/libraries/ecore/config.guess index e3a2116..c2246a4 100755 --- a/libraries/ecore/config.guess +++ b/libraries/ecore/config.guess | |||
@@ -1,10 +1,10 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Attempt to guess a canonical system name. | 2 | # Attempt to guess a canonical system name. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 | # Free Software Foundation, Inc. | 5 | # Free Software Foundation, Inc. |
6 | 6 | ||
7 | timestamp='2009-06-10' | 7 | timestamp='2009-12-30' |
8 | 8 | ||
9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
@@ -27,16 +27,16 @@ timestamp='2009-06-10' | |||
27 | # the same distribution terms that you use for the rest of that program. | 27 | # the same distribution terms that you use for the rest of that program. |
28 | 28 | ||
29 | 29 | ||
30 | # Originally written by Per Bothner <per@bothner.com>. | 30 | # Originally written by Per Bothner. Please send patches (context |
31 | # Please send patches to <config-patches@gnu.org>. Submit a context | 31 | # diff format) to <config-patches@gnu.org> and include a ChangeLog |
32 | # diff and a properly formatted ChangeLog entry. | 32 | # entry. |
33 | # | 33 | # |
34 | # This script attempts to guess a canonical system name similar to | 34 | # This script attempts to guess a canonical system name similar to |
35 | # config.sub. If it succeeds, it prints the system name on stdout, and | 35 | # config.sub. If it succeeds, it prints the system name on stdout, and |
36 | # exits with 0. Otherwise, it exits with 1. | 36 | # exits with 0. Otherwise, it exits with 1. |
37 | # | 37 | # |
38 | # The plan is that this can be called by configure scripts if you | 38 | # You can get the latest version of this script from: |
39 | # don't specify an explicit build system type. | 39 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD |
40 | 40 | ||
41 | me=`echo "$0" | sed -e 's,.*/,,'` | 41 | me=`echo "$0" | sed -e 's,.*/,,'` |
42 | 42 | ||
@@ -56,8 +56,9 @@ version="\ | |||
56 | GNU config.guess ($timestamp) | 56 | GNU config.guess ($timestamp) |
57 | 57 | ||
58 | Originally written by Per Bothner. | 58 | Originally written by Per Bothner. |
59 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | 59 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, |
60 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | 60 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free |
61 | Software Foundation, Inc. | ||
61 | 62 | ||
62 | This is free software; see the source for copying conditions. There is NO | 63 | This is free software; see the source for copying conditions. There is NO |
63 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 64 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
333 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | 334 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) |
334 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | 335 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` |
335 | exit ;; | 336 | exit ;; |
337 | i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) | ||
338 | echo i386-pc-auroraux${UNAME_RELEASE} | ||
339 | exit ;; | ||
336 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | 340 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) |
337 | eval $set_cc_for_build | 341 | eval $set_cc_for_build |
338 | SUN_ARCH="i386" | 342 | SUN_ARCH="i386" |
@@ -807,12 +811,12 @@ EOF | |||
807 | i*:PW*:*) | 811 | i*:PW*:*) |
808 | echo ${UNAME_MACHINE}-pc-pw32 | 812 | echo ${UNAME_MACHINE}-pc-pw32 |
809 | exit ;; | 813 | exit ;; |
810 | *:Interix*:[3456]*) | 814 | *:Interix*:*) |
811 | case ${UNAME_MACHINE} in | 815 | case ${UNAME_MACHINE} in |
812 | x86) | 816 | x86) |
813 | echo i586-pc-interix${UNAME_RELEASE} | 817 | echo i586-pc-interix${UNAME_RELEASE} |
814 | exit ;; | 818 | exit ;; |
815 | EM64T | authenticamd | genuineintel) | 819 | authenticamd | genuineintel | EM64T) |
816 | echo x86_64-unknown-interix${UNAME_RELEASE} | 820 | echo x86_64-unknown-interix${UNAME_RELEASE} |
817 | exit ;; | 821 | exit ;; |
818 | IA64) | 822 | IA64) |
@@ -854,6 +858,20 @@ EOF | |||
854 | i*86:Minix:*:*) | 858 | i*86:Minix:*:*) |
855 | echo ${UNAME_MACHINE}-pc-minix | 859 | echo ${UNAME_MACHINE}-pc-minix |
856 | exit ;; | 860 | exit ;; |
861 | alpha:Linux:*:*) | ||
862 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | ||
863 | EV5) UNAME_MACHINE=alphaev5 ;; | ||
864 | EV56) UNAME_MACHINE=alphaev56 ;; | ||
865 | PCA56) UNAME_MACHINE=alphapca56 ;; | ||
866 | PCA57) UNAME_MACHINE=alphapca56 ;; | ||
867 | EV6) UNAME_MACHINE=alphaev6 ;; | ||
868 | EV67) UNAME_MACHINE=alphaev67 ;; | ||
869 | EV68*) UNAME_MACHINE=alphaev68 ;; | ||
870 | esac | ||
871 | objdump --private-headers /bin/sh | grep -q ld.so.1 | ||
872 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | ||
873 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | ||
874 | exit ;; | ||
857 | arm*:Linux:*:*) | 875 | arm*:Linux:*:*) |
858 | eval $set_cc_for_build | 876 | eval $set_cc_for_build |
859 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | 877 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
@@ -876,6 +894,17 @@ EOF | |||
876 | frv:Linux:*:*) | 894 | frv:Linux:*:*) |
877 | echo frv-unknown-linux-gnu | 895 | echo frv-unknown-linux-gnu |
878 | exit ;; | 896 | exit ;; |
897 | i*86:Linux:*:*) | ||
898 | LIBC=gnu | ||
899 | eval $set_cc_for_build | ||
900 | sed 's/^ //' << EOF >$dummy.c | ||
901 | #ifdef __dietlibc__ | ||
902 | LIBC=dietlibc | ||
903 | #endif | ||
904 | EOF | ||
905 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | ||
906 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
907 | exit ;; | ||
879 | ia64:Linux:*:*) | 908 | ia64:Linux:*:*) |
880 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 909 | echo ${UNAME_MACHINE}-unknown-linux-gnu |
881 | exit ;; | 910 | exit ;; |
@@ -901,39 +930,18 @@ EOF | |||
901 | #endif | 930 | #endif |
902 | #endif | 931 | #endif |
903 | EOF | 932 | EOF |
904 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | 933 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` |
905 | /^CPU/{ | ||
906 | s: ::g | ||
907 | p | ||
908 | }'`" | ||
909 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | 934 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } |
910 | ;; | 935 | ;; |
911 | or32:Linux:*:*) | 936 | or32:Linux:*:*) |
912 | echo or32-unknown-linux-gnu | 937 | echo or32-unknown-linux-gnu |
913 | exit ;; | 938 | exit ;; |
914 | ppc:Linux:*:*) | ||
915 | echo powerpc-unknown-linux-gnu | ||
916 | exit ;; | ||
917 | ppc64:Linux:*:*) | ||
918 | echo powerpc64-unknown-linux-gnu | ||
919 | exit ;; | ||
920 | alpha:Linux:*:*) | ||
921 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | ||
922 | EV5) UNAME_MACHINE=alphaev5 ;; | ||
923 | EV56) UNAME_MACHINE=alphaev56 ;; | ||
924 | PCA56) UNAME_MACHINE=alphapca56 ;; | ||
925 | PCA57) UNAME_MACHINE=alphapca56 ;; | ||
926 | EV6) UNAME_MACHINE=alphaev6 ;; | ||
927 | EV67) UNAME_MACHINE=alphaev67 ;; | ||
928 | EV68*) UNAME_MACHINE=alphaev68 ;; | ||
929 | esac | ||
930 | objdump --private-headers /bin/sh | grep -q ld.so.1 | ||
931 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | ||
932 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | ||
933 | exit ;; | ||
934 | padre:Linux:*:*) | 939 | padre:Linux:*:*) |
935 | echo sparc-unknown-linux-gnu | 940 | echo sparc-unknown-linux-gnu |
936 | exit ;; | 941 | exit ;; |
942 | parisc64:Linux:*:* | hppa64:Linux:*:*) | ||
943 | echo hppa64-unknown-linux-gnu | ||
944 | exit ;; | ||
937 | parisc:Linux:*:* | hppa:Linux:*:*) | 945 | parisc:Linux:*:* | hppa:Linux:*:*) |
938 | # Look for CPU level | 946 | # Look for CPU level |
939 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | 947 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
@@ -942,8 +950,11 @@ EOF | |||
942 | *) echo hppa-unknown-linux-gnu ;; | 950 | *) echo hppa-unknown-linux-gnu ;; |
943 | esac | 951 | esac |
944 | exit ;; | 952 | exit ;; |
945 | parisc64:Linux:*:* | hppa64:Linux:*:*) | 953 | ppc64:Linux:*:*) |
946 | echo hppa64-unknown-linux-gnu | 954 | echo powerpc64-unknown-linux-gnu |
955 | exit ;; | ||
956 | ppc:Linux:*:*) | ||
957 | echo powerpc-unknown-linux-gnu | ||
947 | exit ;; | 958 | exit ;; |
948 | s390:Linux:*:* | s390x:Linux:*:*) | 959 | s390:Linux:*:* | s390x:Linux:*:*) |
949 | echo ${UNAME_MACHINE}-ibm-linux | 960 | echo ${UNAME_MACHINE}-ibm-linux |
@@ -966,58 +977,6 @@ EOF | |||
966 | xtensa*:Linux:*:*) | 977 | xtensa*:Linux:*:*) |
967 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 978 | echo ${UNAME_MACHINE}-unknown-linux-gnu |
968 | exit ;; | 979 | exit ;; |
969 | i*86:Linux:*:*) | ||
970 | # The BFD linker knows what the default object file format is, so | ||
971 | # first see if it will tell us. cd to the root directory to prevent | ||
972 | # problems with other programs or directories called `ld' in the path. | ||
973 | # Set LC_ALL=C to ensure ld outputs messages in English. | ||
974 | ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | ||
975 | | sed -ne '/supported targets:/!d | ||
976 | s/[ ][ ]*/ /g | ||
977 | s/.*supported targets: *// | ||
978 | s/ .*// | ||
979 | p'` | ||
980 | case "$ld_supported_targets" in | ||
981 | elf32-i386) | ||
982 | TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" | ||
983 | ;; | ||
984 | esac | ||
985 | # Determine whether the default compiler is a.out or elf | ||
986 | eval $set_cc_for_build | ||
987 | sed 's/^ //' << EOF >$dummy.c | ||
988 | #include <features.h> | ||
989 | #ifdef __ELF__ | ||
990 | # ifdef __GLIBC__ | ||
991 | # if __GLIBC__ >= 2 | ||
992 | LIBC=gnu | ||
993 | # else | ||
994 | LIBC=gnulibc1 | ||
995 | # endif | ||
996 | # else | ||
997 | LIBC=gnulibc1 | ||
998 | # endif | ||
999 | #else | ||
1000 | #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) | ||
1001 | LIBC=gnu | ||
1002 | #else | ||
1003 | LIBC=gnuaout | ||
1004 | #endif | ||
1005 | #endif | ||
1006 | #ifdef __dietlibc__ | ||
1007 | LIBC=dietlibc | ||
1008 | #endif | ||
1009 | EOF | ||
1010 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | ||
1011 | /^LIBC/{ | ||
1012 | s: ::g | ||
1013 | p | ||
1014 | }'`" | ||
1015 | test x"${LIBC}" != x && { | ||
1016 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
1017 | exit | ||
1018 | } | ||
1019 | test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } | ||
1020 | ;; | ||
1021 | i*86:DYNIX/ptx:4*:*) | 980 | i*86:DYNIX/ptx:4*:*) |
1022 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | 981 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
1023 | # earlier versions are messed up and put the nodename in both | 982 | # earlier versions are messed up and put the nodename in both |
@@ -1247,6 +1206,16 @@ EOF | |||
1247 | *:Darwin:*:*) | 1206 | *:Darwin:*:*) |
1248 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | 1207 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1249 | case $UNAME_PROCESSOR in | 1208 | case $UNAME_PROCESSOR in |
1209 | i386) | ||
1210 | eval $set_cc_for_build | ||
1211 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | ||
1212 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ | ||
1213 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | ||
1214 | grep IS_64BIT_ARCH >/dev/null | ||
1215 | then | ||
1216 | UNAME_PROCESSOR="x86_64" | ||
1217 | fi | ||
1218 | fi ;; | ||
1250 | unknown) UNAME_PROCESSOR=powerpc ;; | 1219 | unknown) UNAME_PROCESSOR=powerpc ;; |
1251 | esac | 1220 | esac |
1252 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | 1221 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} |
diff --git a/libraries/ecore/config.h.in b/libraries/ecore/config.h.in index 06c1d8e..abc5822 100644 --- a/libraries/ecore/config.h.in +++ b/libraries/ecore/config.h.in | |||
@@ -30,6 +30,9 @@ | |||
30 | */ | 30 | */ |
31 | #undef BUILD_ECORE_EVAS_EWS | 31 | #undef BUILD_ECORE_EVAS_EWS |
32 | 32 | ||
33 | /* Support for Extn Engine in Ecore_Evas */ | ||
34 | #undef BUILD_ECORE_EVAS_EXTN | ||
35 | |||
33 | /* Support for Linux Framebuffer Engine in Ecore_Evas */ | 36 | /* Support for Linux Framebuffer Engine in Ecore_Evas */ |
34 | #undef BUILD_ECORE_EVAS_FB | 37 | #undef BUILD_ECORE_EVAS_FB |
35 | 38 | ||
@@ -331,6 +334,9 @@ | |||
331 | /* Define to 1 if you have the `execvp' function. */ | 334 | /* Define to 1 if you have the `execvp' function. */ |
332 | #undef HAVE_EXECVP | 335 | #undef HAVE_EXECVP |
333 | 336 | ||
337 | /* Define to 1 if you have Exotic. */ | ||
338 | #undef HAVE_EXOTIC | ||
339 | |||
334 | /* Define to 1 if you have the <features.h> header file. */ | 340 | /* Define to 1 if you have the <features.h> header file. */ |
335 | #undef HAVE_FEATURES_H | 341 | #undef HAVE_FEATURES_H |
336 | 342 | ||
@@ -403,6 +409,9 @@ | |||
403 | /* File monitoring with polling */ | 409 | /* File monitoring with polling */ |
404 | #undef HAVE_POLL | 410 | #undef HAVE_POLL |
405 | 411 | ||
412 | /* Have shm_open() call */ | ||
413 | #undef HAVE_SHM_OPEN | ||
414 | |||
406 | /* Define to 1 if you have the <signal.h> header file. */ | 415 | /* Define to 1 if you have the <signal.h> header file. */ |
407 | #undef HAVE_SIGNAL_H | 416 | #undef HAVE_SIGNAL_H |
408 | 417 | ||
diff --git a/libraries/ecore/config.sub b/libraries/ecore/config.sub index eb0389a..c2d1257 100755 --- a/libraries/ecore/config.sub +++ b/libraries/ecore/config.sub | |||
@@ -1,10 +1,10 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Configuration validation subroutine script. | 2 | # Configuration validation subroutine script. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 | # Free Software Foundation, Inc. | 5 | # Free Software Foundation, Inc. |
6 | 6 | ||
7 | timestamp='2009-06-11' | 7 | timestamp='2010-01-22' |
8 | 8 | ||
9 | # This file is (in principle) common to ALL GNU software. | 9 | # This file is (in principle) common to ALL GNU software. |
10 | # The presence of a machine in this file suggests that SOME GNU software | 10 | # The presence of a machine in this file suggests that SOME GNU software |
@@ -32,13 +32,16 @@ timestamp='2009-06-11' | |||
32 | 32 | ||
33 | 33 | ||
34 | # Please send patches to <config-patches@gnu.org>. Submit a context | 34 | # Please send patches to <config-patches@gnu.org>. Submit a context |
35 | # diff and a properly formatted ChangeLog entry. | 35 | # diff and a properly formatted GNU ChangeLog entry. |
36 | # | 36 | # |
37 | # Configuration subroutine to validate and canonicalize a configuration type. | 37 | # Configuration subroutine to validate and canonicalize a configuration type. |
38 | # Supply the specified configuration type as an argument. | 38 | # Supply the specified configuration type as an argument. |
39 | # If it is invalid, we print an error message on stderr and exit with code 1. | 39 | # If it is invalid, we print an error message on stderr and exit with code 1. |
40 | # Otherwise, we print the canonical config type on stdout and succeed. | 40 | # Otherwise, we print the canonical config type on stdout and succeed. |
41 | 41 | ||
42 | # You can get the latest version of this script from: | ||
43 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | ||
44 | |||
42 | # This file is supposed to be the same for all GNU packages | 45 | # This file is supposed to be the same for all GNU packages |
43 | # and recognize all the CPU types, system types and aliases | 46 | # and recognize all the CPU types, system types and aliases |
44 | # that are meaningful with *any* GNU software. | 47 | # that are meaningful with *any* GNU software. |
@@ -72,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>." | |||
72 | version="\ | 75 | version="\ |
73 | GNU config.sub ($timestamp) | 76 | GNU config.sub ($timestamp) |
74 | 77 | ||
75 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | 78 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, |
76 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | 79 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free |
80 | Software Foundation, Inc. | ||
77 | 81 | ||
78 | This is free software; see the source for copying conditions. There is NO | 82 | This is free software; see the source for copying conditions. There is NO |
79 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 83 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -149,7 +153,7 @@ case $os in | |||
149 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ | 153 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ |
150 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ | 154 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ |
151 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ | 155 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ |
152 | -apple | -axis | -knuth | -cray) | 156 | -apple | -axis | -knuth | -cray | -microblaze) |
153 | os= | 157 | os= |
154 | basic_machine=$1 | 158 | basic_machine=$1 |
155 | ;; | 159 | ;; |
@@ -284,6 +288,7 @@ case $basic_machine in | |||
284 | | pdp10 | pdp11 | pj | pjl \ | 288 | | pdp10 | pdp11 | pj | pjl \ |
285 | | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | 289 | | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ |
286 | | pyramid \ | 290 | | pyramid \ |
291 | | rx \ | ||
287 | | score \ | 292 | | score \ |
288 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | 293 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ |
289 | | sh64 | sh64le \ | 294 | | sh64 | sh64le \ |
@@ -291,13 +296,14 @@ case $basic_machine in | |||
291 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | 296 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ |
292 | | spu | strongarm \ | 297 | | spu | strongarm \ |
293 | | tahoe | thumb | tic4x | tic80 | tron \ | 298 | | tahoe | thumb | tic4x | tic80 | tron \ |
299 | | ubicom32 \ | ||
294 | | v850 | v850e \ | 300 | | v850 | v850e \ |
295 | | we32k \ | 301 | | we32k \ |
296 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | 302 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ |
297 | | z8k | z80) | 303 | | z8k | z80) |
298 | basic_machine=$basic_machine-unknown | 304 | basic_machine=$basic_machine-unknown |
299 | ;; | 305 | ;; |
300 | m6811 | m68hc11 | m6812 | m68hc12) | 306 | m6811 | m68hc11 | m6812 | m68hc12 | picochip) |
301 | # Motorola 68HC11/12. | 307 | # Motorola 68HC11/12. |
302 | basic_machine=$basic_machine-unknown | 308 | basic_machine=$basic_machine-unknown |
303 | os=-none | 309 | os=-none |
@@ -340,7 +346,7 @@ case $basic_machine in | |||
340 | | lm32-* \ | 346 | | lm32-* \ |
341 | | m32c-* | m32r-* | m32rle-* \ | 347 | | m32c-* | m32r-* | m32rle-* \ |
342 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | 348 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ |
343 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | 349 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ |
344 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | 350 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ |
345 | | mips16-* \ | 351 | | mips16-* \ |
346 | | mips64-* | mips64el-* \ | 352 | | mips64-* | mips64el-* \ |
@@ -368,15 +374,17 @@ case $basic_machine in | |||
368 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | 374 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ |
369 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | 375 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ |
370 | | pyramid-* \ | 376 | | pyramid-* \ |
371 | | romp-* | rs6000-* \ | 377 | | romp-* | rs6000-* | rx-* \ |
372 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | 378 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ |
373 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | 379 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ |
374 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | 380 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ |
375 | | sparclite-* \ | 381 | | sparclite-* \ |
376 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | 382 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ |
377 | | tahoe-* | thumb-* \ | 383 | | tahoe-* | thumb-* \ |
378 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | 384 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ |
385 | | tile-* | tilegx-* \ | ||
379 | | tron-* \ | 386 | | tron-* \ |
387 | | ubicom32-* \ | ||
380 | | v850-* | v850e-* | vax-* \ | 388 | | v850-* | v850e-* | vax-* \ |
381 | | we32k-* \ | 389 | | we32k-* \ |
382 | | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | 390 | | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ |
@@ -726,6 +734,9 @@ case $basic_machine in | |||
726 | basic_machine=ns32k-utek | 734 | basic_machine=ns32k-utek |
727 | os=-sysv | 735 | os=-sysv |
728 | ;; | 736 | ;; |
737 | microblaze) | ||
738 | basic_machine=microblaze-xilinx | ||
739 | ;; | ||
729 | mingw32) | 740 | mingw32) |
730 | basic_machine=i386-pc | 741 | basic_machine=i386-pc |
731 | os=-mingw32 | 742 | os=-mingw32 |
@@ -1076,6 +1087,11 @@ case $basic_machine in | |||
1076 | basic_machine=tic6x-unknown | 1087 | basic_machine=tic6x-unknown |
1077 | os=-coff | 1088 | os=-coff |
1078 | ;; | 1089 | ;; |
1090 | # This must be matched before tile*. | ||
1091 | tilegx*) | ||
1092 | basic_machine=tilegx-unknown | ||
1093 | os=-linux-gnu | ||
1094 | ;; | ||
1079 | tile*) | 1095 | tile*) |
1080 | basic_machine=tile-unknown | 1096 | basic_machine=tile-unknown |
1081 | os=-linux-gnu | 1097 | os=-linux-gnu |
@@ -1247,6 +1263,9 @@ case $os in | |||
1247 | # First match some system type aliases | 1263 | # First match some system type aliases |
1248 | # that might get confused with valid system types. | 1264 | # that might get confused with valid system types. |
1249 | # -solaris* is a basic system type, with this one exception. | 1265 | # -solaris* is a basic system type, with this one exception. |
1266 | -auroraux) | ||
1267 | os=-auroraux | ||
1268 | ;; | ||
1250 | -solaris1 | -solaris1.*) | 1269 | -solaris1 | -solaris1.*) |
1251 | os=`echo $os | sed -e 's|solaris1|sunos4|'` | 1270 | os=`echo $os | sed -e 's|solaris1|sunos4|'` |
1252 | ;; | 1271 | ;; |
@@ -1268,8 +1287,8 @@ case $os in | |||
1268 | # -sysv* is not here because it comes later, after sysvr4. | 1287 | # -sysv* is not here because it comes later, after sysvr4. |
1269 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | 1288 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
1270 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | 1289 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ |
1271 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | 1290 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ |
1272 | | -kopensolaris* \ | 1291 | | -sym* | -kopensolaris* \ |
1273 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | 1292 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
1274 | | -aos* | -aros* \ | 1293 | | -aos* | -aros* \ |
1275 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | 1294 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
@@ -1290,7 +1309,7 @@ case $os in | |||
1290 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | 1309 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ |
1291 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | 1310 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ |
1292 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | 1311 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
1293 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) | 1312 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) |
1294 | # Remember, each alternative MUST END IN *, to match a version number. | 1313 | # Remember, each alternative MUST END IN *, to match a version number. |
1295 | ;; | 1314 | ;; |
1296 | -qnx*) | 1315 | -qnx*) |
@@ -1423,6 +1442,8 @@ case $os in | |||
1423 | -dicos*) | 1442 | -dicos*) |
1424 | os=-dicos | 1443 | os=-dicos |
1425 | ;; | 1444 | ;; |
1445 | -nacl*) | ||
1446 | ;; | ||
1426 | -none) | 1447 | -none) |
1427 | ;; | 1448 | ;; |
1428 | *) | 1449 | *) |
diff --git a/libraries/ecore/configure b/libraries/ecore/configure index 2ea7dd2..1b2ed41 100755 --- a/libraries/ecore/configure +++ b/libraries/ecore/configure | |||
@@ -1,13 +1,13 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Guess values for system-dependent variables and create Makefiles. | 2 | # Guess values for system-dependent variables and create Makefiles. |
3 | # Generated by GNU Autoconf 2.65 for ecore 1.1.99.67344. | 3 | # Generated by GNU Autoconf 2.67 for ecore 1.2.0-alpha. |
4 | # | 4 | # |
5 | # Report bugs to <enlightenment-devel@lists.sourceforge.net>. | 5 | # Report bugs to <enlightenment-devel@lists.sourceforge.net>. |
6 | # | 6 | # |
7 | # | 7 | # |
8 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 8 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
9 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, | 9 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software |
10 | # Inc. | 10 | # Foundation, Inc. |
11 | # | 11 | # |
12 | # | 12 | # |
13 | # This configure script is free software; the Free Software Foundation | 13 | # This configure script is free software; the Free Software Foundation |
@@ -319,7 +319,7 @@ $as_echo X"$as_dir" | | |||
319 | test -d "$as_dir" && break | 319 | test -d "$as_dir" && break |
320 | done | 320 | done |
321 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 321 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
322 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 322 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
323 | 323 | ||
324 | 324 | ||
325 | } # as_fn_mkdir_p | 325 | } # as_fn_mkdir_p |
@@ -359,19 +359,19 @@ else | |||
359 | fi # as_fn_arith | 359 | fi # as_fn_arith |
360 | 360 | ||
361 | 361 | ||
362 | # as_fn_error ERROR [LINENO LOG_FD] | 362 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
363 | # --------------------------------- | 363 | # ---------------------------------------- |
364 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 364 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
365 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 365 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
366 | # script with status $?, using 1 if that was 0. | 366 | # script with STATUS, using 1 if that was 0. |
367 | as_fn_error () | 367 | as_fn_error () |
368 | { | 368 | { |
369 | as_status=$?; test $as_status -eq 0 && as_status=1 | 369 | as_status=$1; test $as_status -eq 0 && as_status=1 |
370 | if test "$3"; then | 370 | if test "$4"; then |
371 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 371 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
372 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 372 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
373 | fi | 373 | fi |
374 | $as_echo "$as_me: error: $1" >&2 | 374 | $as_echo "$as_me: error: $2" >&2 |
375 | as_fn_exit $as_status | 375 | as_fn_exit $as_status |
376 | } # as_fn_error | 376 | } # as_fn_error |
377 | 377 | ||
@@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null | |||
682 | exec 6>&1 | 682 | exec 6>&1 |
683 | 683 | ||
684 | # Name of the host. | 684 | # Name of the host. |
685 | # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, | 685 | # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, |
686 | # so uname gets run too. | 686 | # so uname gets run too. |
687 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | 687 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
688 | 688 | ||
@@ -701,8 +701,8 @@ MAKEFLAGS= | |||
701 | # Identity of this package. | 701 | # Identity of this package. |
702 | PACKAGE_NAME='ecore' | 702 | PACKAGE_NAME='ecore' |
703 | PACKAGE_TARNAME='ecore' | 703 | PACKAGE_TARNAME='ecore' |
704 | PACKAGE_VERSION='1.1.99.67344' | 704 | PACKAGE_VERSION='1.2.0-alpha' |
705 | PACKAGE_STRING='ecore 1.1.99.67344' | 705 | PACKAGE_STRING='ecore 1.2.0-alpha' |
706 | PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' | 706 | PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' |
707 | PACKAGE_URL='' | 707 | PACKAGE_URL='' |
708 | 708 | ||
@@ -772,6 +772,10 @@ EFL_INSTALL_EXAMPLES_FALSE | |||
772 | EFL_INSTALL_EXAMPLES_TRUE | 772 | EFL_INSTALL_EXAMPLES_TRUE |
773 | EFL_BUILD_EXAMPLES_FALSE | 773 | EFL_BUILD_EXAMPLES_FALSE |
774 | EFL_BUILD_EXAMPLES_TRUE | 774 | EFL_BUILD_EXAMPLES_TRUE |
775 | EFL_ENABLE_TESTS_FALSE | ||
776 | EFL_ENABLE_TESTS_TRUE | ||
777 | CHECK_LIBS | ||
778 | CHECK_CFLAGS | ||
775 | WAYLAND_EGL_LIBS | 779 | WAYLAND_EGL_LIBS |
776 | WAYLAND_EGL_CFLAGS | 780 | WAYLAND_EGL_CFLAGS |
777 | ecore_wayland_libs | 781 | ecore_wayland_libs |
@@ -875,6 +879,7 @@ ecore_con_libs | |||
875 | ecore_con_cflags | 879 | ecore_con_cflags |
876 | BUILD_ECORE_CON_FALSE | 880 | BUILD_ECORE_CON_FALSE |
877 | BUILD_ECORE_CON_TRUE | 881 | BUILD_ECORE_CON_TRUE |
882 | SHM_OPEN_LIBS | ||
878 | ALLOCA | 883 | ALLOCA |
879 | lt_enable_auto_import | 884 | lt_enable_auto_import |
880 | WIN32_CFLAGS | 885 | WIN32_CFLAGS |
@@ -992,11 +997,18 @@ EFL_ECORE_FILE_BUILD | |||
992 | EFL_ECORE_EVAS_BUILD | 997 | EFL_ECORE_EVAS_BUILD |
993 | EFL_ECORE_CON_BUILD | 998 | EFL_ECORE_CON_BUILD |
994 | EFL_ECORE_BUILD | 999 | EFL_ECORE_BUILD |
1000 | ECORE_HAVE_EXOTIC_FALSE | ||
1001 | ECORE_HAVE_EXOTIC_TRUE | ||
1002 | EXOTIC_LIBS | ||
1003 | EXOTIC_CFLAGS | ||
995 | ESCAPE_LIBS | 1004 | ESCAPE_LIBS |
996 | ESCAPE_CFLAGS | 1005 | ESCAPE_CFLAGS |
997 | EVIL_LIBS | 1006 | EVIL_LIBS |
998 | EVIL_CFLAGS | 1007 | EVIL_CFLAGS |
999 | pkgconfig_requires_private | 1008 | pkgconfig_requires_private |
1009 | PKG_CONFIG_LIBDIR | ||
1010 | PKG_CONFIG_PATH | ||
1011 | PKG_CONFIG | ||
1000 | EFL_BUILD_DOC_FALSE | 1012 | EFL_BUILD_DOC_FALSE |
1001 | EFL_BUILD_DOC_TRUE | 1013 | EFL_BUILD_DOC_TRUE |
1002 | efl_doxygen | 1014 | efl_doxygen |
@@ -1014,11 +1026,6 @@ OBJCDEPMODE | |||
1014 | ac_ct_OBJC | 1026 | ac_ct_OBJC |
1015 | OBJCFLAGS | 1027 | OBJCFLAGS |
1016 | OBJC | 1028 | OBJC |
1017 | EFL_ENABLE_TESTS_FALSE | ||
1018 | EFL_ENABLE_TESTS_TRUE | ||
1019 | CHECK_LIBS | ||
1020 | CHECK_CFLAGS | ||
1021 | PKG_CONFIG | ||
1022 | HAVE_PO_FALSE | 1029 | HAVE_PO_FALSE |
1023 | HAVE_PO_TRUE | 1030 | HAVE_PO_TRUE |
1024 | POSUB | 1031 | POSUB |
@@ -1172,7 +1179,6 @@ enable_local_sockets | |||
1172 | enable_abstract_sockets | 1179 | enable_abstract_sockets |
1173 | enable_simple_x11 | 1180 | enable_simple_x11 |
1174 | enable_xim | 1181 | enable_xim |
1175 | enable_tests | ||
1176 | enable_doc | 1182 | enable_doc |
1177 | with_doxygen | 1183 | with_doxygen |
1178 | enable_ecore_timer_dump | 1184 | enable_ecore_timer_dump |
@@ -1243,7 +1249,6 @@ enable_ecore_evas_software_ddraw | |||
1243 | enable_ecore_evas_direct3d | 1249 | enable_ecore_evas_direct3d |
1244 | enable_ecore_evas_opengl_glew | 1250 | enable_ecore_evas_opengl_glew |
1245 | enable_ecore_evas_software_16_ddraw | 1251 | enable_ecore_evas_software_16_ddraw |
1246 | enable_ecore_evas_software_sdl | ||
1247 | enable_ecore_evas_opengl_sdl | 1252 | enable_ecore_evas_opengl_sdl |
1248 | enable_ecore_evas_opengl_cocoa | 1253 | enable_ecore_evas_opengl_cocoa |
1249 | enable_ecore_evas_directfb | 1254 | enable_ecore_evas_directfb |
@@ -1254,6 +1259,7 @@ enable_ecore_evas_psl1ght | |||
1254 | enable_ecore_wayland | 1259 | enable_ecore_wayland |
1255 | enable_ecore_evas_wayland_shm | 1260 | enable_ecore_evas_wayland_shm |
1256 | enable_ecore_evas_wayland_egl | 1261 | enable_ecore_evas_wayland_egl |
1262 | enable_tests | ||
1257 | enable_build_examples | 1263 | enable_build_examples |
1258 | enable_install_examples | 1264 | enable_install_examples |
1259 | ' | 1265 | ' |
@@ -1266,19 +1272,21 @@ LDFLAGS | |||
1266 | LIBS | 1272 | LIBS |
1267 | CPPFLAGS | 1273 | CPPFLAGS |
1268 | CPP | 1274 | CPP |
1269 | PKG_CONFIG | ||
1270 | CHECK_CFLAGS | ||
1271 | CHECK_LIBS | ||
1272 | OBJC | 1275 | OBJC |
1273 | OBJCFLAGS | 1276 | OBJCFLAGS |
1274 | CXX | 1277 | CXX |
1275 | CXXFLAGS | 1278 | CXXFLAGS |
1276 | CCC | 1279 | CCC |
1277 | CXXCPP | 1280 | CXXCPP |
1281 | PKG_CONFIG | ||
1282 | PKG_CONFIG_PATH | ||
1283 | PKG_CONFIG_LIBDIR | ||
1278 | EVIL_CFLAGS | 1284 | EVIL_CFLAGS |
1279 | EVIL_LIBS | 1285 | EVIL_LIBS |
1280 | ESCAPE_CFLAGS | 1286 | ESCAPE_CFLAGS |
1281 | ESCAPE_LIBS | 1287 | ESCAPE_LIBS |
1288 | EXOTIC_CFLAGS | ||
1289 | EXOTIC_LIBS | ||
1282 | EINA_CFLAGS | 1290 | EINA_CFLAGS |
1283 | EINA_LIBS | 1291 | EINA_LIBS |
1284 | GLIB_CFLAGS | 1292 | GLIB_CFLAGS |
@@ -1343,7 +1351,9 @@ XCB_X11_LIBS | |||
1343 | WAYLAND_CFLAGS | 1351 | WAYLAND_CFLAGS |
1344 | WAYLAND_LIBS | 1352 | WAYLAND_LIBS |
1345 | WAYLAND_EGL_CFLAGS | 1353 | WAYLAND_EGL_CFLAGS |
1346 | WAYLAND_EGL_LIBS' | 1354 | WAYLAND_EGL_LIBS |
1355 | CHECK_CFLAGS | ||
1356 | CHECK_LIBS' | ||
1347 | 1357 | ||
1348 | 1358 | ||
1349 | # Initialize some variables set by options. | 1359 | # Initialize some variables set by options. |
@@ -1406,8 +1416,9 @@ do | |||
1406 | fi | 1416 | fi |
1407 | 1417 | ||
1408 | case $ac_option in | 1418 | case $ac_option in |
1409 | *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; | 1419 | *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; |
1410 | *) ac_optarg=yes ;; | 1420 | *=) ac_optarg= ;; |
1421 | *) ac_optarg=yes ;; | ||
1411 | esac | 1422 | esac |
1412 | 1423 | ||
1413 | # Accept the important Cygnus configure options, so we can diagnose typos. | 1424 | # Accept the important Cygnus configure options, so we can diagnose typos. |
@@ -1452,7 +1463,7 @@ do | |||
1452 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | 1463 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
1453 | # Reject names that are not valid shell variable names. | 1464 | # Reject names that are not valid shell variable names. |
1454 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1465 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1455 | as_fn_error "invalid feature name: $ac_useropt" | 1466 | as_fn_error $? "invalid feature name: $ac_useropt" |
1456 | ac_useropt_orig=$ac_useropt | 1467 | ac_useropt_orig=$ac_useropt |
1457 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1468 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1458 | case $ac_user_opts in | 1469 | case $ac_user_opts in |
@@ -1478,7 +1489,7 @@ do | |||
1478 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | 1489 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
1479 | # Reject names that are not valid shell variable names. | 1490 | # Reject names that are not valid shell variable names. |
1480 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1491 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1481 | as_fn_error "invalid feature name: $ac_useropt" | 1492 | as_fn_error $? "invalid feature name: $ac_useropt" |
1482 | ac_useropt_orig=$ac_useropt | 1493 | ac_useropt_orig=$ac_useropt |
1483 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1494 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1484 | case $ac_user_opts in | 1495 | case $ac_user_opts in |
@@ -1682,7 +1693,7 @@ do | |||
1682 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | 1693 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
1683 | # Reject names that are not valid shell variable names. | 1694 | # Reject names that are not valid shell variable names. |
1684 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1695 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1685 | as_fn_error "invalid package name: $ac_useropt" | 1696 | as_fn_error $? "invalid package name: $ac_useropt" |
1686 | ac_useropt_orig=$ac_useropt | 1697 | ac_useropt_orig=$ac_useropt |
1687 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1698 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1688 | case $ac_user_opts in | 1699 | case $ac_user_opts in |
@@ -1698,7 +1709,7 @@ do | |||
1698 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` | 1709 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
1699 | # Reject names that are not valid shell variable names. | 1710 | # Reject names that are not valid shell variable names. |
1700 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1711 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1701 | as_fn_error "invalid package name: $ac_useropt" | 1712 | as_fn_error $? "invalid package name: $ac_useropt" |
1702 | ac_useropt_orig=$ac_useropt | 1713 | ac_useropt_orig=$ac_useropt |
1703 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1714 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1704 | case $ac_user_opts in | 1715 | case $ac_user_opts in |
@@ -1728,8 +1739,8 @@ do | |||
1728 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | 1739 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
1729 | x_libraries=$ac_optarg ;; | 1740 | x_libraries=$ac_optarg ;; |
1730 | 1741 | ||
1731 | -*) as_fn_error "unrecognized option: \`$ac_option' | 1742 | -*) as_fn_error $? "unrecognized option: \`$ac_option' |
1732 | Try \`$0 --help' for more information." | 1743 | Try \`$0 --help' for more information" |
1733 | ;; | 1744 | ;; |
1734 | 1745 | ||
1735 | *=*) | 1746 | *=*) |
@@ -1737,7 +1748,7 @@ Try \`$0 --help' for more information." | |||
1737 | # Reject names that are not valid shell variable names. | 1748 | # Reject names that are not valid shell variable names. |
1738 | case $ac_envvar in #( | 1749 | case $ac_envvar in #( |
1739 | '' | [0-9]* | *[!_$as_cr_alnum]* ) | 1750 | '' | [0-9]* | *[!_$as_cr_alnum]* ) |
1740 | as_fn_error "invalid variable name: \`$ac_envvar'" ;; | 1751 | as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; |
1741 | esac | 1752 | esac |
1742 | eval $ac_envvar=\$ac_optarg | 1753 | eval $ac_envvar=\$ac_optarg |
1743 | export $ac_envvar ;; | 1754 | export $ac_envvar ;; |
@@ -1755,13 +1766,13 @@ done | |||
1755 | 1766 | ||
1756 | if test -n "$ac_prev"; then | 1767 | if test -n "$ac_prev"; then |
1757 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` | 1768 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
1758 | as_fn_error "missing argument to $ac_option" | 1769 | as_fn_error $? "missing argument to $ac_option" |
1759 | fi | 1770 | fi |
1760 | 1771 | ||
1761 | if test -n "$ac_unrecognized_opts"; then | 1772 | if test -n "$ac_unrecognized_opts"; then |
1762 | case $enable_option_checking in | 1773 | case $enable_option_checking in |
1763 | no) ;; | 1774 | no) ;; |
1764 | fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; | 1775 | fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; |
1765 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; | 1776 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; |
1766 | esac | 1777 | esac |
1767 | fi | 1778 | fi |
@@ -1784,7 +1795,7 @@ do | |||
1784 | [\\/$]* | ?:[\\/]* ) continue;; | 1795 | [\\/$]* | ?:[\\/]* ) continue;; |
1785 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; | 1796 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
1786 | esac | 1797 | esac |
1787 | as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" | 1798 | as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" |
1788 | done | 1799 | done |
1789 | 1800 | ||
1790 | # There might be people who depend on the old broken behavior: `$host' | 1801 | # There might be people who depend on the old broken behavior: `$host' |
@@ -1798,8 +1809,8 @@ target=$target_alias | |||
1798 | if test "x$host_alias" != x; then | 1809 | if test "x$host_alias" != x; then |
1799 | if test "x$build_alias" = x; then | 1810 | if test "x$build_alias" = x; then |
1800 | cross_compiling=maybe | 1811 | cross_compiling=maybe |
1801 | $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. | 1812 | $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. |
1802 | If a cross compiler is detected then cross compile mode will be used." >&2 | 1813 | If a cross compiler is detected then cross compile mode will be used" >&2 |
1803 | elif test "x$build_alias" != "x$host_alias"; then | 1814 | elif test "x$build_alias" != "x$host_alias"; then |
1804 | cross_compiling=yes | 1815 | cross_compiling=yes |
1805 | fi | 1816 | fi |
@@ -1814,9 +1825,9 @@ test "$silent" = yes && exec 6>/dev/null | |||
1814 | ac_pwd=`pwd` && test -n "$ac_pwd" && | 1825 | ac_pwd=`pwd` && test -n "$ac_pwd" && |
1815 | ac_ls_di=`ls -di .` && | 1826 | ac_ls_di=`ls -di .` && |
1816 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | 1827 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
1817 | as_fn_error "working directory cannot be determined" | 1828 | as_fn_error $? "working directory cannot be determined" |
1818 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | 1829 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
1819 | as_fn_error "pwd does not report name of working directory" | 1830 | as_fn_error $? "pwd does not report name of working directory" |
1820 | 1831 | ||
1821 | 1832 | ||
1822 | # Find the source files, if location was not specified. | 1833 | # Find the source files, if location was not specified. |
@@ -1855,11 +1866,11 @@ else | |||
1855 | fi | 1866 | fi |
1856 | if test ! -r "$srcdir/$ac_unique_file"; then | 1867 | if test ! -r "$srcdir/$ac_unique_file"; then |
1857 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." | 1868 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
1858 | as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" | 1869 | as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" |
1859 | fi | 1870 | fi |
1860 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | 1871 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
1861 | ac_abs_confdir=`( | 1872 | ac_abs_confdir=`( |
1862 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" | 1873 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" |
1863 | pwd)` | 1874 | pwd)` |
1864 | # When building in place, set srcdir=. | 1875 | # When building in place, set srcdir=. |
1865 | if test "$ac_abs_confdir" = "$ac_pwd"; then | 1876 | if test "$ac_abs_confdir" = "$ac_pwd"; then |
@@ -1885,7 +1896,7 @@ if test "$ac_init_help" = "long"; then | |||
1885 | # Omit some internal or obsolete options to make the list less imposing. | 1896 | # Omit some internal or obsolete options to make the list less imposing. |
1886 | # This message is too long to be a string in the A/UX 3.1 sh. | 1897 | # This message is too long to be a string in the A/UX 3.1 sh. |
1887 | cat <<_ACEOF | 1898 | cat <<_ACEOF |
1888 | \`configure' configures ecore 1.1.99.67344 to adapt to many kinds of systems. | 1899 | \`configure' configures ecore 1.2.0-alpha to adapt to many kinds of systems. |
1889 | 1900 | ||
1890 | Usage: $0 [OPTION]... [VAR=VALUE]... | 1901 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1891 | 1902 | ||
@@ -1899,7 +1910,7 @@ Configuration: | |||
1899 | --help=short display options specific to this package | 1910 | --help=short display options specific to this package |
1900 | --help=recursive display the short help of all the included packages | 1911 | --help=recursive display the short help of all the included packages |
1901 | -V, --version display version information and exit | 1912 | -V, --version display version information and exit |
1902 | -q, --quiet, --silent do not print \`checking...' messages | 1913 | -q, --quiet, --silent do not print \`checking ...' messages |
1903 | --cache-file=FILE cache test results in FILE [disabled] | 1914 | --cache-file=FILE cache test results in FILE [disabled] |
1904 | -C, --config-cache alias for \`--cache-file=config.cache' | 1915 | -C, --config-cache alias for \`--cache-file=config.cache' |
1905 | -n, --no-create do not create output files | 1916 | -n, --no-create do not create output files |
@@ -1959,7 +1970,7 @@ fi | |||
1959 | 1970 | ||
1960 | if test -n "$ac_init_help"; then | 1971 | if test -n "$ac_init_help"; then |
1961 | case $ac_init_help in | 1972 | case $ac_init_help in |
1962 | short | recursive ) echo "Configuration of ecore 1.1.99.67344:";; | 1973 | short | recursive ) echo "Configuration of ecore 1.2.0-alpha:";; |
1963 | esac | 1974 | esac |
1964 | cat <<\_ACEOF | 1975 | cat <<\_ACEOF |
1965 | 1976 | ||
@@ -1987,7 +1998,6 @@ Optional Features: | |||
1987 | disable abstract sockets. | 1998 | disable abstract sockets. |
1988 | --enable-simple-x11 enable simple x11 linking | 1999 | --enable-simple-x11 enable simple x11 linking |
1989 | --disable-xim disable X Input Method. | 2000 | --disable-xim disable X Input Method. |
1990 | --enable-tests enable tests [default=disabled] | ||
1991 | --disable-doc Disable documentation build [default=enabled] | 2001 | --disable-doc Disable documentation build [default=enabled] |
1992 | --disable-ecore-timer-dump | 2002 | --disable-ecore-timer-dump |
1993 | disable tracking of timer allocation. | 2003 | disable tracking of timer allocation. |
@@ -2102,9 +2112,6 @@ Optional Features: | |||
2102 | --enable-ecore-evas-software-16-ddraw | 2112 | --enable-ecore-evas-software-16-ddraw |
2103 | enable 16 bpp Software DirectDraw support in the | 2113 | enable 16 bpp Software DirectDraw support in the |
2104 | ecore_evas module. | 2114 | ecore_evas module. |
2105 | --enable-ecore-evas-software-sdl | ||
2106 | enable Software SDL support in the ecore_evas | ||
2107 | module. | ||
2108 | --enable-ecore-evas-opengl-sdl | 2115 | --enable-ecore-evas-opengl-sdl |
2109 | enable OpenGL SDL support in the ecore_evas module. | 2116 | enable OpenGL SDL support in the ecore_evas module. |
2110 | --enable-ecore-evas-opengl-cocoa | 2117 | --enable-ecore-evas-opengl-cocoa |
@@ -2126,6 +2133,7 @@ Optional Features: | |||
2126 | enable Wayland Shm support in the ecore_evas module. | 2133 | enable Wayland Shm support in the ecore_evas module. |
2127 | --enable-ecore-evas-wayland-egl | 2134 | --enable-ecore-evas-wayland-egl |
2128 | enable Wayland Egl support in the ecore_evas module. | 2135 | enable Wayland Egl support in the ecore_evas module. |
2136 | --enable-tests enable tests [default=disabled] | ||
2129 | --enable-build-examples enable building examples [default=disabled] | 2137 | --enable-build-examples enable building examples [default=disabled] |
2130 | --enable-install-examples | 2138 | --enable-install-examples |
2131 | enable installing example source files | 2139 | enable installing example source files |
@@ -2164,20 +2172,24 @@ Some influential environment variables: | |||
2164 | CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if | 2172 | CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if |
2165 | you have headers in a nonstandard directory <include dir> | 2173 | you have headers in a nonstandard directory <include dir> |
2166 | CPP C preprocessor | 2174 | CPP C preprocessor |
2167 | PKG_CONFIG path to pkg-config utility | ||
2168 | CHECK_CFLAGS | ||
2169 | C compiler flags for CHECK, overriding pkg-config | ||
2170 | CHECK_LIBS linker flags for CHECK, overriding pkg-config | ||
2171 | OBJC Objective C compiler command | 2175 | OBJC Objective C compiler command |
2172 | OBJCFLAGS Objective C compiler flags | 2176 | OBJCFLAGS Objective C compiler flags |
2173 | CXX C++ compiler command | 2177 | CXX C++ compiler command |
2174 | CXXFLAGS C++ compiler flags | 2178 | CXXFLAGS C++ compiler flags |
2175 | CXXCPP C++ preprocessor | 2179 | CXXCPP C++ preprocessor |
2180 | PKG_CONFIG path to pkg-config utility | ||
2181 | PKG_CONFIG_PATH | ||
2182 | directories to add to pkg-config's search path | ||
2183 | PKG_CONFIG_LIBDIR | ||
2184 | path overriding pkg-config's built-in search path | ||
2176 | EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config | 2185 | EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config |
2177 | EVIL_LIBS linker flags for EVIL, overriding pkg-config | 2186 | EVIL_LIBS linker flags for EVIL, overriding pkg-config |
2178 | ESCAPE_CFLAGS | 2187 | ESCAPE_CFLAGS |
2179 | C compiler flags for ESCAPE, overriding pkg-config | 2188 | C compiler flags for ESCAPE, overriding pkg-config |
2180 | ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config | 2189 | ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config |
2190 | EXOTIC_CFLAGS | ||
2191 | C compiler flags for EXOTIC, overriding pkg-config | ||
2192 | EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config | ||
2181 | EINA_CFLAGS C compiler flags for EINA, overriding pkg-config | 2193 | EINA_CFLAGS C compiler flags for EINA, overriding pkg-config |
2182 | EINA_LIBS linker flags for EINA, overriding pkg-config | 2194 | EINA_LIBS linker flags for EINA, overriding pkg-config |
2183 | GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config | 2195 | GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config |
@@ -2286,6 +2298,9 @@ Some influential environment variables: | |||
2286 | C compiler flags for WAYLAND_EGL, overriding pkg-config | 2298 | C compiler flags for WAYLAND_EGL, overriding pkg-config |
2287 | WAYLAND_EGL_LIBS | 2299 | WAYLAND_EGL_LIBS |
2288 | linker flags for WAYLAND_EGL, overriding pkg-config | 2300 | linker flags for WAYLAND_EGL, overriding pkg-config |
2301 | CHECK_CFLAGS | ||
2302 | C compiler flags for CHECK, overriding pkg-config | ||
2303 | CHECK_LIBS linker flags for CHECK, overriding pkg-config | ||
2289 | 2304 | ||
2290 | Use these variables to override the choices made by `configure' or to help | 2305 | Use these variables to override the choices made by `configure' or to help |
2291 | it to find libraries and programs with nonstandard names/locations. | 2306 | it to find libraries and programs with nonstandard names/locations. |
@@ -2353,10 +2368,10 @@ fi | |||
2353 | test -n "$ac_init_help" && exit $ac_status | 2368 | test -n "$ac_init_help" && exit $ac_status |
2354 | if $ac_init_version; then | 2369 | if $ac_init_version; then |
2355 | cat <<\_ACEOF | 2370 | cat <<\_ACEOF |
2356 | ecore configure 1.1.99.67344 | 2371 | ecore configure 1.2.0-alpha |
2357 | generated by GNU Autoconf 2.65 | 2372 | generated by GNU Autoconf 2.67 |
2358 | 2373 | ||
2359 | Copyright (C) 2009 Free Software Foundation, Inc. | 2374 | Copyright (C) 2010 Free Software Foundation, Inc. |
2360 | This configure script is free software; the Free Software Foundation | 2375 | This configure script is free software; the Free Software Foundation |
2361 | gives unlimited permission to copy, distribute and modify it. | 2376 | gives unlimited permission to copy, distribute and modify it. |
2362 | _ACEOF | 2377 | _ACEOF |
@@ -2426,7 +2441,7 @@ $as_echo "$ac_try_echo"; } >&5 | |||
2426 | mv -f conftest.er1 conftest.err | 2441 | mv -f conftest.er1 conftest.err |
2427 | fi | 2442 | fi |
2428 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 2443 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2429 | test $ac_status = 0; } >/dev/null && { | 2444 | test $ac_status = 0; } > conftest.i && { |
2430 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | 2445 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || |
2431 | test ! -s conftest.err | 2446 | test ! -s conftest.err |
2432 | }; then : | 2447 | }; then : |
@@ -2450,10 +2465,10 @@ fi | |||
2450 | ac_fn_c_check_header_mongrel () | 2465 | ac_fn_c_check_header_mongrel () |
2451 | { | 2466 | { |
2452 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2467 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2453 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2468 | if eval "test \"\${$3+set}\"" = set; then : |
2454 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2469 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2455 | $as_echo_n "checking for $2... " >&6; } | 2470 | $as_echo_n "checking for $2... " >&6; } |
2456 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2471 | if eval "test \"\${$3+set}\"" = set; then : |
2457 | $as_echo_n "(cached) " >&6 | 2472 | $as_echo_n "(cached) " >&6 |
2458 | fi | 2473 | fi |
2459 | eval ac_res=\$$3 | 2474 | eval ac_res=\$$3 |
@@ -2489,7 +2504,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : | |||
2489 | else | 2504 | else |
2490 | ac_header_preproc=no | 2505 | ac_header_preproc=no |
2491 | fi | 2506 | fi |
2492 | rm -f conftest.err conftest.$ac_ext | 2507 | rm -f conftest.err conftest.i conftest.$ac_ext |
2493 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 | 2508 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 |
2494 | $as_echo "$ac_header_preproc" >&6; } | 2509 | $as_echo "$ac_header_preproc" >&6; } |
2495 | 2510 | ||
@@ -2512,17 +2527,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} | |||
2512 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} | 2527 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} |
2513 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | 2528 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 |
2514 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | 2529 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} |
2515 | ( cat <<\_ASBOX | 2530 | ( $as_echo "## -------------------------------------------------------- ## |
2516 | ## -------------------------------------------------------- ## | ||
2517 | ## Report this to enlightenment-devel@lists.sourceforge.net ## | 2531 | ## Report this to enlightenment-devel@lists.sourceforge.net ## |
2518 | ## -------------------------------------------------------- ## | 2532 | ## -------------------------------------------------------- ##" |
2519 | _ASBOX | ||
2520 | ) | sed "s/^/$as_me: WARNING: /" >&2 | 2533 | ) | sed "s/^/$as_me: WARNING: /" >&2 |
2521 | ;; | 2534 | ;; |
2522 | esac | 2535 | esac |
2523 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2536 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2524 | $as_echo_n "checking for $2... " >&6; } | 2537 | $as_echo_n "checking for $2... " >&6; } |
2525 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2538 | if eval "test \"\${$3+set}\"" = set; then : |
2526 | $as_echo_n "(cached) " >&6 | 2539 | $as_echo_n "(cached) " >&6 |
2527 | else | 2540 | else |
2528 | eval "$3=\$ac_header_compiler" | 2541 | eval "$3=\$ac_header_compiler" |
@@ -2586,7 +2599,7 @@ ac_fn_c_check_header_compile () | |||
2586 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2599 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2587 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2600 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2588 | $as_echo_n "checking for $2... " >&6; } | 2601 | $as_echo_n "checking for $2... " >&6; } |
2589 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2602 | if eval "test \"\${$3+set}\"" = set; then : |
2590 | $as_echo_n "(cached) " >&6 | 2603 | $as_echo_n "(cached) " >&6 |
2591 | else | 2604 | else |
2592 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2605 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@@ -2662,7 +2675,7 @@ ac_fn_c_check_func () | |||
2662 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2675 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2663 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2676 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2664 | $as_echo_n "checking for $2... " >&6; } | 2677 | $as_echo_n "checking for $2... " >&6; } |
2665 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2678 | if eval "test \"\${$3+set}\"" = set; then : |
2666 | $as_echo_n "(cached) " >&6 | 2679 | $as_echo_n "(cached) " >&6 |
2667 | else | 2680 | else |
2668 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2681 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@@ -2721,45 +2734,6 @@ $as_echo "$ac_res" >&6; } | |||
2721 | 2734 | ||
2722 | } # ac_fn_c_check_func | 2735 | } # ac_fn_c_check_func |
2723 | 2736 | ||
2724 | # ac_fn_c_check_decl LINENO SYMBOL VAR | ||
2725 | # ------------------------------------ | ||
2726 | # Tests whether SYMBOL is declared, setting cache variable VAR accordingly. | ||
2727 | ac_fn_c_check_decl () | ||
2728 | { | ||
2729 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2730 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 | ||
2731 | $as_echo_n "checking whether $2 is declared... " >&6; } | ||
2732 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | ||
2733 | $as_echo_n "(cached) " >&6 | ||
2734 | else | ||
2735 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2736 | /* end confdefs.h. */ | ||
2737 | $4 | ||
2738 | int | ||
2739 | main () | ||
2740 | { | ||
2741 | #ifndef $2 | ||
2742 | (void) $2; | ||
2743 | #endif | ||
2744 | |||
2745 | ; | ||
2746 | return 0; | ||
2747 | } | ||
2748 | _ACEOF | ||
2749 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2750 | eval "$3=yes" | ||
2751 | else | ||
2752 | eval "$3=no" | ||
2753 | fi | ||
2754 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2755 | fi | ||
2756 | eval ac_res=\$$3 | ||
2757 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2758 | $as_echo "$ac_res" >&6; } | ||
2759 | eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} | ||
2760 | |||
2761 | } # ac_fn_c_check_decl | ||
2762 | |||
2763 | # ac_fn_objc_try_compile LINENO | 2737 | # ac_fn_objc_try_compile LINENO |
2764 | # ----------------------------- | 2738 | # ----------------------------- |
2765 | # Try to compile conftest.$ac_ext, and return whether this succeeded. | 2739 | # Try to compile conftest.$ac_ext, and return whether this succeeded. |
@@ -2857,7 +2831,7 @@ $as_echo "$ac_try_echo"; } >&5 | |||
2857 | mv -f conftest.er1 conftest.err | 2831 | mv -f conftest.er1 conftest.err |
2858 | fi | 2832 | fi |
2859 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 2833 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2860 | test $ac_status = 0; } >/dev/null && { | 2834 | test $ac_status = 0; } > conftest.i && { |
2861 | test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || | 2835 | test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || |
2862 | test ! -s conftest.err | 2836 | test ! -s conftest.err |
2863 | }; then : | 2837 | }; then : |
@@ -2919,6 +2893,52 @@ fi | |||
2919 | 2893 | ||
2920 | } # ac_fn_cxx_try_link | 2894 | } # ac_fn_cxx_try_link |
2921 | 2895 | ||
2896 | # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES | ||
2897 | # --------------------------------------------- | ||
2898 | # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR | ||
2899 | # accordingly. | ||
2900 | ac_fn_c_check_decl () | ||
2901 | { | ||
2902 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
2903 | as_decl_name=`echo $2|sed 's/ *(.*//'` | ||
2904 | as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` | ||
2905 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 | ||
2906 | $as_echo_n "checking whether $as_decl_name is declared... " >&6; } | ||
2907 | if eval "test \"\${$3+set}\"" = set; then : | ||
2908 | $as_echo_n "(cached) " >&6 | ||
2909 | else | ||
2910 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
2911 | /* end confdefs.h. */ | ||
2912 | $4 | ||
2913 | int | ||
2914 | main () | ||
2915 | { | ||
2916 | #ifndef $as_decl_name | ||
2917 | #ifdef __cplusplus | ||
2918 | (void) $as_decl_use; | ||
2919 | #else | ||
2920 | (void) $as_decl_name; | ||
2921 | #endif | ||
2922 | #endif | ||
2923 | |||
2924 | ; | ||
2925 | return 0; | ||
2926 | } | ||
2927 | _ACEOF | ||
2928 | if ac_fn_c_try_compile "$LINENO"; then : | ||
2929 | eval "$3=yes" | ||
2930 | else | ||
2931 | eval "$3=no" | ||
2932 | fi | ||
2933 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
2934 | fi | ||
2935 | eval ac_res=\$$3 | ||
2936 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
2937 | $as_echo "$ac_res" >&6; } | ||
2938 | eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} | ||
2939 | |||
2940 | } # ac_fn_c_check_decl | ||
2941 | |||
2922 | # ac_fn_objc_try_link LINENO | 2942 | # ac_fn_objc_try_link LINENO |
2923 | # -------------------------- | 2943 | # -------------------------- |
2924 | # Try to link conftest.$ac_ext, and return whether this succeeded. | 2944 | # Try to link conftest.$ac_ext, and return whether this succeeded. |
@@ -3152,7 +3172,7 @@ ac_fn_c_check_type () | |||
3152 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 3172 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
3153 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 3173 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
3154 | $as_echo_n "checking for $2... " >&6; } | 3174 | $as_echo_n "checking for $2... " >&6; } |
3155 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 3175 | if eval "test \"\${$3+set}\"" = set; then : |
3156 | $as_echo_n "(cached) " >&6 | 3176 | $as_echo_n "(cached) " >&6 |
3157 | else | 3177 | else |
3158 | eval "$3=no" | 3178 | eval "$3=no" |
@@ -3200,8 +3220,8 @@ cat >config.log <<_ACEOF | |||
3200 | This file contains any messages produced by compilers while | 3220 | This file contains any messages produced by compilers while |
3201 | running configure, to aid debugging if configure makes a mistake. | 3221 | running configure, to aid debugging if configure makes a mistake. |
3202 | 3222 | ||
3203 | It was created by ecore $as_me 1.1.99.67344, which was | 3223 | It was created by ecore $as_me 1.2.0-alpha, which was |
3204 | generated by GNU Autoconf 2.65. Invocation command line was | 3224 | generated by GNU Autoconf 2.67. Invocation command line was |
3205 | 3225 | ||
3206 | $ $0 $@ | 3226 | $ $0 $@ |
3207 | 3227 | ||
@@ -3311,11 +3331,9 @@ trap 'exit_status=$? | |||
3311 | { | 3331 | { |
3312 | echo | 3332 | echo |
3313 | 3333 | ||
3314 | cat <<\_ASBOX | 3334 | $as_echo "## ---------------- ## |
3315 | ## ---------------- ## | ||
3316 | ## Cache variables. ## | 3335 | ## Cache variables. ## |
3317 | ## ---------------- ## | 3336 | ## ---------------- ##" |
3318 | _ASBOX | ||
3319 | echo | 3337 | echo |
3320 | # The following way of writing the cache mishandles newlines in values, | 3338 | # The following way of writing the cache mishandles newlines in values, |
3321 | ( | 3339 | ( |
@@ -3349,11 +3367,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; | |||
3349 | ) | 3367 | ) |
3350 | echo | 3368 | echo |
3351 | 3369 | ||
3352 | cat <<\_ASBOX | 3370 | $as_echo "## ----------------- ## |
3353 | ## ----------------- ## | ||
3354 | ## Output variables. ## | 3371 | ## Output variables. ## |
3355 | ## ----------------- ## | 3372 | ## ----------------- ##" |
3356 | _ASBOX | ||
3357 | echo | 3373 | echo |
3358 | for ac_var in $ac_subst_vars | 3374 | for ac_var in $ac_subst_vars |
3359 | do | 3375 | do |
@@ -3366,11 +3382,9 @@ _ASBOX | |||
3366 | echo | 3382 | echo |
3367 | 3383 | ||
3368 | if test -n "$ac_subst_files"; then | 3384 | if test -n "$ac_subst_files"; then |
3369 | cat <<\_ASBOX | 3385 | $as_echo "## ------------------- ## |
3370 | ## ------------------- ## | ||
3371 | ## File substitutions. ## | 3386 | ## File substitutions. ## |
3372 | ## ------------------- ## | 3387 | ## ------------------- ##" |
3373 | _ASBOX | ||
3374 | echo | 3388 | echo |
3375 | for ac_var in $ac_subst_files | 3389 | for ac_var in $ac_subst_files |
3376 | do | 3390 | do |
@@ -3384,11 +3398,9 @@ _ASBOX | |||
3384 | fi | 3398 | fi |
3385 | 3399 | ||
3386 | if test -s confdefs.h; then | 3400 | if test -s confdefs.h; then |
3387 | cat <<\_ASBOX | 3401 | $as_echo "## ----------- ## |
3388 | ## ----------- ## | ||
3389 | ## confdefs.h. ## | 3402 | ## confdefs.h. ## |
3390 | ## ----------- ## | 3403 | ## ----------- ##" |
3391 | _ASBOX | ||
3392 | echo | 3404 | echo |
3393 | cat confdefs.h | 3405 | cat confdefs.h |
3394 | echo | 3406 | echo |
@@ -3443,7 +3455,12 @@ _ACEOF | |||
3443 | ac_site_file1=NONE | 3455 | ac_site_file1=NONE |
3444 | ac_site_file2=NONE | 3456 | ac_site_file2=NONE |
3445 | if test -n "$CONFIG_SITE"; then | 3457 | if test -n "$CONFIG_SITE"; then |
3446 | ac_site_file1=$CONFIG_SITE | 3458 | # We do not want a PATH search for config.site. |
3459 | case $CONFIG_SITE in #(( | ||
3460 | -*) ac_site_file1=./$CONFIG_SITE;; | ||
3461 | */*) ac_site_file1=$CONFIG_SITE;; | ||
3462 | *) ac_site_file1=./$CONFIG_SITE;; | ||
3463 | esac | ||
3447 | elif test "x$prefix" != xNONE; then | 3464 | elif test "x$prefix" != xNONE; then |
3448 | ac_site_file1=$prefix/share/config.site | 3465 | ac_site_file1=$prefix/share/config.site |
3449 | ac_site_file2=$prefix/etc/config.site | 3466 | ac_site_file2=$prefix/etc/config.site |
@@ -3458,7 +3475,11 @@ do | |||
3458 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 | 3475 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 |
3459 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} | 3476 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} |
3460 | sed 's/^/| /' "$ac_site_file" >&5 | 3477 | sed 's/^/| /' "$ac_site_file" >&5 |
3461 | . "$ac_site_file" | 3478 | . "$ac_site_file" \ |
3479 | || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3480 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3481 | as_fn_error $? "failed to load site script $ac_site_file | ||
3482 | See \`config.log' for more details" "$LINENO" 5 ; } | ||
3462 | fi | 3483 | fi |
3463 | done | 3484 | done |
3464 | 3485 | ||
@@ -3535,7 +3556,7 @@ if $ac_cache_corrupted; then | |||
3535 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3556 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3536 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 | 3557 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 |
3537 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} | 3558 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
3538 | as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 | 3559 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
3539 | fi | 3560 | fi |
3540 | ## -------------------- ## | 3561 | ## -------------------- ## |
3541 | ## Main body of script. ## | 3562 | ## Main body of script. ## |
@@ -3561,16 +3582,22 @@ am__api_version='1.11' | |||
3561 | 3582 | ||
3562 | ac_aux_dir= | 3583 | ac_aux_dir= |
3563 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do | 3584 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
3564 | for ac_t in install-sh install.sh shtool; do | 3585 | if test -f "$ac_dir/install-sh"; then |
3565 | if test -f "$ac_dir/$ac_t"; then | 3586 | ac_aux_dir=$ac_dir |
3566 | ac_aux_dir=$ac_dir | 3587 | ac_install_sh="$ac_aux_dir/install-sh -c" |
3567 | ac_install_sh="$ac_aux_dir/$ac_t -c" | 3588 | break |
3568 | break 2 | 3589 | elif test -f "$ac_dir/install.sh"; then |
3569 | fi | 3590 | ac_aux_dir=$ac_dir |
3570 | done | 3591 | ac_install_sh="$ac_aux_dir/install.sh -c" |
3592 | break | ||
3593 | elif test -f "$ac_dir/shtool"; then | ||
3594 | ac_aux_dir=$ac_dir | ||
3595 | ac_install_sh="$ac_aux_dir/shtool install -c" | ||
3596 | break | ||
3597 | fi | ||
3571 | done | 3598 | done |
3572 | if test -z "$ac_aux_dir"; then | 3599 | if test -z "$ac_aux_dir"; then |
3573 | as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 | 3600 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
3574 | fi | 3601 | fi |
3575 | 3602 | ||
3576 | # These three variables are undocumented and unsupported, | 3603 | # These three variables are undocumented and unsupported, |
@@ -3686,11 +3713,11 @@ am_lf=' | |||
3686 | ' | 3713 | ' |
3687 | case `pwd` in | 3714 | case `pwd` in |
3688 | *[\\\"\#\$\&\'\`$am_lf]*) | 3715 | *[\\\"\#\$\&\'\`$am_lf]*) |
3689 | as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; | 3716 | as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; |
3690 | esac | 3717 | esac |
3691 | case $srcdir in | 3718 | case $srcdir in |
3692 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) | 3719 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) |
3693 | as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; | 3720 | as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; |
3694 | esac | 3721 | esac |
3695 | 3722 | ||
3696 | # Do `set' in a subshell so we don't clobber the current shell's | 3723 | # Do `set' in a subshell so we don't clobber the current shell's |
@@ -3712,7 +3739,7 @@ if ( | |||
3712 | # if, for instance, CONFIG_SHELL is bash and it inherits a | 3739 | # if, for instance, CONFIG_SHELL is bash and it inherits a |
3713 | # broken ls alias from the environment. This has actually | 3740 | # broken ls alias from the environment. This has actually |
3714 | # happened. Such a system could not be considered "sane". | 3741 | # happened. Such a system could not be considered "sane". |
3715 | as_fn_error "ls -t appears to fail. Make sure there is not a broken | 3742 | as_fn_error $? "ls -t appears to fail. Make sure there is not a broken |
3716 | alias in your environment" "$LINENO" 5 | 3743 | alias in your environment" "$LINENO" 5 |
3717 | fi | 3744 | fi |
3718 | 3745 | ||
@@ -3722,7 +3749,7 @@ then | |||
3722 | # Ok. | 3749 | # Ok. |
3723 | : | 3750 | : |
3724 | else | 3751 | else |
3725 | as_fn_error "newly created file is older than distributed files! | 3752 | as_fn_error $? "newly created file is older than distributed files! |
3726 | Check your system clock" "$LINENO" 5 | 3753 | Check your system clock" "$LINENO" 5 |
3727 | fi | 3754 | fi |
3728 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 3755 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
@@ -3960,7 +3987,7 @@ done | |||
3960 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } | 3987 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } |
3961 | set x ${MAKE-make} | 3988 | set x ${MAKE-make} |
3962 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | 3989 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` |
3963 | if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : | 3990 | if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : |
3964 | $as_echo_n "(cached) " >&6 | 3991 | $as_echo_n "(cached) " >&6 |
3965 | else | 3992 | else |
3966 | cat >conftest.make <<\_ACEOF | 3993 | cat >conftest.make <<\_ACEOF |
@@ -3968,7 +3995,7 @@ SHELL = /bin/sh | |||
3968 | all: | 3995 | all: |
3969 | @echo '@@@%%%=$(MAKE)=@@@%%%' | 3996 | @echo '@@@%%%=$(MAKE)=@@@%%%' |
3970 | _ACEOF | 3997 | _ACEOF |
3971 | # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | 3998 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. |
3972 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | 3999 | case `${MAKE-make} -f conftest.make 2>/dev/null` in |
3973 | *@@@%%%=?*=@@@%%%*) | 4000 | *@@@%%%=?*=@@@%%%*) |
3974 | eval ac_cv_prog_make_${ac_make}_set=yes;; | 4001 | eval ac_cv_prog_make_${ac_make}_set=yes;; |
@@ -4002,7 +4029,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then | |||
4002 | am__isrc=' -I$(srcdir)' | 4029 | am__isrc=' -I$(srcdir)' |
4003 | # test to see if srcdir already configured | 4030 | # test to see if srcdir already configured |
4004 | if test -f $srcdir/config.status; then | 4031 | if test -f $srcdir/config.status; then |
4005 | as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 | 4032 | as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 |
4006 | fi | 4033 | fi |
4007 | fi | 4034 | fi |
4008 | 4035 | ||
@@ -4018,7 +4045,7 @@ fi | |||
4018 | 4045 | ||
4019 | # Define the identity of the package. | 4046 | # Define the identity of the package. |
4020 | PACKAGE='ecore' | 4047 | PACKAGE='ecore' |
4021 | VERSION='1.1.99.67344' | 4048 | VERSION='1.2.0-alpha' |
4022 | 4049 | ||
4023 | 4050 | ||
4024 | cat >>confdefs.h <<_ACEOF | 4051 | cat >>confdefs.h <<_ACEOF |
@@ -4433,8 +4460,8 @@ fi | |||
4433 | 4460 | ||
4434 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4461 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4435 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4462 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4436 | as_fn_error "no acceptable C compiler found in \$PATH | 4463 | as_fn_error $? "no acceptable C compiler found in \$PATH |
4437 | See \`config.log' for more details." "$LINENO" 5; } | 4464 | See \`config.log' for more details" "$LINENO" 5 ; } |
4438 | 4465 | ||
4439 | # Provide some information about the compiler. | 4466 | # Provide some information about the compiler. |
4440 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | 4467 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
@@ -4548,9 +4575,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
4548 | 4575 | ||
4549 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4576 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4550 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4577 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4551 | { as_fn_set_status 77 | 4578 | as_fn_error 77 "C compiler cannot create executables |
4552 | as_fn_error "C compiler cannot create executables | 4579 | See \`config.log' for more details" "$LINENO" 5 ; } |
4553 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
4554 | else | 4580 | else |
4555 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 4581 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
4556 | $as_echo "yes" >&6; } | 4582 | $as_echo "yes" >&6; } |
@@ -4592,8 +4618,8 @@ done | |||
4592 | else | 4618 | else |
4593 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4619 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4594 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4620 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4595 | as_fn_error "cannot compute suffix of executables: cannot compile and link | 4621 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
4596 | See \`config.log' for more details." "$LINENO" 5; } | 4622 | See \`config.log' for more details" "$LINENO" 5 ; } |
4597 | fi | 4623 | fi |
4598 | rm -f conftest conftest$ac_cv_exeext | 4624 | rm -f conftest conftest$ac_cv_exeext |
4599 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 | 4625 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 |
@@ -4650,9 +4676,9 @@ $as_echo "$ac_try_echo"; } >&5 | |||
4650 | else | 4676 | else |
4651 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4677 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4652 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4678 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4653 | as_fn_error "cannot run C compiled programs. | 4679 | as_fn_error $? "cannot run C compiled programs. |
4654 | If you meant to cross compile, use \`--host'. | 4680 | If you meant to cross compile, use \`--host'. |
4655 | See \`config.log' for more details." "$LINENO" 5; } | 4681 | See \`config.log' for more details" "$LINENO" 5 ; } |
4656 | fi | 4682 | fi |
4657 | fi | 4683 | fi |
4658 | fi | 4684 | fi |
@@ -4703,8 +4729,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
4703 | 4729 | ||
4704 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4730 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4705 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4731 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4706 | as_fn_error "cannot compute suffix of object files: cannot compile | 4732 | as_fn_error $? "cannot compute suffix of object files: cannot compile |
4707 | See \`config.log' for more details." "$LINENO" 5; } | 4733 | See \`config.log' for more details" "$LINENO" 5 ; } |
4708 | fi | 4734 | fi |
4709 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | 4735 | rm -f conftest.$ac_cv_objext conftest.$ac_ext |
4710 | fi | 4736 | fi |
@@ -5094,7 +5120,7 @@ else | |||
5094 | # Broken: fails on valid input. | 5120 | # Broken: fails on valid input. |
5095 | continue | 5121 | continue |
5096 | fi | 5122 | fi |
5097 | rm -f conftest.err conftest.$ac_ext | 5123 | rm -f conftest.err conftest.i conftest.$ac_ext |
5098 | 5124 | ||
5099 | # OK, works on sane cases. Now check whether nonexistent headers | 5125 | # OK, works on sane cases. Now check whether nonexistent headers |
5100 | # can be detected and how. | 5126 | # can be detected and how. |
@@ -5110,11 +5136,11 @@ else | |||
5110 | ac_preproc_ok=: | 5136 | ac_preproc_ok=: |
5111 | break | 5137 | break |
5112 | fi | 5138 | fi |
5113 | rm -f conftest.err conftest.$ac_ext | 5139 | rm -f conftest.err conftest.i conftest.$ac_ext |
5114 | 5140 | ||
5115 | done | 5141 | done |
5116 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 5142 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
5117 | rm -f conftest.err conftest.$ac_ext | 5143 | rm -f conftest.i conftest.err conftest.$ac_ext |
5118 | if $ac_preproc_ok; then : | 5144 | if $ac_preproc_ok; then : |
5119 | break | 5145 | break |
5120 | fi | 5146 | fi |
@@ -5153,7 +5179,7 @@ else | |||
5153 | # Broken: fails on valid input. | 5179 | # Broken: fails on valid input. |
5154 | continue | 5180 | continue |
5155 | fi | 5181 | fi |
5156 | rm -f conftest.err conftest.$ac_ext | 5182 | rm -f conftest.err conftest.i conftest.$ac_ext |
5157 | 5183 | ||
5158 | # OK, works on sane cases. Now check whether nonexistent headers | 5184 | # OK, works on sane cases. Now check whether nonexistent headers |
5159 | # can be detected and how. | 5185 | # can be detected and how. |
@@ -5169,18 +5195,18 @@ else | |||
5169 | ac_preproc_ok=: | 5195 | ac_preproc_ok=: |
5170 | break | 5196 | break |
5171 | fi | 5197 | fi |
5172 | rm -f conftest.err conftest.$ac_ext | 5198 | rm -f conftest.err conftest.i conftest.$ac_ext |
5173 | 5199 | ||
5174 | done | 5200 | done |
5175 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 5201 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
5176 | rm -f conftest.err conftest.$ac_ext | 5202 | rm -f conftest.i conftest.err conftest.$ac_ext |
5177 | if $ac_preproc_ok; then : | 5203 | if $ac_preproc_ok; then : |
5178 | 5204 | ||
5179 | else | 5205 | else |
5180 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 5206 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
5181 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 5207 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
5182 | as_fn_error "C preprocessor \"$CPP\" fails sanity check | 5208 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
5183 | See \`config.log' for more details." "$LINENO" 5; } | 5209 | See \`config.log' for more details" "$LINENO" 5 ; } |
5184 | fi | 5210 | fi |
5185 | 5211 | ||
5186 | ac_ext=c | 5212 | ac_ext=c |
@@ -5241,7 +5267,7 @@ esac | |||
5241 | done | 5267 | done |
5242 | IFS=$as_save_IFS | 5268 | IFS=$as_save_IFS |
5243 | if test -z "$ac_cv_path_GREP"; then | 5269 | if test -z "$ac_cv_path_GREP"; then |
5244 | as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 5270 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
5245 | fi | 5271 | fi |
5246 | else | 5272 | else |
5247 | ac_cv_path_GREP=$GREP | 5273 | ac_cv_path_GREP=$GREP |
@@ -5307,7 +5333,7 @@ esac | |||
5307 | done | 5333 | done |
5308 | IFS=$as_save_IFS | 5334 | IFS=$as_save_IFS |
5309 | if test -z "$ac_cv_path_EGREP"; then | 5335 | if test -z "$ac_cv_path_EGREP"; then |
5310 | as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 5336 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
5311 | fi | 5337 | fi |
5312 | else | 5338 | else |
5313 | ac_cv_path_EGREP=$EGREP | 5339 | ac_cv_path_EGREP=$EGREP |
@@ -5439,8 +5465,7 @@ do : | |||
5439 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 5465 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
5440 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | 5466 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
5441 | " | 5467 | " |
5442 | eval as_val=\$$as_ac_Header | 5468 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
5443 | if test "x$as_val" = x""yes; then : | ||
5444 | cat >>confdefs.h <<_ACEOF | 5469 | cat >>confdefs.h <<_ACEOF |
5445 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 5470 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
5446 | _ACEOF | 5471 | _ACEOF |
@@ -5515,7 +5540,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } | |||
5515 | 5540 | ||
5516 | # Make sure we can run config.sub. | 5541 | # Make sure we can run config.sub. |
5517 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | 5542 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
5518 | as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 | 5543 | as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 |
5519 | 5544 | ||
5520 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 | 5545 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 |
5521 | $as_echo_n "checking build system type... " >&6; } | 5546 | $as_echo_n "checking build system type... " >&6; } |
@@ -5526,16 +5551,16 @@ else | |||
5526 | test "x$ac_build_alias" = x && | 5551 | test "x$ac_build_alias" = x && |
5527 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | 5552 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
5528 | test "x$ac_build_alias" = x && | 5553 | test "x$ac_build_alias" = x && |
5529 | as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 | 5554 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
5530 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | 5555 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
5531 | as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 | 5556 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
5532 | 5557 | ||
5533 | fi | 5558 | fi |
5534 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | 5559 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 |
5535 | $as_echo "$ac_cv_build" >&6; } | 5560 | $as_echo "$ac_cv_build" >&6; } |
5536 | case $ac_cv_build in | 5561 | case $ac_cv_build in |
5537 | *-*-*) ;; | 5562 | *-*-*) ;; |
5538 | *) as_fn_error "invalid value of canonical build" "$LINENO" 5;; | 5563 | *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; |
5539 | esac | 5564 | esac |
5540 | build=$ac_cv_build | 5565 | build=$ac_cv_build |
5541 | ac_save_IFS=$IFS; IFS='-' | 5566 | ac_save_IFS=$IFS; IFS='-' |
@@ -5560,7 +5585,7 @@ else | |||
5560 | ac_cv_host=$ac_cv_build | 5585 | ac_cv_host=$ac_cv_build |
5561 | else | 5586 | else |
5562 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | 5587 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
5563 | as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 | 5588 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
5564 | fi | 5589 | fi |
5565 | 5590 | ||
5566 | fi | 5591 | fi |
@@ -5568,7 +5593,7 @@ fi | |||
5568 | $as_echo "$ac_cv_host" >&6; } | 5593 | $as_echo "$ac_cv_host" >&6; } |
5569 | case $ac_cv_host in | 5594 | case $ac_cv_host in |
5570 | *-*-*) ;; | 5595 | *-*-*) ;; |
5571 | *) as_fn_error "invalid value of canonical host" "$LINENO" 5;; | 5596 | *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; |
5572 | esac | 5597 | esac |
5573 | host=$ac_cv_host | 5598 | host=$ac_cv_host |
5574 | ac_save_IFS=$IFS; IFS='-' | 5599 | ac_save_IFS=$IFS; IFS='-' |
@@ -5969,7 +5994,7 @@ esac | |||
5969 | done | 5994 | done |
5970 | IFS=$as_save_IFS | 5995 | IFS=$as_save_IFS |
5971 | if test -z "$ac_cv_path_SED"; then | 5996 | if test -z "$ac_cv_path_SED"; then |
5972 | as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 | 5997 | as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 |
5973 | fi | 5998 | fi |
5974 | else | 5999 | else |
5975 | ac_cv_path_SED=$SED | 6000 | ac_cv_path_SED=$SED |
@@ -6048,7 +6073,7 @@ esac | |||
6048 | done | 6073 | done |
6049 | IFS=$as_save_IFS | 6074 | IFS=$as_save_IFS |
6050 | if test -z "$ac_cv_path_FGREP"; then | 6075 | if test -z "$ac_cv_path_FGREP"; then |
6051 | as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 6076 | as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
6052 | fi | 6077 | fi |
6053 | else | 6078 | else |
6054 | ac_cv_path_FGREP=$FGREP | 6079 | ac_cv_path_FGREP=$FGREP |
@@ -6164,7 +6189,7 @@ else | |||
6164 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 6189 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
6165 | $as_echo "no" >&6; } | 6190 | $as_echo "no" >&6; } |
6166 | fi | 6191 | fi |
6167 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 6192 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 |
6168 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | 6193 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 |
6169 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | 6194 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } |
6170 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : | 6195 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : |
@@ -6366,13 +6391,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : | |||
6366 | else | 6391 | else |
6367 | lt_cv_nm_interface="BSD nm" | 6392 | lt_cv_nm_interface="BSD nm" |
6368 | echo "int some_variable = 0;" > conftest.$ac_ext | 6393 | echo "int some_variable = 0;" > conftest.$ac_ext |
6369 | (eval echo "\"\$as_me:6369: $ac_compile\"" >&5) | 6394 | (eval echo "\"\$as_me:6394: $ac_compile\"" >&5) |
6370 | (eval "$ac_compile" 2>conftest.err) | 6395 | (eval "$ac_compile" 2>conftest.err) |
6371 | cat conftest.err >&5 | 6396 | cat conftest.err >&5 |
6372 | (eval echo "\"\$as_me:6372: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | 6397 | (eval echo "\"\$as_me:6397: $NM \\\"conftest.$ac_objext\\\"\"" >&5) |
6373 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | 6398 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) |
6374 | cat conftest.err >&5 | 6399 | cat conftest.err >&5 |
6375 | (eval echo "\"\$as_me:6375: output\"" >&5) | 6400 | (eval echo "\"\$as_me:6400: output\"" >&5) |
6376 | cat conftest.out >&5 | 6401 | cat conftest.out >&5 |
6377 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then | 6402 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then |
6378 | lt_cv_nm_interface="MS dumpbin" | 6403 | lt_cv_nm_interface="MS dumpbin" |
@@ -7574,7 +7599,7 @@ ia64-*-hpux*) | |||
7574 | ;; | 7599 | ;; |
7575 | *-*-irix6*) | 7600 | *-*-irix6*) |
7576 | # Find out which ABI we are using. | 7601 | # Find out which ABI we are using. |
7577 | echo '#line 7577 "configure"' > conftest.$ac_ext | 7602 | echo '#line 7602 "configure"' > conftest.$ac_ext |
7578 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | 7603 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 |
7579 | (eval $ac_compile) 2>&5 | 7604 | (eval $ac_compile) 2>&5 |
7580 | ac_status=$? | 7605 | ac_status=$? |
@@ -8834,11 +8859,11 @@ else | |||
8834 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 8859 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
8835 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 8860 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
8836 | -e 's:$: $lt_compiler_flag:'` | 8861 | -e 's:$: $lt_compiler_flag:'` |
8837 | (eval echo "\"\$as_me:8837: $lt_compile\"" >&5) | 8862 | (eval echo "\"\$as_me:8862: $lt_compile\"" >&5) |
8838 | (eval "$lt_compile" 2>conftest.err) | 8863 | (eval "$lt_compile" 2>conftest.err) |
8839 | ac_status=$? | 8864 | ac_status=$? |
8840 | cat conftest.err >&5 | 8865 | cat conftest.err >&5 |
8841 | echo "$as_me:8841: \$? = $ac_status" >&5 | 8866 | echo "$as_me:8866: \$? = $ac_status" >&5 |
8842 | if (exit $ac_status) && test -s "$ac_outfile"; then | 8867 | if (exit $ac_status) && test -s "$ac_outfile"; then |
8843 | # The compiler can only warn and ignore the option if not recognized | 8868 | # The compiler can only warn and ignore the option if not recognized |
8844 | # So say no if there are warnings other than the usual output. | 8869 | # So say no if there are warnings other than the usual output. |
@@ -9173,11 +9198,11 @@ else | |||
9173 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 9198 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
9174 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 9199 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
9175 | -e 's:$: $lt_compiler_flag:'` | 9200 | -e 's:$: $lt_compiler_flag:'` |
9176 | (eval echo "\"\$as_me:9176: $lt_compile\"" >&5) | 9201 | (eval echo "\"\$as_me:9201: $lt_compile\"" >&5) |
9177 | (eval "$lt_compile" 2>conftest.err) | 9202 | (eval "$lt_compile" 2>conftest.err) |
9178 | ac_status=$? | 9203 | ac_status=$? |
9179 | cat conftest.err >&5 | 9204 | cat conftest.err >&5 |
9180 | echo "$as_me:9180: \$? = $ac_status" >&5 | 9205 | echo "$as_me:9205: \$? = $ac_status" >&5 |
9181 | if (exit $ac_status) && test -s "$ac_outfile"; then | 9206 | if (exit $ac_status) && test -s "$ac_outfile"; then |
9182 | # The compiler can only warn and ignore the option if not recognized | 9207 | # The compiler can only warn and ignore the option if not recognized |
9183 | # So say no if there are warnings other than the usual output. | 9208 | # So say no if there are warnings other than the usual output. |
@@ -9278,11 +9303,11 @@ else | |||
9278 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 9303 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
9279 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 9304 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
9280 | -e 's:$: $lt_compiler_flag:'` | 9305 | -e 's:$: $lt_compiler_flag:'` |
9281 | (eval echo "\"\$as_me:9281: $lt_compile\"" >&5) | 9306 | (eval echo "\"\$as_me:9306: $lt_compile\"" >&5) |
9282 | (eval "$lt_compile" 2>out/conftest.err) | 9307 | (eval "$lt_compile" 2>out/conftest.err) |
9283 | ac_status=$? | 9308 | ac_status=$? |
9284 | cat out/conftest.err >&5 | 9309 | cat out/conftest.err >&5 |
9285 | echo "$as_me:9285: \$? = $ac_status" >&5 | 9310 | echo "$as_me:9310: \$? = $ac_status" >&5 |
9286 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 9311 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
9287 | then | 9312 | then |
9288 | # The compiler can only warn and ignore the option if not recognized | 9313 | # The compiler can only warn and ignore the option if not recognized |
@@ -9333,11 +9358,11 @@ else | |||
9333 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 9358 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
9334 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 9359 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
9335 | -e 's:$: $lt_compiler_flag:'` | 9360 | -e 's:$: $lt_compiler_flag:'` |
9336 | (eval echo "\"\$as_me:9336: $lt_compile\"" >&5) | 9361 | (eval echo "\"\$as_me:9361: $lt_compile\"" >&5) |
9337 | (eval "$lt_compile" 2>out/conftest.err) | 9362 | (eval "$lt_compile" 2>out/conftest.err) |
9338 | ac_status=$? | 9363 | ac_status=$? |
9339 | cat out/conftest.err >&5 | 9364 | cat out/conftest.err >&5 |
9340 | echo "$as_me:9340: \$? = $ac_status" >&5 | 9365 | echo "$as_me:9365: \$? = $ac_status" >&5 |
9341 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 9366 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
9342 | then | 9367 | then |
9343 | # The compiler can only warn and ignore the option if not recognized | 9368 | # The compiler can only warn and ignore the option if not recognized |
@@ -11717,7 +11742,7 @@ else | |||
11717 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | 11742 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
11718 | lt_status=$lt_dlunknown | 11743 | lt_status=$lt_dlunknown |
11719 | cat > conftest.$ac_ext <<_LT_EOF | 11744 | cat > conftest.$ac_ext <<_LT_EOF |
11720 | #line 11720 "configure" | 11745 | #line 11745 "configure" |
11721 | #include "confdefs.h" | 11746 | #include "confdefs.h" |
11722 | 11747 | ||
11723 | #if HAVE_DLFCN_H | 11748 | #if HAVE_DLFCN_H |
@@ -11813,7 +11838,7 @@ else | |||
11813 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | 11838 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
11814 | lt_status=$lt_dlunknown | 11839 | lt_status=$lt_dlunknown |
11815 | cat > conftest.$ac_ext <<_LT_EOF | 11840 | cat > conftest.$ac_ext <<_LT_EOF |
11816 | #line 11816 "configure" | 11841 | #line 11841 "configure" |
11817 | #include "confdefs.h" | 11842 | #include "confdefs.h" |
11818 | 11843 | ||
11819 | #if HAVE_DLFCN_H | 11844 | #if HAVE_DLFCN_H |
@@ -12052,20 +12077,20 @@ _ACEOF | |||
12052 | 12077 | ||
12053 | 12078 | ||
12054 | cat >>confdefs.h <<_ACEOF | 12079 | cat >>confdefs.h <<_ACEOF |
12055 | #define VERS_MIN 1 | 12080 | #define VERS_MIN 2 |
12056 | _ACEOF | 12081 | _ACEOF |
12057 | 12082 | ||
12058 | 12083 | ||
12059 | cat >>confdefs.h <<_ACEOF | 12084 | cat >>confdefs.h <<_ACEOF |
12060 | #define VERS_MIC 99 | 12085 | #define VERS_MIC 0 |
12061 | _ACEOF | 12086 | _ACEOF |
12062 | 12087 | ||
12063 | 12088 | ||
12064 | cat >>confdefs.h <<_ACEOF | 12089 | cat >>confdefs.h <<_ACEOF |
12065 | #define VERS_REV 67344 | 12090 | #define VERS_REV 0 |
12066 | _ACEOF | 12091 | _ACEOF |
12067 | 12092 | ||
12068 | version_info="2:99:1" | 12093 | version_info="3:0:2" |
12069 | release_info="" | 12094 | release_info="" |
12070 | 12095 | ||
12071 | 12096 | ||
@@ -12489,7 +12514,7 @@ else | |||
12489 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 12514 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
12490 | $as_echo "no" >&6; } | 12515 | $as_echo "no" >&6; } |
12491 | fi | 12516 | fi |
12492 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 12517 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 |
12493 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | 12518 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 |
12494 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | 12519 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } |
12495 | if test "${acl_cv_prog_gnu_ld+set}" = set; then : | 12520 | if test "${acl_cv_prog_gnu_ld+set}" = set; then : |
@@ -13136,7 +13161,7 @@ typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; | |||
13136 | 13161 | ||
13137 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 | 13162 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 |
13138 | $as_echo_n "checking for GNU gettext in libc... " >&6; } | 13163 | $as_echo_n "checking for GNU gettext in libc... " >&6; } |
13139 | if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then : | 13164 | if eval "test \"\${$gt_func_gnugettext_libc+set}\"" = set; then : |
13140 | $as_echo_n "(cached) " >&6 | 13165 | $as_echo_n "(cached) " >&6 |
13141 | else | 13166 | else |
13142 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 13167 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@@ -13807,7 +13832,7 @@ fi | |||
13807 | 13832 | ||
13808 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 | 13833 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 |
13809 | $as_echo_n "checking for GNU gettext in libintl... " >&6; } | 13834 | $as_echo_n "checking for GNU gettext in libintl... " >&6; } |
13810 | if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then : | 13835 | if eval "test \"\${$gt_func_gnugettext_libintl+set}\"" = set; then : |
13811 | $as_echo_n "(cached) " >&6 | 13836 | $as_echo_n "(cached) " >&6 |
13812 | else | 13837 | else |
13813 | gt_save_CPPFLAGS="$CPPFLAGS" | 13838 | gt_save_CPPFLAGS="$CPPFLAGS" |
@@ -14016,7 +14041,7 @@ _ACEOF | |||
14016 | 14041 | ||
14017 | with_max_log_level="${withval}" | 14042 | with_max_log_level="${withval}" |
14018 | else | 14043 | else |
14019 | as_fn_error "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 | 14044 | as_fn_error $? "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 |
14020 | fi | 14045 | fi |
14021 | fi | 14046 | fi |
14022 | 14047 | ||
@@ -14106,6 +14131,7 @@ want_ecore_evas_directfb="no" | |||
14106 | want_ecore_evas_fb="no" | 14131 | want_ecore_evas_fb="no" |
14107 | want_ecore_evas_software_16_wince="no" | 14132 | want_ecore_evas_software_16_wince="no" |
14108 | want_ecore_evas_ews="yes" | 14133 | want_ecore_evas_ews="yes" |
14134 | want_ecore_evas_extn="yes" | ||
14109 | want_ecore_evas_wayland_shm="no" | 14135 | want_ecore_evas_wayland_shm="no" |
14110 | want_ecore_evas_wayland_egl="no" | 14136 | want_ecore_evas_wayland_egl="no" |
14111 | 14137 | ||
@@ -14114,11 +14140,12 @@ want_ecore_imf_xim="no" | |||
14114 | want_ecore_imf_scim="no" | 14140 | want_ecore_imf_scim="no" |
14115 | 14141 | ||
14116 | case "$host_os" in | 14142 | case "$host_os" in |
14117 | mingw32ce* | cegcc*) | 14143 | mingw32ce*) |
14118 | want_ecore_con="no" | 14144 | want_ecore_con="no" |
14119 | want_ecore_ipc="no" | 14145 | want_ecore_ipc="no" |
14120 | want_ecore_wince="yes" | 14146 | want_ecore_wince="yes" |
14121 | want_ecore_evas_software_16_wince="yes" | 14147 | want_ecore_evas_software_16_wince="yes" |
14148 | want_ecore_evas_extn="no" | ||
14122 | ;; | 14149 | ;; |
14123 | mingw*) | 14150 | mingw*) |
14124 | want_notify_win32="yes" | 14151 | want_notify_win32="yes" |
@@ -14205,60 +14232,6 @@ requirements_ecore_imf_xim="" | |||
14205 | requirements_ecore_imf_scim="" | 14232 | requirements_ecore_imf_scim="" |
14206 | requirements_ecore_wayland="" | 14233 | requirements_ecore_wayland="" |
14207 | 14234 | ||
14208 | ac_fn_c_check_decl "$LINENO" "MAXHOSTNAMELEN" "ac_cv_have_decl_MAXHOSTNAMELEN" "$ac_includes_default" | ||
14209 | if test "x$ac_cv_have_decl_MAXHOSTNAMELEN" = x""yes; then : | ||
14210 | FOUND_MAXHOSTNAMELEN=yes | ||
14211 | fi | ||
14212 | |||
14213 | |||
14214 | if test x$FOUND_MAXHOSTNAMELEN != xyes ; then | ||
14215 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for header that defines MAXHOSTNAMELEN" >&5 | ||
14216 | $as_echo_n "checking for header that defines MAXHOSTNAMELEN... " >&6; } | ||
14217 | |||
14218 | FOUND_MAXHOSTNAMELEN='not found' | ||
14219 | |||
14220 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
14221 | /* end confdefs.h. */ | ||
14222 | #include <sys/param.h> | ||
14223 | int | ||
14224 | main () | ||
14225 | { | ||
14226 | int h = MAXHOSTNAMELEN; | ||
14227 | ; | ||
14228 | return 0; | ||
14229 | } | ||
14230 | _ACEOF | ||
14231 | if ac_fn_c_try_compile "$LINENO"; then : | ||
14232 | FOUND_MAXHOSTNAMELEN='sys/param.h' | ||
14233 | |||
14234 | $as_echo "#define NEED_SYS_PARAM_H 1" >>confdefs.h | ||
14235 | |||
14236 | fi | ||
14237 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
14238 | |||
14239 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
14240 | /* end confdefs.h. */ | ||
14241 | #include <netdb.h> | ||
14242 | int | ||
14243 | main () | ||
14244 | { | ||
14245 | int h = MAXHOSTNAMELEN; | ||
14246 | ; | ||
14247 | return 0; | ||
14248 | } | ||
14249 | _ACEOF | ||
14250 | if ac_fn_c_try_compile "$LINENO"; then : | ||
14251 | FOUND_MAXHOSTNAMELEN='netdb.h' | ||
14252 | |||
14253 | $as_echo "#define NEED_NETDB_H 1" >>confdefs.h | ||
14254 | |||
14255 | fi | ||
14256 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
14257 | |||
14258 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOUND_MAXHOSTNAMELEN" >&5 | ||
14259 | $as_echo "$FOUND_MAXHOSTNAMELEN" >&6; } | ||
14260 | fi | ||
14261 | |||
14262 | ### Additional options to configure | 14235 | ### Additional options to configure |
14263 | 14236 | ||
14264 | want_glib_integration_always=no | 14237 | want_glib_integration_always=no |
@@ -14290,7 +14263,7 @@ $as_echo "#define USE_G_MAIN_LOOP 1" >>confdefs.h | |||
14290 | fi | 14263 | fi |
14291 | 14264 | ||
14292 | if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then | 14265 | if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then |
14293 | as_fn_error "--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive" "$LINENO" 5 | 14266 | as_fn_error $? "--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive" "$LINENO" 5 |
14294 | fi | 14267 | fi |
14295 | 14268 | ||
14296 | # local sockets (ecore_con.c) | 14269 | # local sockets (ecore_con.c) |
@@ -14364,238 +14337,6 @@ $as_echo "#define ENABLE_XIM 1" >>confdefs.h | |||
14364 | 14337 | ||
14365 | fi | 14338 | fi |
14366 | 14339 | ||
14367 | # Unit tests | ||
14368 | |||
14369 | |||
14370 | |||
14371 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | ||
14372 | if test -n "$ac_tool_prefix"; then | ||
14373 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. | ||
14374 | set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 | ||
14375 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
14376 | $as_echo_n "checking for $ac_word... " >&6; } | ||
14377 | if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : | ||
14378 | $as_echo_n "(cached) " >&6 | ||
14379 | else | ||
14380 | case $PKG_CONFIG in | ||
14381 | [\\/]* | ?:[\\/]*) | ||
14382 | ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. | ||
14383 | ;; | ||
14384 | *) | ||
14385 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
14386 | for as_dir in $PATH | ||
14387 | do | ||
14388 | IFS=$as_save_IFS | ||
14389 | test -z "$as_dir" && as_dir=. | ||
14390 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
14391 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | ||
14392 | ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" | ||
14393 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
14394 | break 2 | ||
14395 | fi | ||
14396 | done | ||
14397 | done | ||
14398 | IFS=$as_save_IFS | ||
14399 | |||
14400 | ;; | ||
14401 | esac | ||
14402 | fi | ||
14403 | PKG_CONFIG=$ac_cv_path_PKG_CONFIG | ||
14404 | if test -n "$PKG_CONFIG"; then | ||
14405 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 | ||
14406 | $as_echo "$PKG_CONFIG" >&6; } | ||
14407 | else | ||
14408 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
14409 | $as_echo "no" >&6; } | ||
14410 | fi | ||
14411 | |||
14412 | |||
14413 | fi | ||
14414 | if test -z "$ac_cv_path_PKG_CONFIG"; then | ||
14415 | ac_pt_PKG_CONFIG=$PKG_CONFIG | ||
14416 | # Extract the first word of "pkg-config", so it can be a program name with args. | ||
14417 | set dummy pkg-config; ac_word=$2 | ||
14418 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
14419 | $as_echo_n "checking for $ac_word... " >&6; } | ||
14420 | if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then : | ||
14421 | $as_echo_n "(cached) " >&6 | ||
14422 | else | ||
14423 | case $ac_pt_PKG_CONFIG in | ||
14424 | [\\/]* | ?:[\\/]*) | ||
14425 | ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. | ||
14426 | ;; | ||
14427 | *) | ||
14428 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
14429 | for as_dir in $PATH | ||
14430 | do | ||
14431 | IFS=$as_save_IFS | ||
14432 | test -z "$as_dir" && as_dir=. | ||
14433 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
14434 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | ||
14435 | ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" | ||
14436 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
14437 | break 2 | ||
14438 | fi | ||
14439 | done | ||
14440 | done | ||
14441 | IFS=$as_save_IFS | ||
14442 | |||
14443 | ;; | ||
14444 | esac | ||
14445 | fi | ||
14446 | ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG | ||
14447 | if test -n "$ac_pt_PKG_CONFIG"; then | ||
14448 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 | ||
14449 | $as_echo "$ac_pt_PKG_CONFIG" >&6; } | ||
14450 | else | ||
14451 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
14452 | $as_echo "no" >&6; } | ||
14453 | fi | ||
14454 | |||
14455 | if test "x$ac_pt_PKG_CONFIG" = x; then | ||
14456 | PKG_CONFIG="" | ||
14457 | else | ||
14458 | case $cross_compiling:$ac_tool_warned in | ||
14459 | yes:) | ||
14460 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
14461 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
14462 | ac_tool_warned=yes ;; | ||
14463 | esac | ||
14464 | PKG_CONFIG=$ac_pt_PKG_CONFIG | ||
14465 | fi | ||
14466 | else | ||
14467 | PKG_CONFIG="$ac_cv_path_PKG_CONFIG" | ||
14468 | fi | ||
14469 | |||
14470 | fi | ||
14471 | if test -n "$PKG_CONFIG"; then | ||
14472 | _pkg_min_version=0.9.0 | ||
14473 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 | ||
14474 | $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } | ||
14475 | if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then | ||
14476 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
14477 | $as_echo "yes" >&6; } | ||
14478 | else | ||
14479 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
14480 | $as_echo "no" >&6; } | ||
14481 | PKG_CONFIG="" | ||
14482 | fi | ||
14483 | |||
14484 | fi | ||
14485 | |||
14486 | |||
14487 | |||
14488 | # Check whether --enable-tests was given. | ||
14489 | if test "${enable_tests+set}" = set; then : | ||
14490 | enableval=$enable_tests; | ||
14491 | if test "x${enableval}" = "xyes" ; then | ||
14492 | _efl_enable_tests="yes" | ||
14493 | else | ||
14494 | _efl_enable_tests="no" | ||
14495 | fi | ||
14496 | |||
14497 | else | ||
14498 | _efl_enable_tests="no" | ||
14499 | fi | ||
14500 | |||
14501 | |||
14502 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests are built" >&5 | ||
14503 | $as_echo_n "checking whether tests are built... " >&6; } | ||
14504 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_tests}" >&5 | ||
14505 | $as_echo "${_efl_enable_tests}" >&6; } | ||
14506 | |||
14507 | |||
14508 | |||
14509 | if test "x${_efl_enable_tests}" = "xyes" ; then | ||
14510 | |||
14511 | pkg_failed=no | ||
14512 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 | ||
14513 | $as_echo_n "checking for CHECK... " >&6; } | ||
14514 | |||
14515 | if test -n "$PKG_CONFIG"; then | ||
14516 | if test -n "$CHECK_CFLAGS"; then | ||
14517 | pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" | ||
14518 | else | ||
14519 | if test -n "$PKG_CONFIG" && \ | ||
14520 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | ||
14521 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | ||
14522 | ac_status=$? | ||
14523 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
14524 | test $ac_status = 0; }; then | ||
14525 | pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null` | ||
14526 | else | ||
14527 | pkg_failed=yes | ||
14528 | fi | ||
14529 | fi | ||
14530 | else | ||
14531 | pkg_failed=untried | ||
14532 | fi | ||
14533 | if test -n "$PKG_CONFIG"; then | ||
14534 | if test -n "$CHECK_LIBS"; then | ||
14535 | pkg_cv_CHECK_LIBS="$CHECK_LIBS" | ||
14536 | else | ||
14537 | if test -n "$PKG_CONFIG" && \ | ||
14538 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | ||
14539 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | ||
14540 | ac_status=$? | ||
14541 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
14542 | test $ac_status = 0; }; then | ||
14543 | pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 2>/dev/null` | ||
14544 | else | ||
14545 | pkg_failed=yes | ||
14546 | fi | ||
14547 | fi | ||
14548 | else | ||
14549 | pkg_failed=untried | ||
14550 | fi | ||
14551 | |||
14552 | |||
14553 | |||
14554 | if test $pkg_failed = yes; then | ||
14555 | |||
14556 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | ||
14557 | _pkg_short_errors_supported=yes | ||
14558 | else | ||
14559 | _pkg_short_errors_supported=no | ||
14560 | fi | ||
14561 | if test $_pkg_short_errors_supported = yes; then | ||
14562 | CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` | ||
14563 | else | ||
14564 | CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` | ||
14565 | fi | ||
14566 | # Put the nasty error message in config.log where it belongs | ||
14567 | echo "$CHECK_PKG_ERRORS" >&5 | ||
14568 | |||
14569 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
14570 | $as_echo "no" >&6; } | ||
14571 | _efl_enable_tests="no" | ||
14572 | elif test $pkg_failed = untried; then | ||
14573 | _efl_enable_tests="no" | ||
14574 | else | ||
14575 | CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS | ||
14576 | CHECK_LIBS=$pkg_cv_CHECK_LIBS | ||
14577 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
14578 | $as_echo "yes" >&6; } | ||
14579 | dummy="yes" | ||
14580 | fi | ||
14581 | fi | ||
14582 | |||
14583 | if test "x${_efl_enable_tests}" = "xyes"; then | ||
14584 | EFL_ENABLE_TESTS_TRUE= | ||
14585 | EFL_ENABLE_TESTS_FALSE='#' | ||
14586 | else | ||
14587 | EFL_ENABLE_TESTS_TRUE='#' | ||
14588 | EFL_ENABLE_TESTS_FALSE= | ||
14589 | fi | ||
14590 | |||
14591 | |||
14592 | if test "x$_efl_enable_tests" = "xyes"; then : | ||
14593 | enable_tests="yes" | ||
14594 | else | ||
14595 | enable_tests="no" | ||
14596 | fi | ||
14597 | |||
14598 | |||
14599 | ### Checks for programs | 14340 | ### Checks for programs |
14600 | 14341 | ||
14601 | 14342 | ||
@@ -15923,7 +15664,7 @@ else | |||
15923 | # Broken: fails on valid input. | 15664 | # Broken: fails on valid input. |
15924 | continue | 15665 | continue |
15925 | fi | 15666 | fi |
15926 | rm -f conftest.err conftest.$ac_ext | 15667 | rm -f conftest.err conftest.i conftest.$ac_ext |
15927 | 15668 | ||
15928 | # OK, works on sane cases. Now check whether nonexistent headers | 15669 | # OK, works on sane cases. Now check whether nonexistent headers |
15929 | # can be detected and how. | 15670 | # can be detected and how. |
@@ -15939,11 +15680,11 @@ else | |||
15939 | ac_preproc_ok=: | 15680 | ac_preproc_ok=: |
15940 | break | 15681 | break |
15941 | fi | 15682 | fi |
15942 | rm -f conftest.err conftest.$ac_ext | 15683 | rm -f conftest.err conftest.i conftest.$ac_ext |
15943 | 15684 | ||
15944 | done | 15685 | done |
15945 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 15686 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
15946 | rm -f conftest.err conftest.$ac_ext | 15687 | rm -f conftest.i conftest.err conftest.$ac_ext |
15947 | if $ac_preproc_ok; then : | 15688 | if $ac_preproc_ok; then : |
15948 | break | 15689 | break |
15949 | fi | 15690 | fi |
@@ -15982,7 +15723,7 @@ else | |||
15982 | # Broken: fails on valid input. | 15723 | # Broken: fails on valid input. |
15983 | continue | 15724 | continue |
15984 | fi | 15725 | fi |
15985 | rm -f conftest.err conftest.$ac_ext | 15726 | rm -f conftest.err conftest.i conftest.$ac_ext |
15986 | 15727 | ||
15987 | # OK, works on sane cases. Now check whether nonexistent headers | 15728 | # OK, works on sane cases. Now check whether nonexistent headers |
15988 | # can be detected and how. | 15729 | # can be detected and how. |
@@ -15998,11 +15739,11 @@ else | |||
15998 | ac_preproc_ok=: | 15739 | ac_preproc_ok=: |
15999 | break | 15740 | break |
16000 | fi | 15741 | fi |
16001 | rm -f conftest.err conftest.$ac_ext | 15742 | rm -f conftest.err conftest.i conftest.$ac_ext |
16002 | 15743 | ||
16003 | done | 15744 | done |
16004 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 15745 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
16005 | rm -f conftest.err conftest.$ac_ext | 15746 | rm -f conftest.i conftest.err conftest.$ac_ext |
16006 | if $ac_preproc_ok; then : | 15747 | if $ac_preproc_ok; then : |
16007 | 15748 | ||
16008 | else | 15749 | else |
@@ -16231,7 +15972,7 @@ else | |||
16231 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 15972 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
16232 | $as_echo "no" >&6; } | 15973 | $as_echo "no" >&6; } |
16233 | fi | 15974 | fi |
16234 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 15975 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 |
16235 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | 15976 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 |
16236 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | 15977 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } |
16237 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : | 15978 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : |
@@ -17772,11 +17513,11 @@ else | |||
17772 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 17513 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
17773 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 17514 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
17774 | -e 's:$: $lt_compiler_flag:'` | 17515 | -e 's:$: $lt_compiler_flag:'` |
17775 | (eval echo "\"\$as_me:17775: $lt_compile\"" >&5) | 17516 | (eval echo "\"\$as_me:17516: $lt_compile\"" >&5) |
17776 | (eval "$lt_compile" 2>conftest.err) | 17517 | (eval "$lt_compile" 2>conftest.err) |
17777 | ac_status=$? | 17518 | ac_status=$? |
17778 | cat conftest.err >&5 | 17519 | cat conftest.err >&5 |
17779 | echo "$as_me:17779: \$? = $ac_status" >&5 | 17520 | echo "$as_me:17520: \$? = $ac_status" >&5 |
17780 | if (exit $ac_status) && test -s "$ac_outfile"; then | 17521 | if (exit $ac_status) && test -s "$ac_outfile"; then |
17781 | # The compiler can only warn and ignore the option if not recognized | 17522 | # The compiler can only warn and ignore the option if not recognized |
17782 | # So say no if there are warnings other than the usual output. | 17523 | # So say no if there are warnings other than the usual output. |
@@ -17871,11 +17612,11 @@ else | |||
17871 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 17612 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
17872 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 17613 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
17873 | -e 's:$: $lt_compiler_flag:'` | 17614 | -e 's:$: $lt_compiler_flag:'` |
17874 | (eval echo "\"\$as_me:17874: $lt_compile\"" >&5) | 17615 | (eval echo "\"\$as_me:17615: $lt_compile\"" >&5) |
17875 | (eval "$lt_compile" 2>out/conftest.err) | 17616 | (eval "$lt_compile" 2>out/conftest.err) |
17876 | ac_status=$? | 17617 | ac_status=$? |
17877 | cat out/conftest.err >&5 | 17618 | cat out/conftest.err >&5 |
17878 | echo "$as_me:17878: \$? = $ac_status" >&5 | 17619 | echo "$as_me:17619: \$? = $ac_status" >&5 |
17879 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 17620 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
17880 | then | 17621 | then |
17881 | # The compiler can only warn and ignore the option if not recognized | 17622 | # The compiler can only warn and ignore the option if not recognized |
@@ -17923,11 +17664,11 @@ else | |||
17923 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 17664 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
17924 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 17665 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
17925 | -e 's:$: $lt_compiler_flag:'` | 17666 | -e 's:$: $lt_compiler_flag:'` |
17926 | (eval echo "\"\$as_me:17926: $lt_compile\"" >&5) | 17667 | (eval echo "\"\$as_me:17667: $lt_compile\"" >&5) |
17927 | (eval "$lt_compile" 2>out/conftest.err) | 17668 | (eval "$lt_compile" 2>out/conftest.err) |
17928 | ac_status=$? | 17669 | ac_status=$? |
17929 | cat out/conftest.err >&5 | 17670 | cat out/conftest.err >&5 |
17930 | echo "$as_me:17930: \$? = $ac_status" >&5 | 17671 | echo "$as_me:17671: \$? = $ac_status" >&5 |
17931 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 17672 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
17932 | then | 17673 | then |
17933 | # The compiler can only warn and ignore the option if not recognized | 17674 | # The compiler can only warn and ignore the option if not recognized |
@@ -19171,8 +18912,8 @@ fi | |||
19171 | 18912 | ||
19172 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 18913 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
19173 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 18914 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
19174 | as_fn_error "no acceptable C compiler found in \$PATH | 18915 | as_fn_error $? "no acceptable C compiler found in \$PATH |
19175 | See \`config.log' for more details." "$LINENO" 5; } | 18916 | See \`config.log' for more details" "$LINENO" 5 ; } |
19176 | 18917 | ||
19177 | # Provide some information about the compiler. | 18918 | # Provide some information about the compiler. |
19178 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | 18919 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
@@ -19798,6 +19539,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
19798 | # so we should include this here: | 19539 | # so we should include this here: |
19799 | 19540 | ||
19800 | 19541 | ||
19542 | |||
19543 | |||
19544 | |||
19545 | |||
19801 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | 19546 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
19802 | if test -n "$ac_tool_prefix"; then | 19547 | if test -n "$ac_tool_prefix"; then |
19803 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. | 19548 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. |
@@ -19910,7 +19655,6 @@ $as_echo "yes" >&6; } | |||
19910 | $as_echo "no" >&6; } | 19655 | $as_echo "no" >&6; } |
19911 | PKG_CONFIG="" | 19656 | PKG_CONFIG="" |
19912 | fi | 19657 | fi |
19913 | |||
19914 | fi | 19658 | fi |
19915 | 19659 | ||
19916 | # Check whether pkg-config supports Requires.private | 19660 | # Check whether pkg-config supports Requires.private |
@@ -19960,11 +19704,10 @@ pkg_failed=no | |||
19960 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 | 19704 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 |
19961 | $as_echo_n "checking for EVIL... " >&6; } | 19705 | $as_echo_n "checking for EVIL... " >&6; } |
19962 | 19706 | ||
19963 | if test -n "$PKG_CONFIG"; then | 19707 | if test -n "$EVIL_CFLAGS"; then |
19964 | if test -n "$EVIL_CFLAGS"; then | 19708 | pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" |
19965 | pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" | 19709 | elif test -n "$PKG_CONFIG"; then |
19966 | else | 19710 | if test -n "$PKG_CONFIG" && \ |
19967 | if test -n "$PKG_CONFIG" && \ | ||
19968 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 | 19711 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 |
19969 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 | 19712 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 |
19970 | ac_status=$? | 19713 | ac_status=$? |
@@ -19974,15 +19717,13 @@ if test -n "$PKG_CONFIG"; then | |||
19974 | else | 19717 | else |
19975 | pkg_failed=yes | 19718 | pkg_failed=yes |
19976 | fi | 19719 | fi |
19977 | fi | 19720 | else |
19978 | else | 19721 | pkg_failed=untried |
19979 | pkg_failed=untried | ||
19980 | fi | 19722 | fi |
19981 | if test -n "$PKG_CONFIG"; then | 19723 | if test -n "$EVIL_LIBS"; then |
19982 | if test -n "$EVIL_LIBS"; then | 19724 | pkg_cv_EVIL_LIBS="$EVIL_LIBS" |
19983 | pkg_cv_EVIL_LIBS="$EVIL_LIBS" | 19725 | elif test -n "$PKG_CONFIG"; then |
19984 | else | 19726 | if test -n "$PKG_CONFIG" && \ |
19985 | if test -n "$PKG_CONFIG" && \ | ||
19986 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 | 19727 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 |
19987 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 | 19728 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 |
19988 | ac_status=$? | 19729 | ac_status=$? |
@@ -19992,14 +19733,15 @@ if test -n "$PKG_CONFIG"; then | |||
19992 | else | 19733 | else |
19993 | pkg_failed=yes | 19734 | pkg_failed=yes |
19994 | fi | 19735 | fi |
19995 | fi | 19736 | else |
19996 | else | 19737 | pkg_failed=untried |
19997 | pkg_failed=untried | ||
19998 | fi | 19738 | fi |
19999 | 19739 | ||
20000 | 19740 | ||
20001 | 19741 | ||
20002 | if test $pkg_failed = yes; then | 19742 | if test $pkg_failed = yes; then |
19743 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
19744 | $as_echo "no" >&6; } | ||
20003 | 19745 | ||
20004 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 19746 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20005 | _pkg_short_errors_supported=yes | 19747 | _pkg_short_errors_supported=yes |
@@ -20007,14 +19749,14 @@ else | |||
20007 | _pkg_short_errors_supported=no | 19749 | _pkg_short_errors_supported=no |
20008 | fi | 19750 | fi |
20009 | if test $_pkg_short_errors_supported = yes; then | 19751 | if test $_pkg_short_errors_supported = yes; then |
20010 | EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` | 19752 | EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` |
20011 | else | 19753 | else |
20012 | EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` | 19754 | EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` |
20013 | fi | 19755 | fi |
20014 | # Put the nasty error message in config.log where it belongs | 19756 | # Put the nasty error message in config.log where it belongs |
20015 | echo "$EVIL_PKG_ERRORS" >&5 | 19757 | echo "$EVIL_PKG_ERRORS" >&5 |
20016 | 19758 | ||
20017 | as_fn_error "Package requirements (evil >= 1.0.0) were not met: | 19759 | as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: |
20018 | 19760 | ||
20019 | $EVIL_PKG_ERRORS | 19761 | $EVIL_PKG_ERRORS |
20020 | 19762 | ||
@@ -20023,12 +19765,13 @@ installed software in a non-standard prefix. | |||
20023 | 19765 | ||
20024 | Alternatively, you may set the environment variables EVIL_CFLAGS | 19766 | Alternatively, you may set the environment variables EVIL_CFLAGS |
20025 | and EVIL_LIBS to avoid the need to call pkg-config. | 19767 | and EVIL_LIBS to avoid the need to call pkg-config. |
20026 | See the pkg-config man page for more details. | 19768 | See the pkg-config man page for more details." "$LINENO" 5 |
20027 | " "$LINENO" 5 | ||
20028 | elif test $pkg_failed = untried; then | 19769 | elif test $pkg_failed = untried; then |
19770 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
19771 | $as_echo "no" >&6; } | ||
20029 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 19772 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
20030 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 19773 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
20031 | as_fn_error "The pkg-config script could not be found or is too old. Make sure it | 19774 | as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it |
20032 | is in your PATH or set the PKG_CONFIG environment variable to the full | 19775 | is in your PATH or set the PKG_CONFIG environment variable to the full |
20033 | path to pkg-config. | 19776 | path to pkg-config. |
20034 | 19777 | ||
@@ -20037,13 +19780,13 @@ and EVIL_LIBS to avoid the need to call pkg-config. | |||
20037 | See the pkg-config man page for more details. | 19780 | See the pkg-config man page for more details. |
20038 | 19781 | ||
20039 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. | 19782 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. |
20040 | See \`config.log' for more details." "$LINENO" 5; } | 19783 | See \`config.log' for more details" "$LINENO" 5 ; } |
20041 | else | 19784 | else |
20042 | EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS | 19785 | EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS |
20043 | EVIL_LIBS=$pkg_cv_EVIL_LIBS | 19786 | EVIL_LIBS=$pkg_cv_EVIL_LIBS |
20044 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 19787 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20045 | $as_echo "yes" >&6; } | 19788 | $as_echo "yes" >&6; } |
20046 | : | 19789 | |
20047 | fi | 19790 | fi |
20048 | 19791 | ||
20049 | $as_echo "#define HAVE_EVIL 1" >>confdefs.h | 19792 | $as_echo "#define HAVE_EVIL 1" >>confdefs.h |
@@ -20091,11 +19834,10 @@ pkg_failed=no | |||
20091 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 | 19834 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 |
20092 | $as_echo_n "checking for ESCAPE... " >&6; } | 19835 | $as_echo_n "checking for ESCAPE... " >&6; } |
20093 | 19836 | ||
20094 | if test -n "$PKG_CONFIG"; then | 19837 | if test -n "$ESCAPE_CFLAGS"; then |
20095 | if test -n "$ESCAPE_CFLAGS"; then | 19838 | pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" |
20096 | pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" | 19839 | elif test -n "$PKG_CONFIG"; then |
20097 | else | 19840 | if test -n "$PKG_CONFIG" && \ |
20098 | if test -n "$PKG_CONFIG" && \ | ||
20099 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 | 19841 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 |
20100 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 | 19842 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 |
20101 | ac_status=$? | 19843 | ac_status=$? |
@@ -20105,15 +19847,13 @@ if test -n "$PKG_CONFIG"; then | |||
20105 | else | 19847 | else |
20106 | pkg_failed=yes | 19848 | pkg_failed=yes |
20107 | fi | 19849 | fi |
20108 | fi | 19850 | else |
20109 | else | 19851 | pkg_failed=untried |
20110 | pkg_failed=untried | ||
20111 | fi | 19852 | fi |
20112 | if test -n "$PKG_CONFIG"; then | 19853 | if test -n "$ESCAPE_LIBS"; then |
20113 | if test -n "$ESCAPE_LIBS"; then | 19854 | pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" |
20114 | pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" | 19855 | elif test -n "$PKG_CONFIG"; then |
20115 | else | 19856 | if test -n "$PKG_CONFIG" && \ |
20116 | if test -n "$PKG_CONFIG" && \ | ||
20117 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 | 19857 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 |
20118 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 | 19858 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 |
20119 | ac_status=$? | 19859 | ac_status=$? |
@@ -20123,14 +19863,15 @@ if test -n "$PKG_CONFIG"; then | |||
20123 | else | 19863 | else |
20124 | pkg_failed=yes | 19864 | pkg_failed=yes |
20125 | fi | 19865 | fi |
20126 | fi | 19866 | else |
20127 | else | 19867 | pkg_failed=untried |
20128 | pkg_failed=untried | ||
20129 | fi | 19868 | fi |
20130 | 19869 | ||
20131 | 19870 | ||
20132 | 19871 | ||
20133 | if test $pkg_failed = yes; then | 19872 | if test $pkg_failed = yes; then |
19873 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
19874 | $as_echo "no" >&6; } | ||
20134 | 19875 | ||
20135 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 19876 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20136 | _pkg_short_errors_supported=yes | 19877 | _pkg_short_errors_supported=yes |
@@ -20138,14 +19879,14 @@ else | |||
20138 | _pkg_short_errors_supported=no | 19879 | _pkg_short_errors_supported=no |
20139 | fi | 19880 | fi |
20140 | if test $_pkg_short_errors_supported = yes; then | 19881 | if test $_pkg_short_errors_supported = yes; then |
20141 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "escape"` | 19882 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "escape" 2>&1` |
20142 | else | 19883 | else |
20143 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "escape"` | 19884 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "escape" 2>&1` |
20144 | fi | 19885 | fi |
20145 | # Put the nasty error message in config.log where it belongs | 19886 | # Put the nasty error message in config.log where it belongs |
20146 | echo "$ESCAPE_PKG_ERRORS" >&5 | 19887 | echo "$ESCAPE_PKG_ERRORS" >&5 |
20147 | 19888 | ||
20148 | as_fn_error "Package requirements (escape) were not met: | 19889 | as_fn_error $? "Package requirements (escape) were not met: |
20149 | 19890 | ||
20150 | $ESCAPE_PKG_ERRORS | 19891 | $ESCAPE_PKG_ERRORS |
20151 | 19892 | ||
@@ -20154,12 +19895,13 @@ installed software in a non-standard prefix. | |||
20154 | 19895 | ||
20155 | Alternatively, you may set the environment variables ESCAPE_CFLAGS | 19896 | Alternatively, you may set the environment variables ESCAPE_CFLAGS |
20156 | and ESCAPE_LIBS to avoid the need to call pkg-config. | 19897 | and ESCAPE_LIBS to avoid the need to call pkg-config. |
20157 | See the pkg-config man page for more details. | 19898 | See the pkg-config man page for more details." "$LINENO" 5 |
20158 | " "$LINENO" 5 | ||
20159 | elif test $pkg_failed = untried; then | 19899 | elif test $pkg_failed = untried; then |
19900 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
19901 | $as_echo "no" >&6; } | ||
20160 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 19902 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
20161 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 19903 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
20162 | as_fn_error "The pkg-config script could not be found or is too old. Make sure it | 19904 | as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it |
20163 | is in your PATH or set the PKG_CONFIG environment variable to the full | 19905 | is in your PATH or set the PKG_CONFIG environment variable to the full |
20164 | path to pkg-config. | 19906 | path to pkg-config. |
20165 | 19907 | ||
@@ -20168,13 +19910,13 @@ and ESCAPE_LIBS to avoid the need to call pkg-config. | |||
20168 | See the pkg-config man page for more details. | 19910 | See the pkg-config man page for more details. |
20169 | 19911 | ||
20170 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. | 19912 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. |
20171 | See \`config.log' for more details." "$LINENO" 5; } | 19913 | See \`config.log' for more details" "$LINENO" 5 ; } |
20172 | else | 19914 | else |
20173 | ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS | 19915 | ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS |
20174 | ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS | 19916 | ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS |
20175 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 19917 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20176 | $as_echo "yes" >&6; } | 19918 | $as_echo "yes" >&6; } |
20177 | : | 19919 | |
20178 | fi | 19920 | fi |
20179 | CFLAGS="$CFLAGS $ESCAPE_CFLAGS" | 19921 | CFLAGS="$CFLAGS $ESCAPE_CFLAGS" |
20180 | 19922 | ||
@@ -20193,6 +19935,95 @@ $as_echo "#define HAVE_ESCAPE 1" >>confdefs.h | |||
20193 | esac | 19935 | esac |
20194 | 19936 | ||
20195 | 19937 | ||
19938 | ### Checks for portability layer | ||
19939 | |||
19940 | |||
19941 | pkg_failed=no | ||
19942 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 | ||
19943 | $as_echo_n "checking for EXOTIC... " >&6; } | ||
19944 | |||
19945 | if test -n "$EXOTIC_CFLAGS"; then | ||
19946 | pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" | ||
19947 | elif test -n "$PKG_CONFIG"; then | ||
19948 | if test -n "$PKG_CONFIG" && \ | ||
19949 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 | ||
19950 | ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 | ||
19951 | ac_status=$? | ||
19952 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
19953 | test $ac_status = 0; }; then | ||
19954 | pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` | ||
19955 | else | ||
19956 | pkg_failed=yes | ||
19957 | fi | ||
19958 | else | ||
19959 | pkg_failed=untried | ||
19960 | fi | ||
19961 | if test -n "$EXOTIC_LIBS"; then | ||
19962 | pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" | ||
19963 | elif test -n "$PKG_CONFIG"; then | ||
19964 | if test -n "$PKG_CONFIG" && \ | ||
19965 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 | ||
19966 | ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 | ||
19967 | ac_status=$? | ||
19968 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
19969 | test $ac_status = 0; }; then | ||
19970 | pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` | ||
19971 | else | ||
19972 | pkg_failed=yes | ||
19973 | fi | ||
19974 | else | ||
19975 | pkg_failed=untried | ||
19976 | fi | ||
19977 | |||
19978 | |||
19979 | |||
19980 | if test $pkg_failed = yes; then | ||
19981 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
19982 | $as_echo "no" >&6; } | ||
19983 | |||
19984 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | ||
19985 | _pkg_short_errors_supported=yes | ||
19986 | else | ||
19987 | _pkg_short_errors_supported=no | ||
19988 | fi | ||
19989 | if test $_pkg_short_errors_supported = yes; then | ||
19990 | EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` | ||
19991 | else | ||
19992 | EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` | ||
19993 | fi | ||
19994 | # Put the nasty error message in config.log where it belongs | ||
19995 | echo "$EXOTIC_PKG_ERRORS" >&5 | ||
19996 | |||
19997 | enable_exotic="no" | ||
19998 | elif test $pkg_failed = untried; then | ||
19999 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20000 | $as_echo "no" >&6; } | ||
20001 | enable_exotic="no" | ||
20002 | else | ||
20003 | EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS | ||
20004 | EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS | ||
20005 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
20006 | $as_echo "yes" >&6; } | ||
20007 | enable_exotic="yes" | ||
20008 | fi | ||
20009 | |||
20010 | if test "x${enable_exotic}" = "xyes"; then | ||
20011 | requirements_ecore="exotic ${requirements_ecore}" | ||
20012 | |||
20013 | |||
20014 | $as_echo "#define HAVE_EXOTIC 1" >>confdefs.h | ||
20015 | |||
20016 | fi | ||
20017 | if test "x${enable_exotic}" = "xyes"; then | ||
20018 | ECORE_HAVE_EXOTIC_TRUE= | ||
20019 | ECORE_HAVE_EXOTIC_FALSE='#' | ||
20020 | else | ||
20021 | ECORE_HAVE_EXOTIC_TRUE='#' | ||
20022 | ECORE_HAVE_EXOTIC_FALSE= | ||
20023 | fi | ||
20024 | |||
20025 | |||
20026 | |||
20196 | 20027 | ||
20197 | 20028 | ||
20198 | 20029 | ||
@@ -20431,46 +20262,44 @@ pkg_failed=no | |||
20431 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 | 20262 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5 |
20432 | $as_echo_n "checking for EINA... " >&6; } | 20263 | $as_echo_n "checking for EINA... " >&6; } |
20433 | 20264 | ||
20434 | if test -n "$PKG_CONFIG"; then | 20265 | if test -n "$EINA_CFLAGS"; then |
20435 | if test -n "$EINA_CFLAGS"; then | 20266 | pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" |
20436 | pkg_cv_EINA_CFLAGS="$EINA_CFLAGS" | 20267 | elif test -n "$PKG_CONFIG"; then |
20437 | else | 20268 | if test -n "$PKG_CONFIG" && \ |
20438 | if test -n "$PKG_CONFIG" && \ | 20269 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 |
20439 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 | 20270 | ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 |
20440 | ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 | ||
20441 | ac_status=$? | 20271 | ac_status=$? |
20442 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 20272 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
20443 | test $ac_status = 0; }; then | 20273 | test $ac_status = 0; }; then |
20444 | pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.1.0" 2>/dev/null` | 20274 | pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.2.0" 2>/dev/null` |
20445 | else | 20275 | else |
20446 | pkg_failed=yes | 20276 | pkg_failed=yes |
20447 | fi | 20277 | fi |
20448 | fi | 20278 | else |
20449 | else | 20279 | pkg_failed=untried |
20450 | pkg_failed=untried | ||
20451 | fi | 20280 | fi |
20452 | if test -n "$PKG_CONFIG"; then | 20281 | if test -n "$EINA_LIBS"; then |
20453 | if test -n "$EINA_LIBS"; then | 20282 | pkg_cv_EINA_LIBS="$EINA_LIBS" |
20454 | pkg_cv_EINA_LIBS="$EINA_LIBS" | 20283 | elif test -n "$PKG_CONFIG"; then |
20455 | else | 20284 | if test -n "$PKG_CONFIG" && \ |
20456 | if test -n "$PKG_CONFIG" && \ | 20285 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.2.0\""; } >&5 |
20457 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.1.0\""; } >&5 | 20286 | ($PKG_CONFIG --exists --print-errors "eina >= 1.2.0") 2>&5 |
20458 | ($PKG_CONFIG --exists --print-errors "eina >= 1.1.0") 2>&5 | ||
20459 | ac_status=$? | 20287 | ac_status=$? |
20460 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 20288 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
20461 | test $ac_status = 0; }; then | 20289 | test $ac_status = 0; }; then |
20462 | pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.1.0" 2>/dev/null` | 20290 | pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.2.0" 2>/dev/null` |
20463 | else | 20291 | else |
20464 | pkg_failed=yes | 20292 | pkg_failed=yes |
20465 | fi | 20293 | fi |
20466 | fi | 20294 | else |
20467 | else | 20295 | pkg_failed=untried |
20468 | pkg_failed=untried | ||
20469 | fi | 20296 | fi |
20470 | 20297 | ||
20471 | 20298 | ||
20472 | 20299 | ||
20473 | if test $pkg_failed = yes; then | 20300 | if test $pkg_failed = yes; then |
20301 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20302 | $as_echo "no" >&6; } | ||
20474 | 20303 | ||
20475 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20304 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20476 | _pkg_short_errors_supported=yes | 20305 | _pkg_short_errors_supported=yes |
@@ -20478,14 +20307,14 @@ else | |||
20478 | _pkg_short_errors_supported=no | 20307 | _pkg_short_errors_supported=no |
20479 | fi | 20308 | fi |
20480 | if test $_pkg_short_errors_supported = yes; then | 20309 | if test $_pkg_short_errors_supported = yes; then |
20481 | EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina >= 1.1.0"` | 20310 | EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.2.0" 2>&1` |
20482 | else | 20311 | else |
20483 | EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina >= 1.1.0"` | 20312 | EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.2.0" 2>&1` |
20484 | fi | 20313 | fi |
20485 | # Put the nasty error message in config.log where it belongs | 20314 | # Put the nasty error message in config.log where it belongs |
20486 | echo "$EINA_PKG_ERRORS" >&5 | 20315 | echo "$EINA_PKG_ERRORS" >&5 |
20487 | 20316 | ||
20488 | as_fn_error "Package requirements (eina >= 1.1.0) were not met: | 20317 | as_fn_error $? "Package requirements (eina >= 1.2.0) were not met: |
20489 | 20318 | ||
20490 | $EINA_PKG_ERRORS | 20319 | $EINA_PKG_ERRORS |
20491 | 20320 | ||
@@ -20494,12 +20323,13 @@ installed software in a non-standard prefix. | |||
20494 | 20323 | ||
20495 | Alternatively, you may set the environment variables EINA_CFLAGS | 20324 | Alternatively, you may set the environment variables EINA_CFLAGS |
20496 | and EINA_LIBS to avoid the need to call pkg-config. | 20325 | and EINA_LIBS to avoid the need to call pkg-config. |
20497 | See the pkg-config man page for more details. | 20326 | See the pkg-config man page for more details." "$LINENO" 5 |
20498 | " "$LINENO" 5 | ||
20499 | elif test $pkg_failed = untried; then | 20327 | elif test $pkg_failed = untried; then |
20328 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20329 | $as_echo "no" >&6; } | ||
20500 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 20330 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
20501 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 20331 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
20502 | as_fn_error "The pkg-config script could not be found or is too old. Make sure it | 20332 | as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it |
20503 | is in your PATH or set the PKG_CONFIG environment variable to the full | 20333 | is in your PATH or set the PKG_CONFIG environment variable to the full |
20504 | path to pkg-config. | 20334 | path to pkg-config. |
20505 | 20335 | ||
@@ -20508,33 +20338,33 @@ and EINA_LIBS to avoid the need to call pkg-config. | |||
20508 | See the pkg-config man page for more details. | 20338 | See the pkg-config man page for more details. |
20509 | 20339 | ||
20510 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. | 20340 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. |
20511 | See \`config.log' for more details." "$LINENO" 5; } | 20341 | See \`config.log' for more details" "$LINENO" 5 ; } |
20512 | else | 20342 | else |
20513 | EINA_CFLAGS=$pkg_cv_EINA_CFLAGS | 20343 | EINA_CFLAGS=$pkg_cv_EINA_CFLAGS |
20514 | EINA_LIBS=$pkg_cv_EINA_LIBS | 20344 | EINA_LIBS=$pkg_cv_EINA_LIBS |
20515 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 20345 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
20516 | $as_echo "yes" >&6; } | 20346 | $as_echo "yes" >&6; } |
20517 | : | 20347 | |
20518 | fi | 20348 | fi |
20519 | #FIXME check all the requirements when the eina move will be finished | 20349 | #FIXME check all the requirements when the eina move will be finished |
20520 | requirements_ecore="eina >= 1.1.0 ${requirements_ecore}" | 20350 | requirements_ecore="eina >= 1.2.0 ${requirements_ecore}" |
20521 | requirements_ecore_con="ecore >= 1.1.0 eina >= 1.1.0 ${requirements_ecore_con}" | 20351 | requirements_ecore_con="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_con}" |
20522 | #requirements_ecore_config="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_config}" | 20352 | #requirements_ecore_config="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_config}" |
20523 | requirements_ecore_directfb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_directfb}" | 20353 | requirements_ecore_directfb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_directfb}" |
20524 | requirements_ecore_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_evas}" | 20354 | requirements_ecore_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_evas}" |
20525 | requirements_ecore_fb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_fb}" | 20355 | requirements_ecore_fb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_fb}" |
20526 | requirements_ecore_file="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_file}" | 20356 | requirements_ecore_file="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_file}" |
20527 | requirements_ecore_imf="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf}" | 20357 | requirements_ecore_imf="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf}" |
20528 | requirements_ecore_imf_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf_evas}" | 20358 | requirements_ecore_imf_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf_evas}" |
20529 | requirements_ecore_input="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input}" | 20359 | requirements_ecore_input="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input}" |
20530 | requirements_ecore_input_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input_evas}" | 20360 | requirements_ecore_input_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input_evas}" |
20531 | requirements_ecore_ipc="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_ipc}" | 20361 | requirements_ecore_ipc="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_ipc}" |
20532 | requirements_ecore_cocoa="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_cocoa}" | 20362 | requirements_ecore_cocoa="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_cocoa}" |
20533 | requirements_ecore_sdl="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" | 20363 | requirements_ecore_sdl="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" |
20534 | requirements_ecore_psl1ght="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" | 20364 | requirements_ecore_psl1ght="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" |
20535 | requirements_ecore_win32="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_win32}" | 20365 | requirements_ecore_win32="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_win32}" |
20536 | requirements_ecore_wince="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_wince}" | 20366 | requirements_ecore_wince="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_wince}" |
20537 | requirements_ecore_x="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_x}" | 20367 | requirements_ecore_x="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_x}" |
20538 | 20368 | ||
20539 | 20369 | ||
20540 | # glib support (main loop integration) | 20370 | # glib support (main loop integration) |
@@ -20550,11 +20380,10 @@ pkg_failed=no | |||
20550 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 | 20380 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 |
20551 | $as_echo_n "checking for GLIB... " >&6; } | 20381 | $as_echo_n "checking for GLIB... " >&6; } |
20552 | 20382 | ||
20553 | if test -n "$PKG_CONFIG"; then | 20383 | if test -n "$GLIB_CFLAGS"; then |
20554 | if test -n "$GLIB_CFLAGS"; then | 20384 | pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" |
20555 | pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" | 20385 | elif test -n "$PKG_CONFIG"; then |
20556 | else | 20386 | if test -n "$PKG_CONFIG" && \ |
20557 | if test -n "$PKG_CONFIG" && \ | ||
20558 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 | 20387 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 |
20559 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 | 20388 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 |
20560 | ac_status=$? | 20389 | ac_status=$? |
@@ -20564,15 +20393,13 @@ if test -n "$PKG_CONFIG"; then | |||
20564 | else | 20393 | else |
20565 | pkg_failed=yes | 20394 | pkg_failed=yes |
20566 | fi | 20395 | fi |
20567 | fi | 20396 | else |
20568 | else | 20397 | pkg_failed=untried |
20569 | pkg_failed=untried | ||
20570 | fi | 20398 | fi |
20571 | if test -n "$PKG_CONFIG"; then | 20399 | if test -n "$GLIB_LIBS"; then |
20572 | if test -n "$GLIB_LIBS"; then | 20400 | pkg_cv_GLIB_LIBS="$GLIB_LIBS" |
20573 | pkg_cv_GLIB_LIBS="$GLIB_LIBS" | 20401 | elif test -n "$PKG_CONFIG"; then |
20574 | else | 20402 | if test -n "$PKG_CONFIG" && \ |
20575 | if test -n "$PKG_CONFIG" && \ | ||
20576 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 | 20403 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 |
20577 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 | 20404 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 |
20578 | ac_status=$? | 20405 | ac_status=$? |
@@ -20582,14 +20409,15 @@ if test -n "$PKG_CONFIG"; then | |||
20582 | else | 20409 | else |
20583 | pkg_failed=yes | 20410 | pkg_failed=yes |
20584 | fi | 20411 | fi |
20585 | fi | 20412 | else |
20586 | else | 20413 | pkg_failed=untried |
20587 | pkg_failed=untried | ||
20588 | fi | 20414 | fi |
20589 | 20415 | ||
20590 | 20416 | ||
20591 | 20417 | ||
20592 | if test $pkg_failed = yes; then | 20418 | if test $pkg_failed = yes; then |
20419 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20420 | $as_echo "no" >&6; } | ||
20593 | 20421 | ||
20594 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20422 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20595 | _pkg_short_errors_supported=yes | 20423 | _pkg_short_errors_supported=yes |
@@ -20597,17 +20425,17 @@ else | |||
20597 | _pkg_short_errors_supported=no | 20425 | _pkg_short_errors_supported=no |
20598 | fi | 20426 | fi |
20599 | if test $_pkg_short_errors_supported = yes; then | 20427 | if test $_pkg_short_errors_supported = yes; then |
20600 | GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0"` | 20428 | GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1` |
20601 | else | 20429 | else |
20602 | GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` | 20430 | GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1` |
20603 | fi | 20431 | fi |
20604 | # Put the nasty error message in config.log where it belongs | 20432 | # Put the nasty error message in config.log where it belongs |
20605 | echo "$GLIB_PKG_ERRORS" >&5 | 20433 | echo "$GLIB_PKG_ERRORS" >&5 |
20606 | 20434 | ||
20607 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 20435 | have_glib="no" |
20608 | $as_echo "no" >&6; } | ||
20609 | have_glib="no" | ||
20610 | elif test $pkg_failed = untried; then | 20436 | elif test $pkg_failed = untried; then |
20437 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20438 | $as_echo "no" >&6; } | ||
20611 | have_glib="no" | 20439 | have_glib="no" |
20612 | else | 20440 | else |
20613 | GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS | 20441 | GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS |
@@ -20620,7 +20448,7 @@ else | |||
20620 | have_glib="no" | 20448 | have_glib="no" |
20621 | fi | 20449 | fi |
20622 | if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then | 20450 | if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then |
20623 | as_fn_error "GLib support requested, but no GLib found by pkg-config." "$LINENO" 5 | 20451 | as_fn_error $? "GLib support requested, but no GLib found by pkg-config." "$LINENO" 5 |
20624 | elif test "x$have_glib" = "xyes"; then | 20452 | elif test "x$have_glib" = "xyes"; then |
20625 | 20453 | ||
20626 | $as_echo "#define HAVE_GLIB 1" >>confdefs.h | 20454 | $as_echo "#define HAVE_GLIB 1" >>confdefs.h |
@@ -20637,11 +20465,10 @@ pkg_failed=no | |||
20637 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 | 20465 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5 |
20638 | $as_echo_n "checking for SDL... " >&6; } | 20466 | $as_echo_n "checking for SDL... " >&6; } |
20639 | 20467 | ||
20640 | if test -n "$PKG_CONFIG"; then | 20468 | if test -n "$SDL_CFLAGS"; then |
20641 | if test -n "$SDL_CFLAGS"; then | 20469 | pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" |
20642 | pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" | 20470 | elif test -n "$PKG_CONFIG"; then |
20643 | else | 20471 | if test -n "$PKG_CONFIG" && \ |
20644 | if test -n "$PKG_CONFIG" && \ | ||
20645 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 | 20472 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 |
20646 | ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 | 20473 | ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 |
20647 | ac_status=$? | 20474 | ac_status=$? |
@@ -20651,15 +20478,13 @@ if test -n "$PKG_CONFIG"; then | |||
20651 | else | 20478 | else |
20652 | pkg_failed=yes | 20479 | pkg_failed=yes |
20653 | fi | 20480 | fi |
20654 | fi | 20481 | else |
20655 | else | 20482 | pkg_failed=untried |
20656 | pkg_failed=untried | ||
20657 | fi | 20483 | fi |
20658 | if test -n "$PKG_CONFIG"; then | 20484 | if test -n "$SDL_LIBS"; then |
20659 | if test -n "$SDL_LIBS"; then | 20485 | pkg_cv_SDL_LIBS="$SDL_LIBS" |
20660 | pkg_cv_SDL_LIBS="$SDL_LIBS" | 20486 | elif test -n "$PKG_CONFIG"; then |
20661 | else | 20487 | if test -n "$PKG_CONFIG" && \ |
20662 | if test -n "$PKG_CONFIG" && \ | ||
20663 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 | 20488 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5 |
20664 | ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 | 20489 | ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5 |
20665 | ac_status=$? | 20490 | ac_status=$? |
@@ -20669,14 +20494,15 @@ if test -n "$PKG_CONFIG"; then | |||
20669 | else | 20494 | else |
20670 | pkg_failed=yes | 20495 | pkg_failed=yes |
20671 | fi | 20496 | fi |
20672 | fi | 20497 | else |
20673 | else | 20498 | pkg_failed=untried |
20674 | pkg_failed=untried | ||
20675 | fi | 20499 | fi |
20676 | 20500 | ||
20677 | 20501 | ||
20678 | 20502 | ||
20679 | if test $pkg_failed = yes; then | 20503 | if test $pkg_failed = yes; then |
20504 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20505 | $as_echo "no" >&6; } | ||
20680 | 20506 | ||
20681 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20507 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20682 | _pkg_short_errors_supported=yes | 20508 | _pkg_short_errors_supported=yes |
@@ -20684,17 +20510,17 @@ else | |||
20684 | _pkg_short_errors_supported=no | 20510 | _pkg_short_errors_supported=no |
20685 | fi | 20511 | fi |
20686 | if test $_pkg_short_errors_supported = yes; then | 20512 | if test $_pkg_short_errors_supported = yes; then |
20687 | SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"` | 20513 | SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1` |
20688 | else | 20514 | else |
20689 | SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"` | 20515 | SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1` |
20690 | fi | 20516 | fi |
20691 | # Put the nasty error message in config.log where it belongs | 20517 | # Put the nasty error message in config.log where it belongs |
20692 | echo "$SDL_PKG_ERRORS" >&5 | 20518 | echo "$SDL_PKG_ERRORS" >&5 |
20693 | 20519 | ||
20694 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 20520 | have_sdl="no" |
20695 | $as_echo "no" >&6; } | ||
20696 | have_sdl="no" | ||
20697 | elif test $pkg_failed = untried; then | 20521 | elif test $pkg_failed = untried; then |
20522 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20523 | $as_echo "no" >&6; } | ||
20698 | have_sdl="no" | 20524 | have_sdl="no" |
20699 | else | 20525 | else |
20700 | SDL_CFLAGS=$pkg_cv_SDL_CFLAGS | 20526 | SDL_CFLAGS=$pkg_cv_SDL_CFLAGS |
@@ -20788,11 +20614,10 @@ pkg_failed=no | |||
20788 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIRECTFB" >&5 | 20614 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIRECTFB" >&5 |
20789 | $as_echo_n "checking for DIRECTFB... " >&6; } | 20615 | $as_echo_n "checking for DIRECTFB... " >&6; } |
20790 | 20616 | ||
20791 | if test -n "$PKG_CONFIG"; then | 20617 | if test -n "$DIRECTFB_CFLAGS"; then |
20792 | if test -n "$DIRECTFB_CFLAGS"; then | 20618 | pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" |
20793 | pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS" | 20619 | elif test -n "$PKG_CONFIG"; then |
20794 | else | 20620 | if test -n "$PKG_CONFIG" && \ |
20795 | if test -n "$PKG_CONFIG" && \ | ||
20796 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 | 20621 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 |
20797 | ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 | 20622 | ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 |
20798 | ac_status=$? | 20623 | ac_status=$? |
@@ -20802,15 +20627,13 @@ if test -n "$PKG_CONFIG"; then | |||
20802 | else | 20627 | else |
20803 | pkg_failed=yes | 20628 | pkg_failed=yes |
20804 | fi | 20629 | fi |
20805 | fi | 20630 | else |
20806 | else | 20631 | pkg_failed=untried |
20807 | pkg_failed=untried | ||
20808 | fi | 20632 | fi |
20809 | if test -n "$PKG_CONFIG"; then | 20633 | if test -n "$DIRECTFB_LIBS"; then |
20810 | if test -n "$DIRECTFB_LIBS"; then | 20634 | pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" |
20811 | pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS" | 20635 | elif test -n "$PKG_CONFIG"; then |
20812 | else | 20636 | if test -n "$PKG_CONFIG" && \ |
20813 | if test -n "$PKG_CONFIG" && \ | ||
20814 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 | 20637 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5 |
20815 | ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 | 20638 | ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5 |
20816 | ac_status=$? | 20639 | ac_status=$? |
@@ -20820,14 +20643,15 @@ if test -n "$PKG_CONFIG"; then | |||
20820 | else | 20643 | else |
20821 | pkg_failed=yes | 20644 | pkg_failed=yes |
20822 | fi | 20645 | fi |
20823 | fi | 20646 | else |
20824 | else | 20647 | pkg_failed=untried |
20825 | pkg_failed=untried | ||
20826 | fi | 20648 | fi |
20827 | 20649 | ||
20828 | 20650 | ||
20829 | 20651 | ||
20830 | if test $pkg_failed = yes; then | 20652 | if test $pkg_failed = yes; then |
20653 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20654 | $as_echo "no" >&6; } | ||
20831 | 20655 | ||
20832 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20656 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20833 | _pkg_short_errors_supported=yes | 20657 | _pkg_short_errors_supported=yes |
@@ -20835,17 +20659,17 @@ else | |||
20835 | _pkg_short_errors_supported=no | 20659 | _pkg_short_errors_supported=no |
20836 | fi | 20660 | fi |
20837 | if test $_pkg_short_errors_supported = yes; then | 20661 | if test $_pkg_short_errors_supported = yes; then |
20838 | DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "directfb >= 0.9.16"` | 20662 | DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "directfb >= 0.9.16" 2>&1` |
20839 | else | 20663 | else |
20840 | DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb >= 0.9.16"` | 20664 | DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors "directfb >= 0.9.16" 2>&1` |
20841 | fi | 20665 | fi |
20842 | # Put the nasty error message in config.log where it belongs | 20666 | # Put the nasty error message in config.log where it belongs |
20843 | echo "$DIRECTFB_PKG_ERRORS" >&5 | 20667 | echo "$DIRECTFB_PKG_ERRORS" >&5 |
20844 | 20668 | ||
20845 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 20669 | have_directfb="no" |
20846 | $as_echo "no" >&6; } | ||
20847 | have_directfb="no" | ||
20848 | elif test $pkg_failed = untried; then | 20670 | elif test $pkg_failed = untried; then |
20671 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20672 | $as_echo "no" >&6; } | ||
20849 | have_directfb="no" | 20673 | have_directfb="no" |
20850 | else | 20674 | else |
20851 | DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS | 20675 | DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS |
@@ -20866,6 +20690,75 @@ fi | |||
20866 | 20690 | ||
20867 | # Xlib and XCB (ecore_x) | 20691 | # Xlib and XCB (ecore_x) |
20868 | 20692 | ||
20693 | ac_fn_c_check_decl "$LINENO" "MAXHOSTNAMELEN" "ac_cv_have_decl_MAXHOSTNAMELEN" "$ac_includes_default" | ||
20694 | if test "x$ac_cv_have_decl_MAXHOSTNAMELEN" = x""yes; then : | ||
20695 | FOUND_MAXHOSTNAMELEN=yes | ||
20696 | fi | ||
20697 | |||
20698 | |||
20699 | if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then | ||
20700 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for header that defines MAXHOSTNAMELEN" >&5 | ||
20701 | $as_echo_n "checking for header that defines MAXHOSTNAMELEN... " >&6; } | ||
20702 | FOUND_MAXHOSTNAMELEN="not found" | ||
20703 | |||
20704 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
20705 | /* end confdefs.h. */ | ||
20706 | |||
20707 | |||
20708 | #include <sys/param.h> | ||
20709 | |||
20710 | int | ||
20711 | main () | ||
20712 | { | ||
20713 | |||
20714 | int h = MAXHOSTNAMELEN; | ||
20715 | |||
20716 | ; | ||
20717 | return 0; | ||
20718 | } | ||
20719 | |||
20720 | _ACEOF | ||
20721 | if ac_fn_c_try_compile "$LINENO"; then : | ||
20722 | |||
20723 | FOUND_MAXHOSTNAMELEN="sys/param.h" | ||
20724 | |||
20725 | $as_echo "#define NEED_SYS_PARAM_H 1" >>confdefs.h | ||
20726 | |||
20727 | |||
20728 | fi | ||
20729 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
20730 | |||
20731 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
20732 | /* end confdefs.h. */ | ||
20733 | |||
20734 | |||
20735 | #include <netdb.h> | ||
20736 | |||
20737 | int | ||
20738 | main () | ||
20739 | { | ||
20740 | |||
20741 | int h = MAXHOSTNAMELEN; | ||
20742 | |||
20743 | ; | ||
20744 | return 0; | ||
20745 | } | ||
20746 | |||
20747 | _ACEOF | ||
20748 | if ac_fn_c_try_compile "$LINENO"; then : | ||
20749 | |||
20750 | FOUND_MAXHOSTNAMELEN="netdb.h" | ||
20751 | |||
20752 | $as_echo "#define NEED_NETDB_H 1" >>confdefs.h | ||
20753 | |||
20754 | |||
20755 | fi | ||
20756 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
20757 | |||
20758 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOUND_MAXHOSTNAMELEN" >&5 | ||
20759 | $as_echo "$FOUND_MAXHOSTNAMELEN" >&6; } | ||
20760 | fi | ||
20761 | |||
20869 | have_x="no" | 20762 | have_x="no" |
20870 | have_ecore_x="no" | 20763 | have_ecore_x="no" |
20871 | have_ecore_x_xlib="no" | 20764 | have_ecore_x_xlib="no" |
@@ -20995,7 +20888,7 @@ $as_echo_n "checking keysym definitions... " >&6; } | |||
20995 | if test -f "$KEYSYMDEFDIR/$i"; then | 20888 | if test -f "$KEYSYMDEFDIR/$i"; then |
20996 | KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i" | 20889 | KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i" |
20997 | elif test "x$i" = "xkeysymdef.h"; then | 20890 | elif test "x$i" = "xkeysymdef.h"; then |
20998 | as_fn_error "Cannot find keysymdef.h" "$LINENO" 5 | 20891 | as_fn_error $? "Cannot find keysymdef.h" "$LINENO" 5 |
20999 | fi | 20892 | fi |
21000 | done | 20893 | done |
21001 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KEYSYMDEFS" >&5 | 20894 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KEYSYMDEFS" >&5 |
@@ -21159,11 +21052,10 @@ pkg_failed=no | |||
21159 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 | 21052 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 |
21160 | $as_echo_n "checking for ECORE_XCB... " >&6; } | 21053 | $as_echo_n "checking for ECORE_XCB... " >&6; } |
21161 | 21054 | ||
21162 | if test -n "$PKG_CONFIG"; then | 21055 | if test -n "$ECORE_XCB_CFLAGS"; then |
21163 | if test -n "$ECORE_XCB_CFLAGS"; then | 21056 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" |
21164 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" | 21057 | elif test -n "$PKG_CONFIG"; then |
21165 | else | 21058 | if test -n "$PKG_CONFIG" && \ |
21166 | if test -n "$PKG_CONFIG" && \ | ||
21167 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 | 21059 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 |
21168 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 | 21060 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 |
21169 | ac_status=$? | 21061 | ac_status=$? |
@@ -21173,15 +21065,13 @@ if test -n "$PKG_CONFIG"; then | |||
21173 | else | 21065 | else |
21174 | pkg_failed=yes | 21066 | pkg_failed=yes |
21175 | fi | 21067 | fi |
21176 | fi | 21068 | else |
21177 | else | 21069 | pkg_failed=untried |
21178 | pkg_failed=untried | ||
21179 | fi | 21070 | fi |
21180 | if test -n "$PKG_CONFIG"; then | 21071 | if test -n "$ECORE_XCB_LIBS"; then |
21181 | if test -n "$ECORE_XCB_LIBS"; then | 21072 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" |
21182 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" | 21073 | elif test -n "$PKG_CONFIG"; then |
21183 | else | 21074 | if test -n "$PKG_CONFIG" && \ |
21184 | if test -n "$PKG_CONFIG" && \ | ||
21185 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 | 21075 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8\""; } >&5 |
21186 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 | 21076 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8") 2>&5 |
21187 | ac_status=$? | 21077 | ac_status=$? |
@@ -21191,14 +21081,15 @@ if test -n "$PKG_CONFIG"; then | |||
21191 | else | 21081 | else |
21192 | pkg_failed=yes | 21082 | pkg_failed=yes |
21193 | fi | 21083 | fi |
21194 | fi | 21084 | else |
21195 | else | 21085 | pkg_failed=untried |
21196 | pkg_failed=untried | ||
21197 | fi | 21086 | fi |
21198 | 21087 | ||
21199 | 21088 | ||
21200 | 21089 | ||
21201 | if test $pkg_failed = yes; then | 21090 | if test $pkg_failed = yes; then |
21091 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21092 | $as_echo "no" >&6; } | ||
21202 | 21093 | ||
21203 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21094 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21204 | _pkg_short_errors_supported=yes | 21095 | _pkg_short_errors_supported=yes |
@@ -21206,26 +21097,23 @@ else | |||
21206 | _pkg_short_errors_supported=no | 21097 | _pkg_short_errors_supported=no |
21207 | fi | 21098 | fi |
21208 | if test $_pkg_short_errors_supported = yes; then | 21099 | if test $_pkg_short_errors_supported = yes; then |
21209 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"` | 21100 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1` |
21210 | else | 21101 | else |
21211 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8"` | 21102 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1` |
21212 | fi | 21103 | fi |
21213 | # Put the nasty error message in config.log where it belongs | 21104 | # Put the nasty error message in config.log where it belongs |
21214 | echo "$ECORE_XCB_PKG_ERRORS" >&5 | 21105 | echo "$ECORE_XCB_PKG_ERRORS" >&5 |
21215 | 21106 | ||
21216 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21217 | $as_echo "no" >&6; } | ||
21218 | 21107 | ||
21219 | 21108 | ||
21220 | pkg_failed=no | 21109 | pkg_failed=no |
21221 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 | 21110 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 |
21222 | $as_echo_n "checking for ECORE_XCB... " >&6; } | 21111 | $as_echo_n "checking for ECORE_XCB... " >&6; } |
21223 | 21112 | ||
21224 | if test -n "$PKG_CONFIG"; then | 21113 | if test -n "$ECORE_XCB_CFLAGS"; then |
21225 | if test -n "$ECORE_XCB_CFLAGS"; then | 21114 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" |
21226 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" | 21115 | elif test -n "$PKG_CONFIG"; then |
21227 | else | 21116 | if test -n "$PKG_CONFIG" && \ |
21228 | if test -n "$PKG_CONFIG" && \ | ||
21229 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 | 21117 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 |
21230 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 | 21118 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 |
21231 | ac_status=$? | 21119 | ac_status=$? |
@@ -21235,15 +21123,13 @@ if test -n "$PKG_CONFIG"; then | |||
21235 | else | 21123 | else |
21236 | pkg_failed=yes | 21124 | pkg_failed=yes |
21237 | fi | 21125 | fi |
21238 | fi | 21126 | else |
21239 | else | 21127 | pkg_failed=untried |
21240 | pkg_failed=untried | ||
21241 | fi | 21128 | fi |
21242 | if test -n "$PKG_CONFIG"; then | 21129 | if test -n "$ECORE_XCB_LIBS"; then |
21243 | if test -n "$ECORE_XCB_LIBS"; then | 21130 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" |
21244 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" | 21131 | elif test -n "$PKG_CONFIG"; then |
21245 | else | 21132 | if test -n "$PKG_CONFIG" && \ |
21246 | if test -n "$PKG_CONFIG" && \ | ||
21247 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 | 21133 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 |
21248 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 | 21134 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 |
21249 | ac_status=$? | 21135 | ac_status=$? |
@@ -21253,14 +21139,15 @@ if test -n "$PKG_CONFIG"; then | |||
21253 | else | 21139 | else |
21254 | pkg_failed=yes | 21140 | pkg_failed=yes |
21255 | fi | 21141 | fi |
21256 | fi | 21142 | else |
21257 | else | 21143 | pkg_failed=untried |
21258 | pkg_failed=untried | ||
21259 | fi | 21144 | fi |
21260 | 21145 | ||
21261 | 21146 | ||
21262 | 21147 | ||
21263 | if test $pkg_failed = yes; then | 21148 | if test $pkg_failed = yes; then |
21149 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21150 | $as_echo "no" >&6; } | ||
21264 | 21151 | ||
21265 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21152 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21266 | _pkg_short_errors_supported=yes | 21153 | _pkg_short_errors_supported=yes |
@@ -21268,17 +21155,17 @@ else | |||
21268 | _pkg_short_errors_supported=no | 21155 | _pkg_short_errors_supported=no |
21269 | fi | 21156 | fi |
21270 | if test $_pkg_short_errors_supported = yes; then | 21157 | if test $_pkg_short_errors_supported = yes; then |
21271 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` | 21158 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` |
21272 | else | 21159 | else |
21273 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` | 21160 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` |
21274 | fi | 21161 | fi |
21275 | # Put the nasty error message in config.log where it belongs | 21162 | # Put the nasty error message in config.log where it belongs |
21276 | echo "$ECORE_XCB_PKG_ERRORS" >&5 | 21163 | echo "$ECORE_XCB_PKG_ERRORS" >&5 |
21277 | 21164 | ||
21278 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21165 | have_ecore_x_xcb="no" |
21279 | $as_echo "no" >&6; } | ||
21280 | have_ecore_x_xcb="no" | ||
21281 | elif test $pkg_failed = untried; then | 21166 | elif test $pkg_failed = untried; then |
21167 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21168 | $as_echo "no" >&6; } | ||
21282 | have_ecore_x_xcb="no" | 21169 | have_ecore_x_xcb="no" |
21283 | else | 21170 | else |
21284 | ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS | 21171 | ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS |
@@ -21293,17 +21180,18 @@ $as_echo "#define OLD_XCB_VERSION 1" >>confdefs.h | |||
21293 | fi | 21180 | fi |
21294 | 21181 | ||
21295 | elif test $pkg_failed = untried; then | 21182 | elif test $pkg_failed = untried; then |
21183 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21184 | $as_echo "no" >&6; } | ||
21296 | 21185 | ||
21297 | 21186 | ||
21298 | pkg_failed=no | 21187 | pkg_failed=no |
21299 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 | 21188 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_XCB" >&5 |
21300 | $as_echo_n "checking for ECORE_XCB... " >&6; } | 21189 | $as_echo_n "checking for ECORE_XCB... " >&6; } |
21301 | 21190 | ||
21302 | if test -n "$PKG_CONFIG"; then | 21191 | if test -n "$ECORE_XCB_CFLAGS"; then |
21303 | if test -n "$ECORE_XCB_CFLAGS"; then | 21192 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" |
21304 | pkg_cv_ECORE_XCB_CFLAGS="$ECORE_XCB_CFLAGS" | 21193 | elif test -n "$PKG_CONFIG"; then |
21305 | else | 21194 | if test -n "$PKG_CONFIG" && \ |
21306 | if test -n "$PKG_CONFIG" && \ | ||
21307 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 | 21195 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 |
21308 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 | 21196 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 |
21309 | ac_status=$? | 21197 | ac_status=$? |
@@ -21313,15 +21201,13 @@ if test -n "$PKG_CONFIG"; then | |||
21313 | else | 21201 | else |
21314 | pkg_failed=yes | 21202 | pkg_failed=yes |
21315 | fi | 21203 | fi |
21316 | fi | 21204 | else |
21317 | else | 21205 | pkg_failed=untried |
21318 | pkg_failed=untried | ||
21319 | fi | 21206 | fi |
21320 | if test -n "$PKG_CONFIG"; then | 21207 | if test -n "$ECORE_XCB_LIBS"; then |
21321 | if test -n "$ECORE_XCB_LIBS"; then | 21208 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" |
21322 | pkg_cv_ECORE_XCB_LIBS="$ECORE_XCB_LIBS" | 21209 | elif test -n "$PKG_CONFIG"; then |
21323 | else | 21210 | if test -n "$PKG_CONFIG" && \ |
21324 | if test -n "$PKG_CONFIG" && \ | ||
21325 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 | 21211 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms\""; } >&5 |
21326 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 | 21212 | ($PKG_CONFIG --exists --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms") 2>&5 |
21327 | ac_status=$? | 21213 | ac_status=$? |
@@ -21331,14 +21217,15 @@ if test -n "$PKG_CONFIG"; then | |||
21331 | else | 21217 | else |
21332 | pkg_failed=yes | 21218 | pkg_failed=yes |
21333 | fi | 21219 | fi |
21334 | fi | 21220 | else |
21335 | else | 21221 | pkg_failed=untried |
21336 | pkg_failed=untried | ||
21337 | fi | 21222 | fi |
21338 | 21223 | ||
21339 | 21224 | ||
21340 | 21225 | ||
21341 | if test $pkg_failed = yes; then | 21226 | if test $pkg_failed = yes; then |
21227 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21228 | $as_echo "no" >&6; } | ||
21342 | 21229 | ||
21343 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21230 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21344 | _pkg_short_errors_supported=yes | 21231 | _pkg_short_errors_supported=yes |
@@ -21346,17 +21233,17 @@ else | |||
21346 | _pkg_short_errors_supported=no | 21233 | _pkg_short_errors_supported=no |
21347 | fi | 21234 | fi |
21348 | if test $_pkg_short_errors_supported = yes; then | 21235 | if test $_pkg_short_errors_supported = yes; then |
21349 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` | 21236 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` |
21350 | else | 21237 | else |
21351 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms"` | 21238 | ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1` |
21352 | fi | 21239 | fi |
21353 | # Put the nasty error message in config.log where it belongs | 21240 | # Put the nasty error message in config.log where it belongs |
21354 | echo "$ECORE_XCB_PKG_ERRORS" >&5 | 21241 | echo "$ECORE_XCB_PKG_ERRORS" >&5 |
21355 | 21242 | ||
21356 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21243 | have_ecore_x_xcb="no" |
21357 | $as_echo "no" >&6; } | ||
21358 | have_ecore_x_xcb="no" | ||
21359 | elif test $pkg_failed = untried; then | 21244 | elif test $pkg_failed = untried; then |
21245 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21246 | $as_echo "no" >&6; } | ||
21360 | have_ecore_x_xcb="no" | 21247 | have_ecore_x_xcb="no" |
21361 | else | 21248 | else |
21362 | ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS | 21249 | ECORE_XCB_CFLAGS=$pkg_cv_ECORE_XCB_CFLAGS |
@@ -21387,11 +21274,10 @@ pkg_failed=no | |||
21387 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PIXMAN" >&5 | 21274 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PIXMAN" >&5 |
21388 | $as_echo_n "checking for PIXMAN... " >&6; } | 21275 | $as_echo_n "checking for PIXMAN... " >&6; } |
21389 | 21276 | ||
21390 | if test -n "$PKG_CONFIG"; then | 21277 | if test -n "$PIXMAN_CFLAGS"; then |
21391 | if test -n "$PIXMAN_CFLAGS"; then | 21278 | pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" |
21392 | pkg_cv_PIXMAN_CFLAGS="$PIXMAN_CFLAGS" | 21279 | elif test -n "$PKG_CONFIG"; then |
21393 | else | 21280 | if test -n "$PKG_CONFIG" && \ |
21394 | if test -n "$PKG_CONFIG" && \ | ||
21395 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 | 21281 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 |
21396 | ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 | 21282 | ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 |
21397 | ac_status=$? | 21283 | ac_status=$? |
@@ -21401,15 +21287,13 @@ if test -n "$PKG_CONFIG"; then | |||
21401 | else | 21287 | else |
21402 | pkg_failed=yes | 21288 | pkg_failed=yes |
21403 | fi | 21289 | fi |
21404 | fi | 21290 | else |
21405 | else | 21291 | pkg_failed=untried |
21406 | pkg_failed=untried | ||
21407 | fi | 21292 | fi |
21408 | if test -n "$PKG_CONFIG"; then | 21293 | if test -n "$PIXMAN_LIBS"; then |
21409 | if test -n "$PIXMAN_LIBS"; then | 21294 | pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" |
21410 | pkg_cv_PIXMAN_LIBS="$PIXMAN_LIBS" | 21295 | elif test -n "$PKG_CONFIG"; then |
21411 | else | 21296 | if test -n "$PKG_CONFIG" && \ |
21412 | if test -n "$PKG_CONFIG" && \ | ||
21413 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 | 21297 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1\""; } >&5 |
21414 | ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 | 21298 | ($PKG_CONFIG --exists --print-errors "pixman-1") 2>&5 |
21415 | ac_status=$? | 21299 | ac_status=$? |
@@ -21419,14 +21303,15 @@ if test -n "$PKG_CONFIG"; then | |||
21419 | else | 21303 | else |
21420 | pkg_failed=yes | 21304 | pkg_failed=yes |
21421 | fi | 21305 | fi |
21422 | fi | 21306 | else |
21423 | else | 21307 | pkg_failed=untried |
21424 | pkg_failed=untried | ||
21425 | fi | 21308 | fi |
21426 | 21309 | ||
21427 | 21310 | ||
21428 | 21311 | ||
21429 | if test $pkg_failed = yes; then | 21312 | if test $pkg_failed = yes; then |
21313 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21314 | $as_echo "no" >&6; } | ||
21430 | 21315 | ||
21431 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21316 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21432 | _pkg_short_errors_supported=yes | 21317 | _pkg_short_errors_supported=yes |
@@ -21434,24 +21319,24 @@ else | |||
21434 | _pkg_short_errors_supported=no | 21319 | _pkg_short_errors_supported=no |
21435 | fi | 21320 | fi |
21436 | if test $_pkg_short_errors_supported = yes; then | 21321 | if test $_pkg_short_errors_supported = yes; then |
21437 | PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "pixman-1"` | 21322 | PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "pixman-1" 2>&1` |
21438 | else | 21323 | else |
21439 | PIXMAN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "pixman-1"` | 21324 | PIXMAN_PKG_ERRORS=`$PKG_CONFIG --print-errors "pixman-1" 2>&1` |
21440 | fi | 21325 | fi |
21441 | # Put the nasty error message in config.log where it belongs | 21326 | # Put the nasty error message in config.log where it belongs |
21442 | echo "$PIXMAN_PKG_ERRORS" >&5 | 21327 | echo "$PIXMAN_PKG_ERRORS" >&5 |
21443 | 21328 | ||
21444 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21445 | $as_echo "no" >&6; } | ||
21446 | 21329 | ||
21447 | if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then | 21330 | if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then |
21448 | as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 | 21331 | as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 |
21449 | fi | 21332 | fi |
21450 | 21333 | ||
21451 | elif test $pkg_failed = untried; then | 21334 | elif test $pkg_failed = untried; then |
21335 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21336 | $as_echo "no" >&6; } | ||
21452 | 21337 | ||
21453 | if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then | 21338 | if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then |
21454 | as_fn_error "Pixman not found (strict dependencies checking)" "$LINENO" 5 | 21339 | as_fn_error $? "Pixman not found (strict dependencies checking)" "$LINENO" 5 |
21455 | fi | 21340 | fi |
21456 | 21341 | ||
21457 | else | 21342 | else |
@@ -21474,11 +21359,10 @@ pkg_failed=no | |||
21474 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_COMPOSITE" >&5 | 21359 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_COMPOSITE" >&5 |
21475 | $as_echo_n "checking for XCB_COMPOSITE... " >&6; } | 21360 | $as_echo_n "checking for XCB_COMPOSITE... " >&6; } |
21476 | 21361 | ||
21477 | if test -n "$PKG_CONFIG"; then | 21362 | if test -n "$XCB_COMPOSITE_CFLAGS"; then |
21478 | if test -n "$XCB_COMPOSITE_CFLAGS"; then | 21363 | pkg_cv_XCB_COMPOSITE_CFLAGS="$XCB_COMPOSITE_CFLAGS" |
21479 | pkg_cv_XCB_COMPOSITE_CFLAGS="$XCB_COMPOSITE_CFLAGS" | 21364 | elif test -n "$PKG_CONFIG"; then |
21480 | else | 21365 | if test -n "$PKG_CONFIG" && \ |
21481 | if test -n "$PKG_CONFIG" && \ | ||
21482 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 | 21366 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 |
21483 | ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 | 21367 | ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 |
21484 | ac_status=$? | 21368 | ac_status=$? |
@@ -21488,15 +21372,13 @@ if test -n "$PKG_CONFIG"; then | |||
21488 | else | 21372 | else |
21489 | pkg_failed=yes | 21373 | pkg_failed=yes |
21490 | fi | 21374 | fi |
21491 | fi | 21375 | else |
21492 | else | 21376 | pkg_failed=untried |
21493 | pkg_failed=untried | ||
21494 | fi | 21377 | fi |
21495 | if test -n "$PKG_CONFIG"; then | 21378 | if test -n "$XCB_COMPOSITE_LIBS"; then |
21496 | if test -n "$XCB_COMPOSITE_LIBS"; then | 21379 | pkg_cv_XCB_COMPOSITE_LIBS="$XCB_COMPOSITE_LIBS" |
21497 | pkg_cv_XCB_COMPOSITE_LIBS="$XCB_COMPOSITE_LIBS" | 21380 | elif test -n "$PKG_CONFIG"; then |
21498 | else | 21381 | if test -n "$PKG_CONFIG" && \ |
21499 | if test -n "$PKG_CONFIG" && \ | ||
21500 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 | 21382 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-composite\""; } >&5 |
21501 | ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 | 21383 | ($PKG_CONFIG --exists --print-errors "xcb-composite") 2>&5 |
21502 | ac_status=$? | 21384 | ac_status=$? |
@@ -21506,14 +21388,15 @@ if test -n "$PKG_CONFIG"; then | |||
21506 | else | 21388 | else |
21507 | pkg_failed=yes | 21389 | pkg_failed=yes |
21508 | fi | 21390 | fi |
21509 | fi | 21391 | else |
21510 | else | 21392 | pkg_failed=untried |
21511 | pkg_failed=untried | ||
21512 | fi | 21393 | fi |
21513 | 21394 | ||
21514 | 21395 | ||
21515 | 21396 | ||
21516 | if test $pkg_failed = yes; then | 21397 | if test $pkg_failed = yes; then |
21398 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21399 | $as_echo "no" >&6; } | ||
21517 | 21400 | ||
21518 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21401 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21519 | _pkg_short_errors_supported=yes | 21402 | _pkg_short_errors_supported=yes |
@@ -21521,17 +21404,17 @@ else | |||
21521 | _pkg_short_errors_supported=no | 21404 | _pkg_short_errors_supported=no |
21522 | fi | 21405 | fi |
21523 | if test $_pkg_short_errors_supported = yes; then | 21406 | if test $_pkg_short_errors_supported = yes; then |
21524 | XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-composite"` | 21407 | XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-composite" 2>&1` |
21525 | else | 21408 | else |
21526 | XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-composite"` | 21409 | XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-composite" 2>&1` |
21527 | fi | 21410 | fi |
21528 | # Put the nasty error message in config.log where it belongs | 21411 | # Put the nasty error message in config.log where it belongs |
21529 | echo "$XCB_COMPOSITE_PKG_ERRORS" >&5 | 21412 | echo "$XCB_COMPOSITE_PKG_ERRORS" >&5 |
21530 | 21413 | ||
21531 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21414 | have_ecore_x_xcb_composite="no" |
21532 | $as_echo "no" >&6; } | ||
21533 | have_ecore_x_xcb_composite="no" | ||
21534 | elif test $pkg_failed = untried; then | 21415 | elif test $pkg_failed = untried; then |
21416 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21417 | $as_echo "no" >&6; } | ||
21535 | have_ecore_x_xcb_composite="no" | 21418 | have_ecore_x_xcb_composite="no" |
21536 | else | 21419 | else |
21537 | XCB_COMPOSITE_CFLAGS=$pkg_cv_XCB_COMPOSITE_CFLAGS | 21420 | XCB_COMPOSITE_CFLAGS=$pkg_cv_XCB_COMPOSITE_CFLAGS |
@@ -21556,11 +21439,10 @@ pkg_failed=no | |||
21556 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DAMAGE" >&5 | 21439 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DAMAGE" >&5 |
21557 | $as_echo_n "checking for XCB_DAMAGE... " >&6; } | 21440 | $as_echo_n "checking for XCB_DAMAGE... " >&6; } |
21558 | 21441 | ||
21559 | if test -n "$PKG_CONFIG"; then | 21442 | if test -n "$XCB_DAMAGE_CFLAGS"; then |
21560 | if test -n "$XCB_DAMAGE_CFLAGS"; then | 21443 | pkg_cv_XCB_DAMAGE_CFLAGS="$XCB_DAMAGE_CFLAGS" |
21561 | pkg_cv_XCB_DAMAGE_CFLAGS="$XCB_DAMAGE_CFLAGS" | 21444 | elif test -n "$PKG_CONFIG"; then |
21562 | else | 21445 | if test -n "$PKG_CONFIG" && \ |
21563 | if test -n "$PKG_CONFIG" && \ | ||
21564 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 | 21446 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 |
21565 | ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 | 21447 | ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 |
21566 | ac_status=$? | 21448 | ac_status=$? |
@@ -21570,15 +21452,13 @@ if test -n "$PKG_CONFIG"; then | |||
21570 | else | 21452 | else |
21571 | pkg_failed=yes | 21453 | pkg_failed=yes |
21572 | fi | 21454 | fi |
21573 | fi | 21455 | else |
21574 | else | 21456 | pkg_failed=untried |
21575 | pkg_failed=untried | ||
21576 | fi | 21457 | fi |
21577 | if test -n "$PKG_CONFIG"; then | 21458 | if test -n "$XCB_DAMAGE_LIBS"; then |
21578 | if test -n "$XCB_DAMAGE_LIBS"; then | 21459 | pkg_cv_XCB_DAMAGE_LIBS="$XCB_DAMAGE_LIBS" |
21579 | pkg_cv_XCB_DAMAGE_LIBS="$XCB_DAMAGE_LIBS" | 21460 | elif test -n "$PKG_CONFIG"; then |
21580 | else | 21461 | if test -n "$PKG_CONFIG" && \ |
21581 | if test -n "$PKG_CONFIG" && \ | ||
21582 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 | 21462 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-damage\""; } >&5 |
21583 | ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 | 21463 | ($PKG_CONFIG --exists --print-errors "xcb-damage") 2>&5 |
21584 | ac_status=$? | 21464 | ac_status=$? |
@@ -21588,14 +21468,15 @@ if test -n "$PKG_CONFIG"; then | |||
21588 | else | 21468 | else |
21589 | pkg_failed=yes | 21469 | pkg_failed=yes |
21590 | fi | 21470 | fi |
21591 | fi | 21471 | else |
21592 | else | 21472 | pkg_failed=untried |
21593 | pkg_failed=untried | ||
21594 | fi | 21473 | fi |
21595 | 21474 | ||
21596 | 21475 | ||
21597 | 21476 | ||
21598 | if test $pkg_failed = yes; then | 21477 | if test $pkg_failed = yes; then |
21478 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21479 | $as_echo "no" >&6; } | ||
21599 | 21480 | ||
21600 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21481 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21601 | _pkg_short_errors_supported=yes | 21482 | _pkg_short_errors_supported=yes |
@@ -21603,17 +21484,17 @@ else | |||
21603 | _pkg_short_errors_supported=no | 21484 | _pkg_short_errors_supported=no |
21604 | fi | 21485 | fi |
21605 | if test $_pkg_short_errors_supported = yes; then | 21486 | if test $_pkg_short_errors_supported = yes; then |
21606 | XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-damage"` | 21487 | XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-damage" 2>&1` |
21607 | else | 21488 | else |
21608 | XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-damage"` | 21489 | XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-damage" 2>&1` |
21609 | fi | 21490 | fi |
21610 | # Put the nasty error message in config.log where it belongs | 21491 | # Put the nasty error message in config.log where it belongs |
21611 | echo "$XCB_DAMAGE_PKG_ERRORS" >&5 | 21492 | echo "$XCB_DAMAGE_PKG_ERRORS" >&5 |
21612 | 21493 | ||
21613 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21494 | have_ecore_x_xcb_damage="no" |
21614 | $as_echo "no" >&6; } | ||
21615 | have_ecore_x_xcb_damage="no" | ||
21616 | elif test $pkg_failed = untried; then | 21495 | elif test $pkg_failed = untried; then |
21496 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21497 | $as_echo "no" >&6; } | ||
21617 | have_ecore_x_xcb_damage="no" | 21498 | have_ecore_x_xcb_damage="no" |
21618 | else | 21499 | else |
21619 | XCB_DAMAGE_CFLAGS=$pkg_cv_XCB_DAMAGE_CFLAGS | 21500 | XCB_DAMAGE_CFLAGS=$pkg_cv_XCB_DAMAGE_CFLAGS |
@@ -21638,11 +21519,10 @@ pkg_failed=no | |||
21638 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DPMS" >&5 | 21519 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_DPMS" >&5 |
21639 | $as_echo_n "checking for XCB_DPMS... " >&6; } | 21520 | $as_echo_n "checking for XCB_DPMS... " >&6; } |
21640 | 21521 | ||
21641 | if test -n "$PKG_CONFIG"; then | 21522 | if test -n "$XCB_DPMS_CFLAGS"; then |
21642 | if test -n "$XCB_DPMS_CFLAGS"; then | 21523 | pkg_cv_XCB_DPMS_CFLAGS="$XCB_DPMS_CFLAGS" |
21643 | pkg_cv_XCB_DPMS_CFLAGS="$XCB_DPMS_CFLAGS" | 21524 | elif test -n "$PKG_CONFIG"; then |
21644 | else | 21525 | if test -n "$PKG_CONFIG" && \ |
21645 | if test -n "$PKG_CONFIG" && \ | ||
21646 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 | 21526 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 |
21647 | ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 | 21527 | ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 |
21648 | ac_status=$? | 21528 | ac_status=$? |
@@ -21652,15 +21532,13 @@ if test -n "$PKG_CONFIG"; then | |||
21652 | else | 21532 | else |
21653 | pkg_failed=yes | 21533 | pkg_failed=yes |
21654 | fi | 21534 | fi |
21655 | fi | 21535 | else |
21656 | else | 21536 | pkg_failed=untried |
21657 | pkg_failed=untried | ||
21658 | fi | 21537 | fi |
21659 | if test -n "$PKG_CONFIG"; then | 21538 | if test -n "$XCB_DPMS_LIBS"; then |
21660 | if test -n "$XCB_DPMS_LIBS"; then | 21539 | pkg_cv_XCB_DPMS_LIBS="$XCB_DPMS_LIBS" |
21661 | pkg_cv_XCB_DPMS_LIBS="$XCB_DPMS_LIBS" | 21540 | elif test -n "$PKG_CONFIG"; then |
21662 | else | 21541 | if test -n "$PKG_CONFIG" && \ |
21663 | if test -n "$PKG_CONFIG" && \ | ||
21664 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 | 21542 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-dpms\""; } >&5 |
21665 | ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 | 21543 | ($PKG_CONFIG --exists --print-errors "xcb-dpms") 2>&5 |
21666 | ac_status=$? | 21544 | ac_status=$? |
@@ -21670,14 +21548,15 @@ if test -n "$PKG_CONFIG"; then | |||
21670 | else | 21548 | else |
21671 | pkg_failed=yes | 21549 | pkg_failed=yes |
21672 | fi | 21550 | fi |
21673 | fi | 21551 | else |
21674 | else | 21552 | pkg_failed=untried |
21675 | pkg_failed=untried | ||
21676 | fi | 21553 | fi |
21677 | 21554 | ||
21678 | 21555 | ||
21679 | 21556 | ||
21680 | if test $pkg_failed = yes; then | 21557 | if test $pkg_failed = yes; then |
21558 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21559 | $as_echo "no" >&6; } | ||
21681 | 21560 | ||
21682 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21561 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21683 | _pkg_short_errors_supported=yes | 21562 | _pkg_short_errors_supported=yes |
@@ -21685,17 +21564,17 @@ else | |||
21685 | _pkg_short_errors_supported=no | 21564 | _pkg_short_errors_supported=no |
21686 | fi | 21565 | fi |
21687 | if test $_pkg_short_errors_supported = yes; then | 21566 | if test $_pkg_short_errors_supported = yes; then |
21688 | XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-dpms"` | 21567 | XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-dpms" 2>&1` |
21689 | else | 21568 | else |
21690 | XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-dpms"` | 21569 | XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-dpms" 2>&1` |
21691 | fi | 21570 | fi |
21692 | # Put the nasty error message in config.log where it belongs | 21571 | # Put the nasty error message in config.log where it belongs |
21693 | echo "$XCB_DPMS_PKG_ERRORS" >&5 | 21572 | echo "$XCB_DPMS_PKG_ERRORS" >&5 |
21694 | 21573 | ||
21695 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21574 | have_ecore_x_xcb_dpms="no" |
21696 | $as_echo "no" >&6; } | ||
21697 | have_ecore_x_xcb_dpms="no" | ||
21698 | elif test $pkg_failed = untried; then | 21575 | elif test $pkg_failed = untried; then |
21576 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21577 | $as_echo "no" >&6; } | ||
21699 | have_ecore_x_xcb_dpms="no" | 21578 | have_ecore_x_xcb_dpms="no" |
21700 | else | 21579 | else |
21701 | XCB_DPMS_CFLAGS=$pkg_cv_XCB_DPMS_CFLAGS | 21580 | XCB_DPMS_CFLAGS=$pkg_cv_XCB_DPMS_CFLAGS |
@@ -21720,11 +21599,10 @@ pkg_failed=no | |||
21720 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RANDR" >&5 | 21599 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RANDR" >&5 |
21721 | $as_echo_n "checking for XCB_RANDR... " >&6; } | 21600 | $as_echo_n "checking for XCB_RANDR... " >&6; } |
21722 | 21601 | ||
21723 | if test -n "$PKG_CONFIG"; then | 21602 | if test -n "$XCB_RANDR_CFLAGS"; then |
21724 | if test -n "$XCB_RANDR_CFLAGS"; then | 21603 | pkg_cv_XCB_RANDR_CFLAGS="$XCB_RANDR_CFLAGS" |
21725 | pkg_cv_XCB_RANDR_CFLAGS="$XCB_RANDR_CFLAGS" | 21604 | elif test -n "$PKG_CONFIG"; then |
21726 | else | 21605 | if test -n "$PKG_CONFIG" && \ |
21727 | if test -n "$PKG_CONFIG" && \ | ||
21728 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 | 21606 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 |
21729 | ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 | 21607 | ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 |
21730 | ac_status=$? | 21608 | ac_status=$? |
@@ -21734,15 +21612,13 @@ if test -n "$PKG_CONFIG"; then | |||
21734 | else | 21612 | else |
21735 | pkg_failed=yes | 21613 | pkg_failed=yes |
21736 | fi | 21614 | fi |
21737 | fi | 21615 | else |
21738 | else | 21616 | pkg_failed=untried |
21739 | pkg_failed=untried | ||
21740 | fi | 21617 | fi |
21741 | if test -n "$PKG_CONFIG"; then | 21618 | if test -n "$XCB_RANDR_LIBS"; then |
21742 | if test -n "$XCB_RANDR_LIBS"; then | 21619 | pkg_cv_XCB_RANDR_LIBS="$XCB_RANDR_LIBS" |
21743 | pkg_cv_XCB_RANDR_LIBS="$XCB_RANDR_LIBS" | 21620 | elif test -n "$PKG_CONFIG"; then |
21744 | else | 21621 | if test -n "$PKG_CONFIG" && \ |
21745 | if test -n "$PKG_CONFIG" && \ | ||
21746 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 | 21622 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-randr\""; } >&5 |
21747 | ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 | 21623 | ($PKG_CONFIG --exists --print-errors "xcb-randr") 2>&5 |
21748 | ac_status=$? | 21624 | ac_status=$? |
@@ -21752,14 +21628,15 @@ if test -n "$PKG_CONFIG"; then | |||
21752 | else | 21628 | else |
21753 | pkg_failed=yes | 21629 | pkg_failed=yes |
21754 | fi | 21630 | fi |
21755 | fi | 21631 | else |
21756 | else | 21632 | pkg_failed=untried |
21757 | pkg_failed=untried | ||
21758 | fi | 21633 | fi |
21759 | 21634 | ||
21760 | 21635 | ||
21761 | 21636 | ||
21762 | if test $pkg_failed = yes; then | 21637 | if test $pkg_failed = yes; then |
21638 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21639 | $as_echo "no" >&6; } | ||
21763 | 21640 | ||
21764 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21641 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21765 | _pkg_short_errors_supported=yes | 21642 | _pkg_short_errors_supported=yes |
@@ -21767,17 +21644,17 @@ else | |||
21767 | _pkg_short_errors_supported=no | 21644 | _pkg_short_errors_supported=no |
21768 | fi | 21645 | fi |
21769 | if test $_pkg_short_errors_supported = yes; then | 21646 | if test $_pkg_short_errors_supported = yes; then |
21770 | XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-randr"` | 21647 | XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-randr" 2>&1` |
21771 | else | 21648 | else |
21772 | XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-randr"` | 21649 | XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-randr" 2>&1` |
21773 | fi | 21650 | fi |
21774 | # Put the nasty error message in config.log where it belongs | 21651 | # Put the nasty error message in config.log where it belongs |
21775 | echo "$XCB_RANDR_PKG_ERRORS" >&5 | 21652 | echo "$XCB_RANDR_PKG_ERRORS" >&5 |
21776 | 21653 | ||
21777 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21654 | have_ecore_x_xcb_randr="no" |
21778 | $as_echo "no" >&6; } | ||
21779 | have_ecore_x_xcb_randr="no" | ||
21780 | elif test $pkg_failed = untried; then | 21655 | elif test $pkg_failed = untried; then |
21656 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21657 | $as_echo "no" >&6; } | ||
21781 | have_ecore_x_xcb_randr="no" | 21658 | have_ecore_x_xcb_randr="no" |
21782 | else | 21659 | else |
21783 | XCB_RANDR_CFLAGS=$pkg_cv_XCB_RANDR_CFLAGS | 21660 | XCB_RANDR_CFLAGS=$pkg_cv_XCB_RANDR_CFLAGS |
@@ -21802,11 +21679,10 @@ pkg_failed=no | |||
21802 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RENDER" >&5 | 21679 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_RENDER" >&5 |
21803 | $as_echo_n "checking for XCB_RENDER... " >&6; } | 21680 | $as_echo_n "checking for XCB_RENDER... " >&6; } |
21804 | 21681 | ||
21805 | if test -n "$PKG_CONFIG"; then | 21682 | if test -n "$XCB_RENDER_CFLAGS"; then |
21806 | if test -n "$XCB_RENDER_CFLAGS"; then | 21683 | pkg_cv_XCB_RENDER_CFLAGS="$XCB_RENDER_CFLAGS" |
21807 | pkg_cv_XCB_RENDER_CFLAGS="$XCB_RENDER_CFLAGS" | 21684 | elif test -n "$PKG_CONFIG"; then |
21808 | else | 21685 | if test -n "$PKG_CONFIG" && \ |
21809 | if test -n "$PKG_CONFIG" && \ | ||
21810 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 | 21686 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 |
21811 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 | 21687 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 |
21812 | ac_status=$? | 21688 | ac_status=$? |
@@ -21816,15 +21692,13 @@ if test -n "$PKG_CONFIG"; then | |||
21816 | else | 21692 | else |
21817 | pkg_failed=yes | 21693 | pkg_failed=yes |
21818 | fi | 21694 | fi |
21819 | fi | 21695 | else |
21820 | else | 21696 | pkg_failed=untried |
21821 | pkg_failed=untried | ||
21822 | fi | 21697 | fi |
21823 | if test -n "$PKG_CONFIG"; then | 21698 | if test -n "$XCB_RENDER_LIBS"; then |
21824 | if test -n "$XCB_RENDER_LIBS"; then | 21699 | pkg_cv_XCB_RENDER_LIBS="$XCB_RENDER_LIBS" |
21825 | pkg_cv_XCB_RENDER_LIBS="$XCB_RENDER_LIBS" | 21700 | elif test -n "$PKG_CONFIG"; then |
21826 | else | 21701 | if test -n "$PKG_CONFIG" && \ |
21827 | if test -n "$PKG_CONFIG" && \ | ||
21828 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 | 21702 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 |
21829 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 | 21703 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 |
21830 | ac_status=$? | 21704 | ac_status=$? |
@@ -21834,14 +21708,15 @@ if test -n "$PKG_CONFIG"; then | |||
21834 | else | 21708 | else |
21835 | pkg_failed=yes | 21709 | pkg_failed=yes |
21836 | fi | 21710 | fi |
21837 | fi | 21711 | else |
21838 | else | 21712 | pkg_failed=untried |
21839 | pkg_failed=untried | ||
21840 | fi | 21713 | fi |
21841 | 21714 | ||
21842 | 21715 | ||
21843 | 21716 | ||
21844 | if test $pkg_failed = yes; then | 21717 | if test $pkg_failed = yes; then |
21718 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21719 | $as_echo "no" >&6; } | ||
21845 | 21720 | ||
21846 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21721 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21847 | _pkg_short_errors_supported=yes | 21722 | _pkg_short_errors_supported=yes |
@@ -21849,17 +21724,17 @@ else | |||
21849 | _pkg_short_errors_supported=no | 21724 | _pkg_short_errors_supported=no |
21850 | fi | 21725 | fi |
21851 | if test $_pkg_short_errors_supported = yes; then | 21726 | if test $_pkg_short_errors_supported = yes; then |
21852 | XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` | 21727 | XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1` |
21853 | else | 21728 | else |
21854 | XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` | 21729 | XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1` |
21855 | fi | 21730 | fi |
21856 | # Put the nasty error message in config.log where it belongs | 21731 | # Put the nasty error message in config.log where it belongs |
21857 | echo "$XCB_RENDER_PKG_ERRORS" >&5 | 21732 | echo "$XCB_RENDER_PKG_ERRORS" >&5 |
21858 | 21733 | ||
21859 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21734 | have_ecore_x_xcb_render="no" |
21860 | $as_echo "no" >&6; } | ||
21861 | have_ecore_x_xcb_render="no" | ||
21862 | elif test $pkg_failed = untried; then | 21735 | elif test $pkg_failed = untried; then |
21736 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21737 | $as_echo "no" >&6; } | ||
21863 | have_ecore_x_xcb_render="no" | 21738 | have_ecore_x_xcb_render="no" |
21864 | else | 21739 | else |
21865 | XCB_RENDER_CFLAGS=$pkg_cv_XCB_RENDER_CFLAGS | 21740 | XCB_RENDER_CFLAGS=$pkg_cv_XCB_RENDER_CFLAGS |
@@ -21884,11 +21759,10 @@ pkg_failed=no | |||
21884 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SCREENSAVER" >&5 | 21759 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SCREENSAVER" >&5 |
21885 | $as_echo_n "checking for XCB_SCREENSAVER... " >&6; } | 21760 | $as_echo_n "checking for XCB_SCREENSAVER... " >&6; } |
21886 | 21761 | ||
21887 | if test -n "$PKG_CONFIG"; then | 21762 | if test -n "$XCB_SCREENSAVER_CFLAGS"; then |
21888 | if test -n "$XCB_SCREENSAVER_CFLAGS"; then | 21763 | pkg_cv_XCB_SCREENSAVER_CFLAGS="$XCB_SCREENSAVER_CFLAGS" |
21889 | pkg_cv_XCB_SCREENSAVER_CFLAGS="$XCB_SCREENSAVER_CFLAGS" | 21764 | elif test -n "$PKG_CONFIG"; then |
21890 | else | 21765 | if test -n "$PKG_CONFIG" && \ |
21891 | if test -n "$PKG_CONFIG" && \ | ||
21892 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 | 21766 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 |
21893 | ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 | 21767 | ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 |
21894 | ac_status=$? | 21768 | ac_status=$? |
@@ -21898,15 +21772,13 @@ if test -n "$PKG_CONFIG"; then | |||
21898 | else | 21772 | else |
21899 | pkg_failed=yes | 21773 | pkg_failed=yes |
21900 | fi | 21774 | fi |
21901 | fi | 21775 | else |
21902 | else | 21776 | pkg_failed=untried |
21903 | pkg_failed=untried | ||
21904 | fi | 21777 | fi |
21905 | if test -n "$PKG_CONFIG"; then | 21778 | if test -n "$XCB_SCREENSAVER_LIBS"; then |
21906 | if test -n "$XCB_SCREENSAVER_LIBS"; then | 21779 | pkg_cv_XCB_SCREENSAVER_LIBS="$XCB_SCREENSAVER_LIBS" |
21907 | pkg_cv_XCB_SCREENSAVER_LIBS="$XCB_SCREENSAVER_LIBS" | 21780 | elif test -n "$PKG_CONFIG"; then |
21908 | else | 21781 | if test -n "$PKG_CONFIG" && \ |
21909 | if test -n "$PKG_CONFIG" && \ | ||
21910 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 | 21782 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-screensaver\""; } >&5 |
21911 | ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 | 21783 | ($PKG_CONFIG --exists --print-errors "xcb-screensaver") 2>&5 |
21912 | ac_status=$? | 21784 | ac_status=$? |
@@ -21916,14 +21788,15 @@ if test -n "$PKG_CONFIG"; then | |||
21916 | else | 21788 | else |
21917 | pkg_failed=yes | 21789 | pkg_failed=yes |
21918 | fi | 21790 | fi |
21919 | fi | 21791 | else |
21920 | else | 21792 | pkg_failed=untried |
21921 | pkg_failed=untried | ||
21922 | fi | 21793 | fi |
21923 | 21794 | ||
21924 | 21795 | ||
21925 | 21796 | ||
21926 | if test $pkg_failed = yes; then | 21797 | if test $pkg_failed = yes; then |
21798 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21799 | $as_echo "no" >&6; } | ||
21927 | 21800 | ||
21928 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21801 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
21929 | _pkg_short_errors_supported=yes | 21802 | _pkg_short_errors_supported=yes |
@@ -21931,17 +21804,17 @@ else | |||
21931 | _pkg_short_errors_supported=no | 21804 | _pkg_short_errors_supported=no |
21932 | fi | 21805 | fi |
21933 | if test $_pkg_short_errors_supported = yes; then | 21806 | if test $_pkg_short_errors_supported = yes; then |
21934 | XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-screensaver"` | 21807 | XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-screensaver" 2>&1` |
21935 | else | 21808 | else |
21936 | XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-screensaver"` | 21809 | XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-screensaver" 2>&1` |
21937 | fi | 21810 | fi |
21938 | # Put the nasty error message in config.log where it belongs | 21811 | # Put the nasty error message in config.log where it belongs |
21939 | echo "$XCB_SCREENSAVER_PKG_ERRORS" >&5 | 21812 | echo "$XCB_SCREENSAVER_PKG_ERRORS" >&5 |
21940 | 21813 | ||
21941 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21814 | have_ecore_x_xcb_screensaver="no" |
21942 | $as_echo "no" >&6; } | ||
21943 | have_ecore_x_xcb_screensaver="no" | ||
21944 | elif test $pkg_failed = untried; then | 21815 | elif test $pkg_failed = untried; then |
21816 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21817 | $as_echo "no" >&6; } | ||
21945 | have_ecore_x_xcb_screensaver="no" | 21818 | have_ecore_x_xcb_screensaver="no" |
21946 | else | 21819 | else |
21947 | XCB_SCREENSAVER_CFLAGS=$pkg_cv_XCB_SCREENSAVER_CFLAGS | 21820 | XCB_SCREENSAVER_CFLAGS=$pkg_cv_XCB_SCREENSAVER_CFLAGS |
@@ -21966,11 +21839,10 @@ pkg_failed=no | |||
21966 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SHAPE" >&5 | 21839 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SHAPE" >&5 |
21967 | $as_echo_n "checking for XCB_SHAPE... " >&6; } | 21840 | $as_echo_n "checking for XCB_SHAPE... " >&6; } |
21968 | 21841 | ||
21969 | if test -n "$PKG_CONFIG"; then | 21842 | if test -n "$XCB_SHAPE_CFLAGS"; then |
21970 | if test -n "$XCB_SHAPE_CFLAGS"; then | 21843 | pkg_cv_XCB_SHAPE_CFLAGS="$XCB_SHAPE_CFLAGS" |
21971 | pkg_cv_XCB_SHAPE_CFLAGS="$XCB_SHAPE_CFLAGS" | 21844 | elif test -n "$PKG_CONFIG"; then |
21972 | else | 21845 | if test -n "$PKG_CONFIG" && \ |
21973 | if test -n "$PKG_CONFIG" && \ | ||
21974 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 | 21846 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 |
21975 | ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 | 21847 | ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 |
21976 | ac_status=$? | 21848 | ac_status=$? |
@@ -21980,15 +21852,13 @@ if test -n "$PKG_CONFIG"; then | |||
21980 | else | 21852 | else |
21981 | pkg_failed=yes | 21853 | pkg_failed=yes |
21982 | fi | 21854 | fi |
21983 | fi | 21855 | else |
21984 | else | 21856 | pkg_failed=untried |
21985 | pkg_failed=untried | ||
21986 | fi | 21857 | fi |
21987 | if test -n "$PKG_CONFIG"; then | 21858 | if test -n "$XCB_SHAPE_LIBS"; then |
21988 | if test -n "$XCB_SHAPE_LIBS"; then | 21859 | pkg_cv_XCB_SHAPE_LIBS="$XCB_SHAPE_LIBS" |
21989 | pkg_cv_XCB_SHAPE_LIBS="$XCB_SHAPE_LIBS" | 21860 | elif test -n "$PKG_CONFIG"; then |
21990 | else | 21861 | if test -n "$PKG_CONFIG" && \ |
21991 | if test -n "$PKG_CONFIG" && \ | ||
21992 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 | 21862 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-shape\""; } >&5 |
21993 | ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 | 21863 | ($PKG_CONFIG --exists --print-errors "xcb-shape") 2>&5 |
21994 | ac_status=$? | 21864 | ac_status=$? |
@@ -21998,14 +21868,15 @@ if test -n "$PKG_CONFIG"; then | |||
21998 | else | 21868 | else |
21999 | pkg_failed=yes | 21869 | pkg_failed=yes |
22000 | fi | 21870 | fi |
22001 | fi | 21871 | else |
22002 | else | 21872 | pkg_failed=untried |
22003 | pkg_failed=untried | ||
22004 | fi | 21873 | fi |
22005 | 21874 | ||
22006 | 21875 | ||
22007 | 21876 | ||
22008 | if test $pkg_failed = yes; then | 21877 | if test $pkg_failed = yes; then |
21878 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21879 | $as_echo "no" >&6; } | ||
22009 | 21880 | ||
22010 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21881 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22011 | _pkg_short_errors_supported=yes | 21882 | _pkg_short_errors_supported=yes |
@@ -22013,17 +21884,17 @@ else | |||
22013 | _pkg_short_errors_supported=no | 21884 | _pkg_short_errors_supported=no |
22014 | fi | 21885 | fi |
22015 | if test $_pkg_short_errors_supported = yes; then | 21886 | if test $_pkg_short_errors_supported = yes; then |
22016 | XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-shape"` | 21887 | XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-shape" 2>&1` |
22017 | else | 21888 | else |
22018 | XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-shape"` | 21889 | XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-shape" 2>&1` |
22019 | fi | 21890 | fi |
22020 | # Put the nasty error message in config.log where it belongs | 21891 | # Put the nasty error message in config.log where it belongs |
22021 | echo "$XCB_SHAPE_PKG_ERRORS" >&5 | 21892 | echo "$XCB_SHAPE_PKG_ERRORS" >&5 |
22022 | 21893 | ||
22023 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21894 | have_ecore_x_xcb_shape="no" |
22024 | $as_echo "no" >&6; } | ||
22025 | have_ecore_x_xcb_shape="no" | ||
22026 | elif test $pkg_failed = untried; then | 21895 | elif test $pkg_failed = untried; then |
21896 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21897 | $as_echo "no" >&6; } | ||
22027 | have_ecore_x_xcb_shape="no" | 21898 | have_ecore_x_xcb_shape="no" |
22028 | else | 21899 | else |
22029 | XCB_SHAPE_CFLAGS=$pkg_cv_XCB_SHAPE_CFLAGS | 21900 | XCB_SHAPE_CFLAGS=$pkg_cv_XCB_SHAPE_CFLAGS |
@@ -22048,11 +21919,10 @@ pkg_failed=no | |||
22048 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XGESTURE" >&5 | 21919 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XGESTURE" >&5 |
22049 | $as_echo_n "checking for XCB_XGESTURE... " >&6; } | 21920 | $as_echo_n "checking for XCB_XGESTURE... " >&6; } |
22050 | 21921 | ||
22051 | if test -n "$PKG_CONFIG"; then | 21922 | if test -n "$XCB_XGESTURE_CFLAGS"; then |
22052 | if test -n "$XCB_XGESTURE_CFLAGS"; then | 21923 | pkg_cv_XCB_XGESTURE_CFLAGS="$XCB_XGESTURE_CFLAGS" |
22053 | pkg_cv_XCB_XGESTURE_CFLAGS="$XCB_XGESTURE_CFLAGS" | 21924 | elif test -n "$PKG_CONFIG"; then |
22054 | else | 21925 | if test -n "$PKG_CONFIG" && \ |
22055 | if test -n "$PKG_CONFIG" && \ | ||
22056 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 | 21926 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 |
22057 | ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 | 21927 | ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 |
22058 | ac_status=$? | 21928 | ac_status=$? |
@@ -22062,15 +21932,13 @@ if test -n "$PKG_CONFIG"; then | |||
22062 | else | 21932 | else |
22063 | pkg_failed=yes | 21933 | pkg_failed=yes |
22064 | fi | 21934 | fi |
22065 | fi | 21935 | else |
22066 | else | 21936 | pkg_failed=untried |
22067 | pkg_failed=untried | ||
22068 | fi | 21937 | fi |
22069 | if test -n "$PKG_CONFIG"; then | 21938 | if test -n "$XCB_XGESTURE_LIBS"; then |
22070 | if test -n "$XCB_XGESTURE_LIBS"; then | 21939 | pkg_cv_XCB_XGESTURE_LIBS="$XCB_XGESTURE_LIBS" |
22071 | pkg_cv_XCB_XGESTURE_LIBS="$XCB_XGESTURE_LIBS" | 21940 | elif test -n "$PKG_CONFIG"; then |
22072 | else | 21941 | if test -n "$PKG_CONFIG" && \ |
22073 | if test -n "$PKG_CONFIG" && \ | ||
22074 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 | 21942 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-gesture\""; } >&5 |
22075 | ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 | 21943 | ($PKG_CONFIG --exists --print-errors "xcb-gesture") 2>&5 |
22076 | ac_status=$? | 21944 | ac_status=$? |
@@ -22080,14 +21948,15 @@ if test -n "$PKG_CONFIG"; then | |||
22080 | else | 21948 | else |
22081 | pkg_failed=yes | 21949 | pkg_failed=yes |
22082 | fi | 21950 | fi |
22083 | fi | 21951 | else |
22084 | else | 21952 | pkg_failed=untried |
22085 | pkg_failed=untried | ||
22086 | fi | 21953 | fi |
22087 | 21954 | ||
22088 | 21955 | ||
22089 | 21956 | ||
22090 | if test $pkg_failed = yes; then | 21957 | if test $pkg_failed = yes; then |
21958 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21959 | $as_echo "no" >&6; } | ||
22091 | 21960 | ||
22092 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 21961 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22093 | _pkg_short_errors_supported=yes | 21962 | _pkg_short_errors_supported=yes |
@@ -22095,17 +21964,17 @@ else | |||
22095 | _pkg_short_errors_supported=no | 21964 | _pkg_short_errors_supported=no |
22096 | fi | 21965 | fi |
22097 | if test $_pkg_short_errors_supported = yes; then | 21966 | if test $_pkg_short_errors_supported = yes; then |
22098 | XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-gesture"` | 21967 | XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-gesture" 2>&1` |
22099 | else | 21968 | else |
22100 | XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-gesture"` | 21969 | XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-gesture" 2>&1` |
22101 | fi | 21970 | fi |
22102 | # Put the nasty error message in config.log where it belongs | 21971 | # Put the nasty error message in config.log where it belongs |
22103 | echo "$XCB_XGESTURE_PKG_ERRORS" >&5 | 21972 | echo "$XCB_XGESTURE_PKG_ERRORS" >&5 |
22104 | 21973 | ||
22105 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 21974 | have_ecore_x_xcb_gesture="no" |
22106 | $as_echo "no" >&6; } | ||
22107 | have_ecore_x_xcb_gesture="no" | ||
22108 | elif test $pkg_failed = untried; then | 21975 | elif test $pkg_failed = untried; then |
21976 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
21977 | $as_echo "no" >&6; } | ||
22109 | have_ecore_x_xcb_gesture="no" | 21978 | have_ecore_x_xcb_gesture="no" |
22110 | else | 21979 | else |
22111 | XCB_XGESTURE_CFLAGS=$pkg_cv_XCB_XGESTURE_CFLAGS | 21980 | XCB_XGESTURE_CFLAGS=$pkg_cv_XCB_XGESTURE_CFLAGS |
@@ -22130,11 +21999,10 @@ pkg_failed=no | |||
22130 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SYNC" >&5 | 21999 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_SYNC" >&5 |
22131 | $as_echo_n "checking for XCB_SYNC... " >&6; } | 22000 | $as_echo_n "checking for XCB_SYNC... " >&6; } |
22132 | 22001 | ||
22133 | if test -n "$PKG_CONFIG"; then | 22002 | if test -n "$XCB_SYNC_CFLAGS"; then |
22134 | if test -n "$XCB_SYNC_CFLAGS"; then | 22003 | pkg_cv_XCB_SYNC_CFLAGS="$XCB_SYNC_CFLAGS" |
22135 | pkg_cv_XCB_SYNC_CFLAGS="$XCB_SYNC_CFLAGS" | 22004 | elif test -n "$PKG_CONFIG"; then |
22136 | else | 22005 | if test -n "$PKG_CONFIG" && \ |
22137 | if test -n "$PKG_CONFIG" && \ | ||
22138 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 | 22006 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 |
22139 | ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 | 22007 | ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 |
22140 | ac_status=$? | 22008 | ac_status=$? |
@@ -22144,15 +22012,13 @@ if test -n "$PKG_CONFIG"; then | |||
22144 | else | 22012 | else |
22145 | pkg_failed=yes | 22013 | pkg_failed=yes |
22146 | fi | 22014 | fi |
22147 | fi | 22015 | else |
22148 | else | 22016 | pkg_failed=untried |
22149 | pkg_failed=untried | ||
22150 | fi | 22017 | fi |
22151 | if test -n "$PKG_CONFIG"; then | 22018 | if test -n "$XCB_SYNC_LIBS"; then |
22152 | if test -n "$XCB_SYNC_LIBS"; then | 22019 | pkg_cv_XCB_SYNC_LIBS="$XCB_SYNC_LIBS" |
22153 | pkg_cv_XCB_SYNC_LIBS="$XCB_SYNC_LIBS" | 22020 | elif test -n "$PKG_CONFIG"; then |
22154 | else | 22021 | if test -n "$PKG_CONFIG" && \ |
22155 | if test -n "$PKG_CONFIG" && \ | ||
22156 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 | 22022 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-sync\""; } >&5 |
22157 | ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 | 22023 | ($PKG_CONFIG --exists --print-errors "xcb-sync") 2>&5 |
22158 | ac_status=$? | 22024 | ac_status=$? |
@@ -22162,14 +22028,15 @@ if test -n "$PKG_CONFIG"; then | |||
22162 | else | 22028 | else |
22163 | pkg_failed=yes | 22029 | pkg_failed=yes |
22164 | fi | 22030 | fi |
22165 | fi | 22031 | else |
22166 | else | 22032 | pkg_failed=untried |
22167 | pkg_failed=untried | ||
22168 | fi | 22033 | fi |
22169 | 22034 | ||
22170 | 22035 | ||
22171 | 22036 | ||
22172 | if test $pkg_failed = yes; then | 22037 | if test $pkg_failed = yes; then |
22038 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22039 | $as_echo "no" >&6; } | ||
22173 | 22040 | ||
22174 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22041 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22175 | _pkg_short_errors_supported=yes | 22042 | _pkg_short_errors_supported=yes |
@@ -22177,17 +22044,17 @@ else | |||
22177 | _pkg_short_errors_supported=no | 22044 | _pkg_short_errors_supported=no |
22178 | fi | 22045 | fi |
22179 | if test $_pkg_short_errors_supported = yes; then | 22046 | if test $_pkg_short_errors_supported = yes; then |
22180 | XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-sync"` | 22047 | XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-sync" 2>&1` |
22181 | else | 22048 | else |
22182 | XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-sync"` | 22049 | XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-sync" 2>&1` |
22183 | fi | 22050 | fi |
22184 | # Put the nasty error message in config.log where it belongs | 22051 | # Put the nasty error message in config.log where it belongs |
22185 | echo "$XCB_SYNC_PKG_ERRORS" >&5 | 22052 | echo "$XCB_SYNC_PKG_ERRORS" >&5 |
22186 | 22053 | ||
22187 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22054 | have_ecore_x_xcb_sync="no" |
22188 | $as_echo "no" >&6; } | ||
22189 | have_ecore_x_xcb_sync="no" | ||
22190 | elif test $pkg_failed = untried; then | 22055 | elif test $pkg_failed = untried; then |
22056 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22057 | $as_echo "no" >&6; } | ||
22191 | have_ecore_x_xcb_sync="no" | 22058 | have_ecore_x_xcb_sync="no" |
22192 | else | 22059 | else |
22193 | XCB_SYNC_CFLAGS=$pkg_cv_XCB_SYNC_CFLAGS | 22060 | XCB_SYNC_CFLAGS=$pkg_cv_XCB_SYNC_CFLAGS |
@@ -22212,11 +22079,10 @@ pkg_failed=no | |||
22212 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XFIXES" >&5 | 22079 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XFIXES" >&5 |
22213 | $as_echo_n "checking for XCB_XFIXES... " >&6; } | 22080 | $as_echo_n "checking for XCB_XFIXES... " >&6; } |
22214 | 22081 | ||
22215 | if test -n "$PKG_CONFIG"; then | 22082 | if test -n "$XCB_XFIXES_CFLAGS"; then |
22216 | if test -n "$XCB_XFIXES_CFLAGS"; then | 22083 | pkg_cv_XCB_XFIXES_CFLAGS="$XCB_XFIXES_CFLAGS" |
22217 | pkg_cv_XCB_XFIXES_CFLAGS="$XCB_XFIXES_CFLAGS" | 22084 | elif test -n "$PKG_CONFIG"; then |
22218 | else | 22085 | if test -n "$PKG_CONFIG" && \ |
22219 | if test -n "$PKG_CONFIG" && \ | ||
22220 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 | 22086 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 |
22221 | ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 | 22087 | ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 |
22222 | ac_status=$? | 22088 | ac_status=$? |
@@ -22226,15 +22092,13 @@ if test -n "$PKG_CONFIG"; then | |||
22226 | else | 22092 | else |
22227 | pkg_failed=yes | 22093 | pkg_failed=yes |
22228 | fi | 22094 | fi |
22229 | fi | 22095 | else |
22230 | else | 22096 | pkg_failed=untried |
22231 | pkg_failed=untried | ||
22232 | fi | 22097 | fi |
22233 | if test -n "$PKG_CONFIG"; then | 22098 | if test -n "$XCB_XFIXES_LIBS"; then |
22234 | if test -n "$XCB_XFIXES_LIBS"; then | 22099 | pkg_cv_XCB_XFIXES_LIBS="$XCB_XFIXES_LIBS" |
22235 | pkg_cv_XCB_XFIXES_LIBS="$XCB_XFIXES_LIBS" | 22100 | elif test -n "$PKG_CONFIG"; then |
22236 | else | 22101 | if test -n "$PKG_CONFIG" && \ |
22237 | if test -n "$PKG_CONFIG" && \ | ||
22238 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 | 22102 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xfixes\""; } >&5 |
22239 | ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 | 22103 | ($PKG_CONFIG --exists --print-errors "xcb-xfixes") 2>&5 |
22240 | ac_status=$? | 22104 | ac_status=$? |
@@ -22244,14 +22108,15 @@ if test -n "$PKG_CONFIG"; then | |||
22244 | else | 22108 | else |
22245 | pkg_failed=yes | 22109 | pkg_failed=yes |
22246 | fi | 22110 | fi |
22247 | fi | 22111 | else |
22248 | else | 22112 | pkg_failed=untried |
22249 | pkg_failed=untried | ||
22250 | fi | 22113 | fi |
22251 | 22114 | ||
22252 | 22115 | ||
22253 | 22116 | ||
22254 | if test $pkg_failed = yes; then | 22117 | if test $pkg_failed = yes; then |
22118 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22119 | $as_echo "no" >&6; } | ||
22255 | 22120 | ||
22256 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22121 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22257 | _pkg_short_errors_supported=yes | 22122 | _pkg_short_errors_supported=yes |
@@ -22259,17 +22124,17 @@ else | |||
22259 | _pkg_short_errors_supported=no | 22124 | _pkg_short_errors_supported=no |
22260 | fi | 22125 | fi |
22261 | if test $_pkg_short_errors_supported = yes; then | 22126 | if test $_pkg_short_errors_supported = yes; then |
22262 | XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xfixes"` | 22127 | XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xfixes" 2>&1` |
22263 | else | 22128 | else |
22264 | XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xfixes"` | 22129 | XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xfixes" 2>&1` |
22265 | fi | 22130 | fi |
22266 | # Put the nasty error message in config.log where it belongs | 22131 | # Put the nasty error message in config.log where it belongs |
22267 | echo "$XCB_XFIXES_PKG_ERRORS" >&5 | 22132 | echo "$XCB_XFIXES_PKG_ERRORS" >&5 |
22268 | 22133 | ||
22269 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22134 | have_ecore_x_xcb_xfixes="no" |
22270 | $as_echo "no" >&6; } | ||
22271 | have_ecore_x_xcb_xfixes="no" | ||
22272 | elif test $pkg_failed = untried; then | 22135 | elif test $pkg_failed = untried; then |
22136 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22137 | $as_echo "no" >&6; } | ||
22273 | have_ecore_x_xcb_xfixes="no" | 22138 | have_ecore_x_xcb_xfixes="no" |
22274 | else | 22139 | else |
22275 | XCB_XFIXES_CFLAGS=$pkg_cv_XCB_XFIXES_CFLAGS | 22140 | XCB_XFIXES_CFLAGS=$pkg_cv_XCB_XFIXES_CFLAGS |
@@ -22294,11 +22159,10 @@ pkg_failed=no | |||
22294 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINERAMA" >&5 | 22159 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINERAMA" >&5 |
22295 | $as_echo_n "checking for XCB_XINERAMA... " >&6; } | 22160 | $as_echo_n "checking for XCB_XINERAMA... " >&6; } |
22296 | 22161 | ||
22297 | if test -n "$PKG_CONFIG"; then | 22162 | if test -n "$XCB_XINERAMA_CFLAGS"; then |
22298 | if test -n "$XCB_XINERAMA_CFLAGS"; then | 22163 | pkg_cv_XCB_XINERAMA_CFLAGS="$XCB_XINERAMA_CFLAGS" |
22299 | pkg_cv_XCB_XINERAMA_CFLAGS="$XCB_XINERAMA_CFLAGS" | 22164 | elif test -n "$PKG_CONFIG"; then |
22300 | else | 22165 | if test -n "$PKG_CONFIG" && \ |
22301 | if test -n "$PKG_CONFIG" && \ | ||
22302 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 | 22166 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 |
22303 | ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 | 22167 | ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 |
22304 | ac_status=$? | 22168 | ac_status=$? |
@@ -22308,15 +22172,13 @@ if test -n "$PKG_CONFIG"; then | |||
22308 | else | 22172 | else |
22309 | pkg_failed=yes | 22173 | pkg_failed=yes |
22310 | fi | 22174 | fi |
22311 | fi | 22175 | else |
22312 | else | 22176 | pkg_failed=untried |
22313 | pkg_failed=untried | ||
22314 | fi | 22177 | fi |
22315 | if test -n "$PKG_CONFIG"; then | 22178 | if test -n "$XCB_XINERAMA_LIBS"; then |
22316 | if test -n "$XCB_XINERAMA_LIBS"; then | 22179 | pkg_cv_XCB_XINERAMA_LIBS="$XCB_XINERAMA_LIBS" |
22317 | pkg_cv_XCB_XINERAMA_LIBS="$XCB_XINERAMA_LIBS" | 22180 | elif test -n "$PKG_CONFIG"; then |
22318 | else | 22181 | if test -n "$PKG_CONFIG" && \ |
22319 | if test -n "$PKG_CONFIG" && \ | ||
22320 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 | 22182 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinerama\""; } >&5 |
22321 | ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 | 22183 | ($PKG_CONFIG --exists --print-errors "xcb-xinerama") 2>&5 |
22322 | ac_status=$? | 22184 | ac_status=$? |
@@ -22326,14 +22188,15 @@ if test -n "$PKG_CONFIG"; then | |||
22326 | else | 22188 | else |
22327 | pkg_failed=yes | 22189 | pkg_failed=yes |
22328 | fi | 22190 | fi |
22329 | fi | 22191 | else |
22330 | else | 22192 | pkg_failed=untried |
22331 | pkg_failed=untried | ||
22332 | fi | 22193 | fi |
22333 | 22194 | ||
22334 | 22195 | ||
22335 | 22196 | ||
22336 | if test $pkg_failed = yes; then | 22197 | if test $pkg_failed = yes; then |
22198 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22199 | $as_echo "no" >&6; } | ||
22337 | 22200 | ||
22338 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22201 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22339 | _pkg_short_errors_supported=yes | 22202 | _pkg_short_errors_supported=yes |
@@ -22341,17 +22204,17 @@ else | |||
22341 | _pkg_short_errors_supported=no | 22204 | _pkg_short_errors_supported=no |
22342 | fi | 22205 | fi |
22343 | if test $_pkg_short_errors_supported = yes; then | 22206 | if test $_pkg_short_errors_supported = yes; then |
22344 | XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xinerama"` | 22207 | XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinerama" 2>&1` |
22345 | else | 22208 | else |
22346 | XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xinerama"` | 22209 | XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinerama" 2>&1` |
22347 | fi | 22210 | fi |
22348 | # Put the nasty error message in config.log where it belongs | 22211 | # Put the nasty error message in config.log where it belongs |
22349 | echo "$XCB_XINERAMA_PKG_ERRORS" >&5 | 22212 | echo "$XCB_XINERAMA_PKG_ERRORS" >&5 |
22350 | 22213 | ||
22351 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22214 | have_ecore_x_xcb_xinerama="no" |
22352 | $as_echo "no" >&6; } | ||
22353 | have_ecore_x_xcb_xinerama="no" | ||
22354 | elif test $pkg_failed = untried; then | 22215 | elif test $pkg_failed = untried; then |
22216 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22217 | $as_echo "no" >&6; } | ||
22355 | have_ecore_x_xcb_xinerama="no" | 22218 | have_ecore_x_xcb_xinerama="no" |
22356 | else | 22219 | else |
22357 | XCB_XINERAMA_CFLAGS=$pkg_cv_XCB_XINERAMA_CFLAGS | 22220 | XCB_XINERAMA_CFLAGS=$pkg_cv_XCB_XINERAMA_CFLAGS |
@@ -22376,11 +22239,10 @@ pkg_failed=no | |||
22376 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XPRINT" >&5 | 22239 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XPRINT" >&5 |
22377 | $as_echo_n "checking for XCB_XPRINT... " >&6; } | 22240 | $as_echo_n "checking for XCB_XPRINT... " >&6; } |
22378 | 22241 | ||
22379 | if test -n "$PKG_CONFIG"; then | 22242 | if test -n "$XCB_XPRINT_CFLAGS"; then |
22380 | if test -n "$XCB_XPRINT_CFLAGS"; then | 22243 | pkg_cv_XCB_XPRINT_CFLAGS="$XCB_XPRINT_CFLAGS" |
22381 | pkg_cv_XCB_XPRINT_CFLAGS="$XCB_XPRINT_CFLAGS" | 22244 | elif test -n "$PKG_CONFIG"; then |
22382 | else | 22245 | if test -n "$PKG_CONFIG" && \ |
22383 | if test -n "$PKG_CONFIG" && \ | ||
22384 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 | 22246 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 |
22385 | ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 | 22247 | ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 |
22386 | ac_status=$? | 22248 | ac_status=$? |
@@ -22390,15 +22252,13 @@ if test -n "$PKG_CONFIG"; then | |||
22390 | else | 22252 | else |
22391 | pkg_failed=yes | 22253 | pkg_failed=yes |
22392 | fi | 22254 | fi |
22393 | fi | 22255 | else |
22394 | else | 22256 | pkg_failed=untried |
22395 | pkg_failed=untried | ||
22396 | fi | 22257 | fi |
22397 | if test -n "$PKG_CONFIG"; then | 22258 | if test -n "$XCB_XPRINT_LIBS"; then |
22398 | if test -n "$XCB_XPRINT_LIBS"; then | 22259 | pkg_cv_XCB_XPRINT_LIBS="$XCB_XPRINT_LIBS" |
22399 | pkg_cv_XCB_XPRINT_LIBS="$XCB_XPRINT_LIBS" | 22260 | elif test -n "$PKG_CONFIG"; then |
22400 | else | 22261 | if test -n "$PKG_CONFIG" && \ |
22401 | if test -n "$PKG_CONFIG" && \ | ||
22402 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 | 22262 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xprint\""; } >&5 |
22403 | ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 | 22263 | ($PKG_CONFIG --exists --print-errors "xcb-xprint") 2>&5 |
22404 | ac_status=$? | 22264 | ac_status=$? |
@@ -22408,14 +22268,15 @@ if test -n "$PKG_CONFIG"; then | |||
22408 | else | 22268 | else |
22409 | pkg_failed=yes | 22269 | pkg_failed=yes |
22410 | fi | 22270 | fi |
22411 | fi | 22271 | else |
22412 | else | 22272 | pkg_failed=untried |
22413 | pkg_failed=untried | ||
22414 | fi | 22273 | fi |
22415 | 22274 | ||
22416 | 22275 | ||
22417 | 22276 | ||
22418 | if test $pkg_failed = yes; then | 22277 | if test $pkg_failed = yes; then |
22278 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22279 | $as_echo "no" >&6; } | ||
22419 | 22280 | ||
22420 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22281 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22421 | _pkg_short_errors_supported=yes | 22282 | _pkg_short_errors_supported=yes |
@@ -22423,17 +22284,17 @@ else | |||
22423 | _pkg_short_errors_supported=no | 22284 | _pkg_short_errors_supported=no |
22424 | fi | 22285 | fi |
22425 | if test $_pkg_short_errors_supported = yes; then | 22286 | if test $_pkg_short_errors_supported = yes; then |
22426 | XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xprint"` | 22287 | XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xprint" 2>&1` |
22427 | else | 22288 | else |
22428 | XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xprint"` | 22289 | XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xprint" 2>&1` |
22429 | fi | 22290 | fi |
22430 | # Put the nasty error message in config.log where it belongs | 22291 | # Put the nasty error message in config.log where it belongs |
22431 | echo "$XCB_XPRINT_PKG_ERRORS" >&5 | 22292 | echo "$XCB_XPRINT_PKG_ERRORS" >&5 |
22432 | 22293 | ||
22433 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22294 | have_ecore_x_xcb_xprint="no" |
22434 | $as_echo "no" >&6; } | ||
22435 | have_ecore_x_xcb_xprint="no" | ||
22436 | elif test $pkg_failed = untried; then | 22295 | elif test $pkg_failed = untried; then |
22296 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22297 | $as_echo "no" >&6; } | ||
22437 | have_ecore_x_xcb_xprint="no" | 22298 | have_ecore_x_xcb_xprint="no" |
22438 | else | 22299 | else |
22439 | XCB_XPRINT_CFLAGS=$pkg_cv_XCB_XPRINT_CFLAGS | 22300 | XCB_XPRINT_CFLAGS=$pkg_cv_XCB_XPRINT_CFLAGS |
@@ -22458,11 +22319,10 @@ pkg_failed=no | |||
22458 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XTEST" >&5 | 22319 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XTEST" >&5 |
22459 | $as_echo_n "checking for XCB_XTEST... " >&6; } | 22320 | $as_echo_n "checking for XCB_XTEST... " >&6; } |
22460 | 22321 | ||
22461 | if test -n "$PKG_CONFIG"; then | 22322 | if test -n "$XCB_XTEST_CFLAGS"; then |
22462 | if test -n "$XCB_XTEST_CFLAGS"; then | 22323 | pkg_cv_XCB_XTEST_CFLAGS="$XCB_XTEST_CFLAGS" |
22463 | pkg_cv_XCB_XTEST_CFLAGS="$XCB_XTEST_CFLAGS" | 22324 | elif test -n "$PKG_CONFIG"; then |
22464 | else | 22325 | if test -n "$PKG_CONFIG" && \ |
22465 | if test -n "$PKG_CONFIG" && \ | ||
22466 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 | 22326 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 |
22467 | ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 | 22327 | ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 |
22468 | ac_status=$? | 22328 | ac_status=$? |
@@ -22472,15 +22332,13 @@ if test -n "$PKG_CONFIG"; then | |||
22472 | else | 22332 | else |
22473 | pkg_failed=yes | 22333 | pkg_failed=yes |
22474 | fi | 22334 | fi |
22475 | fi | 22335 | else |
22476 | else | 22336 | pkg_failed=untried |
22477 | pkg_failed=untried | ||
22478 | fi | 22337 | fi |
22479 | if test -n "$PKG_CONFIG"; then | 22338 | if test -n "$XCB_XTEST_LIBS"; then |
22480 | if test -n "$XCB_XTEST_LIBS"; then | 22339 | pkg_cv_XCB_XTEST_LIBS="$XCB_XTEST_LIBS" |
22481 | pkg_cv_XCB_XTEST_LIBS="$XCB_XTEST_LIBS" | 22340 | elif test -n "$PKG_CONFIG"; then |
22482 | else | 22341 | if test -n "$PKG_CONFIG" && \ |
22483 | if test -n "$PKG_CONFIG" && \ | ||
22484 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 | 22342 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xtest\""; } >&5 |
22485 | ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 | 22343 | ($PKG_CONFIG --exists --print-errors "xcb-xtest") 2>&5 |
22486 | ac_status=$? | 22344 | ac_status=$? |
@@ -22490,14 +22348,15 @@ if test -n "$PKG_CONFIG"; then | |||
22490 | else | 22348 | else |
22491 | pkg_failed=yes | 22349 | pkg_failed=yes |
22492 | fi | 22350 | fi |
22493 | fi | 22351 | else |
22494 | else | 22352 | pkg_failed=untried |
22495 | pkg_failed=untried | ||
22496 | fi | 22353 | fi |
22497 | 22354 | ||
22498 | 22355 | ||
22499 | 22356 | ||
22500 | if test $pkg_failed = yes; then | 22357 | if test $pkg_failed = yes; then |
22358 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22359 | $as_echo "no" >&6; } | ||
22501 | 22360 | ||
22502 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22361 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22503 | _pkg_short_errors_supported=yes | 22362 | _pkg_short_errors_supported=yes |
@@ -22505,17 +22364,17 @@ else | |||
22505 | _pkg_short_errors_supported=no | 22364 | _pkg_short_errors_supported=no |
22506 | fi | 22365 | fi |
22507 | if test $_pkg_short_errors_supported = yes; then | 22366 | if test $_pkg_short_errors_supported = yes; then |
22508 | XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xtest"` | 22367 | XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xtest" 2>&1` |
22509 | else | 22368 | else |
22510 | XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xtest"` | 22369 | XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xtest" 2>&1` |
22511 | fi | 22370 | fi |
22512 | # Put the nasty error message in config.log where it belongs | 22371 | # Put the nasty error message in config.log where it belongs |
22513 | echo "$XCB_XTEST_PKG_ERRORS" >&5 | 22372 | echo "$XCB_XTEST_PKG_ERRORS" >&5 |
22514 | 22373 | ||
22515 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22374 | have_ecore_x_xcb_xtest="no" |
22516 | $as_echo "no" >&6; } | ||
22517 | have_ecore_x_xcb_xtest="no" | ||
22518 | elif test $pkg_failed = untried; then | 22375 | elif test $pkg_failed = untried; then |
22376 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22377 | $as_echo "no" >&6; } | ||
22519 | have_ecore_x_xcb_xtest="no" | 22378 | have_ecore_x_xcb_xtest="no" |
22520 | else | 22379 | else |
22521 | XCB_XTEST_CFLAGS=$pkg_cv_XCB_XTEST_CFLAGS | 22380 | XCB_XTEST_CFLAGS=$pkg_cv_XCB_XTEST_CFLAGS |
@@ -22542,11 +22401,10 @@ pkg_failed=no | |||
22542 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINPUT" >&5 | 22401 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_XINPUT" >&5 |
22543 | $as_echo_n "checking for XCB_XINPUT... " >&6; } | 22402 | $as_echo_n "checking for XCB_XINPUT... " >&6; } |
22544 | 22403 | ||
22545 | if test -n "$PKG_CONFIG"; then | 22404 | if test -n "$XCB_XINPUT_CFLAGS"; then |
22546 | if test -n "$XCB_XINPUT_CFLAGS"; then | 22405 | pkg_cv_XCB_XINPUT_CFLAGS="$XCB_XINPUT_CFLAGS" |
22547 | pkg_cv_XCB_XINPUT_CFLAGS="$XCB_XINPUT_CFLAGS" | 22406 | elif test -n "$PKG_CONFIG"; then |
22548 | else | 22407 | if test -n "$PKG_CONFIG" && \ |
22549 | if test -n "$PKG_CONFIG" && \ | ||
22550 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 | 22408 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 |
22551 | ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 | 22409 | ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 |
22552 | ac_status=$? | 22410 | ac_status=$? |
@@ -22556,15 +22414,13 @@ if test -n "$PKG_CONFIG"; then | |||
22556 | else | 22414 | else |
22557 | pkg_failed=yes | 22415 | pkg_failed=yes |
22558 | fi | 22416 | fi |
22559 | fi | 22417 | else |
22560 | else | 22418 | pkg_failed=untried |
22561 | pkg_failed=untried | ||
22562 | fi | 22419 | fi |
22563 | if test -n "$PKG_CONFIG"; then | 22420 | if test -n "$XCB_XINPUT_LIBS"; then |
22564 | if test -n "$XCB_XINPUT_LIBS"; then | 22421 | pkg_cv_XCB_XINPUT_LIBS="$XCB_XINPUT_LIBS" |
22565 | pkg_cv_XCB_XINPUT_LIBS="$XCB_XINPUT_LIBS" | 22422 | elif test -n "$PKG_CONFIG"; then |
22566 | else | 22423 | if test -n "$PKG_CONFIG" && \ |
22567 | if test -n "$PKG_CONFIG" && \ | ||
22568 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 | 22424 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-xinput\""; } >&5 |
22569 | ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 | 22425 | ($PKG_CONFIG --exists --print-errors "xcb-xinput") 2>&5 |
22570 | ac_status=$? | 22426 | ac_status=$? |
@@ -22574,14 +22430,15 @@ if test -n "$PKG_CONFIG"; then | |||
22574 | else | 22430 | else |
22575 | pkg_failed=yes | 22431 | pkg_failed=yes |
22576 | fi | 22432 | fi |
22577 | fi | 22433 | else |
22578 | else | 22434 | pkg_failed=untried |
22579 | pkg_failed=untried | ||
22580 | fi | 22435 | fi |
22581 | 22436 | ||
22582 | 22437 | ||
22583 | 22438 | ||
22584 | if test $pkg_failed = yes; then | 22439 | if test $pkg_failed = yes; then |
22440 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22441 | $as_echo "no" >&6; } | ||
22585 | 22442 | ||
22586 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22443 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22587 | _pkg_short_errors_supported=yes | 22444 | _pkg_short_errors_supported=yes |
@@ -22589,17 +22446,17 @@ else | |||
22589 | _pkg_short_errors_supported=no | 22446 | _pkg_short_errors_supported=no |
22590 | fi | 22447 | fi |
22591 | if test $_pkg_short_errors_supported = yes; then | 22448 | if test $_pkg_short_errors_supported = yes; then |
22592 | XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-xinput"` | 22449 | XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinput" 2>&1` |
22593 | else | 22450 | else |
22594 | XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-xinput"` | 22451 | XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinput" 2>&1` |
22595 | fi | 22452 | fi |
22596 | # Put the nasty error message in config.log where it belongs | 22453 | # Put the nasty error message in config.log where it belongs |
22597 | echo "$XCB_XINPUT_PKG_ERRORS" >&5 | 22454 | echo "$XCB_XINPUT_PKG_ERRORS" >&5 |
22598 | 22455 | ||
22599 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22456 | have_ecore_x_xcb_xinput="no" |
22600 | $as_echo "no" >&6; } | ||
22601 | have_ecore_x_xcb_xinput="no" | ||
22602 | elif test $pkg_failed = untried; then | 22457 | elif test $pkg_failed = untried; then |
22458 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22459 | $as_echo "no" >&6; } | ||
22603 | have_ecore_x_xcb_xinput="no" | 22460 | have_ecore_x_xcb_xinput="no" |
22604 | else | 22461 | else |
22605 | XCB_XINPUT_CFLAGS=$pkg_cv_XCB_XINPUT_CFLAGS | 22462 | XCB_XINPUT_CFLAGS=$pkg_cv_XCB_XINPUT_CFLAGS |
@@ -22624,11 +22481,10 @@ pkg_failed=no | |||
22624 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_CURSOR" >&5 | 22481 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_CURSOR" >&5 |
22625 | $as_echo_n "checking for XCB_CURSOR... " >&6; } | 22482 | $as_echo_n "checking for XCB_CURSOR... " >&6; } |
22626 | 22483 | ||
22627 | if test -n "$PKG_CONFIG"; then | 22484 | if test -n "$XCB_CURSOR_CFLAGS"; then |
22628 | if test -n "$XCB_CURSOR_CFLAGS"; then | 22485 | pkg_cv_XCB_CURSOR_CFLAGS="$XCB_CURSOR_CFLAGS" |
22629 | pkg_cv_XCB_CURSOR_CFLAGS="$XCB_CURSOR_CFLAGS" | 22486 | elif test -n "$PKG_CONFIG"; then |
22630 | else | 22487 | if test -n "$PKG_CONFIG" && \ |
22631 | if test -n "$PKG_CONFIG" && \ | ||
22632 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 | 22488 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 |
22633 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 | 22489 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 |
22634 | ac_status=$? | 22490 | ac_status=$? |
@@ -22638,15 +22494,13 @@ if test -n "$PKG_CONFIG"; then | |||
22638 | else | 22494 | else |
22639 | pkg_failed=yes | 22495 | pkg_failed=yes |
22640 | fi | 22496 | fi |
22641 | fi | 22497 | else |
22642 | else | 22498 | pkg_failed=untried |
22643 | pkg_failed=untried | ||
22644 | fi | 22499 | fi |
22645 | if test -n "$PKG_CONFIG"; then | 22500 | if test -n "$XCB_CURSOR_LIBS"; then |
22646 | if test -n "$XCB_CURSOR_LIBS"; then | 22501 | pkg_cv_XCB_CURSOR_LIBS="$XCB_CURSOR_LIBS" |
22647 | pkg_cv_XCB_CURSOR_LIBS="$XCB_CURSOR_LIBS" | 22502 | elif test -n "$PKG_CONFIG"; then |
22648 | else | 22503 | if test -n "$PKG_CONFIG" && \ |
22649 | if test -n "$PKG_CONFIG" && \ | ||
22650 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 | 22504 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb-render xcb-renderutil\""; } >&5 |
22651 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 | 22505 | ($PKG_CONFIG --exists --print-errors "xcb-render xcb-renderutil") 2>&5 |
22652 | ac_status=$? | 22506 | ac_status=$? |
@@ -22656,14 +22510,15 @@ if test -n "$PKG_CONFIG"; then | |||
22656 | else | 22510 | else |
22657 | pkg_failed=yes | 22511 | pkg_failed=yes |
22658 | fi | 22512 | fi |
22659 | fi | 22513 | else |
22660 | else | 22514 | pkg_failed=untried |
22661 | pkg_failed=untried | ||
22662 | fi | 22515 | fi |
22663 | 22516 | ||
22664 | 22517 | ||
22665 | 22518 | ||
22666 | if test $pkg_failed = yes; then | 22519 | if test $pkg_failed = yes; then |
22520 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22521 | $as_echo "no" >&6; } | ||
22667 | 22522 | ||
22668 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 22523 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
22669 | _pkg_short_errors_supported=yes | 22524 | _pkg_short_errors_supported=yes |
@@ -22671,17 +22526,17 @@ else | |||
22671 | _pkg_short_errors_supported=no | 22526 | _pkg_short_errors_supported=no |
22672 | fi | 22527 | fi |
22673 | if test $_pkg_short_errors_supported = yes; then | 22528 | if test $_pkg_short_errors_supported = yes; then |
22674 | XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` | 22529 | XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1` |
22675 | else | 22530 | else |
22676 | XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb-render xcb-renderutil"` | 22531 | XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1` |
22677 | fi | 22532 | fi |
22678 | # Put the nasty error message in config.log where it belongs | 22533 | # Put the nasty error message in config.log where it belongs |
22679 | echo "$XCB_CURSOR_PKG_ERRORS" >&5 | 22534 | echo "$XCB_CURSOR_PKG_ERRORS" >&5 |
22680 | 22535 | ||
22681 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 22536 | have_ecore_x_xcb_cursor="no" |
22682 | $as_echo "no" >&6; } | ||
22683 | have_ecore_x_xcb_cursor="no" | ||
22684 | elif test $pkg_failed = untried; then | 22537 | elif test $pkg_failed = untried; then |
22538 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
22539 | $as_echo "no" >&6; } | ||
22685 | have_ecore_x_xcb_cursor="no" | 22540 | have_ecore_x_xcb_cursor="no" |
22686 | else | 22541 | else |
22687 | XCB_CURSOR_CFLAGS=$pkg_cv_XCB_CURSOR_CFLAGS | 22542 | XCB_CURSOR_CFLAGS=$pkg_cv_XCB_CURSOR_CFLAGS |
@@ -22740,7 +22595,7 @@ if test "x$with_x" = xno; then | |||
22740 | have_x=disabled | 22595 | have_x=disabled |
22741 | else | 22596 | else |
22742 | case $x_includes,$x_libraries in #( | 22597 | case $x_includes,$x_libraries in #( |
22743 | *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #( | 22598 | *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( |
22744 | *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : | 22599 | *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : |
22745 | $as_echo_n "(cached) " >&6 | 22600 | $as_echo_n "(cached) " >&6 |
22746 | else | 22601 | else |
@@ -22758,7 +22613,7 @@ libdir: | |||
22758 | @echo libdir='${LIBDIR}' | 22613 | @echo libdir='${LIBDIR}' |
22759 | _ACEOF | 22614 | _ACEOF |
22760 | if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then | 22615 | if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then |
22761 | # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | 22616 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. |
22762 | for ac_var in incroot usrlibdir libdir; do | 22617 | for ac_var in incroot usrlibdir libdir; do |
22763 | eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" | 22618 | eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" |
22764 | done | 22619 | done |
@@ -22844,7 +22699,7 @@ else | |||
22844 | fi | 22699 | fi |
22845 | done | 22700 | done |
22846 | fi | 22701 | fi |
22847 | rm -f conftest.err conftest.$ac_ext | 22702 | rm -f conftest.err conftest.i conftest.$ac_ext |
22848 | fi # $ac_x_includes = no | 22703 | fi # $ac_x_includes = no |
22849 | 22704 | ||
22850 | if test "$ac_x_libraries" = no; then | 22705 | if test "$ac_x_libraries" = no; then |
@@ -24710,46 +24565,44 @@ pkg_failed=no | |||
24710 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVAS" >&5 | 24565 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVAS" >&5 |
24711 | $as_echo_n "checking for EVAS... " >&6; } | 24566 | $as_echo_n "checking for EVAS... " >&6; } |
24712 | 24567 | ||
24713 | if test -n "$PKG_CONFIG"; then | 24568 | if test -n "$EVAS_CFLAGS"; then |
24714 | if test -n "$EVAS_CFLAGS"; then | 24569 | pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS" |
24715 | pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS" | 24570 | elif test -n "$PKG_CONFIG"; then |
24716 | else | 24571 | if test -n "$PKG_CONFIG" && \ |
24717 | if test -n "$PKG_CONFIG" && \ | 24572 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.2.0\""; } >&5 |
24718 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.1.99\""; } >&5 | 24573 | ($PKG_CONFIG --exists --print-errors "evas >= 1.2.0") 2>&5 |
24719 | ($PKG_CONFIG --exists --print-errors "evas >= 1.1.99") 2>&5 | ||
24720 | ac_status=$? | 24574 | ac_status=$? |
24721 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 24575 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
24722 | test $ac_status = 0; }; then | 24576 | test $ac_status = 0; }; then |
24723 | pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.1.99" 2>/dev/null` | 24577 | pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.2.0" 2>/dev/null` |
24724 | else | 24578 | else |
24725 | pkg_failed=yes | 24579 | pkg_failed=yes |
24726 | fi | 24580 | fi |
24727 | fi | 24581 | else |
24728 | else | 24582 | pkg_failed=untried |
24729 | pkg_failed=untried | ||
24730 | fi | 24583 | fi |
24731 | if test -n "$PKG_CONFIG"; then | 24584 | if test -n "$EVAS_LIBS"; then |
24732 | if test -n "$EVAS_LIBS"; then | 24585 | pkg_cv_EVAS_LIBS="$EVAS_LIBS" |
24733 | pkg_cv_EVAS_LIBS="$EVAS_LIBS" | 24586 | elif test -n "$PKG_CONFIG"; then |
24734 | else | 24587 | if test -n "$PKG_CONFIG" && \ |
24735 | if test -n "$PKG_CONFIG" && \ | 24588 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.2.0\""; } >&5 |
24736 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.1.99\""; } >&5 | 24589 | ($PKG_CONFIG --exists --print-errors "evas >= 1.2.0") 2>&5 |
24737 | ($PKG_CONFIG --exists --print-errors "evas >= 1.1.99") 2>&5 | ||
24738 | ac_status=$? | 24590 | ac_status=$? |
24739 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 24591 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
24740 | test $ac_status = 0; }; then | 24592 | test $ac_status = 0; }; then |
24741 | pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.1.99" 2>/dev/null` | 24593 | pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.2.0" 2>/dev/null` |
24742 | else | 24594 | else |
24743 | pkg_failed=yes | 24595 | pkg_failed=yes |
24744 | fi | 24596 | fi |
24745 | fi | 24597 | else |
24746 | else | 24598 | pkg_failed=untried |
24747 | pkg_failed=untried | ||
24748 | fi | 24599 | fi |
24749 | 24600 | ||
24750 | 24601 | ||
24751 | 24602 | ||
24752 | if test $pkg_failed = yes; then | 24603 | if test $pkg_failed = yes; then |
24604 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
24605 | $as_echo "no" >&6; } | ||
24753 | 24606 | ||
24754 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 24607 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
24755 | _pkg_short_errors_supported=yes | 24608 | _pkg_short_errors_supported=yes |
@@ -24757,17 +24610,17 @@ else | |||
24757 | _pkg_short_errors_supported=no | 24610 | _pkg_short_errors_supported=no |
24758 | fi | 24611 | fi |
24759 | if test $_pkg_short_errors_supported = yes; then | 24612 | if test $_pkg_short_errors_supported = yes; then |
24760 | EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas >= 1.1.99"` | 24613 | EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evas >= 1.2.0" 2>&1` |
24761 | else | 24614 | else |
24762 | EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas >= 1.1.99"` | 24615 | EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "evas >= 1.2.0" 2>&1` |
24763 | fi | 24616 | fi |
24764 | # Put the nasty error message in config.log where it belongs | 24617 | # Put the nasty error message in config.log where it belongs |
24765 | echo "$EVAS_PKG_ERRORS" >&5 | 24618 | echo "$EVAS_PKG_ERRORS" >&5 |
24766 | 24619 | ||
24767 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 24620 | have_evas="no" |
24768 | $as_echo "no" >&6; } | ||
24769 | have_evas="no" | ||
24770 | elif test $pkg_failed = untried; then | 24621 | elif test $pkg_failed = untried; then |
24622 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
24623 | $as_echo "no" >&6; } | ||
24771 | have_evas="no" | 24624 | have_evas="no" |
24772 | else | 24625 | else |
24773 | EVAS_CFLAGS=$pkg_cv_EVAS_CFLAGS | 24626 | EVAS_CFLAGS=$pkg_cv_EVAS_CFLAGS |
@@ -24784,8 +24637,7 @@ for ac_header in sys/select.h sys/prctl.h | |||
24784 | do : | 24637 | do : |
24785 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 24638 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
24786 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 24639 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
24787 | eval as_val=\$$as_ac_Header | 24640 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
24788 | if test "x$as_val" = x""yes; then : | ||
24789 | cat >>confdefs.h <<_ACEOF | 24641 | cat >>confdefs.h <<_ACEOF |
24790 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 24642 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
24791 | _ACEOF | 24643 | _ACEOF |
@@ -25106,8 +24958,7 @@ $as_echo "#define HAVE_SYS_TIME_H 1" >>confdefs.h | |||
25106 | do : | 24958 | do : |
25107 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 24959 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
25108 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 24960 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
25109 | eval as_val=\$$as_ac_Header | 24961 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
25110 | if test "x$as_val" = x""yes; then : | ||
25111 | cat >>confdefs.h <<_ACEOF | 24962 | cat >>confdefs.h <<_ACEOF |
25112 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 24963 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
25113 | _ACEOF | 24964 | _ACEOF |
@@ -25121,12 +24972,49 @@ esac | |||
25121 | 24972 | ||
25122 | # ecore_con | 24973 | # ecore_con |
25123 | 24974 | ||
25124 | for ac_header in arpa/inet.h arpa/nameser.h netinet/tcp.h net/if.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h | 24975 | for ac_header in sys/socket.h |
24976 | do : | ||
24977 | ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" | ||
24978 | if test "x$ac_cv_header_sys_socket_h" = x""yes; then : | ||
24979 | cat >>confdefs.h <<_ACEOF | ||
24980 | #define HAVE_SYS_SOCKET_H 1 | ||
24981 | _ACEOF | ||
24982 | |||
24983 | fi | ||
24984 | |||
24985 | done | ||
24986 | |||
24987 | for ac_header in net/if.h | ||
24988 | do : | ||
24989 | ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" " | ||
24990 | #include <stdio.h> | ||
24991 | #ifdef STDC_HEADERS | ||
24992 | # include <stdlib.h> | ||
24993 | # include <stddef.h> | ||
24994 | #else | ||
24995 | # ifdef HAVE_STDLIB_H | ||
24996 | # include <stdlib.h> | ||
24997 | # endif | ||
24998 | #endif | ||
24999 | #ifdef HAVE_SYS_SOCKET_H | ||
25000 | # include <sys/socket.h> | ||
25001 | #endif | ||
25002 | |||
25003 | " | ||
25004 | if test "x$ac_cv_header_net_if_h" = x""yes; then : | ||
25005 | cat >>confdefs.h <<_ACEOF | ||
25006 | #define HAVE_NET_IF_H 1 | ||
25007 | _ACEOF | ||
25008 | |||
25009 | fi | ||
25010 | |||
25011 | done | ||
25012 | |||
25013 | for ac_header in sys/un.h arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h | ||
25125 | do : | 25014 | do : |
25126 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 25015 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
25127 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 25016 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
25128 | eval as_val=\$$as_ac_Header | 25017 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
25129 | if test "x$as_val" = x""yes; then : | ||
25130 | cat >>confdefs.h <<_ACEOF | 25018 | cat >>confdefs.h <<_ACEOF |
25131 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 25019 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
25132 | _ACEOF | 25020 | _ACEOF |
@@ -25326,7 +25214,7 @@ if test "x${_efl_enable_win32_threads}" = "xyes" ; then | |||
25326 | mingw*) | 25214 | mingw*) |
25327 | ;; | 25215 | ;; |
25328 | *) | 25216 | *) |
25329 | as_fn_error "Win32 threads support requested but non Windows system found." "$LINENO" 5 | 25217 | as_fn_error $? "Win32 threads support requested but non Windows system found." "$LINENO" 5 |
25330 | ;; | 25218 | ;; |
25331 | esac | 25219 | esac |
25332 | fi | 25220 | fi |
@@ -25334,7 +25222,7 @@ fi | |||
25334 | if test "x${_efl_enable_posix_threads}" = "xyes" ; then | 25222 | if test "x${_efl_enable_posix_threads}" = "xyes" ; then |
25335 | case "$host_os" in | 25223 | case "$host_os" in |
25336 | mingw*) | 25224 | mingw*) |
25337 | as_fn_error "POSIX threads support requested but Windows system found." "$LINENO" 5 | 25225 | as_fn_error $? "POSIX threads support requested but Windows system found." "$LINENO" 5 |
25338 | ;; | 25226 | ;; |
25339 | *) | 25227 | *) |
25340 | ;; | 25228 | ;; |
@@ -25397,7 +25285,7 @@ $as_echo_n "checking whether system support POSIX threads... " >&6; } | |||
25397 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 | 25285 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 |
25398 | $as_echo "${_efl_have_posix_threads}" >&6; } | 25286 | $as_echo "${_efl_have_posix_threads}" >&6; } |
25399 | if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then | 25287 | if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then |
25400 | as_fn_error "POSIX threads support requested but not found." "$LINENO" 5 | 25288 | as_fn_error $? "POSIX threads support requested but not found." "$LINENO" 5 |
25401 | fi | 25289 | fi |
25402 | 25290 | ||
25403 | EFL_PTHREAD_CFLAGS="" | 25291 | EFL_PTHREAD_CFLAGS="" |
@@ -25497,9 +25385,8 @@ else | |||
25497 | if test "$ac_cv_type_int" = yes; then | 25385 | if test "$ac_cv_type_int" = yes; then |
25498 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 25386 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
25499 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 25387 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
25500 | { as_fn_set_status 77 | 25388 | as_fn_error 77 "cannot compute sizeof (int) |
25501 | as_fn_error "cannot compute sizeof (int) | 25389 | See \`config.log' for more details" "$LINENO" 5 ; } |
25502 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
25503 | else | 25390 | else |
25504 | ac_cv_sizeof_int=0 | 25391 | ac_cv_sizeof_int=0 |
25505 | fi | 25392 | fi |
@@ -25531,9 +25418,8 @@ else | |||
25531 | if test "$ac_cv_type_long" = yes; then | 25418 | if test "$ac_cv_type_long" = yes; then |
25532 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 25419 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
25533 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 25420 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
25534 | { as_fn_set_status 77 | 25421 | as_fn_error 77 "cannot compute sizeof (long) |
25535 | as_fn_error "cannot compute sizeof (long) | 25422 | See \`config.log' for more details" "$LINENO" 5 ; } |
25536 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
25537 | else | 25423 | else |
25538 | ac_cv_sizeof_long=0 | 25424 | ac_cv_sizeof_long=0 |
25539 | fi | 25425 | fi |
@@ -26149,8 +26035,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h | |||
26149 | 26035 | ||
26150 | ;; #( | 26036 | ;; #( |
26151 | *) | 26037 | *) |
26152 | as_fn_error "unknown endianness | 26038 | as_fn_error $? "unknown endianness |
26153 | presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; | 26039 | presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; |
26154 | esac | 26040 | esac |
26155 | 26041 | ||
26156 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 | 26042 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 |
@@ -26351,14 +26237,12 @@ esac | |||
26351 | 26237 | ||
26352 | 26238 | ||
26353 | ### Checks for library functions | 26239 | ### Checks for library functions |
26354 | 26240 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 | |
26355 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strerror in -lcposix" >&5 | 26241 | $as_echo_n "checking for library containing strerror... " >&6; } |
26356 | $as_echo_n "checking for strerror in -lcposix... " >&6; } | 26242 | if test "${ac_cv_search_strerror+set}" = set; then : |
26357 | if test "${ac_cv_lib_cposix_strerror+set}" = set; then : | ||
26358 | $as_echo_n "(cached) " >&6 | 26243 | $as_echo_n "(cached) " >&6 |
26359 | else | 26244 | else |
26360 | ac_check_lib_save_LIBS=$LIBS | 26245 | ac_func_search_save_LIBS=$LIBS |
26361 | LIBS="-lcposix $LIBS" | ||
26362 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 26246 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
26363 | /* end confdefs.h. */ | 26247 | /* end confdefs.h. */ |
26364 | 26248 | ||
@@ -26377,22 +26261,37 @@ return strerror (); | |||
26377 | return 0; | 26261 | return 0; |
26378 | } | 26262 | } |
26379 | _ACEOF | 26263 | _ACEOF |
26380 | if ac_fn_c_try_link "$LINENO"; then : | 26264 | for ac_lib in '' cposix; do |
26381 | ac_cv_lib_cposix_strerror=yes | 26265 | if test -z "$ac_lib"; then |
26382 | else | 26266 | ac_res="none required" |
26383 | ac_cv_lib_cposix_strerror=no | 26267 | else |
26268 | ac_res=-l$ac_lib | ||
26269 | LIBS="-l$ac_lib $ac_func_search_save_LIBS" | ||
26270 | fi | ||
26271 | if ac_fn_c_try_link "$LINENO"; then : | ||
26272 | ac_cv_search_strerror=$ac_res | ||
26384 | fi | 26273 | fi |
26385 | rm -f core conftest.err conftest.$ac_objext \ | 26274 | rm -f core conftest.err conftest.$ac_objext \ |
26386 | conftest$ac_exeext conftest.$ac_ext | 26275 | conftest$ac_exeext |
26387 | LIBS=$ac_check_lib_save_LIBS | 26276 | if test "${ac_cv_search_strerror+set}" = set; then : |
26388 | fi | 26277 | break |
26389 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cposix_strerror" >&5 | ||
26390 | $as_echo "$ac_cv_lib_cposix_strerror" >&6; } | ||
26391 | if test "x$ac_cv_lib_cposix_strerror" = x""yes; then : | ||
26392 | LIBS="$LIBS -lcposix" | ||
26393 | fi | 26278 | fi |
26279 | done | ||
26280 | if test "${ac_cv_search_strerror+set}" = set; then : | ||
26394 | 26281 | ||
26282 | else | ||
26283 | ac_cv_search_strerror=no | ||
26284 | fi | ||
26285 | rm conftest.$ac_ext | ||
26286 | LIBS=$ac_func_search_save_LIBS | ||
26287 | fi | ||
26288 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 | ||
26289 | $as_echo "$ac_cv_search_strerror" >&6; } | ||
26290 | ac_res=$ac_cv_search_strerror | ||
26291 | if test "$ac_res" != no; then : | ||
26292 | test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | ||
26395 | 26293 | ||
26294 | fi | ||
26396 | 26295 | ||
26397 | # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works | 26296 | # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works |
26398 | # for constant arguments. Useless! | 26297 | # for constant arguments. Useless! |
@@ -26521,8 +26420,7 @@ if test $ac_cv_os_cray = yes; then | |||
26521 | for ac_func in _getb67 GETB67 getb67; do | 26420 | for ac_func in _getb67 GETB67 getb67; do |
26522 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 26421 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
26523 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 26422 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
26524 | eval as_val=\$$as_ac_var | 26423 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
26525 | if test "x$as_val" = x""yes; then : | ||
26526 | 26424 | ||
26527 | cat >>confdefs.h <<_ACEOF | 26425 | cat >>confdefs.h <<_ACEOF |
26528 | #define CRAY_STACKSEG_END $ac_func | 26426 | #define CRAY_STACKSEG_END $ac_func |
@@ -26588,8 +26486,7 @@ for ac_func in gettimeofday strlcpy execvp | |||
26588 | do : | 26486 | do : |
26589 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 26487 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
26590 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 26488 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
26591 | eval as_val=\$$as_ac_var | 26489 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
26592 | if test "x$as_val" = x""yes; then : | ||
26593 | cat >>confdefs.h <<_ACEOF | 26490 | cat >>confdefs.h <<_ACEOF |
26594 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 26491 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
26595 | _ACEOF | 26492 | _ACEOF |
@@ -26661,7 +26558,7 @@ $as_echo "#define HAVE_ATFILE_SOURCE 1" >>confdefs.h | |||
26661 | else | 26558 | else |
26662 | 26559 | ||
26663 | if test "x${have_atfile_source}" = "xyes" ; then | 26560 | if test "x${have_atfile_source}" = "xyes" ; then |
26664 | as_fn_error "required atfile-source but no mkdirat()" "$LINENO" 5 | 26561 | as_fn_error $? "required atfile-source but no mkdirat()" "$LINENO" 5 |
26665 | fi | 26562 | fi |
26666 | have_atfile_source="no" | 26563 | have_atfile_source="no" |
26667 | 26564 | ||
@@ -26670,6 +26567,94 @@ done | |||
26670 | 26567 | ||
26671 | fi | 26568 | fi |
26672 | 26569 | ||
26570 | SHM_OPEN_LIBS="" | ||
26571 | |||
26572 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is in libc" >&5 | ||
26573 | $as_echo_n "checking whether shm_open is in libc... " >&6; } | ||
26574 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
26575 | /* end confdefs.h. */ | ||
26576 | |||
26577 | #include <sys/mman.h> | ||
26578 | #include <sys/stat.h> | ||
26579 | #include <fcntl.h> | ||
26580 | |||
26581 | int | ||
26582 | main () | ||
26583 | { | ||
26584 | |||
26585 | int fd; | ||
26586 | fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); | ||
26587 | shm_unlink("/"); | ||
26588 | |||
26589 | ; | ||
26590 | return 0; | ||
26591 | } | ||
26592 | _ACEOF | ||
26593 | if ac_fn_c_try_link "$LINENO"; then : | ||
26594 | |||
26595 | have_shm_open="yes" | ||
26596 | |||
26597 | $as_echo "#define HAVE_SHM_OPEN 1" >>confdefs.h | ||
26598 | |||
26599 | |||
26600 | else | ||
26601 | have_shm_open="no" | ||
26602 | fi | ||
26603 | rm -f core conftest.err conftest.$ac_objext \ | ||
26604 | conftest$ac_exeext conftest.$ac_ext | ||
26605 | LIBS="${LIBS_save}" | ||
26606 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 | ||
26607 | $as_echo "${have_shm_open}" >&6; } | ||
26608 | |||
26609 | if ! test "x${have_shm_open}" = "xyes" ; then | ||
26610 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is in librt" >&5 | ||
26611 | $as_echo_n "checking whether shm_open is in librt... " >&6; } | ||
26612 | LIBS_save="${LIBS}" | ||
26613 | LIBS="${LIBS} -lrt" | ||
26614 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
26615 | /* end confdefs.h. */ | ||
26616 | |||
26617 | #include <sys/mman.h> | ||
26618 | #include <sys/stat.h> | ||
26619 | #include <fcntl.h> | ||
26620 | |||
26621 | int | ||
26622 | main () | ||
26623 | { | ||
26624 | |||
26625 | int fd; | ||
26626 | fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); | ||
26627 | shm_unlink("/"); | ||
26628 | |||
26629 | ; | ||
26630 | return 0; | ||
26631 | } | ||
26632 | _ACEOF | ||
26633 | if ac_fn_c_try_link "$LINENO"; then : | ||
26634 | |||
26635 | have_shm_open="yes" | ||
26636 | |||
26637 | $as_echo "#define HAVE_SHM_OPEN 1" >>confdefs.h | ||
26638 | |||
26639 | SHM_OPEN_LIBS="-lrt" | ||
26640 | |||
26641 | else | ||
26642 | have_shm_open="no" | ||
26643 | fi | ||
26644 | rm -f core conftest.err conftest.$ac_objext \ | ||
26645 | conftest$ac_exeext conftest.$ac_ext | ||
26646 | LIBS="${LIBS_save}" | ||
26647 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 | ||
26648 | $as_echo "${have_shm_open}" >&6; } | ||
26649 | fi | ||
26650 | |||
26651 | |||
26652 | |||
26653 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open is available" >&5 | ||
26654 | $as_echo_n "checking whether shm_open is available... " >&6; } | ||
26655 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_shm_open}" >&5 | ||
26656 | $as_echo "${have_shm_open}" >&6; } | ||
26657 | |||
26673 | ### Checks for optionnal feature | 26658 | ### Checks for optionnal feature |
26674 | ac_fn_c_check_func "$LINENO" "mallinfo" "ac_cv_func_mallinfo" | 26659 | ac_fn_c_check_func "$LINENO" "mallinfo" "ac_cv_func_mallinfo" |
26675 | if test "x$ac_cv_func_mallinfo" = x""yes; then : | 26660 | if test "x$ac_cv_func_mallinfo" = x""yes; then : |
@@ -26823,11 +26808,10 @@ pkg_failed=no | |||
26823 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 | 26808 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 |
26824 | $as_echo_n "checking for CURL... " >&6; } | 26809 | $as_echo_n "checking for CURL... " >&6; } |
26825 | 26810 | ||
26826 | if test -n "$PKG_CONFIG"; then | 26811 | if test -n "$CURL_CFLAGS"; then |
26827 | if test -n "$CURL_CFLAGS"; then | 26812 | pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" |
26828 | pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" | 26813 | elif test -n "$PKG_CONFIG"; then |
26829 | else | 26814 | if test -n "$PKG_CONFIG" && \ |
26830 | if test -n "$PKG_CONFIG" && \ | ||
26831 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 | 26815 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 |
26832 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 | 26816 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 |
26833 | ac_status=$? | 26817 | ac_status=$? |
@@ -26837,15 +26821,13 @@ if test -n "$PKG_CONFIG"; then | |||
26837 | else | 26821 | else |
26838 | pkg_failed=yes | 26822 | pkg_failed=yes |
26839 | fi | 26823 | fi |
26840 | fi | 26824 | else |
26841 | else | 26825 | pkg_failed=untried |
26842 | pkg_failed=untried | ||
26843 | fi | 26826 | fi |
26844 | if test -n "$PKG_CONFIG"; then | 26827 | if test -n "$CURL_LIBS"; then |
26845 | if test -n "$CURL_LIBS"; then | 26828 | pkg_cv_CURL_LIBS="$CURL_LIBS" |
26846 | pkg_cv_CURL_LIBS="$CURL_LIBS" | 26829 | elif test -n "$PKG_CONFIG"; then |
26847 | else | 26830 | if test -n "$PKG_CONFIG" && \ |
26848 | if test -n "$PKG_CONFIG" && \ | ||
26849 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 | 26831 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 |
26850 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 | 26832 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 |
26851 | ac_status=$? | 26833 | ac_status=$? |
@@ -26855,14 +26837,15 @@ if test -n "$PKG_CONFIG"; then | |||
26855 | else | 26837 | else |
26856 | pkg_failed=yes | 26838 | pkg_failed=yes |
26857 | fi | 26839 | fi |
26858 | fi | 26840 | else |
26859 | else | 26841 | pkg_failed=untried |
26860 | pkg_failed=untried | ||
26861 | fi | 26842 | fi |
26862 | 26843 | ||
26863 | 26844 | ||
26864 | 26845 | ||
26865 | if test $pkg_failed = yes; then | 26846 | if test $pkg_failed = yes; then |
26847 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
26848 | $as_echo "no" >&6; } | ||
26866 | 26849 | ||
26867 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 26850 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
26868 | _pkg_short_errors_supported=yes | 26851 | _pkg_short_errors_supported=yes |
@@ -26870,17 +26853,17 @@ else | |||
26870 | _pkg_short_errors_supported=no | 26853 | _pkg_short_errors_supported=no |
26871 | fi | 26854 | fi |
26872 | if test $_pkg_short_errors_supported = yes; then | 26855 | if test $_pkg_short_errors_supported = yes; then |
26873 | CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"` | 26856 | CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1` |
26874 | else | 26857 | else |
26875 | CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"` | 26858 | CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1` |
26876 | fi | 26859 | fi |
26877 | # Put the nasty error message in config.log where it belongs | 26860 | # Put the nasty error message in config.log where it belongs |
26878 | echo "$CURL_PKG_ERRORS" >&5 | 26861 | echo "$CURL_PKG_ERRORS" >&5 |
26879 | 26862 | ||
26880 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 26863 | _ecore_have_curl="no" |
26881 | $as_echo "no" >&6; } | ||
26882 | _ecore_have_curl="no" | ||
26883 | elif test $pkg_failed = untried; then | 26864 | elif test $pkg_failed = untried; then |
26865 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
26866 | $as_echo "no" >&6; } | ||
26884 | _ecore_have_curl="no" | 26867 | _ecore_have_curl="no" |
26885 | else | 26868 | else |
26886 | CURL_CFLAGS=$pkg_cv_CURL_CFLAGS | 26869 | CURL_CFLAGS=$pkg_cv_CURL_CFLAGS |
@@ -26928,11 +26911,10 @@ pkg_failed=no | |||
26928 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS" >&5 | 26911 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS" >&5 |
26929 | $as_echo_n "checking for TLS... " >&6; } | 26912 | $as_echo_n "checking for TLS... " >&6; } |
26930 | 26913 | ||
26931 | if test -n "$PKG_CONFIG"; then | 26914 | if test -n "$TLS_CFLAGS"; then |
26932 | if test -n "$TLS_CFLAGS"; then | 26915 | pkg_cv_TLS_CFLAGS="$TLS_CFLAGS" |
26933 | pkg_cv_TLS_CFLAGS="$TLS_CFLAGS" | 26916 | elif test -n "$PKG_CONFIG"; then |
26934 | else | 26917 | if test -n "$PKG_CONFIG" && \ |
26935 | if test -n "$PKG_CONFIG" && \ | ||
26936 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 | 26918 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 |
26937 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 | 26919 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 |
26938 | ac_status=$? | 26920 | ac_status=$? |
@@ -26942,15 +26924,13 @@ if test -n "$PKG_CONFIG"; then | |||
26942 | else | 26924 | else |
26943 | pkg_failed=yes | 26925 | pkg_failed=yes |
26944 | fi | 26926 | fi |
26945 | fi | 26927 | else |
26946 | else | 26928 | pkg_failed=untried |
26947 | pkg_failed=untried | ||
26948 | fi | 26929 | fi |
26949 | if test -n "$PKG_CONFIG"; then | 26930 | if test -n "$TLS_LIBS"; then |
26950 | if test -n "$TLS_LIBS"; then | 26931 | pkg_cv_TLS_LIBS="$TLS_LIBS" |
26951 | pkg_cv_TLS_LIBS="$TLS_LIBS" | 26932 | elif test -n "$PKG_CONFIG"; then |
26952 | else | 26933 | if test -n "$PKG_CONFIG" && \ |
26953 | if test -n "$PKG_CONFIG" && \ | ||
26954 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 | 26934 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 |
26955 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 | 26935 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 |
26956 | ac_status=$? | 26936 | ac_status=$? |
@@ -26960,14 +26940,15 @@ if test -n "$PKG_CONFIG"; then | |||
26960 | else | 26940 | else |
26961 | pkg_failed=yes | 26941 | pkg_failed=yes |
26962 | fi | 26942 | fi |
26963 | fi | 26943 | else |
26964 | else | 26944 | pkg_failed=untried |
26965 | pkg_failed=untried | ||
26966 | fi | 26945 | fi |
26967 | 26946 | ||
26968 | 26947 | ||
26969 | 26948 | ||
26970 | if test $pkg_failed = yes; then | 26949 | if test $pkg_failed = yes; then |
26950 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
26951 | $as_echo "no" >&6; } | ||
26971 | 26952 | ||
26972 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 26953 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
26973 | _pkg_short_errors_supported=yes | 26954 | _pkg_short_errors_supported=yes |
@@ -26975,17 +26956,17 @@ else | |||
26975 | _pkg_short_errors_supported=no | 26956 | _pkg_short_errors_supported=no |
26976 | fi | 26957 | fi |
26977 | if test $_pkg_short_errors_supported = yes; then | 26958 | if test $_pkg_short_errors_supported = yes; then |
26978 | TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.10.2"` | 26959 | TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.10.2" 2>&1` |
26979 | else | 26960 | else |
26980 | TLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.10.2"` | 26961 | TLS_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.10.2" 2>&1` |
26981 | fi | 26962 | fi |
26982 | # Put the nasty error message in config.log where it belongs | 26963 | # Put the nasty error message in config.log where it belongs |
26983 | echo "$TLS_PKG_ERRORS" >&5 | 26964 | echo "$TLS_PKG_ERRORS" >&5 |
26984 | 26965 | ||
26985 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 26966 | _ecore_have_gnutls="no" |
26986 | $as_echo "no" >&6; } | ||
26987 | _ecore_have_gnutls="no" | ||
26988 | elif test $pkg_failed = untried; then | 26967 | elif test $pkg_failed = untried; then |
26968 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
26969 | $as_echo "no" >&6; } | ||
26989 | _ecore_have_gnutls="no" | 26970 | _ecore_have_gnutls="no" |
26990 | else | 26971 | else |
26991 | TLS_CFLAGS=$pkg_cv_TLS_CFLAGS | 26972 | TLS_CFLAGS=$pkg_cv_TLS_CFLAGS |
@@ -27005,11 +26986,10 @@ pkg_failed=no | |||
27005 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS2" >&5 | 26986 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TLS2" >&5 |
27006 | $as_echo_n "checking for TLS2... " >&6; } | 26987 | $as_echo_n "checking for TLS2... " >&6; } |
27007 | 26988 | ||
27008 | if test -n "$PKG_CONFIG"; then | 26989 | if test -n "$TLS2_CFLAGS"; then |
27009 | if test -n "$TLS2_CFLAGS"; then | 26990 | pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS" |
27010 | pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS" | 26991 | elif test -n "$PKG_CONFIG"; then |
27011 | else | 26992 | if test -n "$PKG_CONFIG" && \ |
27012 | if test -n "$PKG_CONFIG" && \ | ||
27013 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 | 26993 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 |
27014 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 | 26994 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 |
27015 | ac_status=$? | 26995 | ac_status=$? |
@@ -27019,15 +26999,13 @@ if test -n "$PKG_CONFIG"; then | |||
27019 | else | 26999 | else |
27020 | pkg_failed=yes | 27000 | pkg_failed=yes |
27021 | fi | 27001 | fi |
27022 | fi | 27002 | else |
27023 | else | 27003 | pkg_failed=untried |
27024 | pkg_failed=untried | ||
27025 | fi | 27004 | fi |
27026 | if test -n "$PKG_CONFIG"; then | 27005 | if test -n "$TLS2_LIBS"; then |
27027 | if test -n "$TLS2_LIBS"; then | 27006 | pkg_cv_TLS2_LIBS="$TLS2_LIBS" |
27028 | pkg_cv_TLS2_LIBS="$TLS2_LIBS" | 27007 | elif test -n "$PKG_CONFIG"; then |
27029 | else | 27008 | if test -n "$PKG_CONFIG" && \ |
27030 | if test -n "$PKG_CONFIG" && \ | ||
27031 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 | 27009 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5 |
27032 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 | 27010 | ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5 |
27033 | ac_status=$? | 27011 | ac_status=$? |
@@ -27037,14 +27015,15 @@ if test -n "$PKG_CONFIG"; then | |||
27037 | else | 27015 | else |
27038 | pkg_failed=yes | 27016 | pkg_failed=yes |
27039 | fi | 27017 | fi |
27040 | fi | 27018 | else |
27041 | else | 27019 | pkg_failed=untried |
27042 | pkg_failed=untried | ||
27043 | fi | 27020 | fi |
27044 | 27021 | ||
27045 | 27022 | ||
27046 | 27023 | ||
27047 | if test $pkg_failed = yes; then | 27024 | if test $pkg_failed = yes; then |
27025 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27026 | $as_echo "no" >&6; } | ||
27048 | 27027 | ||
27049 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 27028 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
27050 | _pkg_short_errors_supported=yes | 27029 | _pkg_short_errors_supported=yes |
@@ -27052,17 +27031,17 @@ else | |||
27052 | _pkg_short_errors_supported=no | 27031 | _pkg_short_errors_supported=no |
27053 | fi | 27032 | fi |
27054 | if test $_pkg_short_errors_supported = yes; then | 27033 | if test $_pkg_short_errors_supported = yes; then |
27055 | TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.10.2"` | 27034 | TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.10.2" 2>&1` |
27056 | else | 27035 | else |
27057 | TLS2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.10.2"` | 27036 | TLS2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.10.2" 2>&1` |
27058 | fi | 27037 | fi |
27059 | # Put the nasty error message in config.log where it belongs | 27038 | # Put the nasty error message in config.log where it belongs |
27060 | echo "$TLS2_PKG_ERRORS" >&5 | 27039 | echo "$TLS2_PKG_ERRORS" >&5 |
27061 | 27040 | ||
27062 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 27041 | dummy="no" |
27063 | $as_echo "no" >&6; } | ||
27064 | dummy="no" | ||
27065 | elif test $pkg_failed = untried; then | 27042 | elif test $pkg_failed = untried; then |
27043 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27044 | $as_echo "no" >&6; } | ||
27066 | dummy="no" | 27045 | dummy="no" |
27067 | else | 27046 | else |
27068 | TLS2_CFLAGS=$pkg_cv_TLS2_CFLAGS | 27047 | TLS2_CFLAGS=$pkg_cv_TLS2_CFLAGS |
@@ -27220,11 +27199,10 @@ pkg_failed=no | |||
27220 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5 | 27199 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5 |
27221 | $as_echo_n "checking for SSL... " >&6; } | 27200 | $as_echo_n "checking for SSL... " >&6; } |
27222 | 27201 | ||
27223 | if test -n "$PKG_CONFIG"; then | 27202 | if test -n "$SSL_CFLAGS"; then |
27224 | if test -n "$SSL_CFLAGS"; then | 27203 | pkg_cv_SSL_CFLAGS="$SSL_CFLAGS" |
27225 | pkg_cv_SSL_CFLAGS="$SSL_CFLAGS" | 27204 | elif test -n "$PKG_CONFIG"; then |
27226 | else | 27205 | if test -n "$PKG_CONFIG" && \ |
27227 | if test -n "$PKG_CONFIG" && \ | ||
27228 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 | 27206 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 |
27229 | ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 | 27207 | ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 |
27230 | ac_status=$? | 27208 | ac_status=$? |
@@ -27234,15 +27212,13 @@ if test -n "$PKG_CONFIG"; then | |||
27234 | else | 27212 | else |
27235 | pkg_failed=yes | 27213 | pkg_failed=yes |
27236 | fi | 27214 | fi |
27237 | fi | 27215 | else |
27238 | else | 27216 | pkg_failed=untried |
27239 | pkg_failed=untried | ||
27240 | fi | 27217 | fi |
27241 | if test -n "$PKG_CONFIG"; then | 27218 | if test -n "$SSL_LIBS"; then |
27242 | if test -n "$SSL_LIBS"; then | 27219 | pkg_cv_SSL_LIBS="$SSL_LIBS" |
27243 | pkg_cv_SSL_LIBS="$SSL_LIBS" | 27220 | elif test -n "$PKG_CONFIG"; then |
27244 | else | 27221 | if test -n "$PKG_CONFIG" && \ |
27245 | if test -n "$PKG_CONFIG" && \ | ||
27246 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 | 27222 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openssl\""; } >&5 |
27247 | ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 | 27223 | ($PKG_CONFIG --exists --print-errors "openssl") 2>&5 |
27248 | ac_status=$? | 27224 | ac_status=$? |
@@ -27252,14 +27228,15 @@ if test -n "$PKG_CONFIG"; then | |||
27252 | else | 27228 | else |
27253 | pkg_failed=yes | 27229 | pkg_failed=yes |
27254 | fi | 27230 | fi |
27255 | fi | 27231 | else |
27256 | else | 27232 | pkg_failed=untried |
27257 | pkg_failed=untried | ||
27258 | fi | 27233 | fi |
27259 | 27234 | ||
27260 | 27235 | ||
27261 | 27236 | ||
27262 | if test $pkg_failed = yes; then | 27237 | if test $pkg_failed = yes; then |
27238 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27239 | $as_echo "no" >&6; } | ||
27263 | 27240 | ||
27264 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 27241 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
27265 | _pkg_short_errors_supported=yes | 27242 | _pkg_short_errors_supported=yes |
@@ -27267,17 +27244,17 @@ else | |||
27267 | _pkg_short_errors_supported=no | 27244 | _pkg_short_errors_supported=no |
27268 | fi | 27245 | fi |
27269 | if test $_pkg_short_errors_supported = yes; then | 27246 | if test $_pkg_short_errors_supported = yes; then |
27270 | SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "openssl"` | 27247 | SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "openssl" 2>&1` |
27271 | else | 27248 | else |
27272 | SSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"` | 27249 | SSL_PKG_ERRORS=`$PKG_CONFIG --print-errors "openssl" 2>&1` |
27273 | fi | 27250 | fi |
27274 | # Put the nasty error message in config.log where it belongs | 27251 | # Put the nasty error message in config.log where it belongs |
27275 | echo "$SSL_PKG_ERRORS" >&5 | 27252 | echo "$SSL_PKG_ERRORS" >&5 |
27276 | 27253 | ||
27277 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 27254 | _ecore_have_openssl="no" |
27278 | $as_echo "no" >&6; } | ||
27279 | _ecore_have_openssl="no" | ||
27280 | elif test $pkg_failed = untried; then | 27255 | elif test $pkg_failed = untried; then |
27256 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27257 | $as_echo "no" >&6; } | ||
27281 | _ecore_have_openssl="no" | 27258 | _ecore_have_openssl="no" |
27282 | else | 27259 | else |
27283 | SSL_CFLAGS=$pkg_cv_SSL_CFLAGS | 27260 | SSL_CFLAGS=$pkg_cv_SSL_CFLAGS |
@@ -27334,46 +27311,44 @@ pkg_failed=no | |||
27334 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CARES" >&5 | 27311 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CARES" >&5 |
27335 | $as_echo_n "checking for CARES... " >&6; } | 27312 | $as_echo_n "checking for CARES... " >&6; } |
27336 | 27313 | ||
27337 | if test -n "$PKG_CONFIG"; then | 27314 | if test -n "$CARES_CFLAGS"; then |
27338 | if test -n "$CARES_CFLAGS"; then | 27315 | pkg_cv_CARES_CFLAGS="$CARES_CFLAGS" |
27339 | pkg_cv_CARES_CFLAGS="$CARES_CFLAGS" | 27316 | elif test -n "$PKG_CONFIG"; then |
27340 | else | 27317 | if test -n "$PKG_CONFIG" && \ |
27341 | if test -n "$PKG_CONFIG" && \ | 27318 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1\""; } >&5 |
27342 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1 libcares != 1.7.5\""; } >&5 | 27319 | ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1") 2>&5 |
27343 | ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1 libcares != 1.7.5") 2>&5 | ||
27344 | ac_status=$? | 27320 | ac_status=$? |
27345 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 27321 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
27346 | test $ac_status = 0; }; then | 27322 | test $ac_status = 0; }; then |
27347 | pkg_cv_CARES_CFLAGS=`$PKG_CONFIG --cflags "libcares >= 1.6.1 libcares != 1.7.5" 2>/dev/null` | 27323 | pkg_cv_CARES_CFLAGS=`$PKG_CONFIG --cflags "libcares >= 1.6.1" 2>/dev/null` |
27348 | else | 27324 | else |
27349 | pkg_failed=yes | 27325 | pkg_failed=yes |
27350 | fi | 27326 | fi |
27351 | fi | 27327 | else |
27352 | else | 27328 | pkg_failed=untried |
27353 | pkg_failed=untried | ||
27354 | fi | 27329 | fi |
27355 | if test -n "$PKG_CONFIG"; then | 27330 | if test -n "$CARES_LIBS"; then |
27356 | if test -n "$CARES_LIBS"; then | 27331 | pkg_cv_CARES_LIBS="$CARES_LIBS" |
27357 | pkg_cv_CARES_LIBS="$CARES_LIBS" | 27332 | elif test -n "$PKG_CONFIG"; then |
27358 | else | 27333 | if test -n "$PKG_CONFIG" && \ |
27359 | if test -n "$PKG_CONFIG" && \ | 27334 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1\""; } >&5 |
27360 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcares >= 1.6.1 libcares != 1.7.5\""; } >&5 | 27335 | ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1") 2>&5 |
27361 | ($PKG_CONFIG --exists --print-errors "libcares >= 1.6.1 libcares != 1.7.5") 2>&5 | ||
27362 | ac_status=$? | 27336 | ac_status=$? |
27363 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 27337 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
27364 | test $ac_status = 0; }; then | 27338 | test $ac_status = 0; }; then |
27365 | pkg_cv_CARES_LIBS=`$PKG_CONFIG --libs "libcares >= 1.6.1 libcares != 1.7.5" 2>/dev/null` | 27339 | pkg_cv_CARES_LIBS=`$PKG_CONFIG --libs "libcares >= 1.6.1" 2>/dev/null` |
27366 | else | 27340 | else |
27367 | pkg_failed=yes | 27341 | pkg_failed=yes |
27368 | fi | 27342 | fi |
27369 | fi | 27343 | else |
27370 | else | 27344 | pkg_failed=untried |
27371 | pkg_failed=untried | ||
27372 | fi | 27345 | fi |
27373 | 27346 | ||
27374 | 27347 | ||
27375 | 27348 | ||
27376 | if test $pkg_failed = yes; then | 27349 | if test $pkg_failed = yes; then |
27350 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27351 | $as_echo "no" >&6; } | ||
27377 | 27352 | ||
27378 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 27353 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
27379 | _pkg_short_errors_supported=yes | 27354 | _pkg_short_errors_supported=yes |
@@ -27381,17 +27356,17 @@ else | |||
27381 | _pkg_short_errors_supported=no | 27356 | _pkg_short_errors_supported=no |
27382 | fi | 27357 | fi |
27383 | if test $_pkg_short_errors_supported = yes; then | 27358 | if test $_pkg_short_errors_supported = yes; then |
27384 | CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcares >= 1.6.1 libcares != 1.7.5"` | 27359 | CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcares >= 1.6.1" 2>&1` |
27385 | else | 27360 | else |
27386 | CARES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcares >= 1.6.1 libcares != 1.7.5"` | 27361 | CARES_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcares >= 1.6.1" 2>&1` |
27387 | fi | 27362 | fi |
27388 | # Put the nasty error message in config.log where it belongs | 27363 | # Put the nasty error message in config.log where it belongs |
27389 | echo "$CARES_PKG_ERRORS" >&5 | 27364 | echo "$CARES_PKG_ERRORS" >&5 |
27390 | 27365 | ||
27391 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 27366 | _ecore_have_cares="no" |
27392 | $as_echo "no" >&6; } | ||
27393 | _ecore_have_cares="no" | ||
27394 | elif test $pkg_failed = untried; then | 27367 | elif test $pkg_failed = untried; then |
27368 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27369 | $as_echo "no" >&6; } | ||
27395 | _ecore_have_cares="no" | 27370 | _ecore_have_cares="no" |
27396 | else | 27371 | else |
27397 | CARES_CFLAGS=$pkg_cv_CARES_CFLAGS | 27372 | CARES_CFLAGS=$pkg_cv_CARES_CFLAGS |
@@ -27481,8 +27456,8 @@ fi | |||
27481 | 27456 | ||
27482 | if test "x$have_ecore_ipc" = "xyes"; then : | 27457 | if test "x$have_ecore_ipc" = "xyes"; then : |
27483 | 27458 | ||
27484 | requirements_ecore_ipc="ecore-con >= 1.1.99 ${requirements_ecore_ipc}" | 27459 | requirements_ecore_ipc="ecore-con >= 1.2.0 ${requirements_ecore_ipc}" |
27485 | requirements_ecore_evas="ecore-ipc >= 1.1.99 ${requirements_ecore_evas}" | 27460 | requirements_ecore_evas="ecore-ipc >= 1.2.0 ${requirements_ecore_evas}" |
27486 | 27461 | ||
27487 | fi | 27462 | fi |
27488 | 27463 | ||
@@ -27736,7 +27711,7 @@ fi | |||
27736 | 27711 | ||
27737 | 27712 | ||
27738 | if test "x${have_ecore_con}" = "xyes" ; then | 27713 | if test "x${have_ecore_con}" = "xyes" ; then |
27739 | requirements_ecore_file="ecore-con >= 1.1.99 ${requirements_ecore_file}" | 27714 | requirements_ecore_file="ecore-con >= 1.2.0 ${requirements_ecore_file}" |
27740 | else | 27715 | else |
27741 | 27716 | ||
27742 | _ecore_want_curl=${want_curl} | 27717 | _ecore_want_curl=${want_curl} |
@@ -27760,11 +27735,10 @@ pkg_failed=no | |||
27760 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 | 27735 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CURL" >&5 |
27761 | $as_echo_n "checking for CURL... " >&6; } | 27736 | $as_echo_n "checking for CURL... " >&6; } |
27762 | 27737 | ||
27763 | if test -n "$PKG_CONFIG"; then | 27738 | if test -n "$CURL_CFLAGS"; then |
27764 | if test -n "$CURL_CFLAGS"; then | 27739 | pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" |
27765 | pkg_cv_CURL_CFLAGS="$CURL_CFLAGS" | 27740 | elif test -n "$PKG_CONFIG"; then |
27766 | else | 27741 | if test -n "$PKG_CONFIG" && \ |
27767 | if test -n "$PKG_CONFIG" && \ | ||
27768 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 | 27742 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 |
27769 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 | 27743 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 |
27770 | ac_status=$? | 27744 | ac_status=$? |
@@ -27774,15 +27748,13 @@ if test -n "$PKG_CONFIG"; then | |||
27774 | else | 27748 | else |
27775 | pkg_failed=yes | 27749 | pkg_failed=yes |
27776 | fi | 27750 | fi |
27777 | fi | 27751 | else |
27778 | else | 27752 | pkg_failed=untried |
27779 | pkg_failed=untried | ||
27780 | fi | 27753 | fi |
27781 | if test -n "$PKG_CONFIG"; then | 27754 | if test -n "$CURL_LIBS"; then |
27782 | if test -n "$CURL_LIBS"; then | 27755 | pkg_cv_CURL_LIBS="$CURL_LIBS" |
27783 | pkg_cv_CURL_LIBS="$CURL_LIBS" | 27756 | elif test -n "$PKG_CONFIG"; then |
27784 | else | 27757 | if test -n "$PKG_CONFIG" && \ |
27785 | if test -n "$PKG_CONFIG" && \ | ||
27786 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 | 27758 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libcurl\""; } >&5 |
27787 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 | 27759 | ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5 |
27788 | ac_status=$? | 27760 | ac_status=$? |
@@ -27792,14 +27764,15 @@ if test -n "$PKG_CONFIG"; then | |||
27792 | else | 27764 | else |
27793 | pkg_failed=yes | 27765 | pkg_failed=yes |
27794 | fi | 27766 | fi |
27795 | fi | 27767 | else |
27796 | else | 27768 | pkg_failed=untried |
27797 | pkg_failed=untried | ||
27798 | fi | 27769 | fi |
27799 | 27770 | ||
27800 | 27771 | ||
27801 | 27772 | ||
27802 | if test $pkg_failed = yes; then | 27773 | if test $pkg_failed = yes; then |
27774 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27775 | $as_echo "no" >&6; } | ||
27803 | 27776 | ||
27804 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 27777 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
27805 | _pkg_short_errors_supported=yes | 27778 | _pkg_short_errors_supported=yes |
@@ -27807,17 +27780,17 @@ else | |||
27807 | _pkg_short_errors_supported=no | 27780 | _pkg_short_errors_supported=no |
27808 | fi | 27781 | fi |
27809 | if test $_pkg_short_errors_supported = yes; then | 27782 | if test $_pkg_short_errors_supported = yes; then |
27810 | CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"` | 27783 | CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1` |
27811 | else | 27784 | else |
27812 | CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"` | 27785 | CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1` |
27813 | fi | 27786 | fi |
27814 | # Put the nasty error message in config.log where it belongs | 27787 | # Put the nasty error message in config.log where it belongs |
27815 | echo "$CURL_PKG_ERRORS" >&5 | 27788 | echo "$CURL_PKG_ERRORS" >&5 |
27816 | 27789 | ||
27817 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 27790 | _ecore_have_curl="no" |
27818 | $as_echo "no" >&6; } | ||
27819 | _ecore_have_curl="no" | ||
27820 | elif test $pkg_failed = untried; then | 27791 | elif test $pkg_failed = untried; then |
27792 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
27793 | $as_echo "no" >&6; } | ||
27821 | _ecore_have_curl="no" | 27794 | _ecore_have_curl="no" |
27822 | else | 27795 | else |
27823 | CURL_CFLAGS=$pkg_cv_CURL_CFLAGS | 27796 | CURL_CFLAGS=$pkg_cv_CURL_CFLAGS |
@@ -27853,7 +27826,7 @@ fi | |||
27853 | #fi | 27826 | #fi |
27854 | 27827 | ||
27855 | #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], | 27828 | #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], |
27856 | # [requirements_ecore_config="ecore-ipc >= 1.1.99 evas >= 1.1.99 eet >= 1.5.0 ${requirements_ecore_config}"]) | 27829 | # [requirements_ecore_config="ecore-ipc >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 ${requirements_ecore_config}"]) |
27857 | 27830 | ||
27858 | if false; then | 27831 | if false; then |
27859 | BUILD_ECORE_CONFIG_TRUE= | 27832 | BUILD_ECORE_CONFIG_TRUE= |
@@ -27983,7 +27956,7 @@ fi | |||
27983 | 27956 | ||
27984 | 27957 | ||
27985 | if test "x$have_ecore_imf_evas" = "xyes"; then : | 27958 | if test "x$have_ecore_imf_evas" = "xyes"; then : |
27986 | requirements_ecore_imf_evas="ecore-imf >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_imf_evas}" | 27959 | requirements_ecore_imf_evas="ecore-imf >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_imf_evas}" |
27987 | fi | 27960 | fi |
27988 | 27961 | ||
27989 | 27962 | ||
@@ -28103,7 +28076,7 @@ fi | |||
28103 | 28076 | ||
28104 | 28077 | ||
28105 | if test "x$have_ecore_input_evas" = "xyes"; then : | 28078 | if test "x$have_ecore_input_evas" = "xyes"; then : |
28106 | requirements_ecore_input_evas="ecore-input >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_input}" | 28079 | requirements_ecore_input_evas="ecore-input >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_input}" |
28107 | fi | 28080 | fi |
28108 | 28081 | ||
28109 | 28082 | ||
@@ -28183,7 +28156,7 @@ fi | |||
28183 | 28156 | ||
28184 | 28157 | ||
28185 | if test "x$have_ecore_imf_xim" = "xyes"; then : | 28158 | if test "x$have_ecore_imf_xim" = "xyes"; then : |
28186 | requirements_ecore_imf_xim="ecore-imf >= 1.1.99 ecore-x >= 1.1.99 ecore-input >= 1.1.99 ${requirements_ecore_imf_xim}" | 28159 | requirements_ecore_imf_xim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_xim}" |
28187 | fi | 28160 | fi |
28188 | 28161 | ||
28189 | 28162 | ||
@@ -28199,11 +28172,10 @@ pkg_failed=no | |||
28199 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCIM" >&5 | 28172 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SCIM" >&5 |
28200 | $as_echo_n "checking for SCIM... " >&6; } | 28173 | $as_echo_n "checking for SCIM... " >&6; } |
28201 | 28174 | ||
28202 | if test -n "$PKG_CONFIG"; then | 28175 | if test -n "$SCIM_CFLAGS"; then |
28203 | if test -n "$SCIM_CFLAGS"; then | 28176 | pkg_cv_SCIM_CFLAGS="$SCIM_CFLAGS" |
28204 | pkg_cv_SCIM_CFLAGS="$SCIM_CFLAGS" | 28177 | elif test -n "$PKG_CONFIG"; then |
28205 | else | 28178 | if test -n "$PKG_CONFIG" && \ |
28206 | if test -n "$PKG_CONFIG" && \ | ||
28207 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 | 28179 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 |
28208 | ($PKG_CONFIG --exists --print-errors "scim") 2>&5 | 28180 | ($PKG_CONFIG --exists --print-errors "scim") 2>&5 |
28209 | ac_status=$? | 28181 | ac_status=$? |
@@ -28213,15 +28185,13 @@ if test -n "$PKG_CONFIG"; then | |||
28213 | else | 28185 | else |
28214 | pkg_failed=yes | 28186 | pkg_failed=yes |
28215 | fi | 28187 | fi |
28216 | fi | 28188 | else |
28217 | else | 28189 | pkg_failed=untried |
28218 | pkg_failed=untried | ||
28219 | fi | 28190 | fi |
28220 | if test -n "$PKG_CONFIG"; then | 28191 | if test -n "$SCIM_LIBS"; then |
28221 | if test -n "$SCIM_LIBS"; then | 28192 | pkg_cv_SCIM_LIBS="$SCIM_LIBS" |
28222 | pkg_cv_SCIM_LIBS="$SCIM_LIBS" | 28193 | elif test -n "$PKG_CONFIG"; then |
28223 | else | 28194 | if test -n "$PKG_CONFIG" && \ |
28224 | if test -n "$PKG_CONFIG" && \ | ||
28225 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 | 28195 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"scim\""; } >&5 |
28226 | ($PKG_CONFIG --exists --print-errors "scim") 2>&5 | 28196 | ($PKG_CONFIG --exists --print-errors "scim") 2>&5 |
28227 | ac_status=$? | 28197 | ac_status=$? |
@@ -28231,14 +28201,15 @@ if test -n "$PKG_CONFIG"; then | |||
28231 | else | 28201 | else |
28232 | pkg_failed=yes | 28202 | pkg_failed=yes |
28233 | fi | 28203 | fi |
28234 | fi | 28204 | else |
28235 | else | 28205 | pkg_failed=untried |
28236 | pkg_failed=untried | ||
28237 | fi | 28206 | fi |
28238 | 28207 | ||
28239 | 28208 | ||
28240 | 28209 | ||
28241 | if test $pkg_failed = yes; then | 28210 | if test $pkg_failed = yes; then |
28211 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28212 | $as_echo "no" >&6; } | ||
28242 | 28213 | ||
28243 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 28214 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
28244 | _pkg_short_errors_supported=yes | 28215 | _pkg_short_errors_supported=yes |
@@ -28246,17 +28217,17 @@ else | |||
28246 | _pkg_short_errors_supported=no | 28217 | _pkg_short_errors_supported=no |
28247 | fi | 28218 | fi |
28248 | if test $_pkg_short_errors_supported = yes; then | 28219 | if test $_pkg_short_errors_supported = yes; then |
28249 | SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "scim"` | 28220 | SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "scim" 2>&1` |
28250 | else | 28221 | else |
28251 | SCIM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "scim"` | 28222 | SCIM_PKG_ERRORS=`$PKG_CONFIG --print-errors "scim" 2>&1` |
28252 | fi | 28223 | fi |
28253 | # Put the nasty error message in config.log where it belongs | 28224 | # Put the nasty error message in config.log where it belongs |
28254 | echo "$SCIM_PKG_ERRORS" >&5 | 28225 | echo "$SCIM_PKG_ERRORS" >&5 |
28255 | 28226 | ||
28256 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 28227 | have_scim="no" |
28257 | $as_echo "no" >&6; } | ||
28258 | have_scim="no" | ||
28259 | elif test $pkg_failed = untried; then | 28228 | elif test $pkg_failed = untried; then |
28229 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28230 | $as_echo "no" >&6; } | ||
28260 | have_scim="no" | 28231 | have_scim="no" |
28261 | else | 28232 | else |
28262 | SCIM_CFLAGS=$pkg_cv_SCIM_CFLAGS | 28233 | SCIM_CFLAGS=$pkg_cv_SCIM_CFLAGS |
@@ -28335,7 +28306,7 @@ fi | |||
28335 | 28306 | ||
28336 | 28307 | ||
28337 | if test "x$have_ecore_imf_scim" = "xyes"; then : | 28308 | if test "x$have_ecore_imf_scim" = "xyes"; then : |
28338 | requirements_ecore_imf_scim="ecore-imf >= 1.1.0 ecore-x >= 1.1.0 ecore-input >= 1.1.0 ${requirements_ecore_imf_scim}" | 28309 | requirements_ecore_imf_scim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_scim}" |
28339 | fi | 28310 | fi |
28340 | 28311 | ||
28341 | 28312 | ||
@@ -28407,7 +28378,7 @@ fi | |||
28407 | if test "x$have_ecore_x" = "xyes"; then : | 28378 | if test "x$have_ecore_x" = "xyes"; then : |
28408 | 28379 | ||
28409 | ecore_x_libs="$ecore_x_libs $x_libs" | 28380 | ecore_x_libs="$ecore_x_libs $x_libs" |
28410 | requirements_ecore_x="ecore-input >= 1.1.99 ${requirements_ecore_x}" | 28381 | requirements_ecore_x="ecore-input >= 1.2.0 ${requirements_ecore_x}" |
28411 | 28382 | ||
28412 | fi | 28383 | fi |
28413 | 28384 | ||
@@ -28472,7 +28443,7 @@ fi | |||
28472 | if test "x$have_ecore_win32" = "xyes"; then : | 28443 | if test "x$have_ecore_win32" = "xyes"; then : |
28473 | 28444 | ||
28474 | ecore_win32_libs="-lole32 -lgdi32" | 28445 | ecore_win32_libs="-lole32 -lgdi32" |
28475 | requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" | 28446 | requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" |
28476 | 28447 | ||
28477 | fi | 28448 | fi |
28478 | 28449 | ||
@@ -28541,7 +28512,7 @@ fi | |||
28541 | 28512 | ||
28542 | 28513 | ||
28543 | if test "x$have_ecore_cocoa" = "xyes"; then : | 28514 | if test "x$have_ecore_cocoa" = "xyes"; then : |
28544 | requirements_ecore_cocoa="ecore-input >= 1.1.99 ${requirements_ecore_cocoa}" | 28515 | requirements_ecore_cocoa="ecore-input >= 1.2.0 ${requirements_ecore_cocoa}" |
28545 | fi | 28516 | fi |
28546 | 28517 | ||
28547 | 28518 | ||
@@ -28608,7 +28579,7 @@ fi | |||
28608 | 28579 | ||
28609 | 28580 | ||
28610 | if test "x$have_ecore_sdl" = "xyes"; then : | 28581 | if test "x$have_ecore_sdl" = "xyes"; then : |
28611 | requirements_ecore_sdl="ecore-input >= 1.1.99 ${requirements_ecore_sdl}" | 28582 | requirements_ecore_sdl="ecore-input >= 1.2.0 ${requirements_ecore_sdl}" |
28612 | fi | 28583 | fi |
28613 | 28584 | ||
28614 | 28585 | ||
@@ -28668,7 +28639,7 @@ fi | |||
28668 | 28639 | ||
28669 | 28640 | ||
28670 | if test "x$have_ecore_psl1ght" = "xyes"; then : | 28641 | if test "x$have_ecore_psl1ght" = "xyes"; then : |
28671 | requirements_ecore_psl1ght="ecore-input >= 1.1.99 ${requirements_ecore_psl1ght}" | 28642 | requirements_ecore_psl1ght="ecore-input >= 1.2.0 ${requirements_ecore_psl1ght}" |
28672 | fi | 28643 | fi |
28673 | 28644 | ||
28674 | 28645 | ||
@@ -28765,11 +28736,10 @@ pkg_failed=no | |||
28765 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 | 28736 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 |
28766 | $as_echo_n "checking for TSLIB... " >&6; } | 28737 | $as_echo_n "checking for TSLIB... " >&6; } |
28767 | 28738 | ||
28768 | if test -n "$PKG_CONFIG"; then | 28739 | if test -n "$TSLIB_CFLAGS"; then |
28769 | if test -n "$TSLIB_CFLAGS"; then | 28740 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" |
28770 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" | 28741 | elif test -n "$PKG_CONFIG"; then |
28771 | else | 28742 | if test -n "$PKG_CONFIG" && \ |
28772 | if test -n "$PKG_CONFIG" && \ | ||
28773 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 | 28743 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 |
28774 | ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 | 28744 | ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 |
28775 | ac_status=$? | 28745 | ac_status=$? |
@@ -28779,15 +28749,13 @@ if test -n "$PKG_CONFIG"; then | |||
28779 | else | 28749 | else |
28780 | pkg_failed=yes | 28750 | pkg_failed=yes |
28781 | fi | 28751 | fi |
28782 | fi | 28752 | else |
28783 | else | 28753 | pkg_failed=untried |
28784 | pkg_failed=untried | ||
28785 | fi | 28754 | fi |
28786 | if test -n "$PKG_CONFIG"; then | 28755 | if test -n "$TSLIB_LIBS"; then |
28787 | if test -n "$TSLIB_LIBS"; then | 28756 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" |
28788 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" | 28757 | elif test -n "$PKG_CONFIG"; then |
28789 | else | 28758 | if test -n "$PKG_CONFIG" && \ |
28790 | if test -n "$PKG_CONFIG" && \ | ||
28791 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 | 28759 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\""; } >&5 |
28792 | ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 | 28760 | ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5 |
28793 | ac_status=$? | 28761 | ac_status=$? |
@@ -28797,14 +28765,15 @@ if test -n "$PKG_CONFIG"; then | |||
28797 | else | 28765 | else |
28798 | pkg_failed=yes | 28766 | pkg_failed=yes |
28799 | fi | 28767 | fi |
28800 | fi | 28768 | else |
28801 | else | 28769 | pkg_failed=untried |
28802 | pkg_failed=untried | ||
28803 | fi | 28770 | fi |
28804 | 28771 | ||
28805 | 28772 | ||
28806 | 28773 | ||
28807 | if test $pkg_failed = yes; then | 28774 | if test $pkg_failed = yes; then |
28775 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28776 | $as_echo "no" >&6; } | ||
28808 | 28777 | ||
28809 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 28778 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
28810 | _pkg_short_errors_supported=yes | 28779 | _pkg_short_errors_supported=yes |
@@ -28812,26 +28781,23 @@ else | |||
28812 | _pkg_short_errors_supported=no | 28781 | _pkg_short_errors_supported=no |
28813 | fi | 28782 | fi |
28814 | if test $_pkg_short_errors_supported = yes; then | 28783 | if test $_pkg_short_errors_supported = yes; then |
28815 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib-1.0"` | 28784 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib-1.0" 2>&1` |
28816 | else | 28785 | else |
28817 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib-1.0"` | 28786 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib-1.0" 2>&1` |
28818 | fi | 28787 | fi |
28819 | # Put the nasty error message in config.log where it belongs | 28788 | # Put the nasty error message in config.log where it belongs |
28820 | echo "$TSLIB_PKG_ERRORS" >&5 | 28789 | echo "$TSLIB_PKG_ERRORS" >&5 |
28821 | 28790 | ||
28822 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28823 | $as_echo "no" >&6; } | ||
28824 | 28791 | ||
28825 | 28792 | ||
28826 | pkg_failed=no | 28793 | pkg_failed=no |
28827 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 | 28794 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 |
28828 | $as_echo_n "checking for TSLIB... " >&6; } | 28795 | $as_echo_n "checking for TSLIB... " >&6; } |
28829 | 28796 | ||
28830 | if test -n "$PKG_CONFIG"; then | 28797 | if test -n "$TSLIB_CFLAGS"; then |
28831 | if test -n "$TSLIB_CFLAGS"; then | 28798 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" |
28832 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" | 28799 | elif test -n "$PKG_CONFIG"; then |
28833 | else | 28800 | if test -n "$PKG_CONFIG" && \ |
28834 | if test -n "$PKG_CONFIG" && \ | ||
28835 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 | 28801 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 |
28836 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 | 28802 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 |
28837 | ac_status=$? | 28803 | ac_status=$? |
@@ -28841,15 +28807,13 @@ if test -n "$PKG_CONFIG"; then | |||
28841 | else | 28807 | else |
28842 | pkg_failed=yes | 28808 | pkg_failed=yes |
28843 | fi | 28809 | fi |
28844 | fi | 28810 | else |
28845 | else | 28811 | pkg_failed=untried |
28846 | pkg_failed=untried | ||
28847 | fi | 28812 | fi |
28848 | if test -n "$PKG_CONFIG"; then | 28813 | if test -n "$TSLIB_LIBS"; then |
28849 | if test -n "$TSLIB_LIBS"; then | 28814 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" |
28850 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" | 28815 | elif test -n "$PKG_CONFIG"; then |
28851 | else | 28816 | if test -n "$PKG_CONFIG" && \ |
28852 | if test -n "$PKG_CONFIG" && \ | ||
28853 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 | 28817 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 |
28854 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 | 28818 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 |
28855 | ac_status=$? | 28819 | ac_status=$? |
@@ -28859,14 +28823,15 @@ if test -n "$PKG_CONFIG"; then | |||
28859 | else | 28823 | else |
28860 | pkg_failed=yes | 28824 | pkg_failed=yes |
28861 | fi | 28825 | fi |
28862 | fi | 28826 | else |
28863 | else | 28827 | pkg_failed=untried |
28864 | pkg_failed=untried | ||
28865 | fi | 28828 | fi |
28866 | 28829 | ||
28867 | 28830 | ||
28868 | 28831 | ||
28869 | if test $pkg_failed = yes; then | 28832 | if test $pkg_failed = yes; then |
28833 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28834 | $as_echo "no" >&6; } | ||
28870 | 28835 | ||
28871 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 28836 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
28872 | _pkg_short_errors_supported=yes | 28837 | _pkg_short_errors_supported=yes |
@@ -28874,15 +28839,13 @@ else | |||
28874 | _pkg_short_errors_supported=no | 28839 | _pkg_short_errors_supported=no |
28875 | fi | 28840 | fi |
28876 | if test $_pkg_short_errors_supported = yes; then | 28841 | if test $_pkg_short_errors_supported = yes; then |
28877 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"` | 28842 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1` |
28878 | else | 28843 | else |
28879 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"` | 28844 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1` |
28880 | fi | 28845 | fi |
28881 | # Put the nasty error message in config.log where it belongs | 28846 | # Put the nasty error message in config.log where it belongs |
28882 | echo "$TSLIB_PKG_ERRORS" >&5 | 28847 | echo "$TSLIB_PKG_ERRORS" >&5 |
28883 | 28848 | ||
28884 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28885 | $as_echo "no" >&6; } | ||
28886 | 28849 | ||
28887 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" | 28850 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" |
28888 | if test "x$ac_cv_header_tslib_h" = x""yes; then : | 28851 | if test "x$ac_cv_header_tslib_h" = x""yes; then : |
@@ -28994,6 +28957,8 @@ fi | |||
28994 | 28957 | ||
28995 | 28958 | ||
28996 | elif test $pkg_failed = untried; then | 28959 | elif test $pkg_failed = untried; then |
28960 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
28961 | $as_echo "no" >&6; } | ||
28997 | 28962 | ||
28998 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" | 28963 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" |
28999 | if test "x$ac_cv_header_tslib_h" = x""yes; then : | 28964 | if test "x$ac_cv_header_tslib_h" = x""yes; then : |
@@ -29119,17 +29084,18 @@ $as_echo "#define HAVE_TSLIB 1" >>confdefs.h | |||
29119 | fi | 29084 | fi |
29120 | 29085 | ||
29121 | elif test $pkg_failed = untried; then | 29086 | elif test $pkg_failed = untried; then |
29087 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29088 | $as_echo "no" >&6; } | ||
29122 | 29089 | ||
29123 | 29090 | ||
29124 | pkg_failed=no | 29091 | pkg_failed=no |
29125 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 | 29092 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TSLIB" >&5 |
29126 | $as_echo_n "checking for TSLIB... " >&6; } | 29093 | $as_echo_n "checking for TSLIB... " >&6; } |
29127 | 29094 | ||
29128 | if test -n "$PKG_CONFIG"; then | 29095 | if test -n "$TSLIB_CFLAGS"; then |
29129 | if test -n "$TSLIB_CFLAGS"; then | 29096 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" |
29130 | pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS" | 29097 | elif test -n "$PKG_CONFIG"; then |
29131 | else | 29098 | if test -n "$PKG_CONFIG" && \ |
29132 | if test -n "$PKG_CONFIG" && \ | ||
29133 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 | 29099 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 |
29134 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 | 29100 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 |
29135 | ac_status=$? | 29101 | ac_status=$? |
@@ -29139,15 +29105,13 @@ if test -n "$PKG_CONFIG"; then | |||
29139 | else | 29105 | else |
29140 | pkg_failed=yes | 29106 | pkg_failed=yes |
29141 | fi | 29107 | fi |
29142 | fi | 29108 | else |
29143 | else | 29109 | pkg_failed=untried |
29144 | pkg_failed=untried | ||
29145 | fi | 29110 | fi |
29146 | if test -n "$PKG_CONFIG"; then | 29111 | if test -n "$TSLIB_LIBS"; then |
29147 | if test -n "$TSLIB_LIBS"; then | 29112 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" |
29148 | pkg_cv_TSLIB_LIBS="$TSLIB_LIBS" | 29113 | elif test -n "$PKG_CONFIG"; then |
29149 | else | 29114 | if test -n "$PKG_CONFIG" && \ |
29150 | if test -n "$PKG_CONFIG" && \ | ||
29151 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 | 29115 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tslib\""; } >&5 |
29152 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 | 29116 | ($PKG_CONFIG --exists --print-errors "tslib") 2>&5 |
29153 | ac_status=$? | 29117 | ac_status=$? |
@@ -29157,14 +29121,15 @@ if test -n "$PKG_CONFIG"; then | |||
29157 | else | 29121 | else |
29158 | pkg_failed=yes | 29122 | pkg_failed=yes |
29159 | fi | 29123 | fi |
29160 | fi | 29124 | else |
29161 | else | 29125 | pkg_failed=untried |
29162 | pkg_failed=untried | ||
29163 | fi | 29126 | fi |
29164 | 29127 | ||
29165 | 29128 | ||
29166 | 29129 | ||
29167 | if test $pkg_failed = yes; then | 29130 | if test $pkg_failed = yes; then |
29131 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29132 | $as_echo "no" >&6; } | ||
29168 | 29133 | ||
29169 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 29134 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
29170 | _pkg_short_errors_supported=yes | 29135 | _pkg_short_errors_supported=yes |
@@ -29172,15 +29137,13 @@ else | |||
29172 | _pkg_short_errors_supported=no | 29137 | _pkg_short_errors_supported=no |
29173 | fi | 29138 | fi |
29174 | if test $_pkg_short_errors_supported = yes; then | 29139 | if test $_pkg_short_errors_supported = yes; then |
29175 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"` | 29140 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1` |
29176 | else | 29141 | else |
29177 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"` | 29142 | TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1` |
29178 | fi | 29143 | fi |
29179 | # Put the nasty error message in config.log where it belongs | 29144 | # Put the nasty error message in config.log where it belongs |
29180 | echo "$TSLIB_PKG_ERRORS" >&5 | 29145 | echo "$TSLIB_PKG_ERRORS" >&5 |
29181 | 29146 | ||
29182 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29183 | $as_echo "no" >&6; } | ||
29184 | 29147 | ||
29185 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" | 29148 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" |
29186 | if test "x$ac_cv_header_tslib_h" = x""yes; then : | 29149 | if test "x$ac_cv_header_tslib_h" = x""yes; then : |
@@ -29292,6 +29255,8 @@ fi | |||
29292 | 29255 | ||
29293 | 29256 | ||
29294 | elif test $pkg_failed = untried; then | 29257 | elif test $pkg_failed = untried; then |
29258 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29259 | $as_echo "no" >&6; } | ||
29295 | 29260 | ||
29296 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" | 29261 | ac_fn_c_check_header_mongrel "$LINENO" "tslib.h" "ac_cv_header_tslib_h" "$ac_includes_default" |
29297 | if test "x$ac_cv_header_tslib_h" = x""yes; then : | 29262 | if test "x$ac_cv_header_tslib_h" = x""yes; then : |
@@ -29559,7 +29524,7 @@ fi | |||
29559 | 29524 | ||
29560 | 29525 | ||
29561 | if test "x$have_ecore_wince" = "xyes"; then : | 29526 | if test "x$have_ecore_wince" = "xyes"; then : |
29562 | requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" | 29527 | requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" |
29563 | fi | 29528 | fi |
29564 | 29529 | ||
29565 | 29530 | ||
@@ -29574,7 +29539,7 @@ fi | |||
29574 | # ecore_evas | 29539 | # ecore_evas |
29575 | 29540 | ||
29576 | ecore_evas_deps="no" | 29541 | ecore_evas_deps="no" |
29577 | if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then | 29542 | if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then |
29578 | ecore_evas_deps="yes" | 29543 | ecore_evas_deps="yes" |
29579 | fi | 29544 | fi |
29580 | 29545 | ||
@@ -29628,7 +29593,7 @@ fi | |||
29628 | 29593 | ||
29629 | 29594 | ||
29630 | if test "x$have_ecore_evas" = "xyes"; then : | 29595 | if test "x$have_ecore_evas" = "xyes"; then : |
29631 | requirements_ecore_evas="ecore-input >= 1.1.99 ecore-input-evas >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_evas}" | 29596 | requirements_ecore_evas="ecore-input >= 1.2.0 ecore-input-evas >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_evas}" |
29632 | fi | 29597 | fi |
29633 | 29598 | ||
29634 | 29599 | ||
@@ -29662,9 +29627,9 @@ $as_echo_n "checking whether ecore_evas Software Buffer support is to be built.. | |||
29662 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 29627 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
29663 | $as_echo "${want_module}" >&6; } | 29628 | $as_echo "${want_module}" >&6; } |
29664 | 29629 | ||
29665 | if test "xyes" = "xyes" -a \ | 29630 | if test "xyes" = "xyes" && \ |
29666 | "x$have_ecore_evas" = "xyes" -a \ | 29631 | test "x$have_ecore_evas" = "xyes" && \ |
29667 | "x$want_module" = "xyes" ; then | 29632 | test "x$want_module" = "xyes" ; then |
29668 | if test -n "$PKG_CONFIG" && \ | 29633 | if test -n "$PKG_CONFIG" && \ |
29669 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 | 29634 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 |
29670 | ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 | 29635 | ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 |
@@ -29719,9 +29684,9 @@ $as_echo_n "checking whether ecore_evas Software X11 support is to be built... " | |||
29719 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 29684 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
29720 | $as_echo "${want_module}" >&6; } | 29685 | $as_echo "${want_module}" >&6; } |
29721 | 29686 | ||
29722 | if test "x${have_ecore_x}" = "xyes" -a \ | 29687 | if test "x${have_ecore_x}" = "xyes" && \ |
29723 | "x$have_ecore_evas" = "xyes" -a \ | 29688 | test "x$have_ecore_evas" = "xyes" && \ |
29724 | "x$want_module" = "xyes" ; then | 29689 | test "x$want_module" = "xyes" ; then |
29725 | if test -n "$PKG_CONFIG" && \ | 29690 | if test -n "$PKG_CONFIG" && \ |
29726 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\""; } >&5 | 29691 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\""; } >&5 |
29727 | ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5 | 29692 | ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5 |
@@ -29797,9 +29762,9 @@ $as_echo_n "checking whether ecore_evas OpenGL Xlib support is to be built... " | |||
29797 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 29762 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
29798 | $as_echo "${want_module}" >&6; } | 29763 | $as_echo "${want_module}" >&6; } |
29799 | 29764 | ||
29800 | if test "x${have_ecore_x}" = "xyes" -a \ | 29765 | if test "x${have_ecore_x}" = "xyes" && \ |
29801 | "x$have_ecore_evas" = "xyes" -a \ | 29766 | test "x$have_ecore_evas" = "xyes" && \ |
29802 | "x$want_module" = "xyes" ; then | 29767 | test "x$want_module" = "xyes" ; then |
29803 | if test -n "$PKG_CONFIG" && \ | 29768 | if test -n "$PKG_CONFIG" && \ |
29804 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\""; } >&5 | 29769 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\""; } >&5 |
29805 | ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5 | 29770 | ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5 |
@@ -29849,11 +29814,10 @@ pkg_failed=no | |||
29849 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_X11" >&5 | 29814 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB_X11" >&5 |
29850 | $as_echo_n "checking for XCB_X11... " >&6; } | 29815 | $as_echo_n "checking for XCB_X11... " >&6; } |
29851 | 29816 | ||
29852 | if test -n "$PKG_CONFIG"; then | 29817 | if test -n "$XCB_X11_CFLAGS"; then |
29853 | if test -n "$XCB_X11_CFLAGS"; then | 29818 | pkg_cv_XCB_X11_CFLAGS="$XCB_X11_CFLAGS" |
29854 | pkg_cv_XCB_X11_CFLAGS="$XCB_X11_CFLAGS" | 29819 | elif test -n "$PKG_CONFIG"; then |
29855 | else | 29820 | if test -n "$PKG_CONFIG" && \ |
29856 | if test -n "$PKG_CONFIG" && \ | ||
29857 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 | 29821 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 |
29858 | ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 | 29822 | ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 |
29859 | ac_status=$? | 29823 | ac_status=$? |
@@ -29863,15 +29827,13 @@ if test -n "$PKG_CONFIG"; then | |||
29863 | else | 29827 | else |
29864 | pkg_failed=yes | 29828 | pkg_failed=yes |
29865 | fi | 29829 | fi |
29866 | fi | 29830 | else |
29867 | else | 29831 | pkg_failed=untried |
29868 | pkg_failed=untried | ||
29869 | fi | 29832 | fi |
29870 | if test -n "$PKG_CONFIG"; then | 29833 | if test -n "$XCB_X11_LIBS"; then |
29871 | if test -n "$XCB_X11_LIBS"; then | 29834 | pkg_cv_XCB_X11_LIBS="$XCB_X11_LIBS" |
29872 | pkg_cv_XCB_X11_LIBS="$XCB_X11_LIBS" | 29835 | elif test -n "$PKG_CONFIG"; then |
29873 | else | 29836 | if test -n "$PKG_CONFIG" && \ |
29874 | if test -n "$PKG_CONFIG" && \ | ||
29875 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 | 29837 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11-xcb\""; } >&5 |
29876 | ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 | 29838 | ($PKG_CONFIG --exists --print-errors "x11-xcb") 2>&5 |
29877 | ac_status=$? | 29839 | ac_status=$? |
@@ -29881,14 +29843,15 @@ if test -n "$PKG_CONFIG"; then | |||
29881 | else | 29843 | else |
29882 | pkg_failed=yes | 29844 | pkg_failed=yes |
29883 | fi | 29845 | fi |
29884 | fi | 29846 | else |
29885 | else | 29847 | pkg_failed=untried |
29886 | pkg_failed=untried | ||
29887 | fi | 29848 | fi |
29888 | 29849 | ||
29889 | 29850 | ||
29890 | 29851 | ||
29891 | if test $pkg_failed = yes; then | 29852 | if test $pkg_failed = yes; then |
29853 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29854 | $as_echo "no" >&6; } | ||
29892 | 29855 | ||
29893 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 29856 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
29894 | _pkg_short_errors_supported=yes | 29857 | _pkg_short_errors_supported=yes |
@@ -29896,17 +29859,17 @@ else | |||
29896 | _pkg_short_errors_supported=no | 29859 | _pkg_short_errors_supported=no |
29897 | fi | 29860 | fi |
29898 | if test $_pkg_short_errors_supported = yes; then | 29861 | if test $_pkg_short_errors_supported = yes; then |
29899 | XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11-xcb"` | 29862 | XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb" 2>&1` |
29900 | else | 29863 | else |
29901 | XCB_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11-xcb"` | 29864 | XCB_X11_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb" 2>&1` |
29902 | fi | 29865 | fi |
29903 | # Put the nasty error message in config.log where it belongs | 29866 | # Put the nasty error message in config.log where it belongs |
29904 | echo "$XCB_X11_PKG_ERRORS" >&5 | 29867 | echo "$XCB_X11_PKG_ERRORS" >&5 |
29905 | 29868 | ||
29906 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 29869 | have_ecore_x_opengl_xcb="no" |
29907 | $as_echo "no" >&6; } | ||
29908 | have_ecore_x_opengl_xcb="no" | ||
29909 | elif test $pkg_failed = untried; then | 29870 | elif test $pkg_failed = untried; then |
29871 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
29872 | $as_echo "no" >&6; } | ||
29910 | have_ecore_x_opengl_xcb="no" | 29873 | have_ecore_x_opengl_xcb="no" |
29911 | else | 29874 | else |
29912 | XCB_X11_CFLAGS=$pkg_cv_XCB_X11_CFLAGS | 29875 | XCB_X11_CFLAGS=$pkg_cv_XCB_X11_CFLAGS |
@@ -29954,9 +29917,9 @@ $as_echo_n "checking whether ecore_evas Software Xlib 16 bits support is to be b | |||
29954 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 29917 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
29955 | $as_echo "${want_module}" >&6; } | 29918 | $as_echo "${want_module}" >&6; } |
29956 | 29919 | ||
29957 | if test "x${have_ecore_x_xlib}" = "xyes" -a \ | 29920 | if test "x${have_ecore_x_xlib}" = "xyes" && \ |
29958 | "x$have_ecore_evas" = "xyes" -a \ | 29921 | test "x$have_ecore_evas" = "xyes" && \ |
29959 | "x$want_module" = "xyes" ; then | 29922 | test "x$want_module" = "xyes" ; then |
29960 | if test -n "$PKG_CONFIG" && \ | 29923 | if test -n "$PKG_CONFIG" && \ |
29961 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\""; } >&5 | 29924 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\""; } >&5 |
29962 | ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5 | 29925 | ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5 |
@@ -30007,9 +29970,9 @@ $as_echo_n "checking whether ecore_evas Software 8bit X11 support is to be built | |||
30007 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 29970 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30008 | $as_echo "${want_module}" >&6; } | 29971 | $as_echo "${want_module}" >&6; } |
30009 | 29972 | ||
30010 | if test "x$have_ecore_x_xcb" = "xyes" -a \ | 29973 | if test "x$have_ecore_x_xcb" = "xyes" && \ |
30011 | "x$have_ecore_evas" = "xyes" -a \ | 29974 | test "x$have_ecore_evas" = "xyes" && \ |
30012 | "x$want_module" = "xyes" ; then | 29975 | test "x$want_module" = "xyes" ; then |
30013 | if test -n "$PKG_CONFIG" && \ | 29976 | if test -n "$PKG_CONFIG" && \ |
30014 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-8-x11\""; } >&5 | 29977 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-8-x11\""; } >&5 |
30015 | ($PKG_CONFIG --exists --print-errors "evas-software-8-x11") 2>&5 | 29978 | ($PKG_CONFIG --exists --print-errors "evas-software-8-x11") 2>&5 |
@@ -30047,7 +30010,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \ | |||
30047 | 30010 | ||
30048 | $as_echo "#define BUILD_ECORE_EVAS_X11 1" >>confdefs.h | 30011 | $as_echo "#define BUILD_ECORE_EVAS_X11 1" >>confdefs.h |
30049 | 30012 | ||
30050 | requirements_ecore_evas="ecore-x >= 1.1.99 ${requirements_ecore_evas}" | 30013 | requirements_ecore_evas="ecore-x >= 1.2.0 ${requirements_ecore_evas}" |
30051 | fi | 30014 | fi |
30052 | 30015 | ||
30053 | # ecore_evas_win32 | 30016 | # ecore_evas_win32 |
@@ -30074,9 +30037,9 @@ $as_echo_n "checking whether ecore_evas Software GDI support is to be built... " | |||
30074 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30037 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30075 | $as_echo "${want_module}" >&6; } | 30038 | $as_echo "${want_module}" >&6; } |
30076 | 30039 | ||
30077 | if test "x${have_ecore_win32}" = "xyes" -a \ | 30040 | if test "x${have_ecore_win32}" = "xyes" && \ |
30078 | "x$have_ecore_evas" = "xyes" -a \ | 30041 | test "x$have_ecore_evas" = "xyes" && \ |
30079 | "x$want_module" = "xyes" ; then | 30042 | test "x$want_module" = "xyes" ; then |
30080 | if test -n "$PKG_CONFIG" && \ | 30043 | if test -n "$PKG_CONFIG" && \ |
30081 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-gdi\""; } >&5 | 30044 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-gdi\""; } >&5 |
30082 | ($PKG_CONFIG --exists --print-errors "evas-software-gdi") 2>&5 | 30045 | ($PKG_CONFIG --exists --print-errors "evas-software-gdi") 2>&5 |
@@ -30127,9 +30090,9 @@ $as_echo_n "checking whether ecore_evas Software DirectDraw support is to be bui | |||
30127 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30090 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30128 | $as_echo "${want_module}" >&6; } | 30091 | $as_echo "${want_module}" >&6; } |
30129 | 30092 | ||
30130 | if test "x${have_ecore_win32}" = "xyes" -a \ | 30093 | if test "x${have_ecore_win32}" = "xyes" && \ |
30131 | "x$have_ecore_evas" = "xyes" -a \ | 30094 | test "x$have_ecore_evas" = "xyes" && \ |
30132 | "x$want_module" = "xyes" ; then | 30095 | test "x$want_module" = "xyes" ; then |
30133 | if test -n "$PKG_CONFIG" && \ | 30096 | if test -n "$PKG_CONFIG" && \ |
30134 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\""; } >&5 | 30097 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\""; } >&5 |
30135 | ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5 | 30098 | ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5 |
@@ -30180,9 +30143,9 @@ $as_echo_n "checking whether ecore_evas Direct3d support is to be built... " >&6 | |||
30180 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30143 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30181 | $as_echo "${want_module}" >&6; } | 30144 | $as_echo "${want_module}" >&6; } |
30182 | 30145 | ||
30183 | if test "x${have_ecore_win32}" = "xyes" -a \ | 30146 | if test "x${have_ecore_win32}" = "xyes" && \ |
30184 | "x$have_ecore_evas" = "xyes" -a \ | 30147 | test "x$have_ecore_evas" = "xyes" && \ |
30185 | "x$want_module" = "xyes" ; then | 30148 | test "x$want_module" = "xyes" ; then |
30186 | if test -n "$PKG_CONFIG" && \ | 30149 | if test -n "$PKG_CONFIG" && \ |
30187 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\""; } >&5 | 30150 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\""; } >&5 |
30188 | ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5 | 30151 | ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5 |
@@ -30233,9 +30196,9 @@ $as_echo_n "checking whether ecore_evas Glew OpenGL support is to be built... " | |||
30233 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30196 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30234 | $as_echo "${want_module}" >&6; } | 30197 | $as_echo "${want_module}" >&6; } |
30235 | 30198 | ||
30236 | if test "x${have_ecore_win32}" = "xyes" -a \ | 30199 | if test "x${have_ecore_win32}" = "xyes" && \ |
30237 | "x$have_ecore_evas" = "xyes" -a \ | 30200 | test "x$have_ecore_evas" = "xyes" && \ |
30238 | "x$want_module" = "xyes" ; then | 30201 | test "x$want_module" = "xyes" ; then |
30239 | if test -n "$PKG_CONFIG" && \ | 30202 | if test -n "$PKG_CONFIG" && \ |
30240 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\""; } >&5 | 30203 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\""; } >&5 |
30241 | ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5 | 30204 | ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5 |
@@ -30286,9 +30249,9 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software DirectDraw support is to | |||
30286 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30249 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30287 | $as_echo "${want_module}" >&6; } | 30250 | $as_echo "${want_module}" >&6; } |
30288 | 30251 | ||
30289 | if test "x${have_ecore_win32}" = "xyes" -a \ | 30252 | if test "x${have_ecore_win32}" = "xyes" && \ |
30290 | "x$have_ecore_evas" = "xyes" -a \ | 30253 | test "x$have_ecore_evas" = "xyes" && \ |
30291 | "x$want_module" = "xyes" ; then | 30254 | test "x$want_module" = "xyes" ; then |
30292 | if test -n "$PKG_CONFIG" && \ | 30255 | if test -n "$PKG_CONFIG" && \ |
30293 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\""; } >&5 | 30256 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\""; } >&5 |
30294 | ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5 | 30257 | ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5 |
@@ -30325,64 +30288,21 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \ | |||
30325 | 30288 | ||
30326 | $as_echo "#define BUILD_ECORE_EVAS_WIN32 1" >>confdefs.h | 30289 | $as_echo "#define BUILD_ECORE_EVAS_WIN32 1" >>confdefs.h |
30327 | 30290 | ||
30328 | requirements_ecore_evas="ecore-win32 >= 1.1.99 ${requirements_ecore_evas}" | 30291 | requirements_ecore_evas="ecore-win32 >= 1.2.0 ${requirements_ecore_evas}" |
30329 | fi | 30292 | fi |
30330 | 30293 | ||
30331 | # ecore_evas_software_sdl | 30294 | # ecore_evas_software_sdl |
30332 | 30295 | ||
30333 | |||
30334 | |||
30335 | have_ecore_evas_software_sdl="no" | 30296 | have_ecore_evas_software_sdl="no" |
30336 | want_module="${want_ecore_evas_software_sdl}" | 30297 | if test "x${have_ecore_sdl}" = "xyes"; then |
30337 | 30298 | requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" | |
30338 | # Check whether --enable-ecore-evas-software-sdl was given. | 30299 | have_ecore_evas_software_sdl="yes" |
30339 | if test "${enable_ecore_evas_software_sdl+set}" = set; then : | ||
30340 | enableval=$enable_ecore_evas_software_sdl; | ||
30341 | if test "x${enableval}" = "xyes" ; then | ||
30342 | want_module="yes" | ||
30343 | else | ||
30344 | want_module="no" | ||
30345 | fi | ||
30346 | |||
30347 | fi | ||
30348 | |||
30349 | |||
30350 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ecore_evas Software SDL support is to be built" >&5 | ||
30351 | $as_echo_n "checking whether ecore_evas Software SDL support is to be built... " >&6; } | ||
30352 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | ||
30353 | $as_echo "${want_module}" >&6; } | ||
30354 | |||
30355 | if test "x${have_ecore_sdl}" = "xyes" -a \ | ||
30356 | "x$have_ecore_evas" = "xyes" -a \ | ||
30357 | "x$want_module" = "xyes" ; then | ||
30358 | if test -n "$PKG_CONFIG" && \ | ||
30359 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\""; } >&5 | ||
30360 | ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5 | ||
30361 | ac_status=$? | ||
30362 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
30363 | test $ac_status = 0; }; then | ||
30364 | |||
30365 | 30300 | ||
30366 | $as_echo "#define BUILD_ECORE_EVAS_SOFTWARE_SDL 1" >>confdefs.h | 30301 | $as_echo "#define BUILD_ECORE_EVAS_SOFTWARE_SDL 1" >>confdefs.h |
30367 | 30302 | ||
30368 | have_ecore_evas_software_sdl="yes" | 30303 | requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" |
30369 | |||
30370 | fi | ||
30371 | fi | ||
30372 | |||
30373 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ecore_evas Software SDL support is built" >&5 | ||
30374 | $as_echo_n "checking whether ecore_evas Software SDL support is built... " >&6; } | ||
30375 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ecore_evas_software_sdl" >&5 | ||
30376 | $as_echo "$have_ecore_evas_software_sdl" >&6; } | ||
30377 | |||
30378 | if test "x$have_ecore_evas_software_sdl" = "xyes"; then : | ||
30379 | requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}" | ||
30380 | fi | 30304 | fi |
30381 | 30305 | ||
30382 | |||
30383 | |||
30384 | |||
30385 | |||
30386 | # ecore_evas_gl_sdl | 30306 | # ecore_evas_gl_sdl |
30387 | 30307 | ||
30388 | 30308 | ||
@@ -30407,9 +30327,9 @@ $as_echo_n "checking whether ecore_evas OpenGL SDL support is to be built... " > | |||
30407 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30327 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30408 | $as_echo "${want_module}" >&6; } | 30328 | $as_echo "${want_module}" >&6; } |
30409 | 30329 | ||
30410 | if test "x${have_ecore_sdl}" = "xyes" -a \ | 30330 | if test "x${have_ecore_sdl}" = "xyes" && \ |
30411 | "x$have_ecore_evas" = "xyes" -a \ | 30331 | test "x$have_ecore_evas" = "xyes" && \ |
30412 | "x$want_module" = "xyes" ; then | 30332 | test "x$want_module" = "xyes" ; then |
30413 | if test -n "$PKG_CONFIG" && \ | 30333 | if test -n "$PKG_CONFIG" && \ |
30414 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-sdl\""; } >&5 | 30334 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-sdl\""; } >&5 |
30415 | ($PKG_CONFIG --exists --print-errors "evas-opengl-sdl") 2>&5 | 30335 | ($PKG_CONFIG --exists --print-errors "evas-opengl-sdl") 2>&5 |
@@ -30431,7 +30351,7 @@ $as_echo_n "checking whether ecore_evas OpenGL SDL support is built... " >&6; } | |||
30431 | $as_echo "$have_ecore_evas_opengl_sdl" >&6; } | 30351 | $as_echo "$have_ecore_evas_opengl_sdl" >&6; } |
30432 | 30352 | ||
30433 | if test "x$have_ecore_evas_opengl_sdl" = "xyes"; then : | 30353 | if test "x$have_ecore_evas_opengl_sdl" = "xyes"; then : |
30434 | requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}" | 30354 | requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" |
30435 | fi | 30355 | fi |
30436 | 30356 | ||
30437 | 30357 | ||
@@ -30462,9 +30382,9 @@ $as_echo_n "checking whether ecore_evas OpenGL Cocoa support is to be built... " | |||
30462 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30382 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30463 | $as_echo "${want_module}" >&6; } | 30383 | $as_echo "${want_module}" >&6; } |
30464 | 30384 | ||
30465 | if test "x${have_ecore_cocoa}" = "xyes" -a \ | 30385 | if test "x${have_ecore_cocoa}" = "xyes" && \ |
30466 | "x$have_ecore_evas" = "xyes" -a \ | 30386 | test "x$have_ecore_evas" = "xyes" && \ |
30467 | "x$want_module" = "xyes" ; then | 30387 | test "x$want_module" = "xyes" ; then |
30468 | if test -n "$PKG_CONFIG" && \ | 30388 | if test -n "$PKG_CONFIG" && \ |
30469 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-cocoa\""; } >&5 | 30389 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-opengl-cocoa\""; } >&5 |
30470 | ($PKG_CONFIG --exists --print-errors "evas-opengl-cocoa") 2>&5 | 30390 | ($PKG_CONFIG --exists --print-errors "evas-opengl-cocoa") 2>&5 |
@@ -30486,7 +30406,7 @@ $as_echo_n "checking whether ecore_evas OpenGL Cocoa support is built... " >&6; | |||
30486 | $as_echo "$have_ecore_evas_opengl_cocoa" >&6; } | 30406 | $as_echo "$have_ecore_evas_opengl_cocoa" >&6; } |
30487 | 30407 | ||
30488 | if test "x$have_ecore_evas_opengl_cocoa" = "xyes"; then : | 30408 | if test "x$have_ecore_evas_opengl_cocoa" = "xyes"; then : |
30489 | requirements_ecore_evas="ecore-cocoa >= 1.1.99 ${requirements_ecore_evas}" | 30409 | requirements_ecore_evas="ecore-cocoa >= 1.2.0 ${requirements_ecore_evas}" |
30490 | fi | 30410 | fi |
30491 | 30411 | ||
30492 | 30412 | ||
@@ -30517,9 +30437,9 @@ $as_echo_n "checking whether ecore_evas DirectFB support is to be built... " >&6 | |||
30517 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30437 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30518 | $as_echo "${want_module}" >&6; } | 30438 | $as_echo "${want_module}" >&6; } |
30519 | 30439 | ||
30520 | if test "x${have_ecore_directfb}" = "xyes" -a \ | 30440 | if test "x${have_ecore_directfb}" = "xyes" && \ |
30521 | "x$have_ecore_evas" = "xyes" -a \ | 30441 | test "x$have_ecore_evas" = "xyes" && \ |
30522 | "x$want_module" = "xyes" ; then | 30442 | test "x$want_module" = "xyes" ; then |
30523 | if test -n "$PKG_CONFIG" && \ | 30443 | if test -n "$PKG_CONFIG" && \ |
30524 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-directfb\""; } >&5 | 30444 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-directfb\""; } >&5 |
30525 | ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5 | 30445 | ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5 |
@@ -30541,7 +30461,7 @@ $as_echo_n "checking whether ecore_evas DirectFB support is built... " >&6; } | |||
30541 | $as_echo "$have_ecore_evas_directfb" >&6; } | 30461 | $as_echo "$have_ecore_evas_directfb" >&6; } |
30542 | 30462 | ||
30543 | if test "x$have_ecore_evas_directfb" = "xyes"; then : | 30463 | if test "x$have_ecore_evas_directfb" = "xyes"; then : |
30544 | requirements_ecore_evas="ecore-directfb >= 1.1.99 ${requirements_ecore_evas}" | 30464 | requirements_ecore_evas="ecore-directfb >= 1.2.0 ${requirements_ecore_evas}" |
30545 | fi | 30465 | fi |
30546 | 30466 | ||
30547 | 30467 | ||
@@ -30572,9 +30492,9 @@ $as_echo_n "checking whether ecore_evas Linux Framebuffer support is to be built | |||
30572 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30492 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30573 | $as_echo "${want_module}" >&6; } | 30493 | $as_echo "${want_module}" >&6; } |
30574 | 30494 | ||
30575 | if test "x${have_ecore_fb}" = "xyes" -a \ | 30495 | if test "x${have_ecore_fb}" = "xyes" && \ |
30576 | "x$have_ecore_evas" = "xyes" -a \ | 30496 | test "x$have_ecore_evas" = "xyes" && \ |
30577 | "x$want_module" = "xyes" ; then | 30497 | test "x$want_module" = "xyes" ; then |
30578 | if test -n "$PKG_CONFIG" && \ | 30498 | if test -n "$PKG_CONFIG" && \ |
30579 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-fb\""; } >&5 | 30499 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-fb\""; } >&5 |
30580 | ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5 | 30500 | ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5 |
@@ -30596,7 +30516,7 @@ $as_echo_n "checking whether ecore_evas Linux Framebuffer support is built... " | |||
30596 | $as_echo "$have_ecore_evas_fb" >&6; } | 30516 | $as_echo "$have_ecore_evas_fb" >&6; } |
30597 | 30517 | ||
30598 | if test "x$have_ecore_evas_fb" = "xyes"; then : | 30518 | if test "x$have_ecore_evas_fb" = "xyes"; then : |
30599 | requirements_ecore_evas="ecore-fb >= 1.1.99 ${requirements_ecore_evas}" | 30519 | requirements_ecore_evas="ecore-fb >= 1.2.0 ${requirements_ecore_evas}" |
30600 | fi | 30520 | fi |
30601 | 30521 | ||
30602 | 30522 | ||
@@ -30627,9 +30547,9 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software Windows CE support is to | |||
30627 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30547 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30628 | $as_echo "${want_module}" >&6; } | 30548 | $as_echo "${want_module}" >&6; } |
30629 | 30549 | ||
30630 | if test "x${have_ecore_wince}" = "xyes" -a \ | 30550 | if test "x${have_ecore_wince}" = "xyes" && \ |
30631 | "x$have_ecore_evas" = "xyes" -a \ | 30551 | test "x$have_ecore_evas" = "xyes" && \ |
30632 | "x$want_module" = "xyes" ; then | 30552 | test "x$want_module" = "xyes" ; then |
30633 | if test -n "$PKG_CONFIG" && \ | 30553 | if test -n "$PKG_CONFIG" && \ |
30634 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\""; } >&5 | 30554 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\""; } >&5 |
30635 | ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5 | 30555 | ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5 |
@@ -30651,7 +30571,7 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software Windows CE support is bu | |||
30651 | $as_echo "$have_ecore_evas_software_16_wince" >&6; } | 30571 | $as_echo "$have_ecore_evas_software_16_wince" >&6; } |
30652 | 30572 | ||
30653 | if test "x$have_ecore_evas_software_16_wince" = "xyes"; then : | 30573 | if test "x$have_ecore_evas_software_16_wince" = "xyes"; then : |
30654 | requirements_ecore_evas="ecore-wince >= 1.1.99 ${requirements_ecore_evas}" | 30574 | requirements_ecore_evas="ecore-wince >= 1.2.0 ${requirements_ecore_evas}" |
30655 | fi | 30575 | fi |
30656 | 30576 | ||
30657 | 30577 | ||
@@ -30682,9 +30602,9 @@ $as_echo_n "checking whether ecore_evas Ecore Evas Single Process Windowing Syst | |||
30682 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30602 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30683 | $as_echo "${want_module}" >&6; } | 30603 | $as_echo "${want_module}" >&6; } |
30684 | 30604 | ||
30685 | if test "xyes" = "xyes" -a \ | 30605 | if test "xyes" = "xyes" && \ |
30686 | "x$have_ecore_evas" = "xyes" -a \ | 30606 | test "x$have_ecore_evas" = "xyes" && \ |
30687 | "x$want_module" = "xyes" ; then | 30607 | test "x$want_module" = "xyes" ; then |
30688 | if test -n "$PKG_CONFIG" && \ | 30608 | if test -n "$PKG_CONFIG" && \ |
30689 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 | 30609 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\""; } >&5 |
30690 | ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 | 30610 | ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5 |
@@ -30713,6 +30633,25 @@ fi | |||
30713 | 30633 | ||
30714 | 30634 | ||
30715 | 30635 | ||
30636 | # ecore_evas_extn | ||
30637 | |||
30638 | have_extn="yes" | ||
30639 | if test "x${have_ecore_ipc}" = "xno" || \ | ||
30640 | test "x${have_ecore_evas_software_buffer}" = "xno" || \ | ||
30641 | test "x${have_shm_open}" = "xno" ; then | ||
30642 | have_extn="no" | ||
30643 | fi | ||
30644 | |||
30645 | have_ecore_evas_extn="no" | ||
30646 | if test "x${want_ecore_evas_extn}" = "xyes" && \ | ||
30647 | test "x${have_extn}" = "xyes" && \ | ||
30648 | test "x${have_ecore_evas}" = "xyes"; then | ||
30649 | |||
30650 | $as_echo "#define BUILD_ECORE_EVAS_EXTN 1" >>confdefs.h | ||
30651 | |||
30652 | have_ecore_evas_extn="yes" | ||
30653 | fi | ||
30654 | |||
30716 | # ecore_evas_psl1ght | 30655 | # ecore_evas_psl1ght |
30717 | 30656 | ||
30718 | 30657 | ||
@@ -30737,9 +30676,9 @@ $as_echo_n "checking whether ecore_evas PSL1GHT support is to be built... " >&6; | |||
30737 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30676 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30738 | $as_echo "${want_module}" >&6; } | 30677 | $as_echo "${want_module}" >&6; } |
30739 | 30678 | ||
30740 | if test "x${have_ecore_psl1ght}" = "xyes" -a \ | 30679 | if test "x${have_ecore_psl1ght}" = "xyes" && \ |
30741 | "x$have_ecore_evas" = "xyes" -a \ | 30680 | test "x$have_ecore_evas" = "xyes" && \ |
30742 | "x$want_module" = "xyes" ; then | 30681 | test "x$want_module" = "xyes" ; then |
30743 | if test -n "$PKG_CONFIG" && \ | 30682 | if test -n "$PKG_CONFIG" && \ |
30744 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-psl1ght\""; } >&5 | 30683 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-psl1ght\""; } >&5 |
30745 | ($PKG_CONFIG --exists --print-errors "evas-psl1ght") 2>&5 | 30684 | ($PKG_CONFIG --exists --print-errors "evas-psl1ght") 2>&5 |
@@ -30761,7 +30700,7 @@ $as_echo_n "checking whether ecore_evas PSL1GHT support is built... " >&6; } | |||
30761 | $as_echo "$have_ecore_evas_psl1ght" >&6; } | 30700 | $as_echo "$have_ecore_evas_psl1ght" >&6; } |
30762 | 30701 | ||
30763 | if test "x$have_ecore_evas_psl1ght" = "xyes"; then : | 30702 | if test "x$have_ecore_evas_psl1ght" = "xyes"; then : |
30764 | requirements_ecore_evas="ecore-psl1ght >= 1.1.99 ${requirements_ecore_evas}" | 30703 | requirements_ecore_evas="ecore-psl1ght >= 1.2.0 ${requirements_ecore_evas}" |
30765 | fi | 30704 | fi |
30766 | 30705 | ||
30767 | 30706 | ||
@@ -30778,46 +30717,44 @@ pkg_failed=no | |||
30778 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5 | 30717 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5 |
30779 | $as_echo_n "checking for WAYLAND... " >&6; } | 30718 | $as_echo_n "checking for WAYLAND... " >&6; } |
30780 | 30719 | ||
30781 | if test -n "$PKG_CONFIG"; then | 30720 | if test -n "$WAYLAND_CFLAGS"; then |
30782 | if test -n "$WAYLAND_CFLAGS"; then | 30721 | pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" |
30783 | pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" | 30722 | elif test -n "$PKG_CONFIG"; then |
30784 | else | 30723 | if test -n "$PKG_CONFIG" && \ |
30785 | if test -n "$PKG_CONFIG" && \ | 30724 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl wayland-egl wayland-client xkbcommon\""; } >&5 |
30786 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client xkbcommon\""; } >&5 | 30725 | ($PKG_CONFIG --exists --print-errors "egl wayland-egl wayland-client xkbcommon") 2>&5 |
30787 | ($PKG_CONFIG --exists --print-errors "wayland-client xkbcommon") 2>&5 | ||
30788 | ac_status=$? | 30726 | ac_status=$? |
30789 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 30727 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
30790 | test $ac_status = 0; }; then | 30728 | test $ac_status = 0; }; then |
30791 | pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client xkbcommon" 2>/dev/null` | 30729 | pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "egl wayland-egl wayland-client xkbcommon" 2>/dev/null` |
30792 | else | 30730 | else |
30793 | pkg_failed=yes | 30731 | pkg_failed=yes |
30794 | fi | 30732 | fi |
30795 | fi | 30733 | else |
30796 | else | 30734 | pkg_failed=untried |
30797 | pkg_failed=untried | ||
30798 | fi | 30735 | fi |
30799 | if test -n "$PKG_CONFIG"; then | 30736 | if test -n "$WAYLAND_LIBS"; then |
30800 | if test -n "$WAYLAND_LIBS"; then | 30737 | pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" |
30801 | pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" | 30738 | elif test -n "$PKG_CONFIG"; then |
30802 | else | 30739 | if test -n "$PKG_CONFIG" && \ |
30803 | if test -n "$PKG_CONFIG" && \ | 30740 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl wayland-egl wayland-client xkbcommon\""; } >&5 |
30804 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client xkbcommon\""; } >&5 | 30741 | ($PKG_CONFIG --exists --print-errors "egl wayland-egl wayland-client xkbcommon") 2>&5 |
30805 | ($PKG_CONFIG --exists --print-errors "wayland-client xkbcommon") 2>&5 | ||
30806 | ac_status=$? | 30742 | ac_status=$? |
30807 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 30743 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
30808 | test $ac_status = 0; }; then | 30744 | test $ac_status = 0; }; then |
30809 | pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client xkbcommon" 2>/dev/null` | 30745 | pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "egl wayland-egl wayland-client xkbcommon" 2>/dev/null` |
30810 | else | 30746 | else |
30811 | pkg_failed=yes | 30747 | pkg_failed=yes |
30812 | fi | 30748 | fi |
30813 | fi | 30749 | else |
30814 | else | 30750 | pkg_failed=untried |
30815 | pkg_failed=untried | ||
30816 | fi | 30751 | fi |
30817 | 30752 | ||
30818 | 30753 | ||
30819 | 30754 | ||
30820 | if test $pkg_failed = yes; then | 30755 | if test $pkg_failed = yes; then |
30756 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
30757 | $as_echo "no" >&6; } | ||
30821 | 30758 | ||
30822 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 30759 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
30823 | _pkg_short_errors_supported=yes | 30760 | _pkg_short_errors_supported=yes |
@@ -30825,17 +30762,17 @@ else | |||
30825 | _pkg_short_errors_supported=no | 30762 | _pkg_short_errors_supported=no |
30826 | fi | 30763 | fi |
30827 | if test $_pkg_short_errors_supported = yes; then | 30764 | if test $_pkg_short_errors_supported = yes; then |
30828 | WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-client xkbcommon"` | 30765 | WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "egl wayland-egl wayland-client xkbcommon" 2>&1` |
30829 | else | 30766 | else |
30830 | WAYLAND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-client xkbcommon"` | 30767 | WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors "egl wayland-egl wayland-client xkbcommon" 2>&1` |
30831 | fi | 30768 | fi |
30832 | # Put the nasty error message in config.log where it belongs | 30769 | # Put the nasty error message in config.log where it belongs |
30833 | echo "$WAYLAND_PKG_ERRORS" >&5 | 30770 | echo "$WAYLAND_PKG_ERRORS" >&5 |
30834 | 30771 | ||
30835 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 30772 | have_wayland="no" |
30836 | $as_echo "no" >&6; } | ||
30837 | have_wayland="no" | ||
30838 | elif test $pkg_failed = untried; then | 30773 | elif test $pkg_failed = untried; then |
30774 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
30775 | $as_echo "no" >&6; } | ||
30839 | have_wayland="no" | 30776 | have_wayland="no" |
30840 | else | 30777 | else |
30841 | WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS | 30778 | WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS |
@@ -30909,7 +30846,7 @@ fi | |||
30909 | 30846 | ||
30910 | 30847 | ||
30911 | if test "x${have_ecore_wayland}" = "xyes" ; then | 30848 | if test "x${have_ecore_wayland}" = "xyes" ; then |
30912 | requirements_ecore_wayland="ecore-input >= 1.1.0 wayland-client xkbcommon ${requirements_ecore_wayland}" | 30849 | requirements_ecore_wayland="ecore-input >= 1.2.0 egl wayland-egl wayland-client xkbcommon ${requirements_ecore_wayland}" |
30913 | fi | 30850 | fi |
30914 | 30851 | ||
30915 | 30852 | ||
@@ -30934,9 +30871,9 @@ $as_echo_n "checking whether ecore_evas Wayland Shm support is to be built... " | |||
30934 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30871 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30935 | $as_echo "${want_module}" >&6; } | 30872 | $as_echo "${want_module}" >&6; } |
30936 | 30873 | ||
30937 | if test "x${have_ecore_wayland}" = "xyes" -a \ | 30874 | if test "x${have_ecore_wayland}" = "xyes" && \ |
30938 | "x$have_ecore_evas" = "xyes" -a \ | 30875 | test "x$have_ecore_evas" = "xyes" && \ |
30939 | "x$want_module" = "xyes" ; then | 30876 | test "x$want_module" = "xyes" ; then |
30940 | if test -n "$PKG_CONFIG" && \ | 30877 | if test -n "$PKG_CONFIG" && \ |
30941 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-shm\""; } >&5 | 30878 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-shm\""; } >&5 |
30942 | ($PKG_CONFIG --exists --print-errors "evas-wayland-shm") 2>&5 | 30879 | ($PKG_CONFIG --exists --print-errors "evas-wayland-shm") 2>&5 |
@@ -30987,12 +30924,12 @@ $as_echo_n "checking whether ecore_evas Wayland Egl support is to be built... " | |||
30987 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 | 30924 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_module}" >&5 |
30988 | $as_echo "${want_module}" >&6; } | 30925 | $as_echo "${want_module}" >&6; } |
30989 | 30926 | ||
30990 | if test "x${have_ecore_wayland}" = "xyes" -a \ | 30927 | if test "x${have_ecore_wayland}" = "xyes" && \ |
30991 | "x$have_ecore_evas" = "xyes" -a \ | 30928 | test "x$have_ecore_evas" = "xyes" && \ |
30992 | "x$want_module" = "xyes" ; then | 30929 | test "x$want_module" = "xyes" ; then |
30993 | if test -n "$PKG_CONFIG" && \ | 30930 | if test -n "$PKG_CONFIG" && \ |
30994 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-egl\""; } >&5 | 30931 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas-wayland-egl egl\""; } >&5 |
30995 | ($PKG_CONFIG --exists --print-errors "evas-wayland-egl") 2>&5 | 30932 | ($PKG_CONFIG --exists --print-errors "evas-wayland-egl egl") 2>&5 |
30996 | ac_status=$? | 30933 | ac_status=$? |
30997 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 30934 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
30998 | test $ac_status = 0; }; then | 30935 | test $ac_status = 0; }; then |
@@ -31017,11 +30954,10 @@ pkg_failed=no | |||
31017 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_EGL" >&5 | 30954 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_EGL" >&5 |
31018 | $as_echo_n "checking for WAYLAND_EGL... " >&6; } | 30955 | $as_echo_n "checking for WAYLAND_EGL... " >&6; } |
31019 | 30956 | ||
31020 | if test -n "$PKG_CONFIG"; then | 30957 | if test -n "$WAYLAND_EGL_CFLAGS"; then |
31021 | if test -n "$WAYLAND_EGL_CFLAGS"; then | 30958 | pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" |
31022 | pkg_cv_WAYLAND_EGL_CFLAGS="$WAYLAND_EGL_CFLAGS" | 30959 | elif test -n "$PKG_CONFIG"; then |
31023 | else | 30960 | if test -n "$PKG_CONFIG" && \ |
31024 | if test -n "$PKG_CONFIG" && \ | ||
31025 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 | 30961 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 |
31026 | ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 | 30962 | ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 |
31027 | ac_status=$? | 30963 | ac_status=$? |
@@ -31031,15 +30967,13 @@ if test -n "$PKG_CONFIG"; then | |||
31031 | else | 30967 | else |
31032 | pkg_failed=yes | 30968 | pkg_failed=yes |
31033 | fi | 30969 | fi |
31034 | fi | 30970 | else |
31035 | else | 30971 | pkg_failed=untried |
31036 | pkg_failed=untried | ||
31037 | fi | 30972 | fi |
31038 | if test -n "$PKG_CONFIG"; then | 30973 | if test -n "$WAYLAND_EGL_LIBS"; then |
31039 | if test -n "$WAYLAND_EGL_LIBS"; then | 30974 | pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" |
31040 | pkg_cv_WAYLAND_EGL_LIBS="$WAYLAND_EGL_LIBS" | 30975 | elif test -n "$PKG_CONFIG"; then |
31041 | else | 30976 | if test -n "$PKG_CONFIG" && \ |
31042 | if test -n "$PKG_CONFIG" && \ | ||
31043 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 | 30977 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-egl\""; } >&5 |
31044 | ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 | 30978 | ($PKG_CONFIG --exists --print-errors "wayland-egl") 2>&5 |
31045 | ac_status=$? | 30979 | ac_status=$? |
@@ -31049,14 +30983,15 @@ if test -n "$PKG_CONFIG"; then | |||
31049 | else | 30983 | else |
31050 | pkg_failed=yes | 30984 | pkg_failed=yes |
31051 | fi | 30985 | fi |
31052 | fi | 30986 | else |
31053 | else | 30987 | pkg_failed=untried |
31054 | pkg_failed=untried | ||
31055 | fi | 30988 | fi |
31056 | 30989 | ||
31057 | 30990 | ||
31058 | 30991 | ||
31059 | if test $pkg_failed = yes; then | 30992 | if test $pkg_failed = yes; then |
30993 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
30994 | $as_echo "no" >&6; } | ||
31060 | 30995 | ||
31061 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 30996 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
31062 | _pkg_short_errors_supported=yes | 30997 | _pkg_short_errors_supported=yes |
@@ -31064,17 +30999,17 @@ else | |||
31064 | _pkg_short_errors_supported=no | 30999 | _pkg_short_errors_supported=no |
31065 | fi | 31000 | fi |
31066 | if test $_pkg_short_errors_supported = yes; then | 31001 | if test $_pkg_short_errors_supported = yes; then |
31067 | WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-egl"` | 31002 | WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "wayland-egl" 2>&1` |
31068 | else | 31003 | else |
31069 | WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-egl"` | 31004 | WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --print-errors "wayland-egl" 2>&1` |
31070 | fi | 31005 | fi |
31071 | # Put the nasty error message in config.log where it belongs | 31006 | # Put the nasty error message in config.log where it belongs |
31072 | echo "$WAYLAND_EGL_PKG_ERRORS" >&5 | 31007 | echo "$WAYLAND_EGL_PKG_ERRORS" >&5 |
31073 | 31008 | ||
31074 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 31009 | have_wayland_egl="no" |
31075 | $as_echo "no" >&6; } | ||
31076 | have_wayland_egl="no" | ||
31077 | elif test $pkg_failed = untried; then | 31010 | elif test $pkg_failed = untried; then |
31011 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
31012 | $as_echo "no" >&6; } | ||
31078 | have_wayland_egl="no" | 31013 | have_wayland_egl="no" |
31079 | else | 31014 | else |
31080 | WAYLAND_EGL_CFLAGS=$pkg_cv_WAYLAND_EGL_CFLAGS | 31015 | WAYLAND_EGL_CFLAGS=$pkg_cv_WAYLAND_EGL_CFLAGS |
@@ -31093,6 +31028,120 @@ fi | |||
31093 | 31028 | ||
31094 | 31029 | ||
31095 | 31030 | ||
31031 | ### Unit tests | ||
31032 | |||
31033 | |||
31034 | |||
31035 | |||
31036 | # Check whether --enable-tests was given. | ||
31037 | if test "${enable_tests+set}" = set; then : | ||
31038 | enableval=$enable_tests; | ||
31039 | if test "x${enableval}" = "xyes" ; then | ||
31040 | _efl_enable_tests="yes" | ||
31041 | else | ||
31042 | _efl_enable_tests="no" | ||
31043 | fi | ||
31044 | |||
31045 | else | ||
31046 | _efl_enable_tests="no" | ||
31047 | fi | ||
31048 | |||
31049 | |||
31050 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests are built" >&5 | ||
31051 | $as_echo_n "checking whether tests are built... " >&6; } | ||
31052 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_tests}" >&5 | ||
31053 | $as_echo "${_efl_enable_tests}" >&6; } | ||
31054 | |||
31055 | |||
31056 | |||
31057 | if test "x${_efl_enable_tests}" = "xyes" ; then | ||
31058 | |||
31059 | pkg_failed=no | ||
31060 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 | ||
31061 | $as_echo_n "checking for CHECK... " >&6; } | ||
31062 | |||
31063 | if test -n "$CHECK_CFLAGS"; then | ||
31064 | pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" | ||
31065 | elif test -n "$PKG_CONFIG"; then | ||
31066 | if test -n "$PKG_CONFIG" && \ | ||
31067 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | ||
31068 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | ||
31069 | ac_status=$? | ||
31070 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
31071 | test $ac_status = 0; }; then | ||
31072 | pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null` | ||
31073 | else | ||
31074 | pkg_failed=yes | ||
31075 | fi | ||
31076 | else | ||
31077 | pkg_failed=untried | ||
31078 | fi | ||
31079 | if test -n "$CHECK_LIBS"; then | ||
31080 | pkg_cv_CHECK_LIBS="$CHECK_LIBS" | ||
31081 | elif test -n "$PKG_CONFIG"; then | ||
31082 | if test -n "$PKG_CONFIG" && \ | ||
31083 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | ||
31084 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | ||
31085 | ac_status=$? | ||
31086 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
31087 | test $ac_status = 0; }; then | ||
31088 | pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 2>/dev/null` | ||
31089 | else | ||
31090 | pkg_failed=yes | ||
31091 | fi | ||
31092 | else | ||
31093 | pkg_failed=untried | ||
31094 | fi | ||
31095 | |||
31096 | |||
31097 | |||
31098 | if test $pkg_failed = yes; then | ||
31099 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
31100 | $as_echo "no" >&6; } | ||
31101 | |||
31102 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | ||
31103 | _pkg_short_errors_supported=yes | ||
31104 | else | ||
31105 | _pkg_short_errors_supported=no | ||
31106 | fi | ||
31107 | if test $_pkg_short_errors_supported = yes; then | ||
31108 | CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` | ||
31109 | else | ||
31110 | CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` | ||
31111 | fi | ||
31112 | # Put the nasty error message in config.log where it belongs | ||
31113 | echo "$CHECK_PKG_ERRORS" >&5 | ||
31114 | |||
31115 | _efl_enable_tests="no" | ||
31116 | elif test $pkg_failed = untried; then | ||
31117 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
31118 | $as_echo "no" >&6; } | ||
31119 | _efl_enable_tests="no" | ||
31120 | else | ||
31121 | CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS | ||
31122 | CHECK_LIBS=$pkg_cv_CHECK_LIBS | ||
31123 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
31124 | $as_echo "yes" >&6; } | ||
31125 | dummy="yes" | ||
31126 | fi | ||
31127 | fi | ||
31128 | |||
31129 | if test "x${_efl_enable_tests}" = "xyes"; then | ||
31130 | EFL_ENABLE_TESTS_TRUE= | ||
31131 | EFL_ENABLE_TESTS_FALSE='#' | ||
31132 | else | ||
31133 | EFL_ENABLE_TESTS_TRUE='#' | ||
31134 | EFL_ENABLE_TESTS_FALSE= | ||
31135 | fi | ||
31136 | |||
31137 | |||
31138 | if test "x$_efl_enable_tests" = "xyes"; then : | ||
31139 | enable_tests="yes" | ||
31140 | else | ||
31141 | enable_tests="no" | ||
31142 | fi | ||
31143 | |||
31144 | |||
31096 | ### install and build examples | 31145 | ### install and build examples |
31097 | 31146 | ||
31098 | 31147 | ||
@@ -31280,6 +31329,7 @@ DEFS=-DHAVE_CONFIG_H | |||
31280 | 31329 | ||
31281 | ac_libobjs= | 31330 | ac_libobjs= |
31282 | ac_ltlibobjs= | 31331 | ac_ltlibobjs= |
31332 | U= | ||
31283 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | 31333 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
31284 | # 1. Remove the extension, and $U if already installed. | 31334 | # 1. Remove the extension, and $U if already installed. |
31285 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' | 31335 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
@@ -31303,168 +31353,172 @@ else | |||
31303 | fi | 31353 | fi |
31304 | 31354 | ||
31305 | if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then | 31355 | if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then |
31306 | as_fn_error "conditional \"AMDEP\" was never defined. | 31356 | as_fn_error $? "conditional \"AMDEP\" was never defined. |
31307 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31357 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31308 | fi | 31358 | fi |
31309 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then | 31359 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then |
31310 | as_fn_error "conditional \"am__fastdepCC\" was never defined. | 31360 | as_fn_error $? "conditional \"am__fastdepCC\" was never defined. |
31311 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31361 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31312 | fi | 31362 | fi |
31313 | if test -z "${HAVE_PO_TRUE}" && test -z "${HAVE_PO_FALSE}"; then | 31363 | if test -z "${HAVE_PO_TRUE}" && test -z "${HAVE_PO_FALSE}"; then |
31314 | as_fn_error "conditional \"HAVE_PO\" was never defined. | 31364 | as_fn_error $? "conditional \"HAVE_PO\" was never defined. |
31315 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
31316 | fi | ||
31317 | if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then | ||
31318 | as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. | ||
31319 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31365 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31320 | fi | 31366 | fi |
31321 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then | 31367 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then |
31322 | as_fn_error "conditional \"am__fastdepOBJC\" was never defined. | 31368 | as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. |
31323 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31369 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31324 | fi | 31370 | fi |
31325 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then | 31371 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then |
31326 | as_fn_error "conditional \"am__fastdepOBJC\" was never defined. | 31372 | as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. |
31327 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31373 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31328 | fi | 31374 | fi |
31329 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then | 31375 | if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then |
31330 | as_fn_error "conditional \"am__fastdepOBJC\" was never defined. | 31376 | as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined. |
31331 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31377 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31332 | fi | 31378 | fi |
31333 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then | 31379 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then |
31334 | as_fn_error "conditional \"am__fastdepCXX\" was never defined. | 31380 | as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. |
31335 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31381 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31336 | fi | 31382 | fi |
31337 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then | 31383 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then |
31338 | as_fn_error "conditional \"am__fastdepCXX\" was never defined. | 31384 | as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. |
31339 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31385 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31340 | fi | 31386 | fi |
31341 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then | 31387 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then |
31342 | as_fn_error "conditional \"am__fastdepCC\" was never defined. | 31388 | as_fn_error $? "conditional \"am__fastdepCC\" was never defined. |
31343 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31389 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31344 | fi | 31390 | fi |
31345 | if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then | 31391 | if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then |
31346 | as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. | 31392 | as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. |
31393 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
31394 | fi | ||
31395 | if test -z "${ECORE_HAVE_EXOTIC_TRUE}" && test -z "${ECORE_HAVE_EXOTIC_FALSE}"; then | ||
31396 | as_fn_error $? "conditional \"ECORE_HAVE_EXOTIC\" was never defined. | ||
31347 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31397 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31348 | fi | 31398 | fi |
31349 | if test -z "${ECORE_HAVE_WINCE_TRUE}" && test -z "${ECORE_HAVE_WINCE_FALSE}"; then | 31399 | if test -z "${ECORE_HAVE_WINCE_TRUE}" && test -z "${ECORE_HAVE_WINCE_FALSE}"; then |
31350 | as_fn_error "conditional \"ECORE_HAVE_WINCE\" was never defined. | 31400 | as_fn_error $? "conditional \"ECORE_HAVE_WINCE\" was never defined. |
31351 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31401 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31352 | fi | 31402 | fi |
31353 | if test -z "${ECORE_HAVE_WIN32_TRUE}" && test -z "${ECORE_HAVE_WIN32_FALSE}"; then | 31403 | if test -z "${ECORE_HAVE_WIN32_TRUE}" && test -z "${ECORE_HAVE_WIN32_FALSE}"; then |
31354 | as_fn_error "conditional \"ECORE_HAVE_WIN32\" was never defined. | 31404 | as_fn_error $? "conditional \"ECORE_HAVE_WIN32\" was never defined. |
31355 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31405 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31356 | fi | 31406 | fi |
31357 | if test -z "${ECORE_HAVE_PS3_TRUE}" && test -z "${ECORE_HAVE_PS3_FALSE}"; then | 31407 | if test -z "${ECORE_HAVE_PS3_TRUE}" && test -z "${ECORE_HAVE_PS3_FALSE}"; then |
31358 | as_fn_error "conditional \"ECORE_HAVE_PS3\" was never defined. | 31408 | as_fn_error $? "conditional \"ECORE_HAVE_PS3\" was never defined. |
31359 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31409 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31360 | fi | 31410 | fi |
31361 | if test -z "${BUILD_ECORE_X_XLIB_TRUE}" && test -z "${BUILD_ECORE_X_XLIB_FALSE}"; then | 31411 | if test -z "${BUILD_ECORE_X_XLIB_TRUE}" && test -z "${BUILD_ECORE_X_XLIB_FALSE}"; then |
31362 | as_fn_error "conditional \"BUILD_ECORE_X_XLIB\" was never defined. | 31412 | as_fn_error $? "conditional \"BUILD_ECORE_X_XLIB\" was never defined. |
31363 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31413 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31364 | fi | 31414 | fi |
31365 | if test -z "${BUILD_ECORE_X_XCB_TRUE}" && test -z "${BUILD_ECORE_X_XCB_FALSE}"; then | 31415 | if test -z "${BUILD_ECORE_X_XCB_TRUE}" && test -z "${BUILD_ECORE_X_XCB_FALSE}"; then |
31366 | as_fn_error "conditional \"BUILD_ECORE_X_XCB\" was never defined. | 31416 | as_fn_error $? "conditional \"BUILD_ECORE_X_XCB\" was never defined. |
31367 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31417 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31368 | fi | 31418 | fi |
31369 | 31419 | ||
31370 | if test -z "${BUILD_ECORE_CON_TRUE}" && test -z "${BUILD_ECORE_CON_FALSE}"; then | 31420 | if test -z "${BUILD_ECORE_CON_TRUE}" && test -z "${BUILD_ECORE_CON_FALSE}"; then |
31371 | as_fn_error "conditional \"BUILD_ECORE_CON\" was never defined. | 31421 | as_fn_error $? "conditional \"BUILD_ECORE_CON\" was never defined. |
31372 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31422 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31373 | fi | 31423 | fi |
31374 | if test -z "${HAVE_CARES_TRUE}" && test -z "${HAVE_CARES_FALSE}"; then | 31424 | if test -z "${HAVE_CARES_TRUE}" && test -z "${HAVE_CARES_FALSE}"; then |
31375 | as_fn_error "conditional \"HAVE_CARES\" was never defined. | 31425 | as_fn_error $? "conditional \"HAVE_CARES\" was never defined. |
31376 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31426 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31377 | fi | 31427 | fi |
31378 | if test -z "${BUILD_ECORE_IPC_TRUE}" && test -z "${BUILD_ECORE_IPC_FALSE}"; then | 31428 | if test -z "${BUILD_ECORE_IPC_TRUE}" && test -z "${BUILD_ECORE_IPC_FALSE}"; then |
31379 | as_fn_error "conditional \"BUILD_ECORE_IPC\" was never defined. | 31429 | as_fn_error $? "conditional \"BUILD_ECORE_IPC\" was never defined. |
31380 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31430 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31381 | fi | 31431 | fi |
31382 | if test -z "${BUILD_ECORE_FILE_TRUE}" && test -z "${BUILD_ECORE_FILE_FALSE}"; then | 31432 | if test -z "${BUILD_ECORE_FILE_TRUE}" && test -z "${BUILD_ECORE_FILE_FALSE}"; then |
31383 | as_fn_error "conditional \"BUILD_ECORE_FILE\" was never defined. | 31433 | as_fn_error $? "conditional \"BUILD_ECORE_FILE\" was never defined. |
31384 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31434 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31385 | fi | 31435 | fi |
31386 | if test -z "${BUILD_ECORE_CONFIG_TRUE}" && test -z "${BUILD_ECORE_CONFIG_FALSE}"; then | 31436 | if test -z "${BUILD_ECORE_CONFIG_TRUE}" && test -z "${BUILD_ECORE_CONFIG_FALSE}"; then |
31387 | as_fn_error "conditional \"BUILD_ECORE_CONFIG\" was never defined. | 31437 | as_fn_error $? "conditional \"BUILD_ECORE_CONFIG\" was never defined. |
31388 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31438 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31389 | fi | 31439 | fi |
31390 | if test -z "${BUILD_ECORE_IMF_TRUE}" && test -z "${BUILD_ECORE_IMF_FALSE}"; then | 31440 | if test -z "${BUILD_ECORE_IMF_TRUE}" && test -z "${BUILD_ECORE_IMF_FALSE}"; then |
31391 | as_fn_error "conditional \"BUILD_ECORE_IMF\" was never defined. | 31441 | as_fn_error $? "conditional \"BUILD_ECORE_IMF\" was never defined. |
31392 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31442 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31393 | fi | 31443 | fi |
31394 | if test -z "${BUILD_ECORE_IMF_EVAS_TRUE}" && test -z "${BUILD_ECORE_IMF_EVAS_FALSE}"; then | 31444 | if test -z "${BUILD_ECORE_IMF_EVAS_TRUE}" && test -z "${BUILD_ECORE_IMF_EVAS_FALSE}"; then |
31395 | as_fn_error "conditional \"BUILD_ECORE_IMF_EVAS\" was never defined. | 31445 | as_fn_error $? "conditional \"BUILD_ECORE_IMF_EVAS\" was never defined. |
31396 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31446 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31397 | fi | 31447 | fi |
31398 | if test -z "${BUILD_ECORE_INPUT_TRUE}" && test -z "${BUILD_ECORE_INPUT_FALSE}"; then | 31448 | if test -z "${BUILD_ECORE_INPUT_TRUE}" && test -z "${BUILD_ECORE_INPUT_FALSE}"; then |
31399 | as_fn_error "conditional \"BUILD_ECORE_INPUT\" was never defined. | 31449 | as_fn_error $? "conditional \"BUILD_ECORE_INPUT\" was never defined. |
31400 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31450 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31401 | fi | 31451 | fi |
31402 | if test -z "${BUILD_ECORE_INPUT_EVAS_TRUE}" && test -z "${BUILD_ECORE_INPUT_EVAS_FALSE}"; then | 31452 | if test -z "${BUILD_ECORE_INPUT_EVAS_TRUE}" && test -z "${BUILD_ECORE_INPUT_EVAS_FALSE}"; then |
31403 | as_fn_error "conditional \"BUILD_ECORE_INPUT_EVAS\" was never defined. | 31453 | as_fn_error $? "conditional \"BUILD_ECORE_INPUT_EVAS\" was never defined. |
31404 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31454 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31405 | fi | 31455 | fi |
31406 | if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then | 31456 | if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then |
31407 | as_fn_error "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. | 31457 | as_fn_error $? "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. |
31408 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31458 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31409 | fi | 31459 | fi |
31410 | if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then | 31460 | if test -z "${BUILD_ECORE_IMF_XIM_TRUE}" && test -z "${BUILD_ECORE_IMF_XIM_FALSE}"; then |
31411 | as_fn_error "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. | 31461 | as_fn_error $? "conditional \"BUILD_ECORE_IMF_XIM\" was never defined. |
31412 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31462 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31413 | fi | 31463 | fi |
31414 | if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then | 31464 | if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then |
31415 | as_fn_error "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. | 31465 | as_fn_error $? "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. |
31416 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31466 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31417 | fi | 31467 | fi |
31418 | if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then | 31468 | if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FALSE}"; then |
31419 | as_fn_error "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. | 31469 | as_fn_error $? "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined. |
31420 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31470 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31421 | fi | 31471 | fi |
31422 | if test -z "${BUILD_ECORE_X_TRUE}" && test -z "${BUILD_ECORE_X_FALSE}"; then | 31472 | if test -z "${BUILD_ECORE_X_TRUE}" && test -z "${BUILD_ECORE_X_FALSE}"; then |
31423 | as_fn_error "conditional \"BUILD_ECORE_X\" was never defined. | 31473 | as_fn_error $? "conditional \"BUILD_ECORE_X\" was never defined. |
31424 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31474 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31425 | fi | 31475 | fi |
31426 | if test -z "${BUILD_ECORE_WIN32_TRUE}" && test -z "${BUILD_ECORE_WIN32_FALSE}"; then | 31476 | if test -z "${BUILD_ECORE_WIN32_TRUE}" && test -z "${BUILD_ECORE_WIN32_FALSE}"; then |
31427 | as_fn_error "conditional \"BUILD_ECORE_WIN32\" was never defined. | 31477 | as_fn_error $? "conditional \"BUILD_ECORE_WIN32\" was never defined. |
31428 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31478 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31429 | fi | 31479 | fi |
31430 | if test -z "${BUILD_ECORE_COCOA_TRUE}" && test -z "${BUILD_ECORE_COCOA_FALSE}"; then | 31480 | if test -z "${BUILD_ECORE_COCOA_TRUE}" && test -z "${BUILD_ECORE_COCOA_FALSE}"; then |
31431 | as_fn_error "conditional \"BUILD_ECORE_COCOA\" was never defined. | 31481 | as_fn_error $? "conditional \"BUILD_ECORE_COCOA\" was never defined. |
31432 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31482 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31433 | fi | 31483 | fi |
31434 | if test -z "${BUILD_ECORE_SDL_TRUE}" && test -z "${BUILD_ECORE_SDL_FALSE}"; then | 31484 | if test -z "${BUILD_ECORE_SDL_TRUE}" && test -z "${BUILD_ECORE_SDL_FALSE}"; then |
31435 | as_fn_error "conditional \"BUILD_ECORE_SDL\" was never defined. | 31485 | as_fn_error $? "conditional \"BUILD_ECORE_SDL\" was never defined. |
31436 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31486 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31437 | fi | 31487 | fi |
31438 | if test -z "${BUILD_ECORE_PSL1GHT_TRUE}" && test -z "${BUILD_ECORE_PSL1GHT_FALSE}"; then | 31488 | if test -z "${BUILD_ECORE_PSL1GHT_TRUE}" && test -z "${BUILD_ECORE_PSL1GHT_FALSE}"; then |
31439 | as_fn_error "conditional \"BUILD_ECORE_PSL1GHT\" was never defined. | 31489 | as_fn_error $? "conditional \"BUILD_ECORE_PSL1GHT\" was never defined. |
31440 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31490 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31441 | fi | 31491 | fi |
31442 | if test -z "${BUILD_ECORE_FB_TRUE}" && test -z "${BUILD_ECORE_FB_FALSE}"; then | 31492 | if test -z "${BUILD_ECORE_FB_TRUE}" && test -z "${BUILD_ECORE_FB_FALSE}"; then |
31443 | as_fn_error "conditional \"BUILD_ECORE_FB\" was never defined. | 31493 | as_fn_error $? "conditional \"BUILD_ECORE_FB\" was never defined. |
31444 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31494 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31445 | fi | 31495 | fi |
31446 | if test -z "${BUILD_ECORE_DIRECTFB_TRUE}" && test -z "${BUILD_ECORE_DIRECTFB_FALSE}"; then | 31496 | if test -z "${BUILD_ECORE_DIRECTFB_TRUE}" && test -z "${BUILD_ECORE_DIRECTFB_FALSE}"; then |
31447 | as_fn_error "conditional \"BUILD_ECORE_DIRECTFB\" was never defined. | 31497 | as_fn_error $? "conditional \"BUILD_ECORE_DIRECTFB\" was never defined. |
31448 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31498 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31449 | fi | 31499 | fi |
31450 | if test -z "${BUILD_ECORE_WINCE_TRUE}" && test -z "${BUILD_ECORE_WINCE_FALSE}"; then | 31500 | if test -z "${BUILD_ECORE_WINCE_TRUE}" && test -z "${BUILD_ECORE_WINCE_FALSE}"; then |
31451 | as_fn_error "conditional \"BUILD_ECORE_WINCE\" was never defined. | 31501 | as_fn_error $? "conditional \"BUILD_ECORE_WINCE\" was never defined. |
31452 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31502 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31453 | fi | 31503 | fi |
31454 | if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; then | 31504 | if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; then |
31455 | as_fn_error "conditional \"BUILD_ECORE_EVAS\" was never defined. | 31505 | as_fn_error $? "conditional \"BUILD_ECORE_EVAS\" was never defined. |
31456 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31506 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31457 | fi | 31507 | fi |
31458 | if test -z "${BUILD_ECORE_WAYLAND_TRUE}" && test -z "${BUILD_ECORE_WAYLAND_FALSE}"; then | 31508 | if test -z "${BUILD_ECORE_WAYLAND_TRUE}" && test -z "${BUILD_ECORE_WAYLAND_FALSE}"; then |
31459 | as_fn_error "conditional \"BUILD_ECORE_WAYLAND\" was never defined. | 31509 | as_fn_error $? "conditional \"BUILD_ECORE_WAYLAND\" was never defined. |
31510 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
31511 | fi | ||
31512 | if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then | ||
31513 | as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. | ||
31460 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31514 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31461 | fi | 31515 | fi |
31462 | if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then | 31516 | if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then |
31463 | as_fn_error "conditional \"EFL_BUILD_EXAMPLES\" was never defined. | 31517 | as_fn_error $? "conditional \"EFL_BUILD_EXAMPLES\" was never defined. |
31464 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31518 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31465 | fi | 31519 | fi |
31466 | if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then | 31520 | if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then |
31467 | as_fn_error "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. | 31521 | as_fn_error $? "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. |
31468 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 31522 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
31469 | fi | 31523 | fi |
31470 | 31524 | ||
@@ -31614,19 +31668,19 @@ export LANGUAGE | |||
31614 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | 31668 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
31615 | 31669 | ||
31616 | 31670 | ||
31617 | # as_fn_error ERROR [LINENO LOG_FD] | 31671 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
31618 | # --------------------------------- | 31672 | # ---------------------------------------- |
31619 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 31673 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
31620 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 31674 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
31621 | # script with status $?, using 1 if that was 0. | 31675 | # script with STATUS, using 1 if that was 0. |
31622 | as_fn_error () | 31676 | as_fn_error () |
31623 | { | 31677 | { |
31624 | as_status=$?; test $as_status -eq 0 && as_status=1 | 31678 | as_status=$1; test $as_status -eq 0 && as_status=1 |
31625 | if test "$3"; then | 31679 | if test "$4"; then |
31626 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 31680 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
31627 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 31681 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
31628 | fi | 31682 | fi |
31629 | $as_echo "$as_me: error: $1" >&2 | 31683 | $as_echo "$as_me: error: $2" >&2 |
31630 | as_fn_exit $as_status | 31684 | as_fn_exit $as_status |
31631 | } # as_fn_error | 31685 | } # as_fn_error |
31632 | 31686 | ||
@@ -31822,7 +31876,7 @@ $as_echo X"$as_dir" | | |||
31822 | test -d "$as_dir" && break | 31876 | test -d "$as_dir" && break |
31823 | done | 31877 | done |
31824 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 31878 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
31825 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 31879 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
31826 | 31880 | ||
31827 | 31881 | ||
31828 | } # as_fn_mkdir_p | 31882 | } # as_fn_mkdir_p |
@@ -31875,8 +31929,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |||
31875 | # report actual input values of CONFIG_FILES etc. instead of their | 31929 | # report actual input values of CONFIG_FILES etc. instead of their |
31876 | # values after options handling. | 31930 | # values after options handling. |
31877 | ac_log=" | 31931 | ac_log=" |
31878 | This file was extended by ecore $as_me 1.1.99.67344, which was | 31932 | This file was extended by ecore $as_me 1.2.0-alpha, which was |
31879 | generated by GNU Autoconf 2.65. Invocation command line was | 31933 | generated by GNU Autoconf 2.67. Invocation command line was |
31880 | 31934 | ||
31881 | CONFIG_FILES = $CONFIG_FILES | 31935 | CONFIG_FILES = $CONFIG_FILES |
31882 | CONFIG_HEADERS = $CONFIG_HEADERS | 31936 | CONFIG_HEADERS = $CONFIG_HEADERS |
@@ -31941,11 +31995,11 @@ _ACEOF | |||
31941 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 31995 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
31942 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | 31996 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
31943 | ac_cs_version="\\ | 31997 | ac_cs_version="\\ |
31944 | ecore config.status 1.1.99.67344 | 31998 | ecore config.status 1.2.0-alpha |
31945 | configured by $0, generated by GNU Autoconf 2.65, | 31999 | configured by $0, generated by GNU Autoconf 2.67, |
31946 | with options \\"\$ac_cs_config\\" | 32000 | with options \\"\$ac_cs_config\\" |
31947 | 32001 | ||
31948 | Copyright (C) 2009 Free Software Foundation, Inc. | 32002 | Copyright (C) 2010 Free Software Foundation, Inc. |
31949 | This config.status script is free software; the Free Software Foundation | 32003 | This config.status script is free software; the Free Software Foundation |
31950 | gives unlimited permission to copy, distribute and modify it." | 32004 | gives unlimited permission to copy, distribute and modify it." |
31951 | 32005 | ||
@@ -31963,11 +32017,16 @@ ac_need_defaults=: | |||
31963 | while test $# != 0 | 32017 | while test $# != 0 |
31964 | do | 32018 | do |
31965 | case $1 in | 32019 | case $1 in |
31966 | --*=*) | 32020 | --*=?*) |
31967 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | 32021 | ac_option=`expr "X$1" : 'X\([^=]*\)='` |
31968 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` | 32022 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` |
31969 | ac_shift=: | 32023 | ac_shift=: |
31970 | ;; | 32024 | ;; |
32025 | --*=) | ||
32026 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | ||
32027 | ac_optarg= | ||
32028 | ac_shift=: | ||
32029 | ;; | ||
31971 | *) | 32030 | *) |
31972 | ac_option=$1 | 32031 | ac_option=$1 |
31973 | ac_optarg=$2 | 32032 | ac_optarg=$2 |
@@ -31989,6 +32048,7 @@ do | |||
31989 | $ac_shift | 32048 | $ac_shift |
31990 | case $ac_optarg in | 32049 | case $ac_optarg in |
31991 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | 32050 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; |
32051 | '') as_fn_error $? "missing file argument" ;; | ||
31992 | esac | 32052 | esac |
31993 | as_fn_append CONFIG_FILES " '$ac_optarg'" | 32053 | as_fn_append CONFIG_FILES " '$ac_optarg'" |
31994 | ac_need_defaults=false;; | 32054 | ac_need_defaults=false;; |
@@ -32001,7 +32061,7 @@ do | |||
32001 | ac_need_defaults=false;; | 32061 | ac_need_defaults=false;; |
32002 | --he | --h) | 32062 | --he | --h) |
32003 | # Conflict between --help and --header | 32063 | # Conflict between --help and --header |
32004 | as_fn_error "ambiguous option: \`$1' | 32064 | as_fn_error $? "ambiguous option: \`$1' |
32005 | Try \`$0 --help' for more information.";; | 32065 | Try \`$0 --help' for more information.";; |
32006 | --help | --hel | -h ) | 32066 | --help | --hel | -h ) |
32007 | $as_echo "$ac_cs_usage"; exit ;; | 32067 | $as_echo "$ac_cs_usage"; exit ;; |
@@ -32010,7 +32070,7 @@ Try \`$0 --help' for more information.";; | |||
32010 | ac_cs_silent=: ;; | 32070 | ac_cs_silent=: ;; |
32011 | 32071 | ||
32012 | # This is an error. | 32072 | # This is an error. |
32013 | -*) as_fn_error "unrecognized option: \`$1' | 32073 | -*) as_fn_error $? "unrecognized option: \`$1' |
32014 | Try \`$0 --help' for more information." ;; | 32074 | Try \`$0 --help' for more information." ;; |
32015 | 32075 | ||
32016 | *) as_fn_append ac_config_targets " $1" | 32076 | *) as_fn_append ac_config_targets " $1" |
@@ -32484,7 +32544,7 @@ do | |||
32484 | "ecore.spec") CONFIG_FILES="$CONFIG_FILES ecore.spec" ;; | 32544 | "ecore.spec") CONFIG_FILES="$CONFIG_FILES ecore.spec" ;; |
32485 | "$po_makefile_in") CONFIG_FILES="$CONFIG_FILES $po_makefile_in" ;; | 32545 | "$po_makefile_in") CONFIG_FILES="$CONFIG_FILES $po_makefile_in" ;; |
32486 | 32546 | ||
32487 | *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; | 32547 | *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; |
32488 | esac | 32548 | esac |
32489 | done | 32549 | done |
32490 | 32550 | ||
@@ -32522,7 +32582,7 @@ $debug || | |||
32522 | { | 32582 | { |
32523 | tmp=./conf$$-$RANDOM | 32583 | tmp=./conf$$-$RANDOM |
32524 | (umask 077 && mkdir "$tmp") | 32584 | (umask 077 && mkdir "$tmp") |
32525 | } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 | 32585 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
32526 | 32586 | ||
32527 | # Set up the scripts for CONFIG_FILES section. | 32587 | # Set up the scripts for CONFIG_FILES section. |
32528 | # No need to generate them if there are no CONFIG_FILES. | 32588 | # No need to generate them if there are no CONFIG_FILES. |
@@ -32539,7 +32599,7 @@ if test "x$ac_cr" = x; then | |||
32539 | fi | 32599 | fi |
32540 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | 32600 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` |
32541 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | 32601 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then |
32542 | ac_cs_awk_cr='\r' | 32602 | ac_cs_awk_cr='\\r' |
32543 | else | 32603 | else |
32544 | ac_cs_awk_cr=$ac_cr | 32604 | ac_cs_awk_cr=$ac_cr |
32545 | fi | 32605 | fi |
@@ -32553,18 +32613,18 @@ _ACEOF | |||
32553 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && | 32613 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && |
32554 | echo "_ACEOF" | 32614 | echo "_ACEOF" |
32555 | } >conf$$subs.sh || | 32615 | } >conf$$subs.sh || |
32556 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 32616 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
32557 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` | 32617 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` |
32558 | ac_delim='%!_!# ' | 32618 | ac_delim='%!_!# ' |
32559 | for ac_last_try in false false false false false :; do | 32619 | for ac_last_try in false false false false false :; do |
32560 | . ./conf$$subs.sh || | 32620 | . ./conf$$subs.sh || |
32561 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 32621 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
32562 | 32622 | ||
32563 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` | 32623 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` |
32564 | if test $ac_delim_n = $ac_delim_num; then | 32624 | if test $ac_delim_n = $ac_delim_num; then |
32565 | break | 32625 | break |
32566 | elif $ac_last_try; then | 32626 | elif $ac_last_try; then |
32567 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 32627 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
32568 | else | 32628 | else |
32569 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 32629 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
32570 | fi | 32630 | fi |
@@ -32653,20 +32713,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then | |||
32653 | else | 32713 | else |
32654 | cat | 32714 | cat |
32655 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ | 32715 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ |
32656 | || as_fn_error "could not setup config files machinery" "$LINENO" 5 | 32716 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 |
32657 | _ACEOF | 32717 | _ACEOF |
32658 | 32718 | ||
32659 | # VPATH may cause trouble with some makes, so we remove $(srcdir), | 32719 | # VPATH may cause trouble with some makes, so we remove sole $(srcdir), |
32660 | # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and | 32720 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and |
32661 | # trailing colons and then remove the whole line if VPATH becomes empty | 32721 | # trailing colons and then remove the whole line if VPATH becomes empty |
32662 | # (actually we leave an empty line to preserve line numbers). | 32722 | # (actually we leave an empty line to preserve line numbers). |
32663 | if test "x$srcdir" = x.; then | 32723 | if test "x$srcdir" = x.; then |
32664 | ac_vpsub='/^[ ]*VPATH[ ]*=/{ | 32724 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ |
32665 | s/:*\$(srcdir):*/:/ | 32725 | h |
32666 | s/:*\${srcdir}:*/:/ | 32726 | s/// |
32667 | s/:*@srcdir@:*/:/ | 32727 | s/^/:/ |
32668 | s/^\([^=]*=[ ]*\):*/\1/ | 32728 | s/[ ]*$/:/ |
32729 | s/:\$(srcdir):/:/g | ||
32730 | s/:\${srcdir}:/:/g | ||
32731 | s/:@srcdir@:/:/g | ||
32732 | s/^:*// | ||
32669 | s/:*$// | 32733 | s/:*$// |
32734 | x | ||
32735 | s/\(=[ ]*\).*/\1/ | ||
32736 | G | ||
32737 | s/\n// | ||
32670 | s/^[^=]*=[ ]*$// | 32738 | s/^[^=]*=[ ]*$// |
32671 | }' | 32739 | }' |
32672 | fi | 32740 | fi |
@@ -32694,7 +32762,7 @@ for ac_last_try in false false :; do | |||
32694 | if test -z "$ac_t"; then | 32762 | if test -z "$ac_t"; then |
32695 | break | 32763 | break |
32696 | elif $ac_last_try; then | 32764 | elif $ac_last_try; then |
32697 | as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 | 32765 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
32698 | else | 32766 | else |
32699 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 32767 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
32700 | fi | 32768 | fi |
@@ -32779,7 +32847,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | |||
32779 | _ACAWK | 32847 | _ACAWK |
32780 | _ACEOF | 32848 | _ACEOF |
32781 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | 32849 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
32782 | as_fn_error "could not setup config headers machinery" "$LINENO" 5 | 32850 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 |
32783 | fi # test -n "$CONFIG_HEADERS" | 32851 | fi # test -n "$CONFIG_HEADERS" |
32784 | 32852 | ||
32785 | 32853 | ||
@@ -32792,7 +32860,7 @@ do | |||
32792 | esac | 32860 | esac |
32793 | case $ac_mode$ac_tag in | 32861 | case $ac_mode$ac_tag in |
32794 | :[FHL]*:*);; | 32862 | :[FHL]*:*);; |
32795 | :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; | 32863 | :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; |
32796 | :[FH]-) ac_tag=-:-;; | 32864 | :[FH]-) ac_tag=-:-;; |
32797 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; | 32865 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
32798 | esac | 32866 | esac |
@@ -32820,7 +32888,7 @@ do | |||
32820 | [\\/$]*) false;; | 32888 | [\\/$]*) false;; |
32821 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; | 32889 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
32822 | esac || | 32890 | esac || |
32823 | as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; | 32891 | as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; |
32824 | esac | 32892 | esac |
32825 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac | 32893 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac |
32826 | as_fn_append ac_file_inputs " '$ac_f'" | 32894 | as_fn_append ac_file_inputs " '$ac_f'" |
@@ -32847,7 +32915,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} | |||
32847 | 32915 | ||
32848 | case $ac_tag in | 32916 | case $ac_tag in |
32849 | *:-:* | *:-) cat >"$tmp/stdin" \ | 32917 | *:-:* | *:-) cat >"$tmp/stdin" \ |
32850 | || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; | 32918 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; |
32851 | esac | 32919 | esac |
32852 | ;; | 32920 | ;; |
32853 | esac | 32921 | esac |
@@ -32984,22 +33052,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t | |||
32984 | $ac_datarootdir_hack | 33052 | $ac_datarootdir_hack |
32985 | " | 33053 | " |
32986 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ | 33054 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ |
32987 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 33055 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
32988 | 33056 | ||
32989 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | 33057 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
32990 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && | 33058 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && |
32991 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && | 33059 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && |
32992 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 33060 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
32993 | which seems to be undefined. Please make sure it is defined." >&5 | 33061 | which seems to be undefined. Please make sure it is defined" >&5 |
32994 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 33062 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
32995 | which seems to be undefined. Please make sure it is defined." >&2;} | 33063 | which seems to be undefined. Please make sure it is defined" >&2;} |
32996 | 33064 | ||
32997 | rm -f "$tmp/stdin" | 33065 | rm -f "$tmp/stdin" |
32998 | case $ac_file in | 33066 | case $ac_file in |
32999 | -) cat "$tmp/out" && rm -f "$tmp/out";; | 33067 | -) cat "$tmp/out" && rm -f "$tmp/out";; |
33000 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; | 33068 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; |
33001 | esac \ | 33069 | esac \ |
33002 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 33070 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
33003 | ;; | 33071 | ;; |
33004 | :H) | 33072 | :H) |
33005 | # | 33073 | # |
@@ -33010,19 +33078,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} | |||
33010 | $as_echo "/* $configure_input */" \ | 33078 | $as_echo "/* $configure_input */" \ |
33011 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" | 33079 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" |
33012 | } >"$tmp/config.h" \ | 33080 | } >"$tmp/config.h" \ |
33013 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 33081 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
33014 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then | 33082 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then |
33015 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 | 33083 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 |
33016 | $as_echo "$as_me: $ac_file is unchanged" >&6;} | 33084 | $as_echo "$as_me: $ac_file is unchanged" >&6;} |
33017 | else | 33085 | else |
33018 | rm -f "$ac_file" | 33086 | rm -f "$ac_file" |
33019 | mv "$tmp/config.h" "$ac_file" \ | 33087 | mv "$tmp/config.h" "$ac_file" \ |
33020 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 33088 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
33021 | fi | 33089 | fi |
33022 | else | 33090 | else |
33023 | $as_echo "/* $configure_input */" \ | 33091 | $as_echo "/* $configure_input */" \ |
33024 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ | 33092 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ |
33025 | || as_fn_error "could not create -" "$LINENO" 5 | 33093 | || as_fn_error $? "could not create -" "$LINENO" 5 |
33026 | fi | 33094 | fi |
33027 | # Compute "$ac_file"'s index in $config_headers. | 33095 | # Compute "$ac_file"'s index in $config_headers. |
33028 | _am_arg="$ac_file" | 33096 | _am_arg="$ac_file" |
@@ -34093,7 +34161,7 @@ _ACEOF | |||
34093 | ac_clean_files=$ac_clean_files_save | 34161 | ac_clean_files=$ac_clean_files_save |
34094 | 34162 | ||
34095 | test $ac_write_fail = 0 || | 34163 | test $ac_write_fail = 0 || |
34096 | as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 | 34164 | as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 |
34097 | 34165 | ||
34098 | 34166 | ||
34099 | # configure is writing to config.log, and then calls config.status. | 34167 | # configure is writing to config.log, and then calls config.status. |
@@ -34114,7 +34182,7 @@ if test "$no_create" != yes; then | |||
34114 | exec 5>>config.log | 34182 | exec 5>>config.log |
34115 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | 34183 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which |
34116 | # would make configure fail if this is the last instruction. | 34184 | # would make configure fail if this is the last instruction. |
34117 | $ac_cs_success || as_fn_exit $? | 34185 | $ac_cs_success || as_fn_exit 1 |
34118 | fi | 34186 | fi |
34119 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | 34187 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then |
34120 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 | 34188 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 |
@@ -34266,6 +34334,7 @@ if test "x${have_ecore_evas}" = "xyes" ; then | |||
34266 | echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" | 34334 | echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" |
34267 | echo " Wayland Shm................: $have_ecore_evas_wayland_shm" | 34335 | echo " Wayland Shm................: $have_ecore_evas_wayland_shm" |
34268 | echo " Wayland Egl................: $have_ecore_evas_wayland_egl" | 34336 | echo " Wayland Egl................: $have_ecore_evas_wayland_egl" |
34337 | echo " Extn (Plug/socket Extn)....: $have_ecore_evas_extn" | ||
34269 | fi | 34338 | fi |
34270 | echo | 34339 | echo |
34271 | echo " Tests................: ${enable_tests}" | 34340 | echo " Tests................: ${enable_tests}" |
diff --git a/libraries/ecore/configure.ac b/libraries/ecore/configure.ac index 21393dd..3d93c9b 100644 --- a/libraries/ecore/configure.ac +++ b/libraries/ecore/configure.ac | |||
@@ -1,12 +1,12 @@ | |||
1 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 1 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
2 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 2 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
3 | m4_define([v_maj], [1]) | 3 | m4_define([v_maj], [1]) |
4 | m4_define([v_min], [1]) | 4 | m4_define([v_min], [2]) |
5 | m4_define([v_mic], [99]) | 5 | m4_define([v_mic], [0]) |
6 | 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'])) | 6 | 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'])) |
7 | 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']))]) | 7 | 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']))]) |
8 | ##-- When released, remove the dnl on the below line | 8 | ##-- When released, remove the dnl on the below line |
9 | dnl m4_undefine([v_rev]) | 9 | m4_undefine([v_rev]) |
10 | ##-- When doing snapshots - change soname. remove dnl on below line | 10 | ##-- When doing snapshots - change soname. remove dnl on below line |
11 | dnl m4_define([relname], [ver-pre-svn-07]) | 11 | dnl m4_define([relname], [ver-pre-svn-07]) |
12 | dnl m4_define([v_rel], [-release relname]) | 12 | dnl m4_define([v_rel], [-release relname]) |
@@ -18,7 +18,7 @@ m4_define([lt_age], v_min) | |||
18 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 18 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
19 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 19 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
20 | 20 | ||
21 | AC_INIT([ecore], [v_ver], [enlightenment-devel@lists.sourceforge.net]) | 21 | AC_INIT([ecore], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) |
22 | AC_PREREQ([2.52]) | 22 | AC_PREREQ([2.52]) |
23 | AC_CONFIG_SRCDIR([configure.ac]) | 23 | AC_CONFIG_SRCDIR([configure.ac]) |
24 | AC_CONFIG_MACRO_DIR([m4]) | 24 | AC_CONFIG_MACRO_DIR([m4]) |
@@ -174,6 +174,7 @@ want_ecore_evas_directfb="no" | |||
174 | want_ecore_evas_fb="no" | 174 | want_ecore_evas_fb="no" |
175 | want_ecore_evas_software_16_wince="no" | 175 | want_ecore_evas_software_16_wince="no" |
176 | want_ecore_evas_ews="yes" | 176 | want_ecore_evas_ews="yes" |
177 | want_ecore_evas_extn="yes" | ||
177 | want_ecore_evas_wayland_shm="no" | 178 | want_ecore_evas_wayland_shm="no" |
178 | want_ecore_evas_wayland_egl="no" | 179 | want_ecore_evas_wayland_egl="no" |
179 | 180 | ||
@@ -182,11 +183,12 @@ want_ecore_imf_xim="no" | |||
182 | want_ecore_imf_scim="no" | 183 | want_ecore_imf_scim="no" |
183 | 184 | ||
184 | case "$host_os" in | 185 | case "$host_os" in |
185 | mingw32ce* | cegcc*) | 186 | mingw32ce*) |
186 | want_ecore_con="no" | 187 | want_ecore_con="no" |
187 | want_ecore_ipc="no" | 188 | want_ecore_ipc="no" |
188 | want_ecore_wince="yes" | 189 | want_ecore_wince="yes" |
189 | want_ecore_evas_software_16_wince="yes" | 190 | want_ecore_evas_software_16_wince="yes" |
191 | want_ecore_evas_extn="no" | ||
190 | ;; | 192 | ;; |
191 | mingw*) | 193 | mingw*) |
192 | want_notify_win32="yes" | 194 | want_notify_win32="yes" |
@@ -273,30 +275,6 @@ requirements_ecore_imf_xim="" | |||
273 | requirements_ecore_imf_scim="" | 275 | requirements_ecore_imf_scim="" |
274 | requirements_ecore_wayland="" | 276 | requirements_ecore_wayland="" |
275 | 277 | ||
276 | AC_CHECK_DECL([MAXHOSTNAMELEN],[FOUND_MAXHOSTNAMELEN=yes]) | ||
277 | |||
278 | if test x$FOUND_MAXHOSTNAMELEN != xyes ; then | ||
279 | AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN]) | ||
280 | |||
281 | FOUND_MAXHOSTNAMELEN='not found' | ||
282 | |||
283 | AC_COMPILE_IFELSE( | ||
284 | AC_LANG_PROGRAM([#include <sys/param.h>], | ||
285 | [int h = MAXHOSTNAMELEN;]), | ||
286 | [FOUND_MAXHOSTNAMELEN='sys/param.h' | ||
287 | AC_DEFINE(NEED_SYS_PARAM_H,1, | ||
288 | [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])]) | ||
289 | |||
290 | AC_COMPILE_IFELSE( | ||
291 | AC_LANG_PROGRAM([#include <netdb.h>], | ||
292 | [int h = MAXHOSTNAMELEN;]), | ||
293 | [FOUND_MAXHOSTNAMELEN='netdb.h' | ||
294 | AC_DEFINE(NEED_NETDB_H,1, | ||
295 | [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])]) | ||
296 | |||
297 | AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN]) | ||
298 | fi | ||
299 | |||
300 | ### Additional options to configure | 278 | ### Additional options to configure |
301 | 279 | ||
302 | want_glib_integration_always=no | 280 | want_glib_integration_always=no |
@@ -377,10 +355,6 @@ if test "x${want_xim}" = "xyes" ; then | |||
377 | AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method]) | 355 | AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method]) |
378 | fi | 356 | fi |
379 | 357 | ||
380 | # Unit tests | ||
381 | |||
382 | EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"]) | ||
383 | |||
384 | ### Checks for programs | 358 | ### Checks for programs |
385 | 359 | ||
386 | m4_ifdef([AC_PROG_OBJC], | 360 | m4_ifdef([AC_PROG_OBJC], |
@@ -499,6 +473,21 @@ case "$host_vendor" in | |||
499 | ;; | 473 | ;; |
500 | esac | 474 | esac |
501 | 475 | ||
476 | |||
477 | ### Checks for portability layer | ||
478 | |||
479 | PKG_CHECK_MODULES([EXOTIC], | ||
480 | [exotic], | ||
481 | [enable_exotic="yes"], | ||
482 | [enable_exotic="no"]) | ||
483 | |||
484 | if test "x${enable_exotic}" = "xyes"; then | ||
485 | requirements_ecore="exotic ${requirements_ecore}" | ||
486 | |||
487 | AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.]) | ||
488 | fi | ||
489 | AM_CONDITIONAL([ECORE_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) | ||
490 | |||
502 | AC_SUBST(EFL_ECORE_BUILD) | 491 | AC_SUBST(EFL_ECORE_BUILD) |
503 | AC_SUBST(EFL_ECORE_CON_BUILD) | 492 | AC_SUBST(EFL_ECORE_CON_BUILD) |
504 | AC_SUBST(EFL_ECORE_EVAS_BUILD) | 493 | AC_SUBST(EFL_ECORE_EVAS_BUILD) |
@@ -549,26 +538,26 @@ AC_SUBST(rt_libs) | |||
549 | 538 | ||
550 | # Eina library | 539 | # Eina library |
551 | 540 | ||
552 | PKG_CHECK_MODULES(EINA, [eina >= 1.1.0]) | 541 | PKG_CHECK_MODULES(EINA, [eina >= 1.2.0]) |
553 | #FIXME check all the requirements when the eina move will be finished | 542 | #FIXME check all the requirements when the eina move will be finished |
554 | requirements_ecore="eina >= 1.1.0 ${requirements_ecore}" | 543 | requirements_ecore="eina >= 1.2.0 ${requirements_ecore}" |
555 | requirements_ecore_con="ecore >= 1.1.0 eina >= 1.1.0 ${requirements_ecore_con}" | 544 | requirements_ecore_con="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_con}" |
556 | #requirements_ecore_config="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_config}" | 545 | #requirements_ecore_config="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_config}" |
557 | requirements_ecore_directfb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_directfb}" | 546 | requirements_ecore_directfb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_directfb}" |
558 | requirements_ecore_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_evas}" | 547 | requirements_ecore_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_evas}" |
559 | requirements_ecore_fb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_fb}" | 548 | requirements_ecore_fb="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_fb}" |
560 | requirements_ecore_file="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_file}" | 549 | requirements_ecore_file="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_file}" |
561 | requirements_ecore_imf="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf}" | 550 | requirements_ecore_imf="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf}" |
562 | requirements_ecore_imf_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf_evas}" | 551 | requirements_ecore_imf_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_imf_evas}" |
563 | requirements_ecore_input="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input}" | 552 | requirements_ecore_input="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input}" |
564 | requirements_ecore_input_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input_evas}" | 553 | requirements_ecore_input_evas="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_input_evas}" |
565 | requirements_ecore_ipc="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_ipc}" | 554 | requirements_ecore_ipc="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_ipc}" |
566 | requirements_ecore_cocoa="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_cocoa}" | 555 | requirements_ecore_cocoa="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_cocoa}" |
567 | requirements_ecore_sdl="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" | 556 | requirements_ecore_sdl="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" |
568 | requirements_ecore_psl1ght="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}" | 557 | requirements_ecore_psl1ght="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_sdl}" |
569 | requirements_ecore_win32="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_win32}" | 558 | requirements_ecore_win32="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_win32}" |
570 | requirements_ecore_wince="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_wince}" | 559 | requirements_ecore_wince="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_wince}" |
571 | requirements_ecore_x="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_x}" | 560 | requirements_ecore_x="ecore >= 1.2.0 eina >= 1.2.0 ${requirements_ecore_x}" |
572 | 561 | ||
573 | 562 | ||
574 | # glib support (main loop integration) | 563 | # glib support (main loop integration) |
@@ -637,6 +626,45 @@ PKG_CHECK_MODULES([DIRECTFB], | |||
637 | 626 | ||
638 | # Xlib and XCB (ecore_x) | 627 | # Xlib and XCB (ecore_x) |
639 | 628 | ||
629 | AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes]) | ||
630 | |||
631 | if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then | ||
632 | AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN]) | ||
633 | FOUND_MAXHOSTNAMELEN="not found" | ||
634 | |||
635 | AC_COMPILE_IFELSE( | ||
636 | [ | ||
637 | AC_LANG_PROGRAM( | ||
638 | [[ | ||
639 | #include <sys/param.h> | ||
640 | ]], | ||
641 | [[ | ||
642 | int h = MAXHOSTNAMELEN; | ||
643 | ]]) | ||
644 | ], | ||
645 | [ | ||
646 | FOUND_MAXHOSTNAMELEN="sys/param.h" | ||
647 | AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN]) | ||
648 | ]) | ||
649 | |||
650 | AC_COMPILE_IFELSE( | ||
651 | [ | ||
652 | AC_LANG_PROGRAM( | ||
653 | [[ | ||
654 | #include <netdb.h> | ||
655 | ]], | ||
656 | [[ | ||
657 | int h = MAXHOSTNAMELEN; | ||
658 | ]]) | ||
659 | ], | ||
660 | [ | ||
661 | FOUND_MAXHOSTNAMELEN="netdb.h" | ||
662 | AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN]) | ||
663 | ]) | ||
664 | |||
665 | AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN]) | ||
666 | fi | ||
667 | |||
640 | have_x="no" | 668 | have_x="no" |
641 | have_ecore_x="no" | 669 | have_ecore_x="no" |
642 | have_ecore_x_xlib="no" | 670 | have_ecore_x_xlib="no" |
@@ -1171,7 +1199,7 @@ AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes) | |||
1171 | 1199 | ||
1172 | # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas) | 1200 | # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas) |
1173 | 1201 | ||
1174 | PKG_CHECK_MODULES([EVAS], [evas >= 1.1.99], | 1202 | PKG_CHECK_MODULES([EVAS], [evas >= 1.2.0], |
1175 | [have_evas="yes"], | 1203 | [have_evas="yes"], |
1176 | [have_evas="no"]) | 1204 | [have_evas="no"]) |
1177 | 1205 | ||
@@ -1200,7 +1228,23 @@ esac | |||
1200 | 1228 | ||
1201 | # ecore_con | 1229 | # ecore_con |
1202 | 1230 | ||
1203 | AC_CHECK_HEADERS([arpa/inet.h arpa/nameser.h netinet/tcp.h net/if.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h]) | 1231 | AC_CHECK_HEADERS([sys/socket.h]) |
1232 | AC_CHECK_HEADERS([net/if.h], [], [], | ||
1233 | [ | ||
1234 | #include <stdio.h> | ||
1235 | #ifdef STDC_HEADERS | ||
1236 | # include <stdlib.h> | ||
1237 | # include <stddef.h> | ||
1238 | #else | ||
1239 | # ifdef HAVE_STDLIB_H | ||
1240 | # include <stdlib.h> | ||
1241 | # endif | ||
1242 | #endif | ||
1243 | #ifdef HAVE_SYS_SOCKET_H | ||
1244 | # include <sys/socket.h> | ||
1245 | #endif | ||
1246 | ]) | ||
1247 | AC_CHECK_HEADERS([sys/un.h arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h]) | ||
1204 | 1248 | ||
1205 | if test "x${ac_cv_header_netdb_h}" = "xyes" ; then | 1249 | if test "x${ac_cv_header_netdb_h}" = "xyes" ; then |
1206 | have_addrinfo="yes" | 1250 | have_addrinfo="yes" |
@@ -1390,6 +1434,60 @@ if ! test "x${have_atfile_source}" = "xno" ; then | |||
1390 | ]) | 1434 | ]) |
1391 | fi | 1435 | fi |
1392 | 1436 | ||
1437 | SHM_OPEN_LIBS="" | ||
1438 | |||
1439 | AC_MSG_CHECKING([whether shm_open is in libc]) | ||
1440 | AC_LINK_IFELSE( | ||
1441 | [AC_LANG_PROGRAM( | ||
1442 | [[ | ||
1443 | #include <sys/mman.h> | ||
1444 | #include <sys/stat.h> | ||
1445 | #include <fcntl.h> | ||
1446 | ]], | ||
1447 | [[ | ||
1448 | int fd; | ||
1449 | fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); | ||
1450 | shm_unlink("/"); | ||
1451 | ]])], | ||
1452 | [ | ||
1453 | have_shm_open="yes" | ||
1454 | AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call]) | ||
1455 | ], | ||
1456 | [have_shm_open="no"]) | ||
1457 | LIBS="${LIBS_save}" | ||
1458 | AC_MSG_RESULT([${have_shm_open}]) | ||
1459 | |||
1460 | if ! test "x${have_shm_open}" = "xyes" ; then | ||
1461 | AC_MSG_CHECKING([whether shm_open is in librt]) | ||
1462 | LIBS_save="${LIBS}" | ||
1463 | LIBS="${LIBS} -lrt" | ||
1464 | AC_LINK_IFELSE( | ||
1465 | [AC_LANG_PROGRAM( | ||
1466 | [[ | ||
1467 | #include <sys/mman.h> | ||
1468 | #include <sys/stat.h> | ||
1469 | #include <fcntl.h> | ||
1470 | ]], | ||
1471 | [[ | ||
1472 | int fd; | ||
1473 | fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); | ||
1474 | shm_unlink("/"); | ||
1475 | ]])], | ||
1476 | [ | ||
1477 | have_shm_open="yes" | ||
1478 | AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call]) | ||
1479 | SHM_OPEN_LIBS="-lrt" | ||
1480 | ], | ||
1481 | [have_shm_open="no"]) | ||
1482 | LIBS="${LIBS_save}" | ||
1483 | AC_MSG_RESULT([${have_shm_open}]) | ||
1484 | fi | ||
1485 | |||
1486 | AC_SUBST([SHM_OPEN_LIBS]) | ||
1487 | |||
1488 | AC_MSG_CHECKING([whether shm_open is available]) | ||
1489 | AC_MSG_RESULT([${have_shm_open}]) | ||
1490 | |||
1393 | ### Checks for optionnal feature | 1491 | ### Checks for optionnal feature |
1394 | AC_CHECK_FUNC([mallinfo], | 1492 | AC_CHECK_FUNC([mallinfo], |
1395 | [ | 1493 | [ |
@@ -1485,8 +1583,8 @@ AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"]) | |||
1485 | # ecore_ipc | 1583 | # ecore_ipc |
1486 | ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}], | 1584 | ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}], |
1487 | [ | 1585 | [ |
1488 | requirements_ecore_ipc="ecore-con >= 1.1.99 ${requirements_ecore_ipc}" | 1586 | requirements_ecore_ipc="ecore-con >= 1.2.0 ${requirements_ecore_ipc}" |
1489 | requirements_ecore_evas="ecore-ipc >= 1.1.99 ${requirements_ecore_evas}" | 1587 | requirements_ecore_evas="ecore-ipc >= 1.2.0 ${requirements_ecore_evas}" |
1490 | ]) | 1588 | ]) |
1491 | 1589 | ||
1492 | # ecore_file | 1590 | # ecore_file |
@@ -1501,7 +1599,7 @@ if test "x${have_ecore_file}" = "xyes" ; then | |||
1501 | ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"]) | 1599 | ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"]) |
1502 | 1600 | ||
1503 | if test "x${have_ecore_con}" = "xyes" ; then | 1601 | if test "x${have_ecore_con}" = "xyes" ; then |
1504 | requirements_ecore_file="ecore-con >= 1.1.99 ${requirements_ecore_file}" | 1602 | requirements_ecore_file="ecore-con >= 1.2.0 ${requirements_ecore_file}" |
1505 | else | 1603 | else |
1506 | ECORE_CHECK_CURL([${want_curl}], | 1604 | ECORE_CHECK_CURL([${want_curl}], |
1507 | [ | 1605 | [ |
@@ -1520,7 +1618,7 @@ fi | |||
1520 | #fi | 1618 | #fi |
1521 | 1619 | ||
1522 | #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], | 1620 | #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}], |
1523 | # [requirements_ecore_config="ecore-ipc >= 1.1.99 evas >= 1.1.99 eet >= 1.5.0 ${requirements_ecore_config}"]) | 1621 | # [requirements_ecore_config="ecore-ipc >= 1.2.0 evas >= 1.2.0 eet >= 1.6.0 ${requirements_ecore_config}"]) |
1524 | 1622 | ||
1525 | AM_CONDITIONAL(BUILD_ECORE_CONFIG, false) | 1623 | AM_CONDITIONAL(BUILD_ECORE_CONFIG, false) |
1526 | 1624 | ||
@@ -1536,12 +1634,12 @@ if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then | |||
1536 | fi | 1634 | fi |
1537 | 1635 | ||
1538 | ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}], | 1636 | ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}], |
1539 | [requirements_ecore_imf_evas="ecore-imf >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_imf_evas}"]) | 1637 | [requirements_ecore_imf_evas="ecore-imf >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_imf_evas}"]) |
1540 | 1638 | ||
1541 | # ecore_input{_evas} | 1639 | # ecore_input{_evas} |
1542 | ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input]) | 1640 | ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input]) |
1543 | ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}], | 1641 | ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}], |
1544 | [requirements_ecore_input_evas="ecore-input >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_input}"]) | 1642 | [requirements_ecore_input_evas="ecore-input >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_input}"]) |
1545 | 1643 | ||
1546 | # ecore_imf_xim | 1644 | # ecore_imf_xim |
1547 | AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false) | 1645 | AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false) |
@@ -1555,7 +1653,7 @@ if test "x${have_ecore_imf}" = "xyes" \ | |||
1555 | fi | 1653 | fi |
1556 | 1654 | ||
1557 | ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}], | 1655 | ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}], |
1558 | [requirements_ecore_imf_xim="ecore-imf >= 1.1.99 ecore-x >= 1.1.99 ecore-input >= 1.1.99 ${requirements_ecore_imf_xim}"]) | 1656 | [requirements_ecore_imf_xim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_xim}"]) |
1559 | 1657 | ||
1560 | # ecore_imf_scim | 1658 | # ecore_imf_scim |
1561 | PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"]) | 1659 | PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"]) |
@@ -1571,7 +1669,7 @@ if test "x${have_ecore_imf}" = "xyes" \ | |||
1571 | fi | 1669 | fi |
1572 | 1670 | ||
1573 | ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}], | 1671 | ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}], |
1574 | [requirements_ecore_imf_scim="ecore-imf >= 1.1.0 ecore-x >= 1.1.0 ecore-input >= 1.1.0 ${requirements_ecore_imf_scim}"]) | 1672 | [requirements_ecore_imf_scim="ecore-imf >= 1.2.0 ecore-x >= 1.2.0 ecore-input >= 1.2.0 ${requirements_ecore_imf_scim}"]) |
1575 | 1673 | ||
1576 | ## Graphic systems | 1674 | ## Graphic systems |
1577 | 1675 | ||
@@ -1586,7 +1684,7 @@ fi | |||
1586 | ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}], | 1684 | ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}], |
1587 | [ | 1685 | [ |
1588 | ecore_x_libs="$ecore_x_libs $x_libs" | 1686 | ecore_x_libs="$ecore_x_libs $x_libs" |
1589 | requirements_ecore_x="ecore-input >= 1.1.99 ${requirements_ecore_x}" | 1687 | requirements_ecore_x="ecore-input >= 1.2.0 ${requirements_ecore_x}" |
1590 | ]) | 1688 | ]) |
1591 | 1689 | ||
1592 | # ecore_win32 | 1690 | # ecore_win32 |
@@ -1594,7 +1692,7 @@ ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}], | |||
1594 | ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}], | 1692 | ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}], |
1595 | [ | 1693 | [ |
1596 | ecore_win32_libs="-lole32 -lgdi32" | 1694 | ecore_win32_libs="-lole32 -lgdi32" |
1597 | requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}" | 1695 | requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}" |
1598 | ]) | 1696 | ]) |
1599 | AC_SUBST(ecore_win32_libs) | 1697 | AC_SUBST(ecore_win32_libs) |
1600 | 1698 | ||
@@ -1606,7 +1704,7 @@ if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then | |||
1606 | fi | 1704 | fi |
1607 | 1705 | ||
1608 | ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}], | 1706 | ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}], |
1609 | [requirements_ecore_cocoa="ecore-input >= 1.1.99 ${requirements_ecore_cocoa}"]) | 1707 | [requirements_ecore_cocoa="ecore-input >= 1.2.0 ${requirements_ecore_cocoa}"]) |
1610 | 1708 | ||
1611 | # ecore_sdl | 1709 | # ecore_sdl |
1612 | 1710 | ||
@@ -1616,10 +1714,10 @@ if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then | |||
1616 | fi | 1714 | fi |
1617 | 1715 | ||
1618 | ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}], | 1716 | ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}], |
1619 | [requirements_ecore_sdl="ecore-input >= 1.1.99 ${requirements_ecore_sdl}"]) | 1717 | [requirements_ecore_sdl="ecore-input >= 1.2.0 ${requirements_ecore_sdl}"]) |
1620 | 1718 | ||
1621 | ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}], | 1719 | ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}], |
1622 | [requirements_ecore_psl1ght="ecore-input >= 1.1.99 ${requirements_ecore_psl1ght}"]) | 1720 | [requirements_ecore_psl1ght="ecore-input >= 1.2.0 ${requirements_ecore_psl1ght}"]) |
1623 | 1721 | ||
1624 | # ecore_fb | 1722 | # ecore_fb |
1625 | ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb]) | 1723 | ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb]) |
@@ -1641,19 +1739,19 @@ ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_dir | |||
1641 | # ecore_wince | 1739 | # ecore_wince |
1642 | 1740 | ||
1643 | ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}], | 1741 | ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}], |
1644 | [requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}"]) | 1742 | [requirements_ecore_win32="ecore-input >= 1.2.0 ${requirements_ecore_win32}"]) |
1645 | 1743 | ||
1646 | ## Ecore Evas | 1744 | ## Ecore Evas |
1647 | 1745 | ||
1648 | # ecore_evas | 1746 | # ecore_evas |
1649 | 1747 | ||
1650 | ecore_evas_deps="no" | 1748 | ecore_evas_deps="no" |
1651 | if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then | 1749 | if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then |
1652 | ecore_evas_deps="yes" | 1750 | ecore_evas_deps="yes" |
1653 | fi | 1751 | fi |
1654 | 1752 | ||
1655 | ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}], | 1753 | ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}], |
1656 | [requirements_ecore_evas="ecore-input >= 1.1.99 ecore-input-evas >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_evas}"]) | 1754 | [requirements_ecore_evas="ecore-input >= 1.2.0 ecore-input-evas >= 1.2.0 evas >= 1.2.0 ${requirements_ecore_evas}"]) |
1657 | 1755 | ||
1658 | # ecore_evas_buffer | 1756 | # ecore_evas_buffer |
1659 | 1757 | ||
@@ -1743,7 +1841,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \ | |||
1743 | "x$have_ecore_evas_software_16_x11" = "xyes" -o \ | 1841 | "x$have_ecore_evas_software_16_x11" = "xyes" -o \ |
1744 | "x$have_ecore_evas_software_xcb" = "xyes"; then | 1842 | "x$have_ecore_evas_software_xcb" = "xyes"; then |
1745 | AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas]) | 1843 | AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas]) |
1746 | requirements_ecore_evas="ecore-x >= 1.1.99 ${requirements_ecore_evas}" | 1844 | requirements_ecore_evas="ecore-x >= 1.2.0 ${requirements_ecore_evas}" |
1747 | fi | 1845 | fi |
1748 | 1846 | ||
1749 | # ecore_evas_win32 | 1847 | # ecore_evas_win32 |
@@ -1779,16 +1877,18 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \ | |||
1779 | "x${have_ecore_evas_opengl_glew}" = "xyes" -o \ | 1877 | "x${have_ecore_evas_opengl_glew}" = "xyes" -o \ |
1780 | "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then | 1878 | "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then |
1781 | AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas]) | 1879 | AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas]) |
1782 | requirements_ecore_evas="ecore-win32 >= 1.1.99 ${requirements_ecore_evas}" | 1880 | requirements_ecore_evas="ecore-win32 >= 1.2.0 ${requirements_ecore_evas}" |
1783 | fi | 1881 | fi |
1784 | 1882 | ||
1785 | # ecore_evas_software_sdl | 1883 | # ecore_evas_software_sdl |
1786 | 1884 | ||
1787 | ECORE_EVAS_CHECK_MODULE([software-sdl], | 1885 | have_ecore_evas_software_sdl="no" |
1788 | [${want_ecore_evas_software_sdl}], | 1886 | if test "x${have_ecore_sdl}" = "xyes"; then |
1789 | [Software SDL], | 1887 | requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" |
1790 | [${have_ecore_sdl}], | 1888 | have_ecore_evas_software_sdl="yes" |
1791 | [requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"]) | 1889 | AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_SDL, 1, [Support for Software SDL Engine in Ecore_Evas]) |
1890 | requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}" | ||
1891 | fi | ||
1792 | 1892 | ||
1793 | # ecore_evas_gl_sdl | 1893 | # ecore_evas_gl_sdl |
1794 | 1894 | ||
@@ -1796,7 +1896,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl], | |||
1796 | [${want_ecore_evas_gl_sdl}], | 1896 | [${want_ecore_evas_gl_sdl}], |
1797 | [OpenGL SDL], | 1897 | [OpenGL SDL], |
1798 | [${have_ecore_sdl}], | 1898 | [${have_ecore_sdl}], |
1799 | [requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"]) | 1899 | [requirements_ecore_evas="ecore-sdl >= 1.2.0 ${requirements_ecore_evas}"]) |
1800 | 1900 | ||
1801 | # ecore_evas_cocoa | 1901 | # ecore_evas_cocoa |
1802 | 1902 | ||
@@ -1804,7 +1904,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-cocoa], | |||
1804 | [${want_ecore_evas_gl_cocoa}], | 1904 | [${want_ecore_evas_gl_cocoa}], |
1805 | [OpenGL Cocoa], | 1905 | [OpenGL Cocoa], |
1806 | [${have_ecore_cocoa}], | 1906 | [${have_ecore_cocoa}], |
1807 | [requirements_ecore_evas="ecore-cocoa >= 1.1.99 ${requirements_ecore_evas}"]) | 1907 | [requirements_ecore_evas="ecore-cocoa >= 1.2.0 ${requirements_ecore_evas}"]) |
1808 | 1908 | ||
1809 | # ecore_evas_directfb | 1909 | # ecore_evas_directfb |
1810 | 1910 | ||
@@ -1812,7 +1912,7 @@ ECORE_EVAS_CHECK_MODULE([directfb], | |||
1812 | [${want_ecore_evas_directfb}], | 1912 | [${want_ecore_evas_directfb}], |
1813 | [DirectFB], | 1913 | [DirectFB], |
1814 | [${have_ecore_directfb}], | 1914 | [${have_ecore_directfb}], |
1815 | [requirements_ecore_evas="ecore-directfb >= 1.1.99 ${requirements_ecore_evas}"]) | 1915 | [requirements_ecore_evas="ecore-directfb >= 1.2.0 ${requirements_ecore_evas}"]) |
1816 | 1916 | ||
1817 | # ecore_evas_fb | 1917 | # ecore_evas_fb |
1818 | 1918 | ||
@@ -1820,7 +1920,7 @@ ECORE_EVAS_CHECK_MODULE([fb], | |||
1820 | [${want_ecore_evas_fb}], | 1920 | [${want_ecore_evas_fb}], |
1821 | [Linux Framebuffer], | 1921 | [Linux Framebuffer], |
1822 | [${have_ecore_fb}], | 1922 | [${have_ecore_fb}], |
1823 | [requirements_ecore_evas="ecore-fb >= 1.1.99 ${requirements_ecore_evas}"]) | 1923 | [requirements_ecore_evas="ecore-fb >= 1.2.0 ${requirements_ecore_evas}"]) |
1824 | 1924 | ||
1825 | # ecore_evas_wince | 1925 | # ecore_evas_wince |
1826 | 1926 | ||
@@ -1828,7 +1928,7 @@ ECORE_EVAS_CHECK_MODULE([software-16-wince], | |||
1828 | [${want_ecore_evas_software_16_wince}], | 1928 | [${want_ecore_evas_software_16_wince}], |
1829 | [16 bpp Software Windows CE], | 1929 | [16 bpp Software Windows CE], |
1830 | [${have_ecore_wince}], | 1930 | [${have_ecore_wince}], |
1831 | [requirements_ecore_evas="ecore-wince >= 1.1.99 ${requirements_ecore_evas}"]) | 1931 | [requirements_ecore_evas="ecore-wince >= 1.2.0 ${requirements_ecore_evas}"]) |
1832 | 1932 | ||
1833 | # ecore_evas_ews | 1933 | # ecore_evas_ews |
1834 | 1934 | ||
@@ -1837,20 +1937,38 @@ ECORE_EVAS_CHECK_MODULE_FULL([ews], [software-buffer], | |||
1837 | [Ecore Evas Single Process Windowing System], | 1937 | [Ecore Evas Single Process Windowing System], |
1838 | [yes], []) | 1938 | [yes], []) |
1839 | 1939 | ||
1940 | # ecore_evas_extn | ||
1941 | |||
1942 | have_extn="yes" | ||
1943 | if test "x${have_ecore_ipc}" = "xno" || \ | ||
1944 | test "x${have_ecore_evas_software_buffer}" = "xno" || \ | ||
1945 | test "x${have_shm_open}" = "xno" ; then | ||
1946 | have_extn="no" | ||
1947 | fi | ||
1948 | |||
1949 | dnl THIS IS SPECIAL - dont use normal ECORE_EVAS_CHECK_MODULE | ||
1950 | have_ecore_evas_extn="no" | ||
1951 | if test "x${want_ecore_evas_extn}" = "xyes" && \ | ||
1952 | test "x${have_extn}" = "xyes" && \ | ||
1953 | test "x${have_ecore_evas}" = "xyes"; then | ||
1954 | AC_DEFINE([BUILD_ECORE_EVAS_EXTN], [1], [Support for Extn Engine in Ecore_Evas]) | ||
1955 | have_ecore_evas_extn="yes" | ||
1956 | fi | ||
1957 | |||
1840 | # ecore_evas_psl1ght | 1958 | # ecore_evas_psl1ght |
1841 | 1959 | ||
1842 | ECORE_EVAS_CHECK_MODULE([psl1ght], | 1960 | ECORE_EVAS_CHECK_MODULE([psl1ght], |
1843 | [${want_ecore_evas_psl1ght}], | 1961 | [${want_ecore_evas_psl1ght}], |
1844 | [PSL1GHT], | 1962 | [PSL1GHT], |
1845 | [${have_ecore_psl1ght}], | 1963 | [${have_ecore_psl1ght}], |
1846 | [requirements_ecore_evas="ecore-psl1ght >= 1.1.99 ${requirements_ecore_evas}"]) | 1964 | [requirements_ecore_evas="ecore-psl1ght >= 1.2.0 ${requirements_ecore_evas}"]) |
1847 | 1965 | ||
1848 | ### WAYLAND | 1966 | ### WAYLAND |
1849 | 1967 | ||
1850 | ecore_wayland_deps="no" | 1968 | ecore_wayland_deps="no" |
1851 | have_wayland="no" | 1969 | have_wayland="no" |
1852 | if test "x${want_ecore_wayland}" = "xyes" ; then | 1970 | if test "x${want_ecore_wayland}" = "xyes" ; then |
1853 | PKG_CHECK_MODULES([WAYLAND], [wayland-client xkbcommon], [have_wayland="yes"], [have_wayland="no"]) | 1971 | PKG_CHECK_MODULES([WAYLAND], [egl wayland-egl wayland-client xkbcommon], [have_wayland="yes"], [have_wayland="no"]) |
1854 | fi | 1972 | fi |
1855 | if test "x${have_ecore_input}" = "xyes" -a "x${have_wayland}" = "xyes" ; then | 1973 | if test "x${have_ecore_input}" = "xyes" -a "x${have_wayland}" = "xyes" ; then |
1856 | ecore_wayland_deps="yes" | 1974 | ecore_wayland_deps="yes" |
@@ -1858,7 +1976,7 @@ fi | |||
1858 | 1976 | ||
1859 | ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}]) | 1977 | ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}]) |
1860 | if test "x${have_ecore_wayland}" = "xyes" ; then | 1978 | if test "x${have_ecore_wayland}" = "xyes" ; then |
1861 | requirements_ecore_wayland="ecore-input >= 1.1.0 wayland-client xkbcommon ${requirements_ecore_wayland}" | 1979 | requirements_ecore_wayland="ecore-input >= 1.2.0 egl wayland-egl wayland-client xkbcommon ${requirements_ecore_wayland}" |
1862 | fi | 1980 | fi |
1863 | 1981 | ||
1864 | ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], | 1982 | ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], |
@@ -1867,7 +1985,7 @@ ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], | |||
1867 | [${have_ecore_wayland}], | 1985 | [${have_ecore_wayland}], |
1868 | [requirements_ecore_evas="${requirements_ecore_wayland} ${requirements_ecore_evas}"]) | 1986 | [requirements_ecore_evas="${requirements_ecore_wayland} ${requirements_ecore_evas}"]) |
1869 | 1987 | ||
1870 | ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl], | 1988 | ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl egl], |
1871 | [${want_ecore_evas_wayland_egl}], | 1989 | [${want_ecore_evas_wayland_egl}], |
1872 | [Wayland Egl], | 1990 | [Wayland Egl], |
1873 | [${have_ecore_wayland}], | 1991 | [${have_ecore_wayland}], |
@@ -1878,6 +1996,10 @@ ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl], | |||
1878 | fi | 1996 | fi |
1879 | ]) | 1997 | ]) |
1880 | 1998 | ||
1999 | ### Unit tests | ||
2000 | |||
2001 | EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"]) | ||
2002 | |||
1881 | ### install and build examples | 2003 | ### install and build examples |
1882 | 2004 | ||
1883 | EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) | 2005 | EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) |
@@ -2112,6 +2234,7 @@ if test "x${have_ecore_evas}" = "xyes" ; then | |||
2112 | echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" | 2234 | echo " Sing.Proc. Windowing System: $have_ecore_evas_ews" |
2113 | echo " Wayland Shm................: $have_ecore_evas_wayland_shm" | 2235 | echo " Wayland Shm................: $have_ecore_evas_wayland_shm" |
2114 | echo " Wayland Egl................: $have_ecore_evas_wayland_egl" | 2236 | echo " Wayland Egl................: $have_ecore_evas_wayland_egl" |
2237 | echo " Extn (Plug/socket Extn)....: $have_ecore_evas_extn" | ||
2115 | fi | 2238 | fi |
2116 | echo | 2239 | echo |
2117 | echo " Tests................: ${enable_tests}" | 2240 | echo " Tests................: ${enable_tests}" |
diff --git a/libraries/ecore/doc/Makefile.in b/libraries/ecore/doc/Makefile.in index e71c120..b7593f5 100644 --- a/libraries/ecore/doc/Makefile.in +++ b/libraries/ecore/doc/Makefile.in | |||
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
51 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 51 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
52 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 52 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 53 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 54 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 55 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
56 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 56 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
57 | $(top_srcdir)/configure.ac | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = ecore.dox Doxyfile | 61 | CONFIG_CLEAN_FILES = ecore.dox Doxyfile |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -133,6 +132,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
133 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 132 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
134 | EVIL_LIBS = @EVIL_LIBS@ | 133 | EVIL_LIBS = @EVIL_LIBS@ |
135 | EXEEXT = @EXEEXT@ | 134 | EXEEXT = @EXEEXT@ |
135 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
136 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
136 | FGREP = @FGREP@ | 137 | FGREP = @FGREP@ |
137 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 138 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
138 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 139 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -188,6 +189,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
188 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 189 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
189 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 190 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
190 | PKG_CONFIG = @PKG_CONFIG@ | 191 | PKG_CONFIG = @PKG_CONFIG@ |
192 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
193 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
191 | POSUB = @POSUB@ | 194 | POSUB = @POSUB@ |
192 | RANLIB = @RANLIB@ | 195 | RANLIB = @RANLIB@ |
193 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 196 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -198,6 +201,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
198 | SED = @SED@ | 201 | SED = @SED@ |
199 | SET_MAKE = @SET_MAKE@ | 202 | SET_MAKE = @SET_MAKE@ |
200 | SHELL = @SHELL@ | 203 | SHELL = @SHELL@ |
204 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
201 | SSL_CFLAGS = @SSL_CFLAGS@ | 205 | SSL_CFLAGS = @SSL_CFLAGS@ |
202 | SSL_LIBS = @SSL_LIBS@ | 206 | SSL_LIBS = @SSL_LIBS@ |
203 | STRIP = @STRIP@ | 207 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/ecore-win32.pc.in b/libraries/ecore/ecore-win32.pc.in index 17dba6e..ac5ab32 100644 --- a/libraries/ecore/ecore-win32.pc.in +++ b/libraries/ecore/ecore-win32.pc.in | |||
@@ -8,5 +8,5 @@ Description: E core library, Win32 module | |||
8 | @pkgconfig_requires_private@: @requirements_ecore_win32@ | 8 | @pkgconfig_requires_private@: @requirements_ecore_win32@ |
9 | Version: @VERSION@ | 9 | Version: @VERSION@ |
10 | Libs: -L${libdir} -lecore_win32 | 10 | Libs: -L${libdir} -lecore_win32 |
11 | Libs.private: | 11 | Libs.private: @WIN32_LIBS@ |
12 | Cflags: -I${includedir}/ecore-@VMAJ@ | 12 | Cflags: -I${includedir}/ecore-@VMAJ@ |
diff --git a/libraries/ecore/ecore.pc.in b/libraries/ecore/ecore.pc.in index 950a96b..65c5a11 100644 --- a/libraries/ecore/ecore.pc.in +++ b/libraries/ecore/ecore.pc.in | |||
@@ -7,6 +7,6 @@ Name: ecore | |||
7 | Description: Ecore event abstraction library | 7 | Description: Ecore event abstraction library |
8 | @pkgconfig_requires_private@: @requirements_ecore@ | 8 | @pkgconfig_requires_private@: @requirements_ecore@ |
9 | Version: @VERSION@ | 9 | Version: @VERSION@ |
10 | Libs: -L${libdir} -lecore | 10 | Libs: -L${libdir} -lecore @EINA_LIBS@ |
11 | Libs.private: -lm | 11 | Libs.private: -lm |
12 | Cflags: -I${includedir}/ecore-@VMAJ@ | 12 | Cflags: -I${includedir}/ecore-@VMAJ@ @EINA_CFLAGS@ |
diff --git a/libraries/ecore/ecore.spec b/libraries/ecore/ecore.spec index 475a2d7..c88bf35 100644 --- a/libraries/ecore/ecore.spec +++ b/libraries/ecore/ecore.spec | |||
@@ -39,7 +39,7 @@ | |||
39 | 39 | ||
40 | Summary: Enlightened Core X interface library | 40 | Summary: Enlightened Core X interface library |
41 | Name: ecore | 41 | Name: ecore |
42 | Version: 1.1.99.67344 | 42 | Version: 1.2.0-alpha |
43 | Release: %{_rel} | 43 | Release: %{_rel} |
44 | License: BSD | 44 | License: BSD |
45 | Group: User Interface/X | 45 | Group: User Interface/X |
diff --git a/libraries/ecore/ecore.supp b/libraries/ecore/ecore.supp index 0b10a6c..31dd0e0 100644 --- a/libraries/ecore/ecore.supp +++ b/libraries/ecore/ecore.supp | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: ecore.supp 11909 2004-10-19 16:40:25Z tsauerbeck $ | 1 | # $Id: ecore.supp 35497 2008-08-17 07:44:18Z raster $ |
2 | # valgrind suppression file for Ecore | 2 | # valgrind suppression file for Ecore |
3 | # | 3 | # |
4 | { | 4 | { |
diff --git a/libraries/ecore/ltmain.sh b/libraries/ecore/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/ecore/ltmain.sh +++ b/libraries/ecore/ltmain.sh | |||
@@ -65,7 +65,7 @@ | |||
65 | # compiler: $LTCC | 65 | # compiler: $LTCC |
66 | # compiler flags: $LTCFLAGS | 66 | # compiler flags: $LTCFLAGS |
67 | # linker: $LD (gnu? $with_gnu_ld) | 67 | # linker: $LD (gnu? $with_gnu_ld) |
68 | # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 | 68 | # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 |
69 | # automake: $automake_version | 69 | # automake: $automake_version |
70 | # autoconf: $autoconf_version | 70 | # autoconf: $autoconf_version |
71 | # | 71 | # |
@@ -73,7 +73,7 @@ | |||
73 | 73 | ||
74 | PROGRAM=ltmain.sh | 74 | PROGRAM=ltmain.sh |
75 | PACKAGE=libtool | 75 | PACKAGE=libtool |
76 | VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" | 76 | VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" |
77 | TIMESTAMP="" | 77 | TIMESTAMP="" |
78 | package_revision=1.3017 | 78 | package_revision=1.3017 |
79 | 79 | ||
diff --git a/libraries/ecore/m4/ecore_check_module.m4 b/libraries/ecore/m4/ecore_check_module.m4 index 658b42e..01c4e0e 100644 --- a/libraries/ecore/m4/ecore_check_module.m4 +++ b/libraries/ecore/m4/ecore_check_module.m4 | |||
@@ -73,9 +73,9 @@ AC_ARG_ENABLE(ecore-evas-$1, | |||
73 | AC_MSG_CHECKING([whether ecore_evas $4 support is to be built]) | 73 | AC_MSG_CHECKING([whether ecore_evas $4 support is to be built]) |
74 | AC_MSG_RESULT([${want_module}]) | 74 | AC_MSG_RESULT([${want_module}]) |
75 | 75 | ||
76 | if test "x$5" = "xyes" -a \ | 76 | if test "x$5" = "xyes" && \ |
77 | "x$have_ecore_evas" = "xyes" -a \ | 77 | test "x$have_ecore_evas" = "xyes" && \ |
78 | "x$want_module" = "xyes" ; then | 78 | test "x$want_module" = "xyes" ; then |
79 | PKG_CHECK_EXISTS([evas-$2], | 79 | PKG_CHECK_EXISTS([evas-$2], |
80 | [ | 80 | [ |
81 | AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $4 Engine in Ecore_Evas]) | 81 | AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $4 Engine in Ecore_Evas]) |
diff --git a/libraries/ecore/m4/ecore_check_options.m4 b/libraries/ecore/m4/ecore_check_options.m4 index 36792a1..fb7031a 100644 --- a/libraries/ecore/m4/ecore_check_options.m4 +++ b/libraries/ecore/m4/ecore_check_options.m4 | |||
@@ -314,7 +314,7 @@ AC_ARG_ENABLE(cares, | |||
314 | ]) | 314 | ]) |
315 | 315 | ||
316 | if test "x${_ecore_want_cares}" = "xyes" -o "x${_ecore_want_cares}" = "xauto" ; then | 316 | if test "x${_ecore_want_cares}" = "xyes" -o "x${_ecore_want_cares}" = "xauto" ; then |
317 | PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1 libcares != 1.7.5], | 317 | PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1], |
318 | [_ecore_have_cares="yes"], | 318 | [_ecore_have_cares="yes"], |
319 | [_ecore_have_cares="no"]) | 319 | [_ecore_have_cares="no"]) |
320 | fi | 320 | fi |
diff --git a/libraries/ecore/po/cs.gmo b/libraries/ecore/po/cs.gmo index 44b8f00..4ba668c 100644 --- a/libraries/ecore/po/cs.gmo +++ b/libraries/ecore/po/cs.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/cs.po b/libraries/ecore/po/cs.po index 436b1a7..4492269 100644 --- a/libraries/ecore/po/cs.po +++ b/libraries/ecore/po/cs.po | |||
@@ -5,170 +5,170 @@ msgid "" | |||
5 | msgstr "" | 5 | msgstr "" |
6 | "Project-Id-Version: ecore\n" | 6 | "Project-Id-Version: ecore\n" |
7 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 7 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
8 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 8 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
9 | "PO-Revision-Date: 2011-10-23 01:28+0100\n" | 9 | "PO-Revision-Date: 2011-10-23 01:28+0100\n" |
10 | "Last-Translator: Daniel Kolesa <quaker66@gmail.com>\n" | 10 | "Last-Translator: Daniel Kolesa <quaker66@gmail.com>\n" |
11 | "Language-Team: Czech <kde-i18n-doc@kde.org>\n" | 11 | "Language-Team: Czech <kde-i18n-doc@kde.org>\n" |
12 | "Language: \n" | ||
12 | "MIME-Version: 1.0\n" | 13 | "MIME-Version: 1.0\n" |
13 | "Content-Type: text/plain; charset=UTF-8\n" | 14 | "Content-Type: text/plain; charset=UTF-8\n" |
14 | "Content-Transfer-Encoding: 8bit\n" | 15 | "Content-Transfer-Encoding: 8bit\n" |
15 | "Language: \n" | ||
16 | "X-Generator: Lokalize 1.2\n" | 16 | "X-Generator: Lokalize 1.2\n" |
17 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" | 17 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" |
18 | 18 | ||
19 | #: src/lib/ecore/ecore_getopt.c:91 | 19 | #: src/lib/ecore/ecore_getopt.c:95 |
20 | msgid "Version:" | 20 | msgid "Version:" |
21 | msgstr "Verze:" | 21 | msgstr "Verze:" |
22 | 22 | ||
23 | #: src/lib/ecore/ecore_getopt.c:100 | 23 | #: src/lib/ecore/ecore_getopt.c:104 |
24 | msgid "Usage:" | 24 | msgid "Usage:" |
25 | msgstr "Použití:" | 25 | msgstr "Použití:" |
26 | 26 | ||
27 | #: src/lib/ecore/ecore_getopt.c:105 | 27 | #: src/lib/ecore/ecore_getopt.c:109 |
28 | #, c-format | 28 | #, c-format |
29 | msgid "%s [options]\n" | 29 | msgid "%s [options]\n" |
30 | msgstr "%s [volby]\n" | 30 | msgstr "%s [volby]\n" |
31 | 31 | ||
32 | #: src/lib/ecore/ecore_getopt.c:260 | 32 | #: src/lib/ecore/ecore_getopt.c:264 |
33 | msgid "Copyright:" | 33 | msgid "Copyright:" |
34 | msgstr "Copyright:" | 34 | msgstr "Copyright:" |
35 | 35 | ||
36 | #: src/lib/ecore/ecore_getopt.c:272 | 36 | #: src/lib/ecore/ecore_getopt.c:276 |
37 | msgid "License:" | 37 | msgid "License:" |
38 | msgstr "Licence:" | 38 | msgstr "Licence:" |
39 | 39 | ||
40 | #: src/lib/ecore/ecore_getopt.c:453 | 40 | #: src/lib/ecore/ecore_getopt.c:457 |
41 | msgid "Type: " | 41 | msgid "Type: " |
42 | msgstr "Typ: " | 42 | msgstr "Typ: " |
43 | 43 | ||
44 | #: src/lib/ecore/ecore_getopt.c:529 | 44 | #: src/lib/ecore/ecore_getopt.c:533 |
45 | msgid "Default: " | 45 | msgid "Default: " |
46 | msgstr "Výchozí: " | 46 | msgstr "Výchozí: " |
47 | 47 | ||
48 | #: src/lib/ecore/ecore_getopt.c:556 | 48 | #: src/lib/ecore/ecore_getopt.c:560 |
49 | msgid "Choices: " | 49 | msgid "Choices: " |
50 | msgstr "Možnosti: " | 50 | msgstr "Možnosti: " |
51 | 51 | ||
52 | #: src/lib/ecore/ecore_getopt.c:657 | 52 | #: src/lib/ecore/ecore_getopt.c:661 |
53 | msgid "Options:\n" | 53 | msgid "Options:\n" |
54 | msgstr "Volby:\n" | 54 | msgstr "Volby:\n" |
55 | 55 | ||
56 | #: src/lib/ecore/ecore_getopt.c:782 | 56 | #: src/lib/ecore/ecore_getopt.c:786 |
57 | #, c-format | 57 | #, c-format |
58 | msgid "ERROR: unknown option --%s.\n" | 58 | msgid "ERROR: unknown option --%s.\n" |
59 | msgstr "CHYBA: neznámá volba --%s.\n" | 59 | msgstr "CHYBA: neznámá volba --%s.\n" |
60 | 60 | ||
61 | #: src/lib/ecore/ecore_getopt.c:784 | 61 | #: src/lib/ecore/ecore_getopt.c:788 |
62 | #, c-format | 62 | #, c-format |
63 | msgid "ERROR: unknown option -%c.\n" | 63 | msgid "ERROR: unknown option -%c.\n" |
64 | msgstr "CHYBA: neznámá volba -%c.\n" | 64 | msgstr "CHYBA: neznámá volba -%c.\n" |
65 | 65 | ||
66 | #: src/lib/ecore/ecore_getopt.c:842 | 66 | #: src/lib/ecore/ecore_getopt.c:846 |
67 | msgid "ERROR: " | 67 | msgid "ERROR: " |
68 | msgstr "CHYBA: " | 68 | msgstr "CHYBA: " |
69 | 69 | ||
70 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 70 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
71 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 71 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
72 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 72 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
73 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 73 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
74 | msgid "value has no pointer set.\n" | 74 | msgid "value has no pointer set.\n" |
75 | msgstr "hodnota nemá nastaven pointer.\n" | 75 | msgstr "hodnota nemá nastaven pointer.\n" |
76 | 76 | ||
77 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 77 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
78 | #, c-format | 78 | #, c-format |
79 | msgid "unknown boolean value %s.\n" | 79 | msgid "unknown boolean value %s.\n" |
80 | msgstr "neznámá boolean hodnota %s.\n" | 80 | msgstr "neznámá boolean hodnota %s.\n" |
81 | 81 | ||
82 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 82 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
83 | #, c-format | 83 | #, c-format |
84 | msgid "invalid number format %s\n" | 84 | msgid "invalid number format %s\n" |
85 | msgstr "neznámý číselný formát %s\n" | 85 | msgstr "neznámý číselný formát %s\n" |
86 | 86 | ||
87 | #: src/lib/ecore/ecore_getopt.c:1123 | 87 | #: src/lib/ecore/ecore_getopt.c:1127 |
88 | #, c-format | 88 | #, c-format |
89 | msgid "invalid choice \"%s\". Valid values are: " | 89 | msgid "invalid choice \"%s\". Valid values are: " |
90 | msgstr "neznámá volba \"%s\". Možné hodnoty jsou: " | 90 | msgstr "neznámá volba \"%s\". Možné hodnoty jsou: " |
91 | 91 | ||
92 | #: src/lib/ecore/ecore_getopt.c:1151 | 92 | #: src/lib/ecore/ecore_getopt.c:1155 |
93 | msgid "missing parameter to append.\n" | 93 | msgid "missing parameter to append.\n" |
94 | msgstr "chybějící parametr k připojení.\n" | 94 | msgstr "chybějící parametr k připojení.\n" |
95 | 95 | ||
96 | #: src/lib/ecore/ecore_getopt.c:1255 | 96 | #: src/lib/ecore/ecore_getopt.c:1259 |
97 | msgid "could not parse value.\n" | 97 | msgid "could not parse value.\n" |
98 | msgstr "nemůžu parsovat hodnotu.\n" | 98 | msgstr "nemůžu parsovat hodnotu.\n" |
99 | 99 | ||
100 | #: src/lib/ecore/ecore_getopt.c:1312 | 100 | #: src/lib/ecore/ecore_getopt.c:1316 |
101 | msgid "missing parameter.\n" | 101 | msgid "missing parameter.\n" |
102 | msgstr "chybějící parametr.\n" | 102 | msgstr "chybějící parametr.\n" |
103 | 103 | ||
104 | #: src/lib/ecore/ecore_getopt.c:1325 | 104 | #: src/lib/ecore/ecore_getopt.c:1329 |
105 | msgid "missing callback function!\n" | 105 | msgid "missing callback function!\n" |
106 | msgstr "chybějící callback funkce!\n" | 106 | msgstr "chybějící callback funkce!\n" |
107 | 107 | ||
108 | #: src/lib/ecore/ecore_getopt.c:1354 | 108 | #: src/lib/ecore/ecore_getopt.c:1358 |
109 | msgid "no version was defined.\n" | 109 | msgid "no version was defined.\n" |
110 | msgstr "nebyla definována verze.\n" | 110 | msgstr "nebyla definována verze.\n" |
111 | 111 | ||
112 | #: src/lib/ecore/ecore_getopt.c:1371 | 112 | #: src/lib/ecore/ecore_getopt.c:1375 |
113 | msgid "no copyright was defined.\n" | 113 | msgid "no copyright was defined.\n" |
114 | msgstr "nebyl definován copyright.\n" | 114 | msgstr "nebyl definován copyright.\n" |
115 | 115 | ||
116 | #: src/lib/ecore/ecore_getopt.c:1388 | 116 | #: src/lib/ecore/ecore_getopt.c:1392 |
117 | msgid "no license was defined.\n" | 117 | msgid "no license was defined.\n" |
118 | msgstr "nebyla definována licence.\n" | 118 | msgstr "nebyla definována licence.\n" |
119 | 119 | ||
120 | #: src/lib/ecore/ecore_getopt.c:1463 | 120 | #: src/lib/ecore/ecore_getopt.c:1467 |
121 | #, c-format | 121 | #, c-format |
122 | msgid "ERROR: unknown option --%s, ignored.\n" | 122 | msgid "ERROR: unknown option --%s, ignored.\n" |
123 | msgstr "CHYBA: neznámá volba --%s, ignoruji.\n" | 123 | msgstr "CHYBA: neznámá volba --%s, ignoruji.\n" |
124 | 124 | ||
125 | #: src/lib/ecore/ecore_getopt.c:1496 | 125 | #: src/lib/ecore/ecore_getopt.c:1500 |
126 | #, c-format | 126 | #, c-format |
127 | msgid "ERROR: option --%s requires an argument!\n" | 127 | msgid "ERROR: option --%s requires an argument!\n" |
128 | msgstr "CHYBA: volba --%s vyžaduje argument!\n" | 128 | msgstr "CHYBA: volba --%s vyžaduje argument!\n" |
129 | 129 | ||
130 | #: src/lib/ecore/ecore_getopt.c:1538 | 130 | #: src/lib/ecore/ecore_getopt.c:1542 |
131 | #, c-format | 131 | #, c-format |
132 | msgid "ERROR: unknown option -%c, ignored.\n" | 132 | msgid "ERROR: unknown option -%c, ignored.\n" |
133 | msgstr "CHYBA: neznámá volba -%c, ignoruji.\n" | 133 | msgstr "CHYBA: neznámá volba -%c, ignoruji.\n" |
134 | 134 | ||
135 | #: src/lib/ecore/ecore_getopt.c:1576 | 135 | #: src/lib/ecore/ecore_getopt.c:1580 |
136 | #, c-format | 136 | #, c-format |
137 | msgid "ERROR: option -%c requires an argument!\n" | 137 | msgid "ERROR: option -%c requires an argument!\n" |
138 | msgstr "CHYBA: volba -%c vyžaduje argument!\n" | 138 | msgstr "CHYBA: volba -%c vyžaduje argument!\n" |
139 | 139 | ||
140 | #: src/lib/ecore/ecore_getopt.c:1785 | 140 | #: src/lib/ecore/ecore_getopt.c:1789 |
141 | msgid "ERROR: no parser provided.\n" | 141 | msgid "ERROR: no parser provided.\n" |
142 | msgstr "CHYBA: nebyl poskytnut parser.\n" | 142 | msgstr "CHYBA: nebyl poskytnut parser.\n" |
143 | 143 | ||
144 | #: src/lib/ecore/ecore_getopt.c:1790 | 144 | #: src/lib/ecore/ecore_getopt.c:1794 |
145 | msgid "ERROR: no values provided.\n" | 145 | msgid "ERROR: no values provided.\n" |
146 | msgstr "CHYBA: nebyly poskytnuty hodnoty.\n" | 146 | msgstr "CHYBA: nebyly poskytnuty hodnoty.\n" |
147 | 147 | ||
148 | #: src/lib/ecore/ecore_getopt.c:1799 | 148 | #: src/lib/ecore/ecore_getopt.c:1803 |
149 | msgid "ERROR: no arguments provided.\n" | 149 | msgid "ERROR: no arguments provided.\n" |
150 | msgstr "CHYBA: nebyly poskytnuty argumenty.\n" | 150 | msgstr "CHYBA: nebyly poskytnuty argumenty.\n" |
151 | 151 | ||
152 | #: src/lib/ecore/ecore_getopt.c:1825 | 152 | #: src/lib/ecore/ecore_getopt.c:1829 |
153 | msgid "ERROR: invalid options found." | 153 | msgid "ERROR: invalid options found." |
154 | msgstr "CHYBA: nalezeny neplatné volby." | 154 | msgstr "CHYBA: nalezeny neplatné volby." |
155 | 155 | ||
156 | #: src/lib/ecore/ecore_getopt.c:1831 | 156 | #: src/lib/ecore/ecore_getopt.c:1835 |
157 | #, c-format | 157 | #, c-format |
158 | msgid " See --%s.\n" | 158 | msgid " See --%s.\n" |
159 | msgstr " Viz --%s.\n" | 159 | msgstr " Viz --%s.\n" |
160 | 160 | ||
161 | #: src/lib/ecore/ecore_getopt.c:1833 | 161 | #: src/lib/ecore/ecore_getopt.c:1837 |
162 | #, c-format | 162 | #, c-format |
163 | msgid " See -%c.\n" | 163 | msgid " See -%c.\n" |
164 | msgstr " Viz -%c.\n" | 164 | msgstr " Viz -%c.\n" |
165 | 165 | ||
166 | #: src/lib/ecore/ecore_getopt.c:1875 | 166 | #: src/lib/ecore/ecore_getopt.c:1879 |
167 | #, c-format | 167 | #, c-format |
168 | msgid "ERROR: incorrect geometry value '%s'\n" | 168 | msgid "ERROR: incorrect geometry value '%s'\n" |
169 | msgstr "CHYBA: neplatná hodnota geometrie '%s'\n" | 169 | msgstr "CHYBA: neplatná hodnota geometrie '%s'\n" |
170 | 170 | ||
171 | #: src/lib/ecore/ecore_getopt.c:1903 | 171 | #: src/lib/ecore/ecore_getopt.c:1907 |
172 | #, c-format | 172 | #, c-format |
173 | msgid "ERROR: incorrect size value '%s'\n" | 173 | msgid "ERROR: incorrect size value '%s'\n" |
174 | msgstr "CHYBA: neplatná hodnota velikosti '%s'\n" | 174 | msgstr "CHYBA: neplatná hodnota velikosti '%s'\n" |
diff --git a/libraries/ecore/po/de.gmo b/libraries/ecore/po/de.gmo index b26411f..0507965 100644 --- a/libraries/ecore/po/de.gmo +++ b/libraries/ecore/po/de.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/de.po b/libraries/ecore/po/de.po index c6072bc..9dacdbf 100644 --- a/libraries/ecore/po/de.po +++ b/libraries/ecore/po/de.po | |||
@@ -8,168 +8,168 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: ecore 0.9.9.063-2\n" | 9 | "Project-Id-Version: ecore 0.9.9.063-2\n" |
10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
11 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 11 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
12 | "PO-Revision-Date: 2010-01-03 21:52+GMT\n" | 12 | "PO-Revision-Date: 2010-01-03 21:52+GMT\n" |
13 | "Last-Translator: Fabian Nowak <timystery@arcor.de>\n" | 13 | "Last-Translator: Fabian Nowak <timystery@arcor.de>\n" |
14 | "Language-Team: German <debian-l10n-german@lists.debian.org>\n" | 14 | "Language-Team: German <debian-l10n-german@lists.debian.org>\n" |
15 | "Language: de\n" | ||
15 | "MIME-Version: 1.0\n" | 16 | "MIME-Version: 1.0\n" |
16 | "Content-Type: text/plain; charset=UTF-8\n" | 17 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
18 | "Language: de\n" | ||
19 | 19 | ||
20 | #: src/lib/ecore/ecore_getopt.c:91 | 20 | #: src/lib/ecore/ecore_getopt.c:95 |
21 | msgid "Version:" | 21 | msgid "Version:" |
22 | msgstr "Version:" | 22 | msgstr "Version:" |
23 | 23 | ||
24 | #: src/lib/ecore/ecore_getopt.c:100 | 24 | #: src/lib/ecore/ecore_getopt.c:104 |
25 | msgid "Usage:" | 25 | msgid "Usage:" |
26 | msgstr "Aufruf:" | 26 | msgstr "Aufruf:" |
27 | 27 | ||
28 | #: src/lib/ecore/ecore_getopt.c:105 | 28 | #: src/lib/ecore/ecore_getopt.c:109 |
29 | #, c-format | 29 | #, c-format |
30 | msgid "%s [options]\n" | 30 | msgid "%s [options]\n" |
31 | msgstr "%s [Optionen]\n" | 31 | msgstr "%s [Optionen]\n" |
32 | 32 | ||
33 | #: src/lib/ecore/ecore_getopt.c:260 | 33 | #: src/lib/ecore/ecore_getopt.c:264 |
34 | msgid "Copyright:" | 34 | msgid "Copyright:" |
35 | msgstr "Copyright:" | 35 | msgstr "Copyright:" |
36 | 36 | ||
37 | #: src/lib/ecore/ecore_getopt.c:272 | 37 | #: src/lib/ecore/ecore_getopt.c:276 |
38 | msgid "License:" | 38 | msgid "License:" |
39 | msgstr "Lizenz:" | 39 | msgstr "Lizenz:" |
40 | 40 | ||
41 | #: src/lib/ecore/ecore_getopt.c:453 | 41 | #: src/lib/ecore/ecore_getopt.c:457 |
42 | msgid "Type: " | 42 | msgid "Type: " |
43 | msgstr "Typ: " | 43 | msgstr "Typ: " |
44 | 44 | ||
45 | #: src/lib/ecore/ecore_getopt.c:529 | 45 | #: src/lib/ecore/ecore_getopt.c:533 |
46 | msgid "Default: " | 46 | msgid "Default: " |
47 | msgstr "Standard: " | 47 | msgstr "Standard: " |
48 | 48 | ||
49 | #: src/lib/ecore/ecore_getopt.c:556 | 49 | #: src/lib/ecore/ecore_getopt.c:560 |
50 | msgid "Choices: " | 50 | msgid "Choices: " |
51 | msgstr "Auswahlmöglichkeiten: " | 51 | msgstr "Auswahlmöglichkeiten: " |
52 | 52 | ||
53 | #: src/lib/ecore/ecore_getopt.c:657 | 53 | #: src/lib/ecore/ecore_getopt.c:661 |
54 | msgid "Options:\n" | 54 | msgid "Options:\n" |
55 | msgstr "Optionen:\n" | 55 | msgstr "Optionen:\n" |
56 | 56 | ||
57 | #: src/lib/ecore/ecore_getopt.c:782 | 57 | #: src/lib/ecore/ecore_getopt.c:786 |
58 | #, c-format | 58 | #, c-format |
59 | msgid "ERROR: unknown option --%s.\n" | 59 | msgid "ERROR: unknown option --%s.\n" |
60 | msgstr "FEHLER: Unbekannte Option --%s\n" | 60 | msgstr "FEHLER: Unbekannte Option --%s\n" |
61 | 61 | ||
62 | #: src/lib/ecore/ecore_getopt.c:784 | 62 | #: src/lib/ecore/ecore_getopt.c:788 |
63 | #, c-format | 63 | #, c-format |
64 | msgid "ERROR: unknown option -%c.\n" | 64 | msgid "ERROR: unknown option -%c.\n" |
65 | msgstr "FEHLER: Unbekannte Option -%c\n" | 65 | msgstr "FEHLER: Unbekannte Option -%c\n" |
66 | 66 | ||
67 | #: src/lib/ecore/ecore_getopt.c:842 | 67 | #: src/lib/ecore/ecore_getopt.c:846 |
68 | msgid "ERROR: " | 68 | msgid "ERROR: " |
69 | msgstr "FEHLER: " | 69 | msgstr "FEHLER: " |
70 | 70 | ||
71 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 71 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
72 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 72 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
73 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 73 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
74 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 74 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
75 | msgid "value has no pointer set.\n" | 75 | msgid "value has no pointer set.\n" |
76 | msgstr "kein Zeiger auf Wert gesetzt\n" | 76 | msgstr "kein Zeiger auf Wert gesetzt\n" |
77 | 77 | ||
78 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 78 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
79 | #, c-format | 79 | #, c-format |
80 | msgid "unknown boolean value %s.\n" | 80 | msgid "unknown boolean value %s.\n" |
81 | msgstr "unbekannter boolescher Wert %s\n" | 81 | msgstr "unbekannter boolescher Wert %s\n" |
82 | 82 | ||
83 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 83 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
84 | #, c-format | 84 | #, c-format |
85 | msgid "invalid number format %s\n" | 85 | msgid "invalid number format %s\n" |
86 | msgstr "ungültiges Zahlenformat %s\n" | 86 | msgstr "ungültiges Zahlenformat %s\n" |
87 | 87 | ||
88 | #: src/lib/ecore/ecore_getopt.c:1123 | 88 | #: src/lib/ecore/ecore_getopt.c:1127 |
89 | #, c-format | 89 | #, c-format |
90 | msgid "invalid choice \"%s\". Valid values are: " | 90 | msgid "invalid choice \"%s\". Valid values are: " |
91 | msgstr "ungültige Auswahl \"%s\". Gültige Werte sind: " | 91 | msgstr "ungültige Auswahl \"%s\". Gültige Werte sind: " |
92 | 92 | ||
93 | #: src/lib/ecore/ecore_getopt.c:1151 | 93 | #: src/lib/ecore/ecore_getopt.c:1155 |
94 | msgid "missing parameter to append.\n" | 94 | msgid "missing parameter to append.\n" |
95 | msgstr "fehlender Parameter zum Anhängen.\n" | 95 | msgstr "fehlender Parameter zum Anhängen.\n" |
96 | 96 | ||
97 | #: src/lib/ecore/ecore_getopt.c:1255 | 97 | #: src/lib/ecore/ecore_getopt.c:1259 |
98 | msgid "could not parse value.\n" | 98 | msgid "could not parse value.\n" |
99 | msgstr "Wert kann nicht ausgewertet werden.\n" | 99 | msgstr "Wert kann nicht ausgewertet werden.\n" |
100 | 100 | ||
101 | #: src/lib/ecore/ecore_getopt.c:1312 | 101 | #: src/lib/ecore/ecore_getopt.c:1316 |
102 | msgid "missing parameter.\n" | 102 | msgid "missing parameter.\n" |
103 | msgstr "fehlender Parameter.\n" | 103 | msgstr "fehlender Parameter.\n" |
104 | 104 | ||
105 | #: src/lib/ecore/ecore_getopt.c:1325 | 105 | #: src/lib/ecore/ecore_getopt.c:1329 |
106 | msgid "missing callback function!\n" | 106 | msgid "missing callback function!\n" |
107 | msgstr "fehlende Rückruffunktion!\n" | 107 | msgstr "fehlende Rückruffunktion!\n" |
108 | 108 | ||
109 | #: src/lib/ecore/ecore_getopt.c:1354 | 109 | #: src/lib/ecore/ecore_getopt.c:1358 |
110 | msgid "no version was defined.\n" | 110 | msgid "no version was defined.\n" |
111 | msgstr "es wurde keine Version angegeben.\n" | 111 | msgstr "es wurde keine Version angegeben.\n" |
112 | 112 | ||
113 | #: src/lib/ecore/ecore_getopt.c:1371 | 113 | #: src/lib/ecore/ecore_getopt.c:1375 |
114 | msgid "no copyright was defined.\n" | 114 | msgid "no copyright was defined.\n" |
115 | msgstr "es wurde kein Copyright angegeben.\n" | 115 | msgstr "es wurde kein Copyright angegeben.\n" |
116 | 116 | ||
117 | #: src/lib/ecore/ecore_getopt.c:1388 | 117 | #: src/lib/ecore/ecore_getopt.c:1392 |
118 | msgid "no license was defined.\n" | 118 | msgid "no license was defined.\n" |
119 | msgstr "es wurde keine Lizenz angegeben.\n" | 119 | msgstr "es wurde keine Lizenz angegeben.\n" |
120 | 120 | ||
121 | #: src/lib/ecore/ecore_getopt.c:1463 | 121 | #: src/lib/ecore/ecore_getopt.c:1467 |
122 | #, c-format | 122 | #, c-format |
123 | msgid "ERROR: unknown option --%s, ignored.\n" | 123 | msgid "ERROR: unknown option --%s, ignored.\n" |
124 | msgstr "FEHLER: Unbekannte Option --%s, ignoriert\n" | 124 | msgstr "FEHLER: Unbekannte Option --%s, ignoriert\n" |
125 | 125 | ||
126 | #: src/lib/ecore/ecore_getopt.c:1496 | 126 | #: src/lib/ecore/ecore_getopt.c:1500 |
127 | #, c-format | 127 | #, c-format |
128 | msgid "ERROR: option --%s requires an argument!\n" | 128 | msgid "ERROR: option --%s requires an argument!\n" |
129 | msgstr "FEHLER: Option --%s benötigt ein Argument!\n" | 129 | msgstr "FEHLER: Option --%s benötigt ein Argument!\n" |
130 | 130 | ||
131 | #: src/lib/ecore/ecore_getopt.c:1538 | 131 | #: src/lib/ecore/ecore_getopt.c:1542 |
132 | #, c-format | 132 | #, c-format |
133 | msgid "ERROR: unknown option -%c, ignored.\n" | 133 | msgid "ERROR: unknown option -%c, ignored.\n" |
134 | msgstr "FEHLER: Unbekannte Option -%c, ignoriert\n" | 134 | msgstr "FEHLER: Unbekannte Option -%c, ignoriert\n" |
135 | 135 | ||
136 | #: src/lib/ecore/ecore_getopt.c:1576 | 136 | #: src/lib/ecore/ecore_getopt.c:1580 |
137 | #, c-format | 137 | #, c-format |
138 | msgid "ERROR: option -%c requires an argument!\n" | 138 | msgid "ERROR: option -%c requires an argument!\n" |
139 | msgstr "FEHLER: Option -%c benötigt ein Argument!\n" | 139 | msgstr "FEHLER: Option -%c benötigt ein Argument!\n" |
140 | 140 | ||
141 | #: src/lib/ecore/ecore_getopt.c:1785 | 141 | #: src/lib/ecore/ecore_getopt.c:1789 |
142 | msgid "ERROR: no parser provided.\n" | 142 | msgid "ERROR: no parser provided.\n" |
143 | msgstr "FEHLER: Kein Parser bereitgestellt.\n" | 143 | msgstr "FEHLER: Kein Parser bereitgestellt.\n" |
144 | 144 | ||
145 | #: src/lib/ecore/ecore_getopt.c:1790 | 145 | #: src/lib/ecore/ecore_getopt.c:1794 |
146 | msgid "ERROR: no values provided.\n" | 146 | msgid "ERROR: no values provided.\n" |
147 | msgstr "FEHLER: Keine Werte bereitgestellt.\n" | 147 | msgstr "FEHLER: Keine Werte bereitgestellt.\n" |
148 | 148 | ||
149 | #: src/lib/ecore/ecore_getopt.c:1799 | 149 | #: src/lib/ecore/ecore_getopt.c:1803 |
150 | msgid "ERROR: no arguments provided.\n" | 150 | msgid "ERROR: no arguments provided.\n" |
151 | msgstr "FEHLER: Keine Argumente bereitgestellt.\n" | 151 | msgstr "FEHLER: Keine Argumente bereitgestellt.\n" |
152 | 152 | ||
153 | #: src/lib/ecore/ecore_getopt.c:1825 | 153 | #: src/lib/ecore/ecore_getopt.c:1829 |
154 | msgid "ERROR: invalid options found." | 154 | msgid "ERROR: invalid options found." |
155 | msgstr "FEHLER: Ungültige Optionen gefunden." | 155 | msgstr "FEHLER: Ungültige Optionen gefunden." |
156 | 156 | ||
157 | #: src/lib/ecore/ecore_getopt.c:1831 | 157 | #: src/lib/ecore/ecore_getopt.c:1835 |
158 | #, c-format | 158 | #, c-format |
159 | msgid " See --%s.\n" | 159 | msgid " See --%s.\n" |
160 | msgstr " Siehe --%s\n" | 160 | msgstr " Siehe --%s\n" |
161 | 161 | ||
162 | #: src/lib/ecore/ecore_getopt.c:1833 | 162 | #: src/lib/ecore/ecore_getopt.c:1837 |
163 | #, c-format | 163 | #, c-format |
164 | msgid " See -%c.\n" | 164 | msgid " See -%c.\n" |
165 | msgstr " Siehe -%c\n" | 165 | msgstr " Siehe -%c\n" |
166 | 166 | ||
167 | #: src/lib/ecore/ecore_getopt.c:1875 | 167 | #: src/lib/ecore/ecore_getopt.c:1879 |
168 | #, c-format | 168 | #, c-format |
169 | msgid "ERROR: incorrect geometry value '%s'\n" | 169 | msgid "ERROR: incorrect geometry value '%s'\n" |
170 | msgstr "FEHLER: Falscher Geometriewert \"%s\"\n" | 170 | msgstr "FEHLER: Falscher Geometriewert \"%s\"\n" |
171 | 171 | ||
172 | #: src/lib/ecore/ecore_getopt.c:1903 | 172 | #: src/lib/ecore/ecore_getopt.c:1907 |
173 | #, c-format | 173 | #, c-format |
174 | msgid "ERROR: incorrect size value '%s'\n" | 174 | msgid "ERROR: incorrect size value '%s'\n" |
175 | msgstr "FEHLER: Falscher Größenwert \"%s\"\n" | 175 | msgstr "FEHLER: Falscher Größenwert \"%s\"\n" |
diff --git a/libraries/ecore/po/ecore.pot b/libraries/ecore/po/ecore.pot index 69cbec8..b7e3500 100644 --- a/libraries/ecore/po/ecore.pot +++ b/libraries/ecore/po/ecore.pot | |||
@@ -6,169 +6,170 @@ | |||
6 | #, fuzzy | 6 | #, fuzzy |
7 | msgid "" | 7 | msgid "" |
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: ecore 1.1.99.67344\n" | 9 | "Project-Id-Version: ecore 1.2.0-alpha\n" |
10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
11 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 11 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
15 | "Language: \n" | ||
15 | "MIME-Version: 1.0\n" | 16 | "MIME-Version: 1.0\n" |
16 | "Content-Type: text/plain; charset=CHARSET\n" | 17 | "Content-Type: text/plain; charset=CHARSET\n" |
17 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
18 | 19 | ||
19 | #: src/lib/ecore/ecore_getopt.c:91 | 20 | #: src/lib/ecore/ecore_getopt.c:95 |
20 | msgid "Version:" | 21 | msgid "Version:" |
21 | msgstr "" | 22 | msgstr "" |
22 | 23 | ||
23 | #: src/lib/ecore/ecore_getopt.c:100 | 24 | #: src/lib/ecore/ecore_getopt.c:104 |
24 | msgid "Usage:" | 25 | msgid "Usage:" |
25 | msgstr "" | 26 | msgstr "" |
26 | 27 | ||
27 | #: src/lib/ecore/ecore_getopt.c:105 | 28 | #: src/lib/ecore/ecore_getopt.c:109 |
28 | #, c-format | 29 | #, c-format |
29 | msgid "%s [options]\n" | 30 | msgid "%s [options]\n" |
30 | msgstr "" | 31 | msgstr "" |
31 | 32 | ||
32 | #: src/lib/ecore/ecore_getopt.c:260 | 33 | #: src/lib/ecore/ecore_getopt.c:264 |
33 | msgid "Copyright:" | 34 | msgid "Copyright:" |
34 | msgstr "" | 35 | msgstr "" |
35 | 36 | ||
36 | #: src/lib/ecore/ecore_getopt.c:272 | 37 | #: src/lib/ecore/ecore_getopt.c:276 |
37 | msgid "License:" | 38 | msgid "License:" |
38 | msgstr "" | 39 | msgstr "" |
39 | 40 | ||
40 | #: src/lib/ecore/ecore_getopt.c:453 | 41 | #: src/lib/ecore/ecore_getopt.c:457 |
41 | msgid "Type: " | 42 | msgid "Type: " |
42 | msgstr "" | 43 | msgstr "" |
43 | 44 | ||
44 | #: src/lib/ecore/ecore_getopt.c:529 | 45 | #: src/lib/ecore/ecore_getopt.c:533 |
45 | msgid "Default: " | 46 | msgid "Default: " |
46 | msgstr "" | 47 | msgstr "" |
47 | 48 | ||
48 | #: src/lib/ecore/ecore_getopt.c:556 | 49 | #: src/lib/ecore/ecore_getopt.c:560 |
49 | msgid "Choices: " | 50 | msgid "Choices: " |
50 | msgstr "" | 51 | msgstr "" |
51 | 52 | ||
52 | #: src/lib/ecore/ecore_getopt.c:657 | 53 | #: src/lib/ecore/ecore_getopt.c:661 |
53 | msgid "Options:\n" | 54 | msgid "Options:\n" |
54 | msgstr "" | 55 | msgstr "" |
55 | 56 | ||
56 | #: src/lib/ecore/ecore_getopt.c:782 | 57 | #: src/lib/ecore/ecore_getopt.c:786 |
57 | #, c-format | 58 | #, c-format |
58 | msgid "ERROR: unknown option --%s.\n" | 59 | msgid "ERROR: unknown option --%s.\n" |
59 | msgstr "" | 60 | msgstr "" |
60 | 61 | ||
61 | #: src/lib/ecore/ecore_getopt.c:784 | 62 | #: src/lib/ecore/ecore_getopt.c:788 |
62 | #, c-format | 63 | #, c-format |
63 | msgid "ERROR: unknown option -%c.\n" | 64 | msgid "ERROR: unknown option -%c.\n" |
64 | msgstr "" | 65 | msgstr "" |
65 | 66 | ||
66 | #: src/lib/ecore/ecore_getopt.c:842 | 67 | #: src/lib/ecore/ecore_getopt.c:846 |
67 | msgid "ERROR: " | 68 | msgid "ERROR: " |
68 | msgstr "" | 69 | msgstr "" |
69 | 70 | ||
70 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 71 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
71 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 72 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
72 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 73 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
73 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 74 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
74 | msgid "value has no pointer set.\n" | 75 | msgid "value has no pointer set.\n" |
75 | msgstr "" | 76 | msgstr "" |
76 | 77 | ||
77 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 78 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
78 | #, c-format | 79 | #, c-format |
79 | msgid "unknown boolean value %s.\n" | 80 | msgid "unknown boolean value %s.\n" |
80 | msgstr "" | 81 | msgstr "" |
81 | 82 | ||
82 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 83 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
83 | #, c-format | 84 | #, c-format |
84 | msgid "invalid number format %s\n" | 85 | msgid "invalid number format %s\n" |
85 | msgstr "" | 86 | msgstr "" |
86 | 87 | ||
87 | #: src/lib/ecore/ecore_getopt.c:1123 | 88 | #: src/lib/ecore/ecore_getopt.c:1127 |
88 | #, c-format | 89 | #, c-format |
89 | msgid "invalid choice \"%s\". Valid values are: " | 90 | msgid "invalid choice \"%s\". Valid values are: " |
90 | msgstr "" | 91 | msgstr "" |
91 | 92 | ||
92 | #: src/lib/ecore/ecore_getopt.c:1151 | 93 | #: src/lib/ecore/ecore_getopt.c:1155 |
93 | msgid "missing parameter to append.\n" | 94 | msgid "missing parameter to append.\n" |
94 | msgstr "" | 95 | msgstr "" |
95 | 96 | ||
96 | #: src/lib/ecore/ecore_getopt.c:1255 | 97 | #: src/lib/ecore/ecore_getopt.c:1259 |
97 | msgid "could not parse value.\n" | 98 | msgid "could not parse value.\n" |
98 | msgstr "" | 99 | msgstr "" |
99 | 100 | ||
100 | #: src/lib/ecore/ecore_getopt.c:1312 | 101 | #: src/lib/ecore/ecore_getopt.c:1316 |
101 | msgid "missing parameter.\n" | 102 | msgid "missing parameter.\n" |
102 | msgstr "" | 103 | msgstr "" |
103 | 104 | ||
104 | #: src/lib/ecore/ecore_getopt.c:1325 | 105 | #: src/lib/ecore/ecore_getopt.c:1329 |
105 | msgid "missing callback function!\n" | 106 | msgid "missing callback function!\n" |
106 | msgstr "" | 107 | msgstr "" |
107 | 108 | ||
108 | #: src/lib/ecore/ecore_getopt.c:1354 | 109 | #: src/lib/ecore/ecore_getopt.c:1358 |
109 | msgid "no version was defined.\n" | 110 | msgid "no version was defined.\n" |
110 | msgstr "" | 111 | msgstr "" |
111 | 112 | ||
112 | #: src/lib/ecore/ecore_getopt.c:1371 | 113 | #: src/lib/ecore/ecore_getopt.c:1375 |
113 | msgid "no copyright was defined.\n" | 114 | msgid "no copyright was defined.\n" |
114 | msgstr "" | 115 | msgstr "" |
115 | 116 | ||
116 | #: src/lib/ecore/ecore_getopt.c:1388 | 117 | #: src/lib/ecore/ecore_getopt.c:1392 |
117 | msgid "no license was defined.\n" | 118 | msgid "no license was defined.\n" |
118 | msgstr "" | 119 | msgstr "" |
119 | 120 | ||
120 | #: src/lib/ecore/ecore_getopt.c:1463 | 121 | #: src/lib/ecore/ecore_getopt.c:1467 |
121 | #, c-format | 122 | #, c-format |
122 | msgid "ERROR: unknown option --%s, ignored.\n" | 123 | msgid "ERROR: unknown option --%s, ignored.\n" |
123 | msgstr "" | 124 | msgstr "" |
124 | 125 | ||
125 | #: src/lib/ecore/ecore_getopt.c:1496 | 126 | #: src/lib/ecore/ecore_getopt.c:1500 |
126 | #, c-format | 127 | #, c-format |
127 | msgid "ERROR: option --%s requires an argument!\n" | 128 | msgid "ERROR: option --%s requires an argument!\n" |
128 | msgstr "" | 129 | msgstr "" |
129 | 130 | ||
130 | #: src/lib/ecore/ecore_getopt.c:1538 | 131 | #: src/lib/ecore/ecore_getopt.c:1542 |
131 | #, c-format | 132 | #, c-format |
132 | msgid "ERROR: unknown option -%c, ignored.\n" | 133 | msgid "ERROR: unknown option -%c, ignored.\n" |
133 | msgstr "" | 134 | msgstr "" |
134 | 135 | ||
135 | #: src/lib/ecore/ecore_getopt.c:1576 | 136 | #: src/lib/ecore/ecore_getopt.c:1580 |
136 | #, c-format | 137 | #, c-format |
137 | msgid "ERROR: option -%c requires an argument!\n" | 138 | msgid "ERROR: option -%c requires an argument!\n" |
138 | msgstr "" | 139 | msgstr "" |
139 | 140 | ||
140 | #: src/lib/ecore/ecore_getopt.c:1785 | 141 | #: src/lib/ecore/ecore_getopt.c:1789 |
141 | msgid "ERROR: no parser provided.\n" | 142 | msgid "ERROR: no parser provided.\n" |
142 | msgstr "" | 143 | msgstr "" |
143 | 144 | ||
144 | #: src/lib/ecore/ecore_getopt.c:1790 | 145 | #: src/lib/ecore/ecore_getopt.c:1794 |
145 | msgid "ERROR: no values provided.\n" | 146 | msgid "ERROR: no values provided.\n" |
146 | msgstr "" | 147 | msgstr "" |
147 | 148 | ||
148 | #: src/lib/ecore/ecore_getopt.c:1799 | 149 | #: src/lib/ecore/ecore_getopt.c:1803 |
149 | msgid "ERROR: no arguments provided.\n" | 150 | msgid "ERROR: no arguments provided.\n" |
150 | msgstr "" | 151 | msgstr "" |
151 | 152 | ||
152 | #: src/lib/ecore/ecore_getopt.c:1825 | 153 | #: src/lib/ecore/ecore_getopt.c:1829 |
153 | msgid "ERROR: invalid options found." | 154 | msgid "ERROR: invalid options found." |
154 | msgstr "" | 155 | msgstr "" |
155 | 156 | ||
156 | #: src/lib/ecore/ecore_getopt.c:1831 | 157 | #: src/lib/ecore/ecore_getopt.c:1835 |
157 | #, c-format | 158 | #, c-format |
158 | msgid " See --%s.\n" | 159 | msgid " See --%s.\n" |
159 | msgstr "" | 160 | msgstr "" |
160 | 161 | ||
161 | #: src/lib/ecore/ecore_getopt.c:1833 | 162 | #: src/lib/ecore/ecore_getopt.c:1837 |
162 | #, c-format | 163 | #, c-format |
163 | msgid " See -%c.\n" | 164 | msgid " See -%c.\n" |
164 | msgstr "" | 165 | msgstr "" |
165 | 166 | ||
166 | #: src/lib/ecore/ecore_getopt.c:1875 | 167 | #: src/lib/ecore/ecore_getopt.c:1879 |
167 | #, c-format | 168 | #, c-format |
168 | msgid "ERROR: incorrect geometry value '%s'\n" | 169 | msgid "ERROR: incorrect geometry value '%s'\n" |
169 | msgstr "" | 170 | msgstr "" |
170 | 171 | ||
171 | #: src/lib/ecore/ecore_getopt.c:1903 | 172 | #: src/lib/ecore/ecore_getopt.c:1907 |
172 | #, c-format | 173 | #, c-format |
173 | msgid "ERROR: incorrect size value '%s'\n" | 174 | msgid "ERROR: incorrect size value '%s'\n" |
174 | msgstr "" | 175 | msgstr "" |
diff --git a/libraries/ecore/po/el.gmo b/libraries/ecore/po/el.gmo index 0f2bac2..2c9ce48 100644 --- a/libraries/ecore/po/el.gmo +++ b/libraries/ecore/po/el.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/el.po b/libraries/ecore/po/el.po index cdf9cf3..0dd56bd 100644 --- a/libraries/ecore/po/el.po +++ b/libraries/ecore/po/el.po | |||
@@ -6,169 +6,169 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: Ecore\n" | 7 | "Project-Id-Version: Ecore\n" |
8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
9 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 9 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
10 | "PO-Revision-Date: 2011-11-20 22:42+0200\n" | 10 | "PO-Revision-Date: 2011-11-20 22:42+0200\n" |
11 | "Last-Translator: George Rizopoulos <george.rizopoulos.1@gmail.com>\n" | 11 | "Last-Translator: George Rizopoulos <george.rizopoulos.1@gmail.com>\n" |
12 | "Language-Team: Greek\n" | 12 | "Language-Team: Greek\n" |
13 | "Language: \n" | ||
13 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
15 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
16 | "Language: \n" | ||
17 | 17 | ||
18 | #: src/lib/ecore/ecore_getopt.c:91 | 18 | #: src/lib/ecore/ecore_getopt.c:95 |
19 | msgid "Version:" | 19 | msgid "Version:" |
20 | msgstr "Έκδοση:" | 20 | msgstr "Έκδοση:" |
21 | 21 | ||
22 | #: src/lib/ecore/ecore_getopt.c:100 | 22 | #: src/lib/ecore/ecore_getopt.c:104 |
23 | msgid "Usage:" | 23 | msgid "Usage:" |
24 | msgstr "Χρήση:" | 24 | msgstr "Χρήση:" |
25 | 25 | ||
26 | #: src/lib/ecore/ecore_getopt.c:105 | 26 | #: src/lib/ecore/ecore_getopt.c:109 |
27 | #, c-format | 27 | #, c-format |
28 | msgid "%s [options]\n" | 28 | msgid "%s [options]\n" |
29 | msgstr "%s [επιλογές]\n" | 29 | msgstr "%s [επιλογές]\n" |
30 | 30 | ||
31 | #: src/lib/ecore/ecore_getopt.c:260 | 31 | #: src/lib/ecore/ecore_getopt.c:264 |
32 | msgid "Copyright:" | 32 | msgid "Copyright:" |
33 | msgstr "Πνευματικά δικαιώματα:" | 33 | msgstr "Πνευματικά δικαιώματα:" |
34 | 34 | ||
35 | #: src/lib/ecore/ecore_getopt.c:272 | 35 | #: src/lib/ecore/ecore_getopt.c:276 |
36 | msgid "License:" | 36 | msgid "License:" |
37 | msgstr "Άδεια:" | 37 | msgstr "Άδεια:" |
38 | 38 | ||
39 | #: src/lib/ecore/ecore_getopt.c:453 | 39 | #: src/lib/ecore/ecore_getopt.c:457 |
40 | msgid "Type: " | 40 | msgid "Type: " |
41 | msgstr "Τύπος:" | 41 | msgstr "Τύπος:" |
42 | 42 | ||
43 | #: src/lib/ecore/ecore_getopt.c:529 | 43 | #: src/lib/ecore/ecore_getopt.c:533 |
44 | msgid "Default: " | 44 | msgid "Default: " |
45 | msgstr "Προκαθορισμένο:" | 45 | msgstr "Προκαθορισμένο:" |
46 | 46 | ||
47 | #: src/lib/ecore/ecore_getopt.c:556 | 47 | #: src/lib/ecore/ecore_getopt.c:560 |
48 | msgid "Choices: " | 48 | msgid "Choices: " |
49 | msgstr "Επιλογές:" | 49 | msgstr "Επιλογές:" |
50 | 50 | ||
51 | #: src/lib/ecore/ecore_getopt.c:657 | 51 | #: src/lib/ecore/ecore_getopt.c:661 |
52 | msgid "Options:\n" | 52 | msgid "Options:\n" |
53 | msgstr "Επιλογές:\n" | 53 | msgstr "Επιλογές:\n" |
54 | 54 | ||
55 | #: src/lib/ecore/ecore_getopt.c:782 | 55 | #: src/lib/ecore/ecore_getopt.c:786 |
56 | #, c-format | 56 | #, c-format |
57 | msgid "ERROR: unknown option --%s.\n" | 57 | msgid "ERROR: unknown option --%s.\n" |
58 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή --%s.\n" | 58 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή --%s.\n" |
59 | 59 | ||
60 | #: src/lib/ecore/ecore_getopt.c:784 | 60 | #: src/lib/ecore/ecore_getopt.c:788 |
61 | #, c-format | 61 | #, c-format |
62 | msgid "ERROR: unknown option -%c.\n" | 62 | msgid "ERROR: unknown option -%c.\n" |
63 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c.\n" | 63 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c.\n" |
64 | 64 | ||
65 | #: src/lib/ecore/ecore_getopt.c:842 | 65 | #: src/lib/ecore/ecore_getopt.c:846 |
66 | msgid "ERROR: " | 66 | msgid "ERROR: " |
67 | msgstr "ΣΦΑΛΜΑ:" | 67 | msgstr "ΣΦΑΛΜΑ:" |
68 | 68 | ||
69 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 69 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
70 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 70 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
71 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 71 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
72 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 72 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
73 | msgid "value has no pointer set.\n" | 73 | msgid "value has no pointer set.\n" |
74 | msgstr "η τιμή δεν έχει δείκτη ορισμένο.\n" | 74 | msgstr "η τιμή δεν έχει δείκτη ορισμένο.\n" |
75 | 75 | ||
76 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 76 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
77 | #, c-format | 77 | #, c-format |
78 | msgid "unknown boolean value %s.\n" | 78 | msgid "unknown boolean value %s.\n" |
79 | msgstr "άγνωστη τιμή boolean %s.\n" | 79 | msgstr "άγνωστη τιμή boolean %s.\n" |
80 | 80 | ||
81 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 81 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
82 | #, c-format | 82 | #, c-format |
83 | msgid "invalid number format %s\n" | 83 | msgid "invalid number format %s\n" |
84 | msgstr "άγνωστη μορφή αριθμού %s\n" | 84 | msgstr "άγνωστη μορφή αριθμού %s\n" |
85 | 85 | ||
86 | #: src/lib/ecore/ecore_getopt.c:1123 | 86 | #: src/lib/ecore/ecore_getopt.c:1127 |
87 | #, c-format | 87 | #, c-format |
88 | msgid "invalid choice \"%s\". Valid values are: " | 88 | msgid "invalid choice \"%s\". Valid values are: " |
89 | msgstr "μη έγκυρη επιλογή \"%s\". Οι έγκυρες τιμές είναι: " | 89 | msgstr "μη έγκυρη επιλογή \"%s\". Οι έγκυρες τιμές είναι: " |
90 | 90 | ||
91 | #: src/lib/ecore/ecore_getopt.c:1151 | 91 | #: src/lib/ecore/ecore_getopt.c:1155 |
92 | msgid "missing parameter to append.\n" | 92 | msgid "missing parameter to append.\n" |
93 | msgstr "ελλιπής παράμετρος προς επισύναψη.\n" | 93 | msgstr "ελλιπής παράμετρος προς επισύναψη.\n" |
94 | 94 | ||
95 | #: src/lib/ecore/ecore_getopt.c:1255 | 95 | #: src/lib/ecore/ecore_getopt.c:1259 |
96 | msgid "could not parse value.\n" | 96 | msgid "could not parse value.\n" |
97 | msgstr "αδυναμία ανάλυσης τιμών.\n" | 97 | msgstr "αδυναμία ανάλυσης τιμών.\n" |
98 | 98 | ||
99 | #: src/lib/ecore/ecore_getopt.c:1312 | 99 | #: src/lib/ecore/ecore_getopt.c:1316 |
100 | msgid "missing parameter.\n" | 100 | msgid "missing parameter.\n" |
101 | msgstr "ελλιπής παράμετρος.\n" | 101 | msgstr "ελλιπής παράμετρος.\n" |
102 | 102 | ||
103 | #: src/lib/ecore/ecore_getopt.c:1325 | 103 | #: src/lib/ecore/ecore_getopt.c:1329 |
104 | msgid "missing callback function!\n" | 104 | msgid "missing callback function!\n" |
105 | msgstr "λείπει η λειτουργία επανάκλησης!\n" | 105 | msgstr "λείπει η λειτουργία επανάκλησης!\n" |
106 | 106 | ||
107 | #: src/lib/ecore/ecore_getopt.c:1354 | 107 | #: src/lib/ecore/ecore_getopt.c:1358 |
108 | msgid "no version was defined.\n" | 108 | msgid "no version was defined.\n" |
109 | msgstr "δεν έχει οριστεί έκδοση.\n" | 109 | msgstr "δεν έχει οριστεί έκδοση.\n" |
110 | 110 | ||
111 | #: src/lib/ecore/ecore_getopt.c:1371 | 111 | #: src/lib/ecore/ecore_getopt.c:1375 |
112 | msgid "no copyright was defined.\n" | 112 | msgid "no copyright was defined.\n" |
113 | msgstr "δεν έχουν οριστεί πνευματικά δικαιώματα.\n" | 113 | msgstr "δεν έχουν οριστεί πνευματικά δικαιώματα.\n" |
114 | 114 | ||
115 | #: src/lib/ecore/ecore_getopt.c:1388 | 115 | #: src/lib/ecore/ecore_getopt.c:1392 |
116 | msgid "no license was defined.\n" | 116 | msgid "no license was defined.\n" |
117 | msgstr "δεν έχει οριστεί άδεια.\n" | 117 | msgstr "δεν έχει οριστεί άδεια.\n" |
118 | 118 | ||
119 | #: src/lib/ecore/ecore_getopt.c:1463 | 119 | #: src/lib/ecore/ecore_getopt.c:1467 |
120 | #, c-format | 120 | #, c-format |
121 | msgid "ERROR: unknown option --%s, ignored.\n" | 121 | msgid "ERROR: unknown option --%s, ignored.\n" |
122 | msgstr "ΣΦΑΛΜΑ:άγνωστη επιλογή --%s, αγνοήθηκε.\n" | 122 | msgstr "ΣΦΑΛΜΑ:άγνωστη επιλογή --%s, αγνοήθηκε.\n" |
123 | 123 | ||
124 | #: src/lib/ecore/ecore_getopt.c:1496 | 124 | #: src/lib/ecore/ecore_getopt.c:1500 |
125 | #, c-format | 125 | #, c-format |
126 | msgid "ERROR: option --%s requires an argument!\n" | 126 | msgid "ERROR: option --%s requires an argument!\n" |
127 | msgstr "ΣΦΑΛΜΑ: η επιλογή --%s απαιτεί παραμέτρους!\n" | 127 | msgstr "ΣΦΑΛΜΑ: η επιλογή --%s απαιτεί παραμέτρους!\n" |
128 | 128 | ||
129 | #: src/lib/ecore/ecore_getopt.c:1538 | 129 | #: src/lib/ecore/ecore_getopt.c:1542 |
130 | #, c-format | 130 | #, c-format |
131 | msgid "ERROR: unknown option -%c, ignored.\n" | 131 | msgid "ERROR: unknown option -%c, ignored.\n" |
132 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c, αγνοήθηκε.\n" | 132 | msgstr "ΣΦΑΛΜΑ: άγνωστη επιλογή -%c, αγνοήθηκε.\n" |
133 | 133 | ||
134 | #: src/lib/ecore/ecore_getopt.c:1576 | 134 | #: src/lib/ecore/ecore_getopt.c:1580 |
135 | #, c-format | 135 | #, c-format |
136 | msgid "ERROR: option -%c requires an argument!\n" | 136 | msgid "ERROR: option -%c requires an argument!\n" |
137 | msgstr "ΣΦAΛΜΑ: η επιλογή -%c απαιτεί μία παράμετρο!\n" | 137 | msgstr "ΣΦAΛΜΑ: η επιλογή -%c απαιτεί μία παράμετρο!\n" |
138 | 138 | ||
139 | #: src/lib/ecore/ecore_getopt.c:1785 | 139 | #: src/lib/ecore/ecore_getopt.c:1789 |
140 | #, fuzzy | 140 | #, fuzzy |
141 | msgid "ERROR: no parser provided.\n" | 141 | msgid "ERROR: no parser provided.\n" |
142 | msgstr "ΣΦΑΛΜΑ:δεν παρέχεται αναλυτής.\n" | 142 | msgstr "ΣΦΑΛΜΑ:δεν παρέχεται αναλυτής.\n" |
143 | 143 | ||
144 | #: src/lib/ecore/ecore_getopt.c:1790 | 144 | #: src/lib/ecore/ecore_getopt.c:1794 |
145 | msgid "ERROR: no values provided.\n" | 145 | msgid "ERROR: no values provided.\n" |
146 | msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί τιμές.\n" | 146 | msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί τιμές.\n" |
147 | 147 | ||
148 | #: src/lib/ecore/ecore_getopt.c:1799 | 148 | #: src/lib/ecore/ecore_getopt.c:1803 |
149 | msgid "ERROR: no arguments provided.\n" | 149 | msgid "ERROR: no arguments provided.\n" |
150 | msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί παράμετροι.\n" | 150 | msgstr "ΣΦΑΛΜΑ:δεν έχουν δοθεί παράμετροι.\n" |
151 | 151 | ||
152 | #: src/lib/ecore/ecore_getopt.c:1825 | 152 | #: src/lib/ecore/ecore_getopt.c:1829 |
153 | msgid "ERROR: invalid options found." | 153 | msgid "ERROR: invalid options found." |
154 | msgstr "ΣΦΑΛΜΑ: βρέθηκαν μη έγκυρες επιλογές." | 154 | msgstr "ΣΦΑΛΜΑ: βρέθηκαν μη έγκυρες επιλογές." |
155 | 155 | ||
156 | #: src/lib/ecore/ecore_getopt.c:1831 | 156 | #: src/lib/ecore/ecore_getopt.c:1835 |
157 | #, c-format | 157 | #, c-format |
158 | msgid " See --%s.\n" | 158 | msgid " See --%s.\n" |
159 | msgstr " Δείτε --%s.\n" | 159 | msgstr " Δείτε --%s.\n" |
160 | 160 | ||
161 | #: src/lib/ecore/ecore_getopt.c:1833 | 161 | #: src/lib/ecore/ecore_getopt.c:1837 |
162 | #, c-format | 162 | #, c-format |
163 | msgid " See -%c.\n" | 163 | msgid " See -%c.\n" |
164 | msgstr " Δείτε -%c.\n" | 164 | msgstr " Δείτε -%c.\n" |
165 | 165 | ||
166 | #: src/lib/ecore/ecore_getopt.c:1875 | 166 | #: src/lib/ecore/ecore_getopt.c:1879 |
167 | #, c-format | 167 | #, c-format |
168 | msgid "ERROR: incorrect geometry value '%s'\n" | 168 | msgid "ERROR: incorrect geometry value '%s'\n" |
169 | msgstr "ΣΦΑΛΜΑ: μη έγκυρη γεωμετρική τιμή '%s'\n" | 169 | msgstr "ΣΦΑΛΜΑ: μη έγκυρη γεωμετρική τιμή '%s'\n" |
170 | 170 | ||
171 | #: src/lib/ecore/ecore_getopt.c:1903 | 171 | #: src/lib/ecore/ecore_getopt.c:1907 |
172 | #, c-format | 172 | #, c-format |
173 | msgid "ERROR: incorrect size value '%s'\n" | 173 | msgid "ERROR: incorrect size value '%s'\n" |
174 | msgstr "ΣΦΑΛΜΑ: μη έγκυρη τιμή μεγέθους '%s'\n" | 174 | msgstr "ΣΦΑΛΜΑ: μη έγκυρη τιμή μεγέθους '%s'\n" |
diff --git a/libraries/ecore/po/fr.gmo b/libraries/ecore/po/fr.gmo index 2669256..766db87 100644 --- a/libraries/ecore/po/fr.gmo +++ b/libraries/ecore/po/fr.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/fr.po b/libraries/ecore/po/fr.po index 6c752c1..3435366 100644 --- a/libraries/ecore/po/fr.po +++ b/libraries/ecore/po/fr.po | |||
@@ -6,172 +6,172 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: Ecore\n" | 7 | "Project-Id-Version: Ecore\n" |
8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
9 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 9 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
10 | "PO-Revision-Date: 2010-07-11 11:01+0400\n" | 10 | "PO-Revision-Date: 2010-07-11 11:01+0400\n" |
11 | "Last-Translator: batden <batden@orange.fr>\n" | 11 | "Last-Translator: batden <batden@orange.fr>\n" |
12 | "Language-Team: Enlightenment French Team <pourunmondesansgourou@gmail.com>\n" | 12 | "Language-Team: Enlightenment French Team <pourunmondesansgourou@gmail.com>\n" |
13 | "Language: \n" | ||
13 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=utf-8\n" | 15 | "Content-Type: text/plain; charset=utf-8\n" |
15 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
16 | "Language: \n" | ||
17 | "Plural-Forms: nplurals=2; plural=n>1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n>1;\n" |
18 | "X-Poedit-Language: French\n" | 18 | "X-Poedit-Language: French\n" |
19 | "X-Poedit-Country: FRANCE\n" | 19 | "X-Poedit-Country: FRANCE\n" |
20 | "X-Poedit-SourceCharset: utf-8\n" | 20 | "X-Poedit-SourceCharset: utf-8\n" |
21 | 21 | ||
22 | #: src/lib/ecore/ecore_getopt.c:91 | 22 | #: src/lib/ecore/ecore_getopt.c:95 |
23 | msgid "Version:" | 23 | msgid "Version:" |
24 | msgstr "Version :" | 24 | msgstr "Version :" |
25 | 25 | ||
26 | #: src/lib/ecore/ecore_getopt.c:100 | 26 | #: src/lib/ecore/ecore_getopt.c:104 |
27 | msgid "Usage:" | 27 | msgid "Usage:" |
28 | msgstr "Usage :" | 28 | msgstr "Usage :" |
29 | 29 | ||
30 | #: src/lib/ecore/ecore_getopt.c:105 | 30 | #: src/lib/ecore/ecore_getopt.c:109 |
31 | #, c-format | 31 | #, c-format |
32 | msgid "%s [options]\n" | 32 | msgid "%s [options]\n" |
33 | msgstr "%s [options]\n" | 33 | msgstr "%s [options]\n" |
34 | 34 | ||
35 | #: src/lib/ecore/ecore_getopt.c:260 | 35 | #: src/lib/ecore/ecore_getopt.c:264 |
36 | msgid "Copyright:" | 36 | msgid "Copyright:" |
37 | msgstr "Copyright :" | 37 | msgstr "Copyright :" |
38 | 38 | ||
39 | #: src/lib/ecore/ecore_getopt.c:272 | 39 | #: src/lib/ecore/ecore_getopt.c:276 |
40 | msgid "License:" | 40 | msgid "License:" |
41 | msgstr "Licence :" | 41 | msgstr "Licence :" |
42 | 42 | ||
43 | #: src/lib/ecore/ecore_getopt.c:453 | 43 | #: src/lib/ecore/ecore_getopt.c:457 |
44 | msgid "Type: " | 44 | msgid "Type: " |
45 | msgstr "Type : " | 45 | msgstr "Type : " |
46 | 46 | ||
47 | #: src/lib/ecore/ecore_getopt.c:529 | 47 | #: src/lib/ecore/ecore_getopt.c:533 |
48 | msgid "Default: " | 48 | msgid "Default: " |
49 | msgstr "Par défaut :" | 49 | msgstr "Par défaut :" |
50 | 50 | ||
51 | #: src/lib/ecore/ecore_getopt.c:556 | 51 | #: src/lib/ecore/ecore_getopt.c:560 |
52 | msgid "Choices: " | 52 | msgid "Choices: " |
53 | msgstr "Choix :" | 53 | msgstr "Choix :" |
54 | 54 | ||
55 | #: src/lib/ecore/ecore_getopt.c:657 | 55 | #: src/lib/ecore/ecore_getopt.c:661 |
56 | msgid "Options:\n" | 56 | msgid "Options:\n" |
57 | msgstr "Options :\n" | 57 | msgstr "Options :\n" |
58 | 58 | ||
59 | #: src/lib/ecore/ecore_getopt.c:782 | 59 | #: src/lib/ecore/ecore_getopt.c:786 |
60 | #, c-format | 60 | #, c-format |
61 | msgid "ERROR: unknown option --%s.\n" | 61 | msgid "ERROR: unknown option --%s.\n" |
62 | msgstr "ERREUR : option inconnue --%s.\n" | 62 | msgstr "ERREUR : option inconnue --%s.\n" |
63 | 63 | ||
64 | #: src/lib/ecore/ecore_getopt.c:784 | 64 | #: src/lib/ecore/ecore_getopt.c:788 |
65 | #, c-format | 65 | #, c-format |
66 | msgid "ERROR: unknown option -%c.\n" | 66 | msgid "ERROR: unknown option -%c.\n" |
67 | msgstr "ERREUR : option inconnue -%c.\n" | 67 | msgstr "ERREUR : option inconnue -%c.\n" |
68 | 68 | ||
69 | #: src/lib/ecore/ecore_getopt.c:842 | 69 | #: src/lib/ecore/ecore_getopt.c:846 |
70 | msgid "ERROR: " | 70 | msgid "ERROR: " |
71 | msgstr "ERREUR :" | 71 | msgstr "ERREUR :" |
72 | 72 | ||
73 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 73 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
74 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 74 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
75 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 75 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
76 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 76 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
77 | msgid "value has no pointer set.\n" | 77 | msgid "value has no pointer set.\n" |
78 | msgstr "la valeur n'a aucun pointeur défini.\n" | 78 | msgstr "la valeur n'a aucun pointeur défini.\n" |
79 | 79 | ||
80 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 80 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
81 | #, c-format | 81 | #, c-format |
82 | msgid "unknown boolean value %s.\n" | 82 | msgid "unknown boolean value %s.\n" |
83 | msgstr "valeur booléenne inconnue %s.\n" | 83 | msgstr "valeur booléenne inconnue %s.\n" |
84 | 84 | ||
85 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 85 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
86 | #, c-format | 86 | #, c-format |
87 | msgid "invalid number format %s\n" | 87 | msgid "invalid number format %s\n" |
88 | msgstr "format du nombre non valide %s\n" | 88 | msgstr "format du nombre non valide %s\n" |
89 | 89 | ||
90 | #: src/lib/ecore/ecore_getopt.c:1123 | 90 | #: src/lib/ecore/ecore_getopt.c:1127 |
91 | #, c-format | 91 | #, c-format |
92 | msgid "invalid choice \"%s\". Valid values are: " | 92 | msgid "invalid choice \"%s\". Valid values are: " |
93 | msgstr "choix non valide « %s ». Les valeurs valides sont : " | 93 | msgstr "choix non valide « %s ». Les valeurs valides sont : " |
94 | 94 | ||
95 | #: src/lib/ecore/ecore_getopt.c:1151 | 95 | #: src/lib/ecore/ecore_getopt.c:1155 |
96 | msgid "missing parameter to append.\n" | 96 | msgid "missing parameter to append.\n" |
97 | msgstr "paramètre manquant à ajouter.\n" | 97 | msgstr "paramètre manquant à ajouter.\n" |
98 | 98 | ||
99 | #: src/lib/ecore/ecore_getopt.c:1255 | 99 | #: src/lib/ecore/ecore_getopt.c:1259 |
100 | msgid "could not parse value.\n" | 100 | msgid "could not parse value.\n" |
101 | msgstr "analyse de la valeur impossible.\n" | 101 | msgstr "analyse de la valeur impossible.\n" |
102 | 102 | ||
103 | #: src/lib/ecore/ecore_getopt.c:1312 | 103 | #: src/lib/ecore/ecore_getopt.c:1316 |
104 | msgid "missing parameter.\n" | 104 | msgid "missing parameter.\n" |
105 | msgstr "paramètre manquant.\n" | 105 | msgstr "paramètre manquant.\n" |
106 | 106 | ||
107 | #: src/lib/ecore/ecore_getopt.c:1325 | 107 | #: src/lib/ecore/ecore_getopt.c:1329 |
108 | msgid "missing callback function!\n" | 108 | msgid "missing callback function!\n" |
109 | msgstr "fonction de rappel manquante !\n" | 109 | msgstr "fonction de rappel manquante !\n" |
110 | 110 | ||
111 | #: src/lib/ecore/ecore_getopt.c:1354 | 111 | #: src/lib/ecore/ecore_getopt.c:1358 |
112 | msgid "no version was defined.\n" | 112 | msgid "no version was defined.\n" |
113 | msgstr "aucune version n'est définie.\n" | 113 | msgstr "aucune version n'est définie.\n" |
114 | 114 | ||
115 | #: src/lib/ecore/ecore_getopt.c:1371 | 115 | #: src/lib/ecore/ecore_getopt.c:1375 |
116 | msgid "no copyright was defined.\n" | 116 | msgid "no copyright was defined.\n" |
117 | msgstr "aucun copyright n'est défini.\n" | 117 | msgstr "aucun copyright n'est défini.\n" |
118 | 118 | ||
119 | #: src/lib/ecore/ecore_getopt.c:1388 | 119 | #: src/lib/ecore/ecore_getopt.c:1392 |
120 | msgid "no license was defined.\n" | 120 | msgid "no license was defined.\n" |
121 | msgstr "aucune licence n'est définie.\n" | 121 | msgstr "aucune licence n'est définie.\n" |
122 | 122 | ||
123 | #: src/lib/ecore/ecore_getopt.c:1463 | 123 | #: src/lib/ecore/ecore_getopt.c:1467 |
124 | #, c-format | 124 | #, c-format |
125 | msgid "ERROR: unknown option --%s, ignored.\n" | 125 | msgid "ERROR: unknown option --%s, ignored.\n" |
126 | msgstr "ERREUR : option inconnue --%s, non prise en compte.\n" | 126 | msgstr "ERREUR : option inconnue --%s, non prise en compte.\n" |
127 | 127 | ||
128 | #: src/lib/ecore/ecore_getopt.c:1496 | 128 | #: src/lib/ecore/ecore_getopt.c:1500 |
129 | #, c-format | 129 | #, c-format |
130 | msgid "ERROR: option --%s requires an argument!\n" | 130 | msgid "ERROR: option --%s requires an argument!\n" |
131 | msgstr "ERREUR : l'option --%s requiert un argument !\n" | 131 | msgstr "ERREUR : l'option --%s requiert un argument !\n" |
132 | 132 | ||
133 | #: src/lib/ecore/ecore_getopt.c:1538 | 133 | #: src/lib/ecore/ecore_getopt.c:1542 |
134 | #, c-format | 134 | #, c-format |
135 | msgid "ERROR: unknown option -%c, ignored.\n" | 135 | msgid "ERROR: unknown option -%c, ignored.\n" |
136 | msgstr "ERREUR : option inconnue -%c, non prise en compte.\n" | 136 | msgstr "ERREUR : option inconnue -%c, non prise en compte.\n" |
137 | 137 | ||
138 | #: src/lib/ecore/ecore_getopt.c:1576 | 138 | #: src/lib/ecore/ecore_getopt.c:1580 |
139 | #, c-format | 139 | #, c-format |
140 | msgid "ERROR: option -%c requires an argument!\n" | 140 | msgid "ERROR: option -%c requires an argument!\n" |
141 | msgstr "ERREUR : l'option -%c requiert un argument !\n" | 141 | msgstr "ERREUR : l'option -%c requiert un argument !\n" |
142 | 142 | ||
143 | #: src/lib/ecore/ecore_getopt.c:1785 | 143 | #: src/lib/ecore/ecore_getopt.c:1789 |
144 | msgid "ERROR: no parser provided.\n" | 144 | msgid "ERROR: no parser provided.\n" |
145 | msgstr "ERREUR : aucun analyseur n'est fourni.\n" | 145 | msgstr "ERREUR : aucun analyseur n'est fourni.\n" |
146 | 146 | ||
147 | #: src/lib/ecore/ecore_getopt.c:1790 | 147 | #: src/lib/ecore/ecore_getopt.c:1794 |
148 | msgid "ERROR: no values provided.\n" | 148 | msgid "ERROR: no values provided.\n" |
149 | msgstr "ERREUR : aucune valeur n'est fournie.\n" | 149 | msgstr "ERREUR : aucune valeur n'est fournie.\n" |
150 | 150 | ||
151 | #: src/lib/ecore/ecore_getopt.c:1799 | 151 | #: src/lib/ecore/ecore_getopt.c:1803 |
152 | msgid "ERROR: no arguments provided.\n" | 152 | msgid "ERROR: no arguments provided.\n" |
153 | msgstr "ERREUR : aucun argument n'est fourni.\n" | 153 | msgstr "ERREUR : aucun argument n'est fourni.\n" |
154 | 154 | ||
155 | #: src/lib/ecore/ecore_getopt.c:1825 | 155 | #: src/lib/ecore/ecore_getopt.c:1829 |
156 | msgid "ERROR: invalid options found." | 156 | msgid "ERROR: invalid options found." |
157 | msgstr "ERREUR : options non valides détectées." | 157 | msgstr "ERREUR : options non valides détectées." |
158 | 158 | ||
159 | #: src/lib/ecore/ecore_getopt.c:1831 | 159 | #: src/lib/ecore/ecore_getopt.c:1835 |
160 | #, c-format | 160 | #, c-format |
161 | msgid " See --%s.\n" | 161 | msgid " See --%s.\n" |
162 | msgstr " Voir --%s.\n" | 162 | msgstr " Voir --%s.\n" |
163 | 163 | ||
164 | #: src/lib/ecore/ecore_getopt.c:1833 | 164 | #: src/lib/ecore/ecore_getopt.c:1837 |
165 | #, c-format | 165 | #, c-format |
166 | msgid " See -%c.\n" | 166 | msgid " See -%c.\n" |
167 | msgstr " Voir -%c.\n" | 167 | msgstr " Voir -%c.\n" |
168 | 168 | ||
169 | #: src/lib/ecore/ecore_getopt.c:1875 | 169 | #: src/lib/ecore/ecore_getopt.c:1879 |
170 | #, c-format | 170 | #, c-format |
171 | msgid "ERROR: incorrect geometry value '%s'\n" | 171 | msgid "ERROR: incorrect geometry value '%s'\n" |
172 | msgstr "ERREUR : valeur géométrique incorrecte « %s »\n" | 172 | msgstr "ERREUR : valeur géométrique incorrecte « %s »\n" |
173 | 173 | ||
174 | #: src/lib/ecore/ecore_getopt.c:1903 | 174 | #: src/lib/ecore/ecore_getopt.c:1907 |
175 | #, c-format | 175 | #, c-format |
176 | msgid "ERROR: incorrect size value '%s'\n" | 176 | msgid "ERROR: incorrect size value '%s'\n" |
177 | msgstr "ERREUR : valeur de taille incorrecte « %s »\n" | 177 | msgstr "ERREUR : valeur de taille incorrecte « %s »\n" |
diff --git a/libraries/ecore/po/it.gmo b/libraries/ecore/po/it.gmo index 3361b47..3a83e76 100644 --- a/libraries/ecore/po/it.gmo +++ b/libraries/ecore/po/it.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/it.po b/libraries/ecore/po/it.po index b4ff61d..45ceb9f 100644 --- a/libraries/ecore/po/it.po +++ b/libraries/ecore/po/it.po | |||
@@ -6,168 +6,168 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: Ecore\n" | 7 | "Project-Id-Version: Ecore\n" |
8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
9 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 9 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
10 | "PO-Revision-Date: 2009-10-27 19:36+0100\n" | 10 | "PO-Revision-Date: 2009-10-27 19:36+0100\n" |
11 | "Last-Translator: quaker66 <quaker66@gmail.com>\n" | 11 | "Last-Translator: quaker66 <quaker66@gmail.com>\n" |
12 | "Language-Team: none\n" | 12 | "Language-Team: none\n" |
13 | "Language: \n" | ||
13 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
15 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
16 | "Language: \n" | ||
17 | 17 | ||
18 | #: src/lib/ecore/ecore_getopt.c:91 | 18 | #: src/lib/ecore/ecore_getopt.c:95 |
19 | msgid "Version:" | 19 | msgid "Version:" |
20 | msgstr "Versione:" | 20 | msgstr "Versione:" |
21 | 21 | ||
22 | #: src/lib/ecore/ecore_getopt.c:100 | 22 | #: src/lib/ecore/ecore_getopt.c:104 |
23 | msgid "Usage:" | 23 | msgid "Usage:" |
24 | msgstr "Uso:" | 24 | msgstr "Uso:" |
25 | 25 | ||
26 | #: src/lib/ecore/ecore_getopt.c:105 | 26 | #: src/lib/ecore/ecore_getopt.c:109 |
27 | #, c-format | 27 | #, c-format |
28 | msgid "%s [options]\n" | 28 | msgid "%s [options]\n" |
29 | msgstr "%s [opzioni]\n" | 29 | msgstr "%s [opzioni]\n" |
30 | 30 | ||
31 | #: src/lib/ecore/ecore_getopt.c:260 | 31 | #: src/lib/ecore/ecore_getopt.c:264 |
32 | msgid "Copyright:" | 32 | msgid "Copyright:" |
33 | msgstr "Copyright:" | 33 | msgstr "Copyright:" |
34 | 34 | ||
35 | #: src/lib/ecore/ecore_getopt.c:272 | 35 | #: src/lib/ecore/ecore_getopt.c:276 |
36 | msgid "License:" | 36 | msgid "License:" |
37 | msgstr "Licenza:" | 37 | msgstr "Licenza:" |
38 | 38 | ||
39 | #: src/lib/ecore/ecore_getopt.c:453 | 39 | #: src/lib/ecore/ecore_getopt.c:457 |
40 | msgid "Type: " | 40 | msgid "Type: " |
41 | msgstr "Tipo: " | 41 | msgstr "Tipo: " |
42 | 42 | ||
43 | #: src/lib/ecore/ecore_getopt.c:529 | 43 | #: src/lib/ecore/ecore_getopt.c:533 |
44 | msgid "Default: " | 44 | msgid "Default: " |
45 | msgstr "Predefinito:" | 45 | msgstr "Predefinito:" |
46 | 46 | ||
47 | #: src/lib/ecore/ecore_getopt.c:556 | 47 | #: src/lib/ecore/ecore_getopt.c:560 |
48 | msgid "Choices: " | 48 | msgid "Choices: " |
49 | msgstr "Scelte:" | 49 | msgstr "Scelte:" |
50 | 50 | ||
51 | #: src/lib/ecore/ecore_getopt.c:657 | 51 | #: src/lib/ecore/ecore_getopt.c:661 |
52 | msgid "Options:\n" | 52 | msgid "Options:\n" |
53 | msgstr "Opzioni:\n" | 53 | msgstr "Opzioni:\n" |
54 | 54 | ||
55 | #: src/lib/ecore/ecore_getopt.c:782 | 55 | #: src/lib/ecore/ecore_getopt.c:786 |
56 | #, c-format | 56 | #, c-format |
57 | msgid "ERROR: unknown option --%s.\n" | 57 | msgid "ERROR: unknown option --%s.\n" |
58 | msgstr "ERRORE: opzione sconosciuta --%s.\n" | 58 | msgstr "ERRORE: opzione sconosciuta --%s.\n" |
59 | 59 | ||
60 | #: src/lib/ecore/ecore_getopt.c:784 | 60 | #: src/lib/ecore/ecore_getopt.c:788 |
61 | #, c-format | 61 | #, c-format |
62 | msgid "ERROR: unknown option -%c.\n" | 62 | msgid "ERROR: unknown option -%c.\n" |
63 | msgstr "ERRORE: opzione sconosciuta -%c.\n" | 63 | msgstr "ERRORE: opzione sconosciuta -%c.\n" |
64 | 64 | ||
65 | #: src/lib/ecore/ecore_getopt.c:842 | 65 | #: src/lib/ecore/ecore_getopt.c:846 |
66 | msgid "ERROR: " | 66 | msgid "ERROR: " |
67 | msgstr "ERRORE:" | 67 | msgstr "ERRORE:" |
68 | 68 | ||
69 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 69 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
70 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 70 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
71 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 71 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
72 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 72 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
73 | msgid "value has no pointer set.\n" | 73 | msgid "value has no pointer set.\n" |
74 | msgstr "il valore non ha puntatori impostati.\n" | 74 | msgstr "il valore non ha puntatori impostati.\n" |
75 | 75 | ||
76 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 76 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
77 | #, c-format | 77 | #, c-format |
78 | msgid "unknown boolean value %s.\n" | 78 | msgid "unknown boolean value %s.\n" |
79 | msgstr "valore booleano sconosciuto %s.\n" | 79 | msgstr "valore booleano sconosciuto %s.\n" |
80 | 80 | ||
81 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 81 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
82 | #, c-format | 82 | #, c-format |
83 | msgid "invalid number format %s\n" | 83 | msgid "invalid number format %s\n" |
84 | msgstr "formato numero non valido %s\n" | 84 | msgstr "formato numero non valido %s\n" |
85 | 85 | ||
86 | #: src/lib/ecore/ecore_getopt.c:1123 | 86 | #: src/lib/ecore/ecore_getopt.c:1127 |
87 | #, c-format | 87 | #, c-format |
88 | msgid "invalid choice \"%s\". Valid values are: " | 88 | msgid "invalid choice \"%s\". Valid values are: " |
89 | msgstr "scelta non valida \"%s\". I valori ammessi sono: " | 89 | msgstr "scelta non valida \"%s\". I valori ammessi sono: " |
90 | 90 | ||
91 | #: src/lib/ecore/ecore_getopt.c:1151 | 91 | #: src/lib/ecore/ecore_getopt.c:1155 |
92 | msgid "missing parameter to append.\n" | 92 | msgid "missing parameter to append.\n" |
93 | msgstr "parametro da appendere mancante.\n" | 93 | msgstr "parametro da appendere mancante.\n" |
94 | 94 | ||
95 | #: src/lib/ecore/ecore_getopt.c:1255 | 95 | #: src/lib/ecore/ecore_getopt.c:1259 |
96 | msgid "could not parse value.\n" | 96 | msgid "could not parse value.\n" |
97 | msgstr "impossibile il parsing del valore.\n" | 97 | msgstr "impossibile il parsing del valore.\n" |
98 | 98 | ||
99 | #: src/lib/ecore/ecore_getopt.c:1312 | 99 | #: src/lib/ecore/ecore_getopt.c:1316 |
100 | msgid "missing parameter.\n" | 100 | msgid "missing parameter.\n" |
101 | msgstr "parametro mancante.\n" | 101 | msgstr "parametro mancante.\n" |
102 | 102 | ||
103 | #: src/lib/ecore/ecore_getopt.c:1325 | 103 | #: src/lib/ecore/ecore_getopt.c:1329 |
104 | msgid "missing callback function!\n" | 104 | msgid "missing callback function!\n" |
105 | msgstr "funzione callback mancante!\n" | 105 | msgstr "funzione callback mancante!\n" |
106 | 106 | ||
107 | #: src/lib/ecore/ecore_getopt.c:1354 | 107 | #: src/lib/ecore/ecore_getopt.c:1358 |
108 | msgid "no version was defined.\n" | 108 | msgid "no version was defined.\n" |
109 | msgstr "nessuna versione definita.\n" | 109 | msgstr "nessuna versione definita.\n" |
110 | 110 | ||
111 | #: src/lib/ecore/ecore_getopt.c:1371 | 111 | #: src/lib/ecore/ecore_getopt.c:1375 |
112 | msgid "no copyright was defined.\n" | 112 | msgid "no copyright was defined.\n" |
113 | msgstr "nessun copyright definito.\n" | 113 | msgstr "nessun copyright definito.\n" |
114 | 114 | ||
115 | #: src/lib/ecore/ecore_getopt.c:1388 | 115 | #: src/lib/ecore/ecore_getopt.c:1392 |
116 | msgid "no license was defined.\n" | 116 | msgid "no license was defined.\n" |
117 | msgstr "nessuna licenza definita.\n" | 117 | msgstr "nessuna licenza definita.\n" |
118 | 118 | ||
119 | #: src/lib/ecore/ecore_getopt.c:1463 | 119 | #: src/lib/ecore/ecore_getopt.c:1467 |
120 | #, c-format | 120 | #, c-format |
121 | msgid "ERROR: unknown option --%s, ignored.\n" | 121 | msgid "ERROR: unknown option --%s, ignored.\n" |
122 | msgstr "ERRORE: opzione sconosciuta --%s, ignorata.\n" | 122 | msgstr "ERRORE: opzione sconosciuta --%s, ignorata.\n" |
123 | 123 | ||
124 | #: src/lib/ecore/ecore_getopt.c:1496 | 124 | #: src/lib/ecore/ecore_getopt.c:1500 |
125 | #, c-format | 125 | #, c-format |
126 | msgid "ERROR: option --%s requires an argument!\n" | 126 | msgid "ERROR: option --%s requires an argument!\n" |
127 | msgstr "ERRORE: l'opzione --%s richiede un argomento!\n" | 127 | msgstr "ERRORE: l'opzione --%s richiede un argomento!\n" |
128 | 128 | ||
129 | #: src/lib/ecore/ecore_getopt.c:1538 | 129 | #: src/lib/ecore/ecore_getopt.c:1542 |
130 | #, c-format | 130 | #, c-format |
131 | msgid "ERROR: unknown option -%c, ignored.\n" | 131 | msgid "ERROR: unknown option -%c, ignored.\n" |
132 | msgstr "ERRORE: opzione sconosciuta -%c, ignorata.\n" | 132 | msgstr "ERRORE: opzione sconosciuta -%c, ignorata.\n" |
133 | 133 | ||
134 | #: src/lib/ecore/ecore_getopt.c:1576 | 134 | #: src/lib/ecore/ecore_getopt.c:1580 |
135 | #, c-format | 135 | #, c-format |
136 | msgid "ERROR: option -%c requires an argument!\n" | 136 | msgid "ERROR: option -%c requires an argument!\n" |
137 | msgstr "ERRORE: l'opzione -%c richiede un argomento!\n" | 137 | msgstr "ERRORE: l'opzione -%c richiede un argomento!\n" |
138 | 138 | ||
139 | #: src/lib/ecore/ecore_getopt.c:1785 | 139 | #: src/lib/ecore/ecore_getopt.c:1789 |
140 | msgid "ERROR: no parser provided.\n" | 140 | msgid "ERROR: no parser provided.\n" |
141 | msgstr "ERRORE: nessun parser fornito.\n" | 141 | msgstr "ERRORE: nessun parser fornito.\n" |
142 | 142 | ||
143 | #: src/lib/ecore/ecore_getopt.c:1790 | 143 | #: src/lib/ecore/ecore_getopt.c:1794 |
144 | msgid "ERROR: no values provided.\n" | 144 | msgid "ERROR: no values provided.\n" |
145 | msgstr "ERRORE: nessun valore fornito.\n" | 145 | msgstr "ERRORE: nessun valore fornito.\n" |
146 | 146 | ||
147 | #: src/lib/ecore/ecore_getopt.c:1799 | 147 | #: src/lib/ecore/ecore_getopt.c:1803 |
148 | msgid "ERROR: no arguments provided.\n" | 148 | msgid "ERROR: no arguments provided.\n" |
149 | msgstr "ERRORE: nessun argomento fornito.\n" | 149 | msgstr "ERRORE: nessun argomento fornito.\n" |
150 | 150 | ||
151 | #: src/lib/ecore/ecore_getopt.c:1825 | 151 | #: src/lib/ecore/ecore_getopt.c:1829 |
152 | msgid "ERROR: invalid options found." | 152 | msgid "ERROR: invalid options found." |
153 | msgstr "ERRORE: trovate opzioni non valide." | 153 | msgstr "ERRORE: trovate opzioni non valide." |
154 | 154 | ||
155 | #: src/lib/ecore/ecore_getopt.c:1831 | 155 | #: src/lib/ecore/ecore_getopt.c:1835 |
156 | #, c-format | 156 | #, c-format |
157 | msgid " See --%s.\n" | 157 | msgid " See --%s.\n" |
158 | msgstr " Vedere --%s.\n" | 158 | msgstr " Vedere --%s.\n" |
159 | 159 | ||
160 | #: src/lib/ecore/ecore_getopt.c:1833 | 160 | #: src/lib/ecore/ecore_getopt.c:1837 |
161 | #, c-format | 161 | #, c-format |
162 | msgid " See -%c.\n" | 162 | msgid " See -%c.\n" |
163 | msgstr " Vedere -%c.\n" | 163 | msgstr " Vedere -%c.\n" |
164 | 164 | ||
165 | #: src/lib/ecore/ecore_getopt.c:1875 | 165 | #: src/lib/ecore/ecore_getopt.c:1879 |
166 | #, c-format | 166 | #, c-format |
167 | msgid "ERROR: incorrect geometry value '%s'\n" | 167 | msgid "ERROR: incorrect geometry value '%s'\n" |
168 | msgstr "ERRORE: valore geometrico non corretto '%s'\n" | 168 | msgstr "ERRORE: valore geometrico non corretto '%s'\n" |
169 | 169 | ||
170 | #: src/lib/ecore/ecore_getopt.c:1903 | 170 | #: src/lib/ecore/ecore_getopt.c:1907 |
171 | #, c-format | 171 | #, c-format |
172 | msgid "ERROR: incorrect size value '%s'\n" | 172 | msgid "ERROR: incorrect size value '%s'\n" |
173 | msgstr "ERRORE: valore dimensione non corretto '%s'\n" | 173 | msgstr "ERRORE: valore dimensione non corretto '%s'\n" |
diff --git a/libraries/ecore/po/nl.gmo b/libraries/ecore/po/nl.gmo index 746f7df..babde95 100644 --- a/libraries/ecore/po/nl.gmo +++ b/libraries/ecore/po/nl.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/nl.po b/libraries/ecore/po/nl.po index 04e3256..54785e2 100644 --- a/libraries/ecore/po/nl.po +++ b/libraries/ecore/po/nl.po | |||
@@ -6,170 +6,170 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: Ecore\n" | 7 | "Project-Id-Version: Ecore\n" |
8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
9 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 9 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
10 | "PO-Revision-Date: 2011-09-03 15:48+0100\n" | 10 | "PO-Revision-Date: 2011-09-03 15:48+0100\n" |
11 | "Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n" | 11 | "Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n" |
12 | "Language-Team: <vistausss@gmail.com>\n" | 12 | "Language-Team: <vistausss@gmail.com>\n" |
13 | "Language: \n" | ||
13 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
15 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
16 | "Language: \n" | ||
17 | "X-Poedit-Language: NL\n" | 17 | "X-Poedit-Language: NL\n" |
18 | "X-Poedit-Country: Nederland\n" | 18 | "X-Poedit-Country: Nederland\n" |
19 | 19 | ||
20 | #: src/lib/ecore/ecore_getopt.c:91 | 20 | #: src/lib/ecore/ecore_getopt.c:95 |
21 | msgid "Version:" | 21 | msgid "Version:" |
22 | msgstr "Versie:" | 22 | msgstr "Versie:" |
23 | 23 | ||
24 | #: src/lib/ecore/ecore_getopt.c:100 | 24 | #: src/lib/ecore/ecore_getopt.c:104 |
25 | msgid "Usage:" | 25 | msgid "Usage:" |
26 | msgstr "Gebruik:" | 26 | msgstr "Gebruik:" |
27 | 27 | ||
28 | #: src/lib/ecore/ecore_getopt.c:105 | 28 | #: src/lib/ecore/ecore_getopt.c:109 |
29 | #, c-format | 29 | #, c-format |
30 | msgid "%s [options]\n" | 30 | msgid "%s [options]\n" |
31 | msgstr "%s [opties]\n" | 31 | msgstr "%s [opties]\n" |
32 | 32 | ||
33 | #: src/lib/ecore/ecore_getopt.c:260 | 33 | #: src/lib/ecore/ecore_getopt.c:264 |
34 | msgid "Copyright:" | 34 | msgid "Copyright:" |
35 | msgstr "Copyright:" | 35 | msgstr "Copyright:" |
36 | 36 | ||
37 | #: src/lib/ecore/ecore_getopt.c:272 | 37 | #: src/lib/ecore/ecore_getopt.c:276 |
38 | msgid "License:" | 38 | msgid "License:" |
39 | msgstr "Licentie:" | 39 | msgstr "Licentie:" |
40 | 40 | ||
41 | #: src/lib/ecore/ecore_getopt.c:453 | 41 | #: src/lib/ecore/ecore_getopt.c:457 |
42 | msgid "Type: " | 42 | msgid "Type: " |
43 | msgstr "Type:" | 43 | msgstr "Type:" |
44 | 44 | ||
45 | #: src/lib/ecore/ecore_getopt.c:529 | 45 | #: src/lib/ecore/ecore_getopt.c:533 |
46 | msgid "Default: " | 46 | msgid "Default: " |
47 | msgstr "Standaard:" | 47 | msgstr "Standaard:" |
48 | 48 | ||
49 | #: src/lib/ecore/ecore_getopt.c:556 | 49 | #: src/lib/ecore/ecore_getopt.c:560 |
50 | msgid "Choices: " | 50 | msgid "Choices: " |
51 | msgstr "Keuzes:" | 51 | msgstr "Keuzes:" |
52 | 52 | ||
53 | #: src/lib/ecore/ecore_getopt.c:657 | 53 | #: src/lib/ecore/ecore_getopt.c:661 |
54 | msgid "Options:\n" | 54 | msgid "Options:\n" |
55 | msgstr "Opties:\n" | 55 | msgstr "Opties:\n" |
56 | 56 | ||
57 | #: src/lib/ecore/ecore_getopt.c:782 | 57 | #: src/lib/ecore/ecore_getopt.c:786 |
58 | #, c-format | 58 | #, c-format |
59 | msgid "ERROR: unknown option --%s.\n" | 59 | msgid "ERROR: unknown option --%s.\n" |
60 | msgstr "FOUT: onbekende optie --%s.\n" | 60 | msgstr "FOUT: onbekende optie --%s.\n" |
61 | 61 | ||
62 | #: src/lib/ecore/ecore_getopt.c:784 | 62 | #: src/lib/ecore/ecore_getopt.c:788 |
63 | #, c-format | 63 | #, c-format |
64 | msgid "ERROR: unknown option -%c.\n" | 64 | msgid "ERROR: unknown option -%c.\n" |
65 | msgstr "FOUT: onbekende optie -%c.\n" | 65 | msgstr "FOUT: onbekende optie -%c.\n" |
66 | 66 | ||
67 | #: src/lib/ecore/ecore_getopt.c:842 | 67 | #: src/lib/ecore/ecore_getopt.c:846 |
68 | msgid "ERROR: " | 68 | msgid "ERROR: " |
69 | msgstr "FOUT:" | 69 | msgstr "FOUT:" |
70 | 70 | ||
71 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 71 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
72 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 72 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
73 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 73 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
74 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 74 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
75 | msgid "value has no pointer set.\n" | 75 | msgid "value has no pointer set.\n" |
76 | msgstr "waarde heeft geen pointer ingsteld.\n" | 76 | msgstr "waarde heeft geen pointer ingsteld.\n" |
77 | 77 | ||
78 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 78 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
79 | #, c-format | 79 | #, c-format |
80 | msgid "unknown boolean value %s.\n" | 80 | msgid "unknown boolean value %s.\n" |
81 | msgstr "onbekende boolean-waarde %s.\n" | 81 | msgstr "onbekende boolean-waarde %s.\n" |
82 | 82 | ||
83 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 83 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
84 | #, c-format | 84 | #, c-format |
85 | msgid "invalid number format %s\n" | 85 | msgid "invalid number format %s\n" |
86 | msgstr "ongeldig nummerformaat %s\n" | 86 | msgstr "ongeldig nummerformaat %s\n" |
87 | 87 | ||
88 | #: src/lib/ecore/ecore_getopt.c:1123 | 88 | #: src/lib/ecore/ecore_getopt.c:1127 |
89 | #, c-format | 89 | #, c-format |
90 | msgid "invalid choice \"%s\". Valid values are: " | 90 | msgid "invalid choice \"%s\". Valid values are: " |
91 | msgstr "ongeldige keuze \"%s\". Geldige waardes zijn:" | 91 | msgstr "ongeldige keuze \"%s\". Geldige waardes zijn:" |
92 | 92 | ||
93 | #: src/lib/ecore/ecore_getopt.c:1151 | 93 | #: src/lib/ecore/ecore_getopt.c:1155 |
94 | msgid "missing parameter to append.\n" | 94 | msgid "missing parameter to append.\n" |
95 | msgstr "parameter om toe te wijzen ontbreekt.\n" | 95 | msgstr "parameter om toe te wijzen ontbreekt.\n" |
96 | 96 | ||
97 | #: src/lib/ecore/ecore_getopt.c:1255 | 97 | #: src/lib/ecore/ecore_getopt.c:1259 |
98 | msgid "could not parse value.\n" | 98 | msgid "could not parse value.\n" |
99 | msgstr "kon waarde niet doorvoeren.\n" | 99 | msgstr "kon waarde niet doorvoeren.\n" |
100 | 100 | ||
101 | #: src/lib/ecore/ecore_getopt.c:1312 | 101 | #: src/lib/ecore/ecore_getopt.c:1316 |
102 | msgid "missing parameter.\n" | 102 | msgid "missing parameter.\n" |
103 | msgstr "paramater ontbreekt.\n" | 103 | msgstr "paramater ontbreekt.\n" |
104 | 104 | ||
105 | #: src/lib/ecore/ecore_getopt.c:1325 | 105 | #: src/lib/ecore/ecore_getopt.c:1329 |
106 | msgid "missing callback function!\n" | 106 | msgid "missing callback function!\n" |
107 | msgstr "ontbrekende terugroep-functie!\n" | 107 | msgstr "ontbrekende terugroep-functie!\n" |
108 | 108 | ||
109 | #: src/lib/ecore/ecore_getopt.c:1354 | 109 | #: src/lib/ecore/ecore_getopt.c:1358 |
110 | msgid "no version was defined.\n" | 110 | msgid "no version was defined.\n" |
111 | msgstr "geen versie was gedefinieerd.\n" | 111 | msgstr "geen versie was gedefinieerd.\n" |
112 | 112 | ||
113 | #: src/lib/ecore/ecore_getopt.c:1371 | 113 | #: src/lib/ecore/ecore_getopt.c:1375 |
114 | msgid "no copyright was defined.\n" | 114 | msgid "no copyright was defined.\n" |
115 | msgstr "geen copyright was gedefinieerd.\n" | 115 | msgstr "geen copyright was gedefinieerd.\n" |
116 | 116 | ||
117 | #: src/lib/ecore/ecore_getopt.c:1388 | 117 | #: src/lib/ecore/ecore_getopt.c:1392 |
118 | msgid "no license was defined.\n" | 118 | msgid "no license was defined.\n" |
119 | msgstr "geen licentie was gedefinieerd.\n" | 119 | msgstr "geen licentie was gedefinieerd.\n" |
120 | 120 | ||
121 | #: src/lib/ecore/ecore_getopt.c:1463 | 121 | #: src/lib/ecore/ecore_getopt.c:1467 |
122 | #, c-format | 122 | #, c-format |
123 | msgid "ERROR: unknown option --%s, ignored.\n" | 123 | msgid "ERROR: unknown option --%s, ignored.\n" |
124 | msgstr "FOUT: onbekende optie --%s, genegeerd.\n" | 124 | msgstr "FOUT: onbekende optie --%s, genegeerd.\n" |
125 | 125 | ||
126 | #: src/lib/ecore/ecore_getopt.c:1496 | 126 | #: src/lib/ecore/ecore_getopt.c:1500 |
127 | #, c-format | 127 | #, c-format |
128 | msgid "ERROR: option --%s requires an argument!\n" | 128 | msgid "ERROR: option --%s requires an argument!\n" |
129 | msgstr "FOUT: optie --%s vereist een argument!\n" | 129 | msgstr "FOUT: optie --%s vereist een argument!\n" |
130 | 130 | ||
131 | #: src/lib/ecore/ecore_getopt.c:1538 | 131 | #: src/lib/ecore/ecore_getopt.c:1542 |
132 | #, c-format | 132 | #, c-format |
133 | msgid "ERROR: unknown option -%c, ignored.\n" | 133 | msgid "ERROR: unknown option -%c, ignored.\n" |
134 | msgstr "FOUT: onbekende opties -%c, genegeerd.\n" | 134 | msgstr "FOUT: onbekende opties -%c, genegeerd.\n" |
135 | 135 | ||
136 | #: src/lib/ecore/ecore_getopt.c:1576 | 136 | #: src/lib/ecore/ecore_getopt.c:1580 |
137 | #, c-format | 137 | #, c-format |
138 | msgid "ERROR: option -%c requires an argument!\n" | 138 | msgid "ERROR: option -%c requires an argument!\n" |
139 | msgstr "FOUT: optie -%c vereist een argument!\n" | 139 | msgstr "FOUT: optie -%c vereist een argument!\n" |
140 | 140 | ||
141 | #: src/lib/ecore/ecore_getopt.c:1785 | 141 | #: src/lib/ecore/ecore_getopt.c:1789 |
142 | msgid "ERROR: no parser provided.\n" | 142 | msgid "ERROR: no parser provided.\n" |
143 | msgstr "FOUT: geen doorvoerder beschikbaar gesteld.\n" | 143 | msgstr "FOUT: geen doorvoerder beschikbaar gesteld.\n" |
144 | 144 | ||
145 | #: src/lib/ecore/ecore_getopt.c:1790 | 145 | #: src/lib/ecore/ecore_getopt.c:1794 |
146 | msgid "ERROR: no values provided.\n" | 146 | msgid "ERROR: no values provided.\n" |
147 | msgstr "FOUT: geen waarden beschikbaar gesteld.\n" | 147 | msgstr "FOUT: geen waarden beschikbaar gesteld.\n" |
148 | 148 | ||
149 | #: src/lib/ecore/ecore_getopt.c:1799 | 149 | #: src/lib/ecore/ecore_getopt.c:1803 |
150 | msgid "ERROR: no arguments provided.\n" | 150 | msgid "ERROR: no arguments provided.\n" |
151 | msgstr "FOUT: geen argumenten beschibaar gesteld.\n" | 151 | msgstr "FOUT: geen argumenten beschibaar gesteld.\n" |
152 | 152 | ||
153 | #: src/lib/ecore/ecore_getopt.c:1825 | 153 | #: src/lib/ecore/ecore_getopt.c:1829 |
154 | msgid "ERROR: invalid options found." | 154 | msgid "ERROR: invalid options found." |
155 | msgstr "FOUT: ongeldige opties gevonden." | 155 | msgstr "FOUT: ongeldige opties gevonden." |
156 | 156 | ||
157 | #: src/lib/ecore/ecore_getopt.c:1831 | 157 | #: src/lib/ecore/ecore_getopt.c:1835 |
158 | #, c-format | 158 | #, c-format |
159 | msgid " See --%s.\n" | 159 | msgid " See --%s.\n" |
160 | msgstr "Zie --%s.\n" | 160 | msgstr "Zie --%s.\n" |
161 | 161 | ||
162 | #: src/lib/ecore/ecore_getopt.c:1833 | 162 | #: src/lib/ecore/ecore_getopt.c:1837 |
163 | #, c-format | 163 | #, c-format |
164 | msgid " See -%c.\n" | 164 | msgid " See -%c.\n" |
165 | msgstr "Zie -%c.\n" | 165 | msgstr "Zie -%c.\n" |
166 | 166 | ||
167 | #: src/lib/ecore/ecore_getopt.c:1875 | 167 | #: src/lib/ecore/ecore_getopt.c:1879 |
168 | #, c-format | 168 | #, c-format |
169 | msgid "ERROR: incorrect geometry value '%s'\n" | 169 | msgid "ERROR: incorrect geometry value '%s'\n" |
170 | msgstr "Fout: foutieve wiskundige waarde '%s'\n" | 170 | msgstr "Fout: foutieve wiskundige waarde '%s'\n" |
171 | 171 | ||
172 | #: src/lib/ecore/ecore_getopt.c:1903 | 172 | #: src/lib/ecore/ecore_getopt.c:1907 |
173 | #, c-format | 173 | #, c-format |
174 | msgid "ERROR: incorrect size value '%s'\n" | 174 | msgid "ERROR: incorrect size value '%s'\n" |
175 | msgstr "FOUT: foutieve grootte-waarden '%s'\n" | 175 | msgstr "FOUT: foutieve grootte-waarden '%s'\n" |
diff --git a/libraries/ecore/po/pt.gmo b/libraries/ecore/po/pt.gmo index 617b5cb..ff7ef91 100644 --- a/libraries/ecore/po/pt.gmo +++ b/libraries/ecore/po/pt.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/pt.po b/libraries/ecore/po/pt.po index b192be9..3892c6b 100644 --- a/libraries/ecore/po/pt.po +++ b/libraries/ecore/po/pt.po | |||
@@ -6,171 +6,171 @@ msgid "" | |||
6 | msgstr "" | 6 | msgstr "" |
7 | "Project-Id-Version: ecore\n" | 7 | "Project-Id-Version: ecore\n" |
8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 8 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
9 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 9 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
10 | "PO-Revision-Date: 2010-10-06 12:37-0000\n" | 10 | "PO-Revision-Date: 2010-10-06 12:37-0000\n" |
11 | "Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n" | 11 | "Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n" |
12 | "Language-Team: \n" | 12 | "Language-Team: \n" |
13 | "Language: \n" | ||
13 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
14 | "Content-Type: text/plain; charset=utf-8\n" | 15 | "Content-Type: text/plain; charset=utf-8\n" |
15 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
16 | "Language: \n" | ||
17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" | 17 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" |
18 | "X-Poedit-Language: Portuguese\n" | 18 | "X-Poedit-Language: Portuguese\n" |
19 | "X-Poedit-Country: Portugal\n" | 19 | "X-Poedit-Country: Portugal\n" |
20 | 20 | ||
21 | #: src/lib/ecore/ecore_getopt.c:91 | 21 | #: src/lib/ecore/ecore_getopt.c:95 |
22 | msgid "Version:" | 22 | msgid "Version:" |
23 | msgstr "Versão:" | 23 | msgstr "Versão:" |
24 | 24 | ||
25 | #: src/lib/ecore/ecore_getopt.c:100 | 25 | #: src/lib/ecore/ecore_getopt.c:104 |
26 | msgid "Usage:" | 26 | msgid "Usage:" |
27 | msgstr "Utilização:" | 27 | msgstr "Utilização:" |
28 | 28 | ||
29 | #: src/lib/ecore/ecore_getopt.c:105 | 29 | #: src/lib/ecore/ecore_getopt.c:109 |
30 | #, c-format | 30 | #, c-format |
31 | msgid "%s [options]\n" | 31 | msgid "%s [options]\n" |
32 | msgstr "%s [opções]\n" | 32 | msgstr "%s [opções]\n" |
33 | 33 | ||
34 | #: src/lib/ecore/ecore_getopt.c:260 | 34 | #: src/lib/ecore/ecore_getopt.c:264 |
35 | msgid "Copyright:" | 35 | msgid "Copyright:" |
36 | msgstr "Direitos de autor:" | 36 | msgstr "Direitos de autor:" |
37 | 37 | ||
38 | #: src/lib/ecore/ecore_getopt.c:272 | 38 | #: src/lib/ecore/ecore_getopt.c:276 |
39 | msgid "License:" | 39 | msgid "License:" |
40 | msgstr "Licença:" | 40 | msgstr "Licença:" |
41 | 41 | ||
42 | #: src/lib/ecore/ecore_getopt.c:453 | 42 | #: src/lib/ecore/ecore_getopt.c:457 |
43 | msgid "Type: " | 43 | msgid "Type: " |
44 | msgstr "Tipo:" | 44 | msgstr "Tipo:" |
45 | 45 | ||
46 | #: src/lib/ecore/ecore_getopt.c:529 | 46 | #: src/lib/ecore/ecore_getopt.c:533 |
47 | msgid "Default: " | 47 | msgid "Default: " |
48 | msgstr "Omissão:" | 48 | msgstr "Omissão:" |
49 | 49 | ||
50 | #: src/lib/ecore/ecore_getopt.c:556 | 50 | #: src/lib/ecore/ecore_getopt.c:560 |
51 | msgid "Choices: " | 51 | msgid "Choices: " |
52 | msgstr "Escolhas:" | 52 | msgstr "Escolhas:" |
53 | 53 | ||
54 | #: src/lib/ecore/ecore_getopt.c:657 | 54 | #: src/lib/ecore/ecore_getopt.c:661 |
55 | msgid "Options:\n" | 55 | msgid "Options:\n" |
56 | msgstr "Opções:\n" | 56 | msgstr "Opções:\n" |
57 | 57 | ||
58 | #: src/lib/ecore/ecore_getopt.c:782 | 58 | #: src/lib/ecore/ecore_getopt.c:786 |
59 | #, c-format | 59 | #, c-format |
60 | msgid "ERROR: unknown option --%s.\n" | 60 | msgid "ERROR: unknown option --%s.\n" |
61 | msgstr "ERRO: opção desconhecida --%s.\n" | 61 | msgstr "ERRO: opção desconhecida --%s.\n" |
62 | 62 | ||
63 | #: src/lib/ecore/ecore_getopt.c:784 | 63 | #: src/lib/ecore/ecore_getopt.c:788 |
64 | #, c-format | 64 | #, c-format |
65 | msgid "ERROR: unknown option -%c.\n" | 65 | msgid "ERROR: unknown option -%c.\n" |
66 | msgstr "ERRO: opção desconhecida -%c.\n" | 66 | msgstr "ERRO: opção desconhecida -%c.\n" |
67 | 67 | ||
68 | #: src/lib/ecore/ecore_getopt.c:842 | 68 | #: src/lib/ecore/ecore_getopt.c:846 |
69 | msgid "ERROR: " | 69 | msgid "ERROR: " |
70 | msgstr "ERRO: " | 70 | msgstr "ERRO: " |
71 | 71 | ||
72 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 72 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
73 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 73 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
74 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 74 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
75 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 75 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
76 | msgid "value has no pointer set.\n" | 76 | msgid "value has no pointer set.\n" |
77 | msgstr "o valor não está definido.\n" | 77 | msgstr "o valor não está definido.\n" |
78 | 78 | ||
79 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 79 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
80 | #, c-format | 80 | #, c-format |
81 | msgid "unknown boolean value %s.\n" | 81 | msgid "unknown boolean value %s.\n" |
82 | msgstr "valor booleano desconhecido %s.\n" | 82 | msgstr "valor booleano desconhecido %s.\n" |
83 | 83 | ||
84 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 84 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
85 | #, c-format | 85 | #, c-format |
86 | msgid "invalid number format %s\n" | 86 | msgid "invalid number format %s\n" |
87 | msgstr "formato do número inválido %s\n" | 87 | msgstr "formato do número inválido %s\n" |
88 | 88 | ||
89 | #: src/lib/ecore/ecore_getopt.c:1123 | 89 | #: src/lib/ecore/ecore_getopt.c:1127 |
90 | #, c-format | 90 | #, c-format |
91 | msgid "invalid choice \"%s\". Valid values are: " | 91 | msgid "invalid choice \"%s\". Valid values are: " |
92 | msgstr "escolha inválida \"%s\". O valores possíveis são:" | 92 | msgstr "escolha inválida \"%s\". O valores possíveis são:" |
93 | 93 | ||
94 | #: src/lib/ecore/ecore_getopt.c:1151 | 94 | #: src/lib/ecore/ecore_getopt.c:1155 |
95 | msgid "missing parameter to append.\n" | 95 | msgid "missing parameter to append.\n" |
96 | msgstr "faltam os parâmetros a anexar.\n" | 96 | msgstr "faltam os parâmetros a anexar.\n" |
97 | 97 | ||
98 | #: src/lib/ecore/ecore_getopt.c:1255 | 98 | #: src/lib/ecore/ecore_getopt.c:1259 |
99 | msgid "could not parse value.\n" | 99 | msgid "could not parse value.\n" |
100 | msgstr "incapaz de analisar o valor.\n" | 100 | msgstr "incapaz de analisar o valor.\n" |
101 | 101 | ||
102 | #: src/lib/ecore/ecore_getopt.c:1312 | 102 | #: src/lib/ecore/ecore_getopt.c:1316 |
103 | msgid "missing parameter.\n" | 103 | msgid "missing parameter.\n" |
104 | msgstr "parâmetro em falta.\n" | 104 | msgstr "parâmetro em falta.\n" |
105 | 105 | ||
106 | #: src/lib/ecore/ecore_getopt.c:1325 | 106 | #: src/lib/ecore/ecore_getopt.c:1329 |
107 | msgid "missing callback function!\n" | 107 | msgid "missing callback function!\n" |
108 | msgstr "função de chamada em falta!\n" | 108 | msgstr "função de chamada em falta!\n" |
109 | 109 | ||
110 | #: src/lib/ecore/ecore_getopt.c:1354 | 110 | #: src/lib/ecore/ecore_getopt.c:1358 |
111 | msgid "no version was defined.\n" | 111 | msgid "no version was defined.\n" |
112 | msgstr "nenhuma versão definida.\n" | 112 | msgstr "nenhuma versão definida.\n" |
113 | 113 | ||
114 | #: src/lib/ecore/ecore_getopt.c:1371 | 114 | #: src/lib/ecore/ecore_getopt.c:1375 |
115 | msgid "no copyright was defined.\n" | 115 | msgid "no copyright was defined.\n" |
116 | msgstr "direitos de autor não definidos.\n" | 116 | msgstr "direitos de autor não definidos.\n" |
117 | 117 | ||
118 | #: src/lib/ecore/ecore_getopt.c:1388 | 118 | #: src/lib/ecore/ecore_getopt.c:1392 |
119 | msgid "no license was defined.\n" | 119 | msgid "no license was defined.\n" |
120 | msgstr "licença não definida.\n" | 120 | msgstr "licença não definida.\n" |
121 | 121 | ||
122 | #: src/lib/ecore/ecore_getopt.c:1463 | 122 | #: src/lib/ecore/ecore_getopt.c:1467 |
123 | #, c-format | 123 | #, c-format |
124 | msgid "ERROR: unknown option --%s, ignored.\n" | 124 | msgid "ERROR: unknown option --%s, ignored.\n" |
125 | msgstr "ERRO: opção desconhecida --%s, ignorada.\n" | 125 | msgstr "ERRO: opção desconhecida --%s, ignorada.\n" |
126 | 126 | ||
127 | #: src/lib/ecore/ecore_getopt.c:1496 | 127 | #: src/lib/ecore/ecore_getopt.c:1500 |
128 | #, c-format | 128 | #, c-format |
129 | msgid "ERROR: option --%s requires an argument!\n" | 129 | msgid "ERROR: option --%s requires an argument!\n" |
130 | msgstr "ERRO: a opção --%s requer um argumento!\n" | 130 | msgstr "ERRO: a opção --%s requer um argumento!\n" |
131 | 131 | ||
132 | #: src/lib/ecore/ecore_getopt.c:1538 | 132 | #: src/lib/ecore/ecore_getopt.c:1542 |
133 | #, c-format | 133 | #, c-format |
134 | msgid "ERROR: unknown option -%c, ignored.\n" | 134 | msgid "ERROR: unknown option -%c, ignored.\n" |
135 | msgstr "ERRO: opção desconhecida --%c, ignorada.\n" | 135 | msgstr "ERRO: opção desconhecida --%c, ignorada.\n" |
136 | 136 | ||
137 | #: src/lib/ecore/ecore_getopt.c:1576 | 137 | #: src/lib/ecore/ecore_getopt.c:1580 |
138 | #, c-format | 138 | #, c-format |
139 | msgid "ERROR: option -%c requires an argument!\n" | 139 | msgid "ERROR: option -%c requires an argument!\n" |
140 | msgstr "ERRO: a opção --%c requer um argumento!\n" | 140 | msgstr "ERRO: a opção --%c requer um argumento!\n" |
141 | 141 | ||
142 | #: src/lib/ecore/ecore_getopt.c:1785 | 142 | #: src/lib/ecore/ecore_getopt.c:1789 |
143 | msgid "ERROR: no parser provided.\n" | 143 | msgid "ERROR: no parser provided.\n" |
144 | msgstr "ERRO: nenhum analisador fornecido.\n" | 144 | msgstr "ERRO: nenhum analisador fornecido.\n" |
145 | 145 | ||
146 | #: src/lib/ecore/ecore_getopt.c:1790 | 146 | #: src/lib/ecore/ecore_getopt.c:1794 |
147 | msgid "ERROR: no values provided.\n" | 147 | msgid "ERROR: no values provided.\n" |
148 | msgstr "ERRO: nenhum valor fornecido.\n" | 148 | msgstr "ERRO: nenhum valor fornecido.\n" |
149 | 149 | ||
150 | #: src/lib/ecore/ecore_getopt.c:1799 | 150 | #: src/lib/ecore/ecore_getopt.c:1803 |
151 | msgid "ERROR: no arguments provided.\n" | 151 | msgid "ERROR: no arguments provided.\n" |
152 | msgstr "ERRO: nenhum argumento fornecido.\n" | 152 | msgstr "ERRO: nenhum argumento fornecido.\n" |
153 | 153 | ||
154 | #: src/lib/ecore/ecore_getopt.c:1825 | 154 | #: src/lib/ecore/ecore_getopt.c:1829 |
155 | msgid "ERROR: invalid options found." | 155 | msgid "ERROR: invalid options found." |
156 | msgstr "ERRO: encontradas opções inválidas." | 156 | msgstr "ERRO: encontradas opções inválidas." |
157 | 157 | ||
158 | #: src/lib/ecore/ecore_getopt.c:1831 | 158 | #: src/lib/ecore/ecore_getopt.c:1835 |
159 | #, c-format | 159 | #, c-format |
160 | msgid " See --%s.\n" | 160 | msgid " See --%s.\n" |
161 | msgstr " Veja --%s.\n" | 161 | msgstr " Veja --%s.\n" |
162 | 162 | ||
163 | #: src/lib/ecore/ecore_getopt.c:1833 | 163 | #: src/lib/ecore/ecore_getopt.c:1837 |
164 | #, c-format | 164 | #, c-format |
165 | msgid " See -%c.\n" | 165 | msgid " See -%c.\n" |
166 | msgstr " Veja -%c.\n" | 166 | msgstr " Veja -%c.\n" |
167 | 167 | ||
168 | #: src/lib/ecore/ecore_getopt.c:1875 | 168 | #: src/lib/ecore/ecore_getopt.c:1879 |
169 | #, c-format | 169 | #, c-format |
170 | msgid "ERROR: incorrect geometry value '%s'\n" | 170 | msgid "ERROR: incorrect geometry value '%s'\n" |
171 | msgstr "ERRO: valor geométrico incorreto \"%s\"\n" | 171 | msgstr "ERRO: valor geométrico incorreto \"%s\"\n" |
172 | 172 | ||
173 | #: src/lib/ecore/ecore_getopt.c:1903 | 173 | #: src/lib/ecore/ecore_getopt.c:1907 |
174 | #, c-format | 174 | #, c-format |
175 | msgid "ERROR: incorrect size value '%s'\n" | 175 | msgid "ERROR: incorrect size value '%s'\n" |
176 | msgstr "ERRO: tamanho incorreto \"%s\"\n" | 176 | msgstr "ERRO: tamanho incorreto \"%s\"\n" |
diff --git a/libraries/ecore/po/sl.gmo b/libraries/ecore/po/sl.gmo index b826ffc..4c4ca71 100644 --- a/libraries/ecore/po/sl.gmo +++ b/libraries/ecore/po/sl.gmo | |||
Binary files differ | |||
diff --git a/libraries/ecore/po/sl.po b/libraries/ecore/po/sl.po index fef52ac..f16b172 100644 --- a/libraries/ecore/po/sl.po +++ b/libraries/ecore/po/sl.po | |||
@@ -8,168 +8,168 @@ msgid "" | |||
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: ecore 1.0\n" | 9 | "Project-Id-Version: ecore 1.0\n" |
10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" | 10 | "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" |
11 | "POT-Creation-Date: 2012-01-23 23:19+1000\n" | 11 | "POT-Creation-Date: 2012-03-17 11:44+0900\n" |
12 | "PO-Revision-Date: 2011-02-24 16:54+0100\n" | 12 | "PO-Revision-Date: 2011-02-24 16:54+0100\n" |
13 | "Last-Translator: r1to <renato.rener@gmail.com>\n" | 13 | "Last-Translator: r1to <renato.rener@gmail.com>\n" |
14 | "Language-Team: Slovenian <sl@li.org>\n" | 14 | "Language-Team: Slovenian <sl@li.org>\n" |
15 | "Language: sl\n" | ||
15 | "MIME-Version: 1.0\n" | 16 | "MIME-Version: 1.0\n" |
16 | "Content-Type: text/plain; charset=UTF-8\n" | 17 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | "Content-Transfer-Encoding: 8bit\n" | 18 | "Content-Transfer-Encoding: 8bit\n" |
18 | "Language: sl\n" | ||
19 | 19 | ||
20 | #: src/lib/ecore/ecore_getopt.c:91 | 20 | #: src/lib/ecore/ecore_getopt.c:95 |
21 | msgid "Version:" | 21 | msgid "Version:" |
22 | msgstr "Različica" | 22 | msgstr "Različica" |
23 | 23 | ||
24 | #: src/lib/ecore/ecore_getopt.c:100 | 24 | #: src/lib/ecore/ecore_getopt.c:104 |
25 | msgid "Usage:" | 25 | msgid "Usage:" |
26 | msgstr "Uporaba:" | 26 | msgstr "Uporaba:" |
27 | 27 | ||
28 | #: src/lib/ecore/ecore_getopt.c:105 | 28 | #: src/lib/ecore/ecore_getopt.c:109 |
29 | #, c-format | 29 | #, c-format |
30 | msgid "%s [options]\n" | 30 | msgid "%s [options]\n" |
31 | msgstr "%s·[možnosti]\n" | 31 | msgstr "%s·[možnosti]\n" |
32 | 32 | ||
33 | #: src/lib/ecore/ecore_getopt.c:260 | 33 | #: src/lib/ecore/ecore_getopt.c:264 |
34 | msgid "Copyright:" | 34 | msgid "Copyright:" |
35 | msgstr "Avtorstvo:" | 35 | msgstr "Avtorstvo:" |
36 | 36 | ||
37 | #: src/lib/ecore/ecore_getopt.c:272 | 37 | #: src/lib/ecore/ecore_getopt.c:276 |
38 | msgid "License:" | 38 | msgid "License:" |
39 | msgstr "Licenca:" | 39 | msgstr "Licenca:" |
40 | 40 | ||
41 | #: src/lib/ecore/ecore_getopt.c:453 | 41 | #: src/lib/ecore/ecore_getopt.c:457 |
42 | msgid "Type: " | 42 | msgid "Type: " |
43 | msgstr "Vrsta:·" | 43 | msgstr "Vrsta:·" |
44 | 44 | ||
45 | #: src/lib/ecore/ecore_getopt.c:529 | 45 | #: src/lib/ecore/ecore_getopt.c:533 |
46 | msgid "Default: " | 46 | msgid "Default: " |
47 | msgstr "Privzeto:·" | 47 | msgstr "Privzeto:·" |
48 | 48 | ||
49 | #: src/lib/ecore/ecore_getopt.c:556 | 49 | #: src/lib/ecore/ecore_getopt.c:560 |
50 | msgid "Choices: " | 50 | msgid "Choices: " |
51 | msgstr "Izbire:·" | 51 | msgstr "Izbire:·" |
52 | 52 | ||
53 | #: src/lib/ecore/ecore_getopt.c:657 | 53 | #: src/lib/ecore/ecore_getopt.c:661 |
54 | msgid "Options:\n" | 54 | msgid "Options:\n" |
55 | msgstr "Možnosti:\n" | 55 | msgstr "Možnosti:\n" |
56 | 56 | ||
57 | #: src/lib/ecore/ecore_getopt.c:782 | 57 | #: src/lib/ecore/ecore_getopt.c:786 |
58 | #, c-format | 58 | #, c-format |
59 | msgid "ERROR: unknown option --%s.\n" | 59 | msgid "ERROR: unknown option --%s.\n" |
60 | msgstr "NAPAKA:·Neznana možnost·--%s.\n" | 60 | msgstr "NAPAKA:·Neznana možnost·--%s.\n" |
61 | 61 | ||
62 | #: src/lib/ecore/ecore_getopt.c:784 | 62 | #: src/lib/ecore/ecore_getopt.c:788 |
63 | #, c-format | 63 | #, c-format |
64 | msgid "ERROR: unknown option -%c.\n" | 64 | msgid "ERROR: unknown option -%c.\n" |
65 | msgstr "NAPAKA:·neznana možnost·-%c.\n" | 65 | msgstr "NAPAKA:·neznana možnost·-%c.\n" |
66 | 66 | ||
67 | #: src/lib/ecore/ecore_getopt.c:842 | 67 | #: src/lib/ecore/ecore_getopt.c:846 |
68 | msgid "ERROR: " | 68 | msgid "ERROR: " |
69 | msgstr "NAPAKA:" | 69 | msgstr "NAPAKA:" |
70 | 70 | ||
71 | #: src/lib/ecore/ecore_getopt.c:925 src/lib/ecore/ecore_getopt.c:1062 | 71 | #: src/lib/ecore/ecore_getopt.c:929 src/lib/ecore/ecore_getopt.c:1066 |
72 | #: src/lib/ecore/ecore_getopt.c:1078 src/lib/ecore/ecore_getopt.c:1093 | 72 | #: src/lib/ecore/ecore_getopt.c:1082 src/lib/ecore/ecore_getopt.c:1097 |
73 | #: src/lib/ecore/ecore_getopt.c:1110 src/lib/ecore/ecore_getopt.c:1157 | 73 | #: src/lib/ecore/ecore_getopt.c:1114 src/lib/ecore/ecore_getopt.c:1161 |
74 | #: src/lib/ecore/ecore_getopt.c:1277 src/lib/ecore/ecore_getopt.c:1318 | 74 | #: src/lib/ecore/ecore_getopt.c:1281 src/lib/ecore/ecore_getopt.c:1322 |
75 | msgid "value has no pointer set.\n" | 75 | msgid "value has no pointer set.\n" |
76 | msgstr "vrednost nima nastavljenega kazalnika.\n" | 76 | msgstr "vrednost nima nastavljenega kazalnika.\n" |
77 | 77 | ||
78 | #: src/lib/ecore/ecore_getopt.c:957 src/lib/ecore/ecore_getopt.c:1177 | 78 | #: src/lib/ecore/ecore_getopt.c:961 src/lib/ecore/ecore_getopt.c:1181 |
79 | #, c-format | 79 | #, c-format |
80 | msgid "unknown boolean value %s.\n" | 80 | msgid "unknown boolean value %s.\n" |
81 | msgstr "neznana Boolova vrednost·%s.\n" | 81 | msgstr "neznana Boolova vrednost·%s.\n" |
82 | 82 | ||
83 | #: src/lib/ecore/ecore_getopt.c:1008 src/lib/ecore/ecore_getopt.c:1265 | 83 | #: src/lib/ecore/ecore_getopt.c:1012 src/lib/ecore/ecore_getopt.c:1269 |
84 | #, c-format | 84 | #, c-format |
85 | msgid "invalid number format %s\n" | 85 | msgid "invalid number format %s\n" |
86 | msgstr "napačen·format števila·%s\n" | 86 | msgstr "napačen·format števila·%s\n" |
87 | 87 | ||
88 | #: src/lib/ecore/ecore_getopt.c:1123 | 88 | #: src/lib/ecore/ecore_getopt.c:1127 |
89 | #, c-format | 89 | #, c-format |
90 | msgid "invalid choice \"%s\". Valid values are: " | 90 | msgid "invalid choice \"%s\". Valid values are: " |
91 | msgstr "napačna izbira·\"%s\".·Pravilne izbire so:·" | 91 | msgstr "napačna izbira·\"%s\".·Pravilne izbire so:·" |
92 | 92 | ||
93 | #: src/lib/ecore/ecore_getopt.c:1151 | 93 | #: src/lib/ecore/ecore_getopt.c:1155 |
94 | msgid "missing parameter to append.\n" | 94 | msgid "missing parameter to append.\n" |
95 | msgstr "manjka·parameter·za dodajo.\n" | 95 | msgstr "manjka·parameter·za dodajo.\n" |
96 | 96 | ||
97 | #: src/lib/ecore/ecore_getopt.c:1255 | 97 | #: src/lib/ecore/ecore_getopt.c:1259 |
98 | msgid "could not parse value.\n" | 98 | msgid "could not parse value.\n" |
99 | msgstr "vrednosti ni bilo možno razčleniti.\n" | 99 | msgstr "vrednosti ni bilo možno razčleniti.\n" |
100 | 100 | ||
101 | #: src/lib/ecore/ecore_getopt.c:1312 | 101 | #: src/lib/ecore/ecore_getopt.c:1316 |
102 | msgid "missing parameter.\n" | 102 | msgid "missing parameter.\n" |
103 | msgstr "manjkajoči·parameter.\n" | 103 | msgstr "manjkajoči·parameter.\n" |
104 | 104 | ||
105 | #: src/lib/ecore/ecore_getopt.c:1325 | 105 | #: src/lib/ecore/ecore_getopt.c:1329 |
106 | msgid "missing callback function!\n" | 106 | msgid "missing callback function!\n" |
107 | msgstr "manjkajoča povratno-zasilna funkcija !\n" | 107 | msgstr "manjkajoča povratno-zasilna funkcija !\n" |
108 | 108 | ||
109 | #: src/lib/ecore/ecore_getopt.c:1354 | 109 | #: src/lib/ecore/ecore_getopt.c:1358 |
110 | msgid "no version was defined.\n" | 110 | msgid "no version was defined.\n" |
111 | msgstr "definirana ni bila nobena različica.\n" | 111 | msgstr "definirana ni bila nobena različica.\n" |
112 | 112 | ||
113 | #: src/lib/ecore/ecore_getopt.c:1371 | 113 | #: src/lib/ecore/ecore_getopt.c:1375 |
114 | msgid "no copyright was defined.\n" | 114 | msgid "no copyright was defined.\n" |
115 | msgstr "definirano ni bilo nobeno avtorstvo.\n" | 115 | msgstr "definirano ni bilo nobeno avtorstvo.\n" |
116 | 116 | ||
117 | #: src/lib/ecore/ecore_getopt.c:1388 | 117 | #: src/lib/ecore/ecore_getopt.c:1392 |
118 | msgid "no license was defined.\n" | 118 | msgid "no license was defined.\n" |
119 | msgstr "definirana ni bila nobena licenca.\n" | 119 | msgstr "definirana ni bila nobena licenca.\n" |
120 | 120 | ||
121 | #: src/lib/ecore/ecore_getopt.c:1463 | 121 | #: src/lib/ecore/ecore_getopt.c:1467 |
122 | #, c-format | 122 | #, c-format |
123 | msgid "ERROR: unknown option --%s, ignored.\n" | 123 | msgid "ERROR: unknown option --%s, ignored.\n" |
124 | msgstr "NAPAKA:·neznana možnost·--%s,·prezrto.\n" | 124 | msgstr "NAPAKA:·neznana možnost·--%s,·prezrto.\n" |
125 | 125 | ||
126 | #: src/lib/ecore/ecore_getopt.c:1496 | 126 | #: src/lib/ecore/ecore_getopt.c:1500 |
127 | #, c-format | 127 | #, c-format |
128 | msgid "ERROR: option --%s requires an argument!\n" | 128 | msgid "ERROR: option --%s requires an argument!\n" |
129 | msgstr "NAPAKA:·možnost·--%s·zahteva argument!\n" | 129 | msgstr "NAPAKA:·možnost·--%s·zahteva argument!\n" |
130 | 130 | ||
131 | #: src/lib/ecore/ecore_getopt.c:1538 | 131 | #: src/lib/ecore/ecore_getopt.c:1542 |
132 | #, c-format | 132 | #, c-format |
133 | msgid "ERROR: unknown option -%c, ignored.\n" | 133 | msgid "ERROR: unknown option -%c, ignored.\n" |
134 | msgstr "NAPAKA:·neznana možnost·-%c,·prezrto.\n" | 134 | msgstr "NAPAKA:·neznana možnost·-%c,·prezrto.\n" |
135 | 135 | ||
136 | #: src/lib/ecore/ecore_getopt.c:1576 | 136 | #: src/lib/ecore/ecore_getopt.c:1580 |
137 | #, c-format | 137 | #, c-format |
138 | msgid "ERROR: option -%c requires an argument!\n" | 138 | msgid "ERROR: option -%c requires an argument!\n" |
139 | msgstr "NAPAKA:·možnost·-%c zahteva argument!\n" | 139 | msgstr "NAPAKA:·možnost·-%c zahteva argument!\n" |
140 | 140 | ||
141 | #: src/lib/ecore/ecore_getopt.c:1785 | 141 | #: src/lib/ecore/ecore_getopt.c:1789 |
142 | msgid "ERROR: no parser provided.\n" | 142 | msgid "ERROR: no parser provided.\n" |
143 | msgstr "NAPAKA:·ni podan razčlenjevalnik.\n" | 143 | msgstr "NAPAKA:·ni podan razčlenjevalnik.\n" |
144 | 144 | ||
145 | #: src/lib/ecore/ecore_getopt.c:1790 | 145 | #: src/lib/ecore/ecore_getopt.c:1794 |
146 | msgid "ERROR: no values provided.\n" | 146 | msgid "ERROR: no values provided.\n" |
147 | msgstr "NAPAKA::·ni podanih vrednosti.\n" | 147 | msgstr "NAPAKA::·ni podanih vrednosti.\n" |
148 | 148 | ||
149 | #: src/lib/ecore/ecore_getopt.c:1799 | 149 | #: src/lib/ecore/ecore_getopt.c:1803 |
150 | msgid "ERROR: no arguments provided.\n" | 150 | msgid "ERROR: no arguments provided.\n" |
151 | msgstr "NAPAKA::·ni podanih argumentov.\n" | 151 | msgstr "NAPAKA::·ni podanih argumentov.\n" |
152 | 152 | ||
153 | #: src/lib/ecore/ecore_getopt.c:1825 | 153 | #: src/lib/ecore/ecore_getopt.c:1829 |
154 | msgid "ERROR: invalid options found." | 154 | msgid "ERROR: invalid options found." |
155 | msgstr "NAPAKA::·najdene nepravilne možnosti" | 155 | msgstr "NAPAKA::·najdene nepravilne možnosti" |
156 | 156 | ||
157 | #: src/lib/ecore/ecore_getopt.c:1831 | 157 | #: src/lib/ecore/ecore_getopt.c:1835 |
158 | #, c-format | 158 | #, c-format |
159 | msgid " See --%s.\n" | 159 | msgid " See --%s.\n" |
160 | msgstr "·Glej·--%s.\n" | 160 | msgstr "·Glej·--%s.\n" |
161 | 161 | ||
162 | #: src/lib/ecore/ecore_getopt.c:1833 | 162 | #: src/lib/ecore/ecore_getopt.c:1837 |
163 | #, c-format | 163 | #, c-format |
164 | msgid " See -%c.\n" | 164 | msgid " See -%c.\n" |
165 | msgstr "·Glej·-%c.\n" | 165 | msgstr "·Glej·-%c.\n" |
166 | 166 | ||
167 | #: src/lib/ecore/ecore_getopt.c:1875 | 167 | #: src/lib/ecore/ecore_getopt.c:1879 |
168 | #, c-format | 168 | #, c-format |
169 | msgid "ERROR: incorrect geometry value '%s'\n" | 169 | msgid "ERROR: incorrect geometry value '%s'\n" |
170 | msgstr "NAPAKA::·nepravilna geometrijska vrednost·'%s'\n" | 170 | msgstr "NAPAKA::·nepravilna geometrijska vrednost·'%s'\n" |
171 | 171 | ||
172 | #: src/lib/ecore/ecore_getopt.c:1903 | 172 | #: src/lib/ecore/ecore_getopt.c:1907 |
173 | #, c-format | 173 | #, c-format |
174 | msgid "ERROR: incorrect size value '%s'\n" | 174 | msgid "ERROR: incorrect size value '%s'\n" |
175 | msgstr "NAPAKA::·nepravilna vrednost velikosti·'%s'\n" | 175 | msgstr "NAPAKA::·nepravilna vrednost velikosti·'%s'\n" |
diff --git a/libraries/ecore/src/Makefile.in b/libraries/ecore/src/Makefile.in index bf6f05c..51ad5e0 100644 --- a/libraries/ecore/src/Makefile.in +++ b/libraries/ecore/src/Makefile.in | |||
@@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
52 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 52 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
53 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 53 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 54 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 55 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 56 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
57 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 57 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
58 | $(top_srcdir)/configure.ac | ||
59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
60 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
61 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 60 | mkinstalldirs = $(install_sh) -d |
62 | CONFIG_HEADER = $(top_builddir)/config.h | 61 | CONFIG_HEADER = $(top_builddir)/config.h |
63 | CONFIG_CLEAN_FILES = | 62 | CONFIG_CLEAN_FILES = |
64 | CONFIG_CLEAN_VPATH_FILES = | 63 | CONFIG_CLEAN_VPATH_FILES = |
@@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
174 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 173 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
175 | EVIL_LIBS = @EVIL_LIBS@ | 174 | EVIL_LIBS = @EVIL_LIBS@ |
176 | EXEEXT = @EXEEXT@ | 175 | EXEEXT = @EXEEXT@ |
176 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
177 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
177 | FGREP = @FGREP@ | 178 | FGREP = @FGREP@ |
178 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 179 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
179 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 180 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
229 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 230 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
230 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 231 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
231 | PKG_CONFIG = @PKG_CONFIG@ | 232 | PKG_CONFIG = @PKG_CONFIG@ |
233 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
234 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
232 | POSUB = @POSUB@ | 235 | POSUB = @POSUB@ |
233 | RANLIB = @RANLIB@ | 236 | RANLIB = @RANLIB@ |
234 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 237 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
239 | SED = @SED@ | 242 | SED = @SED@ |
240 | SET_MAKE = @SET_MAKE@ | 243 | SET_MAKE = @SET_MAKE@ |
241 | SHELL = @SHELL@ | 244 | SHELL = @SHELL@ |
245 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
242 | SSL_CFLAGS = @SSL_CFLAGS@ | 246 | SSL_CFLAGS = @SSL_CFLAGS@ |
243 | SSL_LIBS = @SSL_LIBS@ | 247 | SSL_LIBS = @SSL_LIBS@ |
244 | STRIP = @STRIP@ | 248 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/bin/Makefile.in b/libraries/ecore/src/bin/Makefile.in index 72d2bfd..aabc6ab 100644 --- a/libraries/ecore/src/bin/Makefile.in +++ b/libraries/ecore/src/bin/Makefile.in | |||
@@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
52 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 52 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
53 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 53 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 54 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 55 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 56 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
57 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 57 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
58 | $(top_srcdir)/configure.ac | ||
59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
60 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
61 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 60 | mkinstalldirs = $(install_sh) -d |
62 | CONFIG_HEADER = $(top_builddir)/config.h | 61 | CONFIG_HEADER = $(top_builddir)/config.h |
63 | CONFIG_CLEAN_FILES = | 62 | CONFIG_CLEAN_FILES = |
64 | CONFIG_CLEAN_VPATH_FILES = | 63 | CONFIG_CLEAN_VPATH_FILES = |
@@ -168,6 +167,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
168 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 167 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
169 | EVIL_LIBS = @EVIL_LIBS@ | 168 | EVIL_LIBS = @EVIL_LIBS@ |
170 | EXEEXT = @EXEEXT@ | 169 | EXEEXT = @EXEEXT@ |
170 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
171 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
171 | FGREP = @FGREP@ | 172 | FGREP = @FGREP@ |
172 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 173 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
173 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 174 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -223,6 +224,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
223 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 224 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
224 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 225 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
225 | PKG_CONFIG = @PKG_CONFIG@ | 226 | PKG_CONFIG = @PKG_CONFIG@ |
227 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
228 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
226 | POSUB = @POSUB@ | 229 | POSUB = @POSUB@ |
227 | RANLIB = @RANLIB@ | 230 | RANLIB = @RANLIB@ |
228 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 231 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -233,6 +236,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
233 | SED = @SED@ | 236 | SED = @SED@ |
234 | SET_MAKE = @SET_MAKE@ | 237 | SET_MAKE = @SET_MAKE@ |
235 | SHELL = @SHELL@ | 238 | SHELL = @SHELL@ |
239 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
236 | SSL_CFLAGS = @SSL_CFLAGS@ | 240 | SSL_CFLAGS = @SSL_CFLAGS@ |
237 | SSL_LIBS = @SSL_LIBS@ | 241 | SSL_LIBS = @SSL_LIBS@ |
238 | STRIP = @STRIP@ | 242 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/examples/Makefile.in b/libraries/ecore/src/examples/Makefile.in index 7fac88c..5b984ed 100644 --- a/libraries/ecore/src/examples/Makefile.in +++ b/libraries/ecore/src/examples/Makefile.in | |||
@@ -81,16 +81,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
81 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 81 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
82 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 82 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
83 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 83 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
84 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 84 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
85 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 85 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
86 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 86 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
87 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 87 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
88 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 88 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
89 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 89 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
90 | $(top_srcdir)/configure.ac | ||
91 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 90 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
92 | $(ACLOCAL_M4) | 91 | $(ACLOCAL_M4) |
93 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 92 | mkinstalldirs = $(install_sh) -d |
94 | CONFIG_HEADER = $(top_builddir)/config.h | 93 | CONFIG_HEADER = $(top_builddir)/config.h |
95 | CONFIG_CLEAN_FILES = | 94 | CONFIG_CLEAN_FILES = |
96 | CONFIG_CLEAN_VPATH_FILES = | 95 | CONFIG_CLEAN_VPATH_FILES = |
@@ -408,6 +407,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
408 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 407 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
409 | EVIL_LIBS = @EVIL_LIBS@ | 408 | EVIL_LIBS = @EVIL_LIBS@ |
410 | EXEEXT = @EXEEXT@ | 409 | EXEEXT = @EXEEXT@ |
410 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
411 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
411 | FGREP = @FGREP@ | 412 | FGREP = @FGREP@ |
412 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 413 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
413 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 414 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -463,6 +464,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
463 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 464 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
464 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 465 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
465 | PKG_CONFIG = @PKG_CONFIG@ | 466 | PKG_CONFIG = @PKG_CONFIG@ |
467 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
468 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
466 | POSUB = @POSUB@ | 469 | POSUB = @POSUB@ |
467 | RANLIB = @RANLIB@ | 470 | RANLIB = @RANLIB@ |
468 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 471 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -473,6 +476,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
473 | SED = @SED@ | 476 | SED = @SED@ |
474 | SET_MAKE = @SET_MAKE@ | 477 | SET_MAKE = @SET_MAKE@ |
475 | SHELL = @SHELL@ | 478 | SHELL = @SHELL@ |
479 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
476 | SSL_CFLAGS = @SSL_CFLAGS@ | 480 | SSL_CFLAGS = @SSL_CFLAGS@ |
477 | SSL_LIBS = @SSL_LIBS@ | 481 | SSL_LIBS = @SSL_LIBS@ |
478 | STRIP = @STRIP@ | 482 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/examples/ecore_evas_basics_example.c b/libraries/ecore/src/examples/ecore_evas_basics_example.c index 5f0231f..942f9c6 100644 --- a/libraries/ecore/src/examples/ecore_evas_basics_example.c +++ b/libraries/ecore/src/examples/ecore_evas_basics_example.c | |||
@@ -77,10 +77,7 @@ main(void) | |||
77 | evas_object_show(bg); | 77 | evas_object_show(bg); |
78 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | 78 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); |
79 | 79 | ||
80 | ecore_main_fd_handler_add(STDIN_FILENO, | 80 | ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _stdin_cb, NULL, NULL, NULL); |
81 | ECORE_FD_READ | ECORE_FD_ERROR, | ||
82 | _stdin_cb, | ||
83 | NULL, NULL, NULL); | ||
84 | 81 | ||
85 | ecore_main_loop_begin(); | 82 | ecore_main_loop_begin(); |
86 | 83 | ||
diff --git a/libraries/ecore/src/lib/Makefile.in b/libraries/ecore/src/lib/Makefile.in index 09271c2..a5fd01f 100644 --- a/libraries/ecore/src/lib/Makefile.in +++ b/libraries/ecore/src/lib/Makefile.in | |||
@@ -65,16 +65,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
65 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 65 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
66 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 66 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
67 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 67 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
68 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 68 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
69 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 69 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
70 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 70 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
71 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 71 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
72 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 72 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
73 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 73 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
74 | $(top_srcdir)/configure.ac | ||
75 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 74 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
76 | $(ACLOCAL_M4) | 75 | $(ACLOCAL_M4) |
77 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 76 | mkinstalldirs = $(install_sh) -d |
78 | CONFIG_HEADER = $(top_builddir)/config.h | 77 | CONFIG_HEADER = $(top_builddir)/config.h |
79 | CONFIG_CLEAN_FILES = | 78 | CONFIG_CLEAN_FILES = |
80 | CONFIG_CLEAN_VPATH_FILES = | 79 | CONFIG_CLEAN_VPATH_FILES = |
@@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
193 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 192 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
194 | EVIL_LIBS = @EVIL_LIBS@ | 193 | EVIL_LIBS = @EVIL_LIBS@ |
195 | EXEEXT = @EXEEXT@ | 194 | EXEEXT = @EXEEXT@ |
195 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
196 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
196 | FGREP = @FGREP@ | 197 | FGREP = @FGREP@ |
197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
198 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 199 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
249 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 250 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
250 | PKG_CONFIG = @PKG_CONFIG@ | 251 | PKG_CONFIG = @PKG_CONFIG@ |
252 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
253 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
251 | POSUB = @POSUB@ | 254 | POSUB = @POSUB@ |
252 | RANLIB = @RANLIB@ | 255 | RANLIB = @RANLIB@ |
253 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 256 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
258 | SED = @SED@ | 261 | SED = @SED@ |
259 | SET_MAKE = @SET_MAKE@ | 262 | SET_MAKE = @SET_MAKE@ |
260 | SHELL = @SHELL@ | 263 | SHELL = @SHELL@ |
264 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
261 | SSL_CFLAGS = @SSL_CFLAGS@ | 265 | SSL_CFLAGS = @SSL_CFLAGS@ |
262 | SSL_LIBS = @SSL_LIBS@ | 266 | SSL_LIBS = @SSL_LIBS@ |
263 | STRIP = @STRIP@ | 267 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore/Ecore.h b/libraries/ecore/src/lib/ecore/Ecore.h index fbe4dda..eace560 100644 --- a/libraries/ecore/src/lib/ecore/Ecore.h +++ b/libraries/ecore/src/lib/ecore/Ecore.h | |||
@@ -9,7 +9,7 @@ | |||
9 | @mainpage Ecore | 9 | @mainpage Ecore |
10 | 10 | ||
11 | @version 1.1 | 11 | @version 1.1 |
12 | @date 2000-2011 | 12 | @date 2000-2012 |
13 | 13 | ||
14 | Please see the @ref authors page for contact details. | 14 | Please see the @ref authors page for contact details. |
15 | 15 | ||
@@ -22,7 +22,7 @@ | |||
22 | @li @ref Ecore_Main_Loop_Group | 22 | @li @ref Ecore_Main_Loop_Group |
23 | @li @ref Ecore_File_Group | 23 | @li @ref Ecore_File_Group |
24 | @li @ref Ecore_Con_Group | 24 | @li @ref Ecore_Con_Group |
25 | @li @link Ecore_Evas.h Ecore_Evas - Evas convenience functions. @endlink | 25 | @li @ref Ecore_Evas_Group |
26 | @li @ref Ecore_FB_Group | 26 | @li @ref Ecore_FB_Group |
27 | @li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink | 27 | @li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink |
28 | @li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink | 28 | @li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink |
@@ -35,21 +35,31 @@ | |||
35 | pkgconfig (.pc) files are installed for every ecore module. | 35 | pkgconfig (.pc) files are installed for every ecore module. |
36 | Thus, to compile using any of them, you can use something like the following: | 36 | Thus, to compile using any of them, you can use something like the following: |
37 | 37 | ||
38 | @verbatim | 38 | @verbatim |
39 | gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) | 39 | gcc *.c $(pkg-config ecore ecore-$x ecore-$y [...] --cflags --libs) |
40 | @endverbatim | 40 | @endverbatim |
41 | 41 | ||
42 | @section install How is it installed? | 42 | @section install How is it installed? |
43 | 43 | ||
44 | Suggested configure options for evas for a Linux desktop X display: | 44 | Suggested configure options for ecore for a Linux desktop X display |
45 | with OpenGL and Software support, communication (networking) and | ||
46 | IPC (inter process communication): | ||
45 | 47 | ||
46 | @verbatim | 48 | @verbatim |
47 | ./configure \ | 49 | ./configure \ |
48 | make | 50 | --enable-ecore-con \ |
49 | su - | 51 | --enable-ecore-ipc \ |
50 | ... | 52 | --enable-ecore-file \ |
51 | make install | 53 | --enable-ecore-input \ |
52 | @endverbatim | 54 | --enable-ecore-input-evas \ |
55 | --enable-ecore-x \ | ||
56 | --enable-ecore-evas \ | ||
57 | --enable-ecore-evas-software-buffer \ | ||
58 | --enable-ecore-evas-software-x11 \ | ||
59 | --enable-ecore-evas-opengl-x11 | ||
60 | make | ||
61 | sudo make install | ||
62 | @endverbatim | ||
53 | 63 | ||
54 | */ | 64 | */ |
55 | 65 | ||
@@ -112,140 +122,175 @@ | |||
112 | */ | 122 | */ |
113 | 123 | ||
114 | /** | 124 | /** |
115 | @page Ecore_Main_Loop_Page The Ecore Main Loop | 125 | * @page Ecore_Main_Loop_Page The Ecore Main Loop |
116 | 126 | * | |
117 | @section intro What is Ecore? | 127 | * @section intro What is Ecore? |
118 | 128 | * | |
119 | Ecore is a clean and tiny event loop library with many modules to do lots of | 129 | * Ecore is a clean and tiny event loop library with many modules to do lots of |
120 | convenient things for a programmer, to save time and effort. | 130 | * convenient things for a programmer, to save time and effort. It's small and |
121 | 131 | * lean, designed to work from embedded systems all the way up to large and | |
122 | It's small and lean, designed to work on embedded systems all the way to | 132 | * powerful multi-cpu workstations. The main loop has a number of primitives to |
123 | large and powerful multi-cpu workstations. It serialises all system signals, | 133 | * be used with its main loop. It serializes all the primitives and allows for |
124 | events etc. into a single event queue, that is easily processed without | 134 | * great responsiveness without the need for threads(or any other concurrency). |
125 | needing to worry about concurrency. A properly written, event-driven program | 135 | * |
126 | using this kind of programming doesn't need threads, nor has to worry about | 136 | * @subsection timers Timers |
127 | concurrency. It turns a program into a state machine, and makes it very | 137 | * |
128 | robust and easy to follow. | 138 | * Timers serve two main purposes: doing something at a specified time and |
129 | 139 | * repeatedly doing something with a set interval. | |
130 | Ecore gives you other handy primitives, such as timers to tick over for you | 140 | * @see Ecore_Timer_Group |
131 | and call specified functions at particular times so the programmer can use | 141 | * |
132 | this to do things, like animate, or time out on connections or tasks that take | 142 | * @subsection poolers Poolers |
133 | too long etc. | 143 | * |
134 | 144 | * Poolers allow for pooling to be centralized into a single place therefore | |
135 | Idle handlers are provided too, as well as calls on entering an idle state | 145 | * alleviating the need for different parts of the program to wake up at |
136 | (often a very good time to update the state of the program). All events that | 146 | * different times to do pooling, thereby making the code simpler and more |
137 | enter the system are passed to specific callback functions that the program | 147 | * efficient. |
138 | sets up to handle those events. Handling them is simple and other Ecore | 148 | * @see Ecore_Poller_Group |
139 | modules produce more events on the queue, coming from other sources such as | 149 | * |
140 | file descriptors etc. | 150 | * @subsection idler Idlers |
141 | 151 | * | |
142 | Ecore also lets you have functions called when file descriptors become active | 152 | * There are three types of idlers, enterers, idlers(proper) and exiters, they |
143 | for reading or writing, allowing for streamlined, non-blocking IO. | 153 | * are called, respectively, when the program is about to enter an idle state, |
144 | 154 | * when the program is idle and when the program is leaving an idle state. Idler | |
145 | Here is an example of a simple program and its basic event loop flow: | 155 | * enterers are usually a good place to update the program state. Proper idlers |
146 | 156 | * are the appropriate place to do heavy computational tasks thereby using what | |
147 | @image html prog_flow.png | 157 | * would otherwise be wasted CPU cycles. Exiters are the perfect place to do |
148 | @image latex prog_flow.eps width=\textwidth | 158 | * anything your program should do just before processing events(also timers, |
149 | 159 | * poolers, file descriptor handlers and animators) | |
150 | 160 | * @see Ecore_Idle_Group | |
151 | 161 | * | |
152 | @section work How does Ecore work? | 162 | * @subsection fd_handler File descriptor handlers |
153 | 163 | * | |
154 | Ecore is very easy to learn and use. All the function calls are designed to | 164 | * File descriptor handlers allow you to monitor when there is data available to |
155 | be easy to remember, explicit in describing what they do, and heavily | 165 | * read on file descriptors, when writing will not block or if there was an |
156 | name-spaced. Ecore programs can start and be very simple. | 166 | * error. Any valid file descriptor can be used with this API, regardless of if |
157 | 167 | * was gotten with an OS specific API or from ecore. | |
158 | For example: | 168 | * @see Ecore_FD_Handler_Group |
159 | 169 | * | |
160 | @code | 170 | * @subsection animators Animators |
161 | #include <Ecore.h> | 171 | * |
162 | 172 | * Ecore provides a facility called animators, so named since the intended use | |
163 | int | 173 | * was in animations, that facilitates knowing what percentage of a given |
164 | main(int argc, const char **argv) | 174 | * interval has elapsed. This is perfect for performing animations, but is not |
165 | { | 175 | * limited to that use, it can, for example, also be used to create a progress |
166 | ecore_init(); | 176 | * bar. |
167 | ecore_app_args_set(argc, argv); | 177 | * @see Ecore_Animator_Group |
168 | ecore_main_loop_begin(); | 178 | * |
169 | ecore_shutdown(); | 179 | * @subsection ev_handlers Event handlers |
170 | return 0; | 180 | * |
171 | } | 181 | * Event handlers are, arguably, the most important feature of the ecore main |
172 | @endcode | 182 | * loop, they are what allows the programmer to easily handle user interaction. |
173 | 183 | * Events however are not only things the user does, events can represent | |
174 | This program is very simple and doesn't check for errors, but it does start up | 184 | * anything for which a type is created. |
175 | and begin a main loop waiting for events or timers to tick off. This program | 185 | * @see Ecore_Event_Group |
176 | doesn't set up any, but now we can expand on this simple program a little | 186 | * |
177 | more by adding some event handlers and timers. | 187 | * All of these primitives are discussed in more detail in their respective |
178 | 188 | * pages linked above. | |
179 | @code | 189 | * |
180 | #include <Ecore.h> | 190 | * Here is a diagram of the main loop flow of a simple program: |
181 | 191 | * | |
182 | Ecore_Timer *timer1 = NULL; | 192 | * @image html prog_flow.png |
183 | Ecore_Event_Handler *handler1 = NULL; | 193 | * @image latex prog_flow.eps width=\textwidth |
184 | double start_time = 0.0; | 194 | * |
185 | 195 | * | |
186 | int | 196 | * |
187 | timer_func(void *data) | 197 | * @section work How does Ecore work? |
188 | { | 198 | * |
189 | printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); | 199 | * Ecore is very easy to learn and use. All the function calls are designed to |
190 | return 1; | 200 | * be easy to remember, explicit in describing what they do, and heavily |
191 | } | 201 | * name-spaced. Ecore programs can start and be very simple. |
192 | 202 | * | |
193 | int | 203 | * For example: |
194 | exit_func(void *data, int ev_type, void *ev) | 204 | * |
195 | { | 205 | * @code |
196 | Ecore_Event_Signal_Exit *e; | 206 | * #include <Ecore.h> |
197 | 207 | * | |
198 | e = (Ecore_Event_Signal_Exit *)ev; | 208 | * int |
199 | if (e->interrupt) printf("Exit: interrupt\n"); | 209 | * main(int argc, const char **argv) |
200 | else if (e->quit) printf("Exit: quit\n"); | 210 | * { |
201 | else if (e->terminate) printf("Exit: terminate\n"); | 211 | * ecore_init(); |
202 | ecore_main_loop_quit(); | 212 | * ecore_app_args_set(argc, argv); |
203 | return 1; | 213 | * ecore_main_loop_begin(); |
204 | } | 214 | * ecore_shutdown(); |
205 | 215 | * return 0; | |
206 | int | 216 | * } |
207 | main(int argc, const char **argv) | 217 | * @endcode |
208 | { | 218 | * |
209 | ecore_init(); | 219 | * This program is very simple and doesn't check for errors, but it does start up |
210 | ecore_app_args_set(argc, argv); | 220 | * and begin a main loop waiting for events or timers to tick off. This program |
211 | start_time = ecore_time_get(); | 221 | * doesn't set up any, but now we can expand on this simple program a little |
212 | handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); | 222 | * more by adding some event handlers and timers. |
213 | timer1 = ecore_timer_add(0.5, timer_func, NULL); | 223 | * |
214 | ecore_main_loop_begin(); | 224 | * @code |
215 | ecore_shutdown(); | 225 | * #include <Ecore.h> |
216 | return 0; | 226 | * |
217 | } | 227 | * Ecore_Timer *timer1 = NULL; |
218 | @endcode | 228 | * Ecore_Event_Handler *handler1 = NULL; |
219 | 229 | * double start_time = 0.0; | |
220 | In the previous example, we initialize our application and get the time at | 230 | * |
221 | which our program has started so we can calculate an offset. We set | 231 | * int |
222 | up a timer to tick off in 0.5 seconds, and since it returns 1, will | 232 | * timer_func(void *data) |
223 | keep ticking off every 0.5 seconds until it returns 0, or is deleted | 233 | * { |
224 | by hand. An event handler is set up to call a function - | 234 | * printf("Tick timer. Sec: %3.2f\n", ecore_time_get() - start_time); |
225 | exit_func(), | 235 | * return 1; |
226 | whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C | 236 | * } |
227 | on the command line will cause such an event to happen). If this event | 237 | * |
228 | occurs it tells you what kind of exit signal was received, and asks | 238 | * int |
229 | the main loop to quit when it is finished by calling | 239 | * exit_func(void *data, int ev_type, void *ev) |
230 | ecore_main_loop_quit(). | 240 | * { |
231 | 241 | * Ecore_Event_Signal_Exit *e; | |
232 | The handles returned by ecore_timer_add() and | 242 | * |
233 | ecore_event_handler_add() are | 243 | * e = (Ecore_Event_Signal_Exit *)ev; |
234 | only stored here as an example. If you don't need to address the timer or | 244 | * if (e->interrupt) printf("Exit: interrupt\n"); |
235 | event handler again you don't need to store the result, so just call the | 245 | * else if (e->quit) printf("Exit: quit\n"); |
236 | function, and don't assign the result to any variable. | 246 | * else if (e->terminate) printf("Exit: terminate\n"); |
237 | 247 | * ecore_main_loop_quit(); | |
238 | This program looks slightly more complex than needed to do these simple | 248 | * return 1; |
239 | things, but in principle, programs don't get any more complex. You add more | 249 | * } |
240 | event handlers, for more events, will have more timers and such, BUT it all | 250 | * |
241 | follows the same principles as shown in this example. | 251 | * int |
242 | 252 | * main(int argc, const char **argv) | |
253 | * { | ||
254 | * ecore_init(); | ||
255 | * ecore_app_args_set(argc, argv); | ||
256 | * start_time = ecore_time_get(); | ||
257 | * handler1 = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, exit_func, NULL); | ||
258 | * timer1 = ecore_timer_add(0.5, timer_func, NULL); | ||
259 | * ecore_main_loop_begin(); | ||
260 | * ecore_shutdown(); | ||
261 | * return 0; | ||
262 | * } | ||
263 | * @endcode | ||
264 | * | ||
265 | * In the previous example, we initialize our application and get the time at | ||
266 | * which our program has started so we can calculate an offset. We set | ||
267 | * up a timer to tick off in 0.5 seconds, and since it returns 1, will | ||
268 | * keep ticking off every 0.5 seconds until it returns 0, or is deleted | ||
269 | * by hand. An event handler is set up to call a function - | ||
270 | * exit_func(), | ||
271 | * whenever an event of type ECORE_EVENT_SIGNAL_EXIT is received (CTRL-C | ||
272 | * on the command line will cause such an event to happen). If this event | ||
273 | * occurs it tells you what kind of exit signal was received, and asks | ||
274 | * the main loop to quit when it is finished by calling | ||
275 | * ecore_main_loop_quit(). | ||
276 | * | ||
277 | * The handles returned by ecore_timer_add() and | ||
278 | * ecore_event_handler_add() are | ||
279 | * only stored here as an example. If you don't need to address the timer or | ||
280 | * event handler again you don't need to store the result, so just call the | ||
281 | * function, and don't assign the result to any variable. | ||
282 | * | ||
283 | * This program looks slightly more complex than needed to do these simple | ||
284 | * things, but in principle, programs don't get any more complex. You add more | ||
285 | * event handlers, for more events, will have more timers and such, BUT it all | ||
286 | * follows the same principles as shown in this example. | ||
287 | * | ||
243 | */ | 288 | */ |
244 | 289 | ||
245 | /* | 290 | /* |
246 | @page Ecore_Config_Page The Enlightened Property Library | 291 | @page Ecore_Config_Page The Enlightened Property Library |
247 | 292 | ||
248 | The Enlightened Property Library (Ecore_Config) is an adbstraction | 293 | The Enlightened Property Library (Ecore_Config) is an abstraction |
249 | from the complexities of writing your own configuration. It provides | 294 | from the complexities of writing your own configuration. It provides |
250 | many features using the Enlightenment 17 development libraries. | 295 | many features using the Enlightenment 17 development libraries. |
251 | 296 | ||
@@ -310,7 +355,9 @@ | |||
310 | # include <signal.h> | 355 | # include <signal.h> |
311 | #else | 356 | #else |
312 | # include <sys/time.h> | 357 | # include <sys/time.h> |
313 | # include <signal.h> | 358 | # if !defined (EXOTIC_NO_SIGNAL) |
359 | # include <signal.h> | ||
360 | # endif | ||
314 | #endif | 361 | #endif |
315 | 362 | ||
316 | #include <sys/types.h> | 363 | #include <sys/types.h> |
@@ -333,47 +380,21 @@ EAPI int ecore_shutdown(void); | |||
333 | */ | 380 | */ |
334 | 381 | ||
335 | /** | 382 | /** |
383 | * @defgroup Ecore_Main_Loop_Group Ecore main loop | ||
336 | * | 384 | * |
337 | * @defgroup Ecore_Main_Loop_Group Ecore main loop functions | 385 | * This group discusses functions that are acting on Ecore's main loop itself or |
338 | * | 386 | * on events and infrastructure directly linked to it. Most programs only need |
339 | * These are functions acting on Ecore's main loop itself or on | 387 | * to start and end the main loop, the rest of the function discussed here are |
340 | * events and infrastructure directly linked to it. This loop is | 388 | * meant to be used in special situations, and with great care. |
341 | * designed to work on embedded systems all the way to large and | ||
342 | * powerful multi-cpu workstations. | ||
343 | * | 389 | * |
344 | * It serialises all system signals and events into a single event | 390 | * For details on the usage of ecore's main loop and how it interacts with other |
345 | * queue, that can be easily processed without needing to worry | 391 | * ecore facilities see: @ref Ecore_Main_Loop_Page. |
346 | * about concurrency. A properly written, event-driven program | ||
347 | * using this kind of programming does not need threads. It makes | ||
348 | * the program very robust and easy to follow. | ||
349 | * | ||
350 | * For example, for the main loop to be of any use, you need to be | ||
351 | * able to add @b events and event handlers on it. Events for file | ||
352 | * descriptor events are covered in @ref Ecore_FD_Handler_Group. | ||
353 | * | ||
354 | * Timer functions are covered in @ref Ecore_Time_Group. | ||
355 | * | ||
356 | * There is also provision for callbacks for when the loop enters or | ||
357 | * exits an @b idle state. See @ref Ecore_Idle_Group for more | ||
358 | * information on it. | ||
359 | * | ||
360 | * Functions are also provided for spawning child processes using | ||
361 | * @c fork(). See @ref Ecore_Exe_Group for more details on it. | ||
362 | * | ||
363 | * Here is an example of simple program and its basic event loop | ||
364 | * flow: | ||
365 | * | ||
366 | * @image html prog_flow.png | ||
367 | * @image latex prog_flow.eps width=\textwidth | ||
368 | * | ||
369 | * For examples of setting up and using a main loop, see | ||
370 | * @ref Ecore_Main_Loop_Page. | ||
371 | * | 392 | * |
372 | * @{ | 393 | * @{ |
373 | */ | 394 | */ |
374 | 395 | ||
375 | #define ECORE_VERSION_MAJOR 1 | 396 | #define ECORE_VERSION_MAJOR 1 |
376 | #define ECORE_VERSION_MINOR 0 | 397 | #define ECORE_VERSION_MINOR 2 |
377 | 398 | ||
378 | typedef struct _Ecore_Version | 399 | typedef struct _Ecore_Version |
379 | { | 400 | { |
@@ -469,7 +490,7 @@ EAPI void *ecore_main_loop_thread_safe_call_sync(Ecore_Data_Cb callback, void *d | |||
469 | * in this thread, if the main loop was suspended correctly. If not, it return @c -1. | 490 | * in this thread, if the main loop was suspended correctly. If not, it return @c -1. |
470 | * | 491 | * |
471 | * This function suspend the main loop in a know state, this let you | 492 | * This function suspend the main loop in a know state, this let you |
472 | * use any EFL call you want after it return. Be carefull, the main loop | 493 | * use any EFL call you want after it return. Be carefully, the main loop |
473 | * is blocked until you call ecore_thread_main_loop_end(). This is | 494 | * is blocked until you call ecore_thread_main_loop_end(). This is |
474 | * the only sane way to achieve pseudo thread safety. | 495 | * the only sane way to achieve pseudo thread safety. |
475 | * | 496 | * |
@@ -489,7 +510,7 @@ EAPI int ecore_thread_main_loop_begin(void); | |||
489 | * the main loop is unlocked again. @c -1 will be returned if you are trying to unlock | 510 | * the main loop is unlocked again. @c -1 will be returned if you are trying to unlock |
490 | * when there wasn't enough call to ecore_thread_main_loop_begin(). | 511 | * when there wasn't enough call to ecore_thread_main_loop_begin(). |
491 | * | 512 | * |
492 | * After a call to ecore_thread_main_loop_begin(), you need to absolutly | 513 | * After a call to ecore_thread_main_loop_begin(), you need to absolutely |
493 | * call ecore_thread_main_loop_end(), or you application will stay frozen. | 514 | * call ecore_thread_main_loop_end(), or you application will stay frozen. |
494 | */ | 515 | */ |
495 | EAPI int ecore_thread_main_loop_end(void); | 516 | EAPI int ecore_thread_main_loop_end(void); |
@@ -501,34 +522,51 @@ EAPI int ecore_thread_main_loop_end(void); | |||
501 | /** | 522 | /** |
502 | * @defgroup Ecore_Event_Group Ecore Event functions | 523 | * @defgroup Ecore_Event_Group Ecore Event functions |
503 | * | 524 | * |
504 | * Ecore events are used to wake up the Ecore main loop to warn | 525 | * Ecore events provide two main features that are of use to those using ecore: |
505 | * about state changes, tasks completed, data available for reading | 526 | * creating events and being notified of events. Those two will usually be used |
506 | * or writing, etc. They are the base of the event oriented | 527 | * in different contexts, creating events is mainly done by libraries wrapping |
507 | * programming. | 528 | * some system functionality while being notified of events is mainly a |
508 | * | 529 | * necessity of applications. |
509 | * The idea is to write many functions (callbacks) that will be | 530 | * |
510 | * registered to specific events, and called when these events | 531 | * For a program to be notified of events it's interested in it needs to have a |
511 | * happen. This way, when the system state changes (a mouse click is | 532 | * function to process the event and to register that function as the callback |
512 | * detected, a key is pressed, or the content of a file changes, for | 533 | * to the event, that's all: |
513 | * example), the respective callbacks will be called with some | 534 | * @code |
514 | * information about that event. Usually the function/callback will | 535 | * ecore_event_handler_add(EVENT_TYPE, _my_event_handler, some_data); |
515 | * have a data pointer to the event info (the position in the screen | 536 | * ... |
516 | * where the mouse was clicked, the name of the key that was | 537 | * static Eina_Bool |
517 | * pressed, or the name of the file that has changed). | 538 | * _my_event_handler(void *data, int type, void *event) |
518 | * | 539 | * { |
519 | * The basic usage, when one needs to watch for an existing event, | 540 | * //data is some_data |
520 | * is to register a callback to it using ecore_event_add(). Of | 541 | * //event is provided by whoever created the event |
521 | * course it's necessary to know beforehand what are the types of | 542 | * //Do really cool stuff with event |
522 | * events that the system/library will emmit. This should be | 543 | * } |
523 | * available with the documentation from that system/library. | 544 | * @endcode |
524 | * | 545 | * |
525 | * When writing a library or group of functions that need to inform | 546 | * One very important thing to note here is the @c EVENT_TYPE, to register a |
526 | * about something, and you already are running on top of a main | 547 | * handler for an event you must know it's type before hand. This information |
527 | * loop, it is usually a good approach to use events. This way you | 548 | * can be found on the documentation of the library emitting the signal, so, |
528 | * allow others to register as many callbacks as necessary to this | 549 | * for example, for events related to windowing one would look in @ref |
529 | * event, and don't have to care about who is registering to it. The | 550 | * Ecore_Evas_Group. |
530 | * functions ecore_event_type_new() and ecore_event_add() are | 551 | * |
531 | * available for this purpose. | 552 | * Examples of libraries that integrate into ecore's main loop by providing |
553 | * events are @ref Ecore_Con_Group, @ref Ecore_Evas_Group and @ref | ||
554 | * Ecore_Exe_Group amongst others. This usage can be divided into two parts, | ||
555 | * setup and adding events. The setup is very simple, all that needs doing is | ||
556 | * getting a type id for the event: | ||
557 | * @code | ||
558 | * int MY_EV_TYPE = ecore_event_type_new(); | ||
559 | * @endcode | ||
560 | * @note This variable should be declared in the header since it'll be needed by | ||
561 | * anyone wishing to register a handler to your event. | ||
562 | * | ||
563 | * The complexity of adding of an event to the queue depends on whether that | ||
564 | * event sends uses @c event, if it doesn't it a one-liner: | ||
565 | * @code | ||
566 | * ecore_event_add(MY_EV_TYPE, NULL, NULL, NULL); | ||
567 | * @endcode | ||
568 | * The usage when an @c event is needed is not that much more complex and can be | ||
569 | * seen in @ref ecore_event_add. | ||
532 | * | 570 | * |
533 | * Example that deals with events: | 571 | * Example that deals with events: |
534 | * | 572 | * |
@@ -582,7 +620,7 @@ struct _Ecore_Event_Signal_User /** User signal event */ | |||
582 | int number; /**< The signal number. Either 1 or 2 */ | 620 | int number; /**< The signal number. Either 1 or 2 */ |
583 | void *ext_data; /**< Extension data - not used */ | 621 | void *ext_data; /**< Extension data - not used */ |
584 | 622 | ||
585 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 623 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
586 | siginfo_t data; /**< Signal info */ | 624 | siginfo_t data; /**< Signal info */ |
587 | #endif | 625 | #endif |
588 | }; | 626 | }; |
@@ -591,7 +629,7 @@ struct _Ecore_Event_Signal_Hup /** Hup signal event */ | |||
591 | { | 629 | { |
592 | void *ext_data; /**< Extension data - not used */ | 630 | void *ext_data; /**< Extension data - not used */ |
593 | 631 | ||
594 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 632 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
595 | siginfo_t data; /**< Signal info */ | 633 | siginfo_t data; /**< Signal info */ |
596 | #endif | 634 | #endif |
597 | }; | 635 | }; |
@@ -600,10 +638,10 @@ struct _Ecore_Event_Signal_Exit /** Exit request event */ | |||
600 | { | 638 | { |
601 | Eina_Bool interrupt : 1; /**< Set if the exit request was an interrupt signal*/ | 639 | Eina_Bool interrupt : 1; /**< Set if the exit request was an interrupt signal*/ |
602 | Eina_Bool quit : 1; /**< set if the exit request was a quit signal */ | 640 | Eina_Bool quit : 1; /**< set if the exit request was a quit signal */ |
603 | Eina_Bool terminate : 1; /**< Set if the exit request was a terminate singal */ | 641 | Eina_Bool terminate : 1; /**< Set if the exit request was a terminate signal */ |
604 | void *ext_data; /**< Extension data - not used */ | 642 | void *ext_data; /**< Extension data - not used */ |
605 | 643 | ||
606 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 644 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
607 | siginfo_t data; /**< Signal info */ | 645 | siginfo_t data; /**< Signal info */ |
608 | #endif | 646 | #endif |
609 | }; | 647 | }; |
@@ -612,7 +650,7 @@ struct _Ecore_Event_Signal_Power /** Power event */ | |||
612 | { | 650 | { |
613 | void *ext_data; /**< Extension data - not used */ | 651 | void *ext_data; /**< Extension data - not used */ |
614 | 652 | ||
615 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 653 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
616 | siginfo_t data; /**< Signal info */ | 654 | siginfo_t data; /**< Signal info */ |
617 | #endif | 655 | #endif |
618 | }; | 656 | }; |
@@ -621,21 +659,161 @@ struct _Ecore_Event_Signal_Realtime /** Realtime event */ | |||
621 | { | 659 | { |
622 | int num; /**< The realtime signal's number */ | 660 | int num; /**< The realtime signal's number */ |
623 | 661 | ||
624 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 662 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
625 | siginfo_t data; /**< Signal info */ | 663 | siginfo_t data; /**< Signal info */ |
626 | #endif | 664 | #endif |
627 | }; | 665 | }; |
628 | 666 | ||
667 | /** | ||
668 | * @brief Add an event handler. | ||
669 | * @param type The type of the event this handler will get called for | ||
670 | * @param func The function to call when the event is found in the queue | ||
671 | * @param data A data pointer to pass to the called function @p func | ||
672 | * @return A new Event handler, or NULL on failure | ||
673 | * | ||
674 | * Add an event handler to the list of handlers. This will, on success, return | ||
675 | * a handle to the event handler object that was created, that can be used | ||
676 | * later to remove the handler using ecore_event_handler_del(). The @p type | ||
677 | * parameter is the integer of the event type that will trigger this callback | ||
678 | * to be called. The callback @p func is called when this event is processed | ||
679 | * and will be passed the event type, a pointer to the private event | ||
680 | * structure that is specific to that event type, and a data pointer that is | ||
681 | * provided in this call as the @p data parameter. | ||
682 | * | ||
683 | * When the callback @p func is called, it must return 1 or 0. If it returns | ||
684 | * 1 (or ECORE_CALLBACK_PASS_ON), It will keep being called as per normal, for | ||
685 | * each handler set up for that event type. If it returns 0 (or | ||
686 | * ECORE_CALLBACK_DONE), it will cease processing handlers for that particular | ||
687 | * event, so all handler set to handle that event type that have not already | ||
688 | * been called, will not be. | ||
689 | */ | ||
629 | EAPI Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, const void *data); | 690 | EAPI Ecore_Event_Handler *ecore_event_handler_add(int type, Ecore_Event_Handler_Cb func, const void *data); |
691 | /** | ||
692 | * @brief Delete an event handler. | ||
693 | * @param event_handler Event handler handle to delete | ||
694 | * @return Data passed to handler | ||
695 | * | ||
696 | * Delete a specified event handler from the handler list. On success this will | ||
697 | * delete the event handler and return the pointer passed as @p data when the | ||
698 | * handler was added by ecore_event_handler_add(). On failure NULL will be | ||
699 | * returned. Once a handler is deleted it will no longer be called. | ||
700 | */ | ||
630 | EAPI void *ecore_event_handler_del(Ecore_Event_Handler *event_handler); | 701 | EAPI void *ecore_event_handler_del(Ecore_Event_Handler *event_handler); |
702 | /** | ||
703 | * @brief Add an event to the event queue. | ||
704 | * @param type The event type to add to the end of the event queue | ||
705 | * @param ev The data structure passed as @c event to event handlers | ||
706 | * @param func_free The function to be called to free @a ev | ||
707 | * @param data The data pointer to be passed to the free function | ||
708 | * @return A Handle for that event on success, otherwise NULL | ||
709 | * | ||
710 | * If it succeeds, an event of type @a type will be added to the queue for | ||
711 | * processing by event handlers added by ecore_event_handler_add(). The @a ev | ||
712 | * parameter will be passed as the @c event parameter of the handler. When the | ||
713 | * event is no longer needed, @a func_free will be called and passed @a ev for | ||
714 | * cleaning up. If @p func_free is NULL, free() will be called with the private | ||
715 | * structure pointer. | ||
716 | */ | ||
631 | EAPI Ecore_Event *ecore_event_add(int type, void *ev, Ecore_End_Cb func_free, void *data); | 717 | EAPI Ecore_Event *ecore_event_add(int type, void *ev, Ecore_End_Cb func_free, void *data); |
718 | /** | ||
719 | * @brief Delete an event from the queue. | ||
720 | * @param event The event handle to delete | ||
721 | * @return The data pointer originally set for the event free function | ||
722 | * | ||
723 | * This deletes the event @p event from the event queue, and returns the | ||
724 | * @p data parameter originally set when adding it with ecore_event_add(). This | ||
725 | * does not immediately call the free function, and it may be called later on | ||
726 | * cleanup, and so if the free function depends on the data pointer to work, | ||
727 | * you should defer cleaning of this till the free function is called later. | ||
728 | */ | ||
632 | EAPI void *ecore_event_del(Ecore_Event *event); | 729 | EAPI void *ecore_event_del(Ecore_Event *event); |
730 | /** | ||
731 | * @brief Get the data associated with an #Ecore_Event_Handler | ||
732 | * @param eh The event handler | ||
733 | * @return The data | ||
734 | * | ||
735 | * This function returns the data previously associated with @p eh by | ||
736 | * ecore_event_handler_add(). | ||
737 | */ | ||
633 | EAPI void *ecore_event_handler_data_get(Ecore_Event_Handler *eh); | 738 | EAPI void *ecore_event_handler_data_get(Ecore_Event_Handler *eh); |
739 | /** | ||
740 | * @brief Set the data associated with an #Ecore_Event_Handler | ||
741 | * @param eh The event handler | ||
742 | * @param data The data to associate | ||
743 | * @return The previous data | ||
744 | * | ||
745 | * This function sets @p data to @p eh and returns the old data pointer | ||
746 | * which was previously associated with @p eh by ecore_event_handler_add(). | ||
747 | */ | ||
634 | EAPI void *ecore_event_handler_data_set(Ecore_Event_Handler *eh, const void *data); | 748 | EAPI void *ecore_event_handler_data_set(Ecore_Event_Handler *eh, const void *data); |
749 | /** | ||
750 | * @brief Allocate a new event type id sensibly and return the new id. | ||
751 | * @return A new event type id. | ||
752 | * | ||
753 | * This function allocates a new event type id and returns it. Once an event | ||
754 | * type has been allocated it can never be de-allocated during the life of | ||
755 | * the program. There is no guarantee of the contents of this event ID, or how | ||
756 | * it is calculated, except that the ID will be unique to the current instance | ||
757 | * of the process. | ||
758 | */ | ||
635 | EAPI int ecore_event_type_new(void); | 759 | EAPI int ecore_event_type_new(void); |
760 | /** | ||
761 | * @brief Add a filter the current event queue. | ||
762 | * | ||
763 | * @param func_start Function to call just before filtering and return data | ||
764 | * @param func_filter Function to call on each event | ||
765 | * @param func_end Function to call after the queue has been filtered | ||
766 | * @param data Data to pass to the filter functions | ||
767 | * @return A filter handle on success, NULL otherwise | ||
768 | * | ||
769 | * Adds a callback to filter events from the event queue. Filters are called on | ||
770 | * the queue just before Event handler processing to try and remove redundant | ||
771 | * events. Just as processing is about to start @a func_start is called and | ||
772 | * passed the @a data pointer, the return value of this functions is passed to | ||
773 | * @a func_filter as loop_data. @a func_filter is also passed @a data and the | ||
774 | * event type and event structure. If this @a func_filter returns #EINA_FALSE, | ||
775 | * the event is removed from the queue, if it returns #EINA_TRUE, the event is | ||
776 | * kept. When processing is finished @p func_end is called and is passed the | ||
777 | * loop_data(returned by @c func_start) and @p data pointer to clean up. | ||
778 | */ | ||
636 | EAPI Ecore_Event_Filter *ecore_event_filter_add(Ecore_Data_Cb func_start, Ecore_Filter_Cb func_filter, Ecore_End_Cb func_end, const void *data); | 779 | EAPI Ecore_Event_Filter *ecore_event_filter_add(Ecore_Data_Cb func_start, Ecore_Filter_Cb func_filter, Ecore_End_Cb func_end, const void *data); |
780 | /** | ||
781 | * @brief Delete an event filter. | ||
782 | * @param ef The event filter handle | ||
783 | * @return The data set for the filter on success, NULL otherwise | ||
784 | * | ||
785 | * Delete a filter that has been added by its @p ef handle. | ||
786 | */ | ||
637 | EAPI void *ecore_event_filter_del(Ecore_Event_Filter *ef); | 787 | EAPI void *ecore_event_filter_del(Ecore_Event_Filter *ef); |
788 | /** | ||
789 | * @brief Return the current event type being handled. | ||
790 | * @return The current event type being handled if inside a handler callback, | ||
791 | * ECORE_EVENT_NONE otherwise | ||
792 | * | ||
793 | * If the program is currently inside an Ecore event handler callback this | ||
794 | * will return the type of the current event being processed. | ||
795 | * | ||
796 | * This is useful when certain Ecore modules such as Ecore_Evas "swallow" | ||
797 | * events and not all the original information is passed on. In special cases | ||
798 | * this extra information may be useful or needed and using this call can let | ||
799 | * the program know if the event type being handled is one it wants to get more | ||
800 | * information about. | ||
801 | */ | ||
638 | EAPI int ecore_event_current_type_get(void); | 802 | EAPI int ecore_event_current_type_get(void); |
803 | /** | ||
804 | * @brief Return the current event type pointer handled. | ||
805 | * @return The current event pointer being handled if inside a handler callback, | ||
806 | * NULL otherwise | ||
807 | * | ||
808 | * If the program is currently inside an Ecore event handler callback this | ||
809 | * will return the pointer of the current event being processed. | ||
810 | * | ||
811 | * This is useful when certain Ecore modules such as Ecore_Evas "swallow" | ||
812 | * events and not all the original information is passed on. In special cases | ||
813 | * this extra information may be useful or needed and using this call can let | ||
814 | * the program access the event data if the type of the event is handled by | ||
815 | * the program. | ||
816 | */ | ||
639 | EAPI void *ecore_event_current_event_get(void); | 817 | EAPI void *ecore_event_current_event_get(void); |
640 | 818 | ||
641 | /** | 819 | /** |
@@ -652,7 +830,8 @@ EAPI void *ecore_event_current_event_get(void); | |||
652 | * @{ | 830 | * @{ |
653 | */ | 831 | */ |
654 | 832 | ||
655 | #define ECORE_EXE_PRIORITY_INHERIT 9999 | 833 | /** Inherit priority from parent process */ |
834 | #define ECORE_EXE_PRIORITY_INHERIT 9999 | ||
656 | 835 | ||
657 | EAPI extern int ECORE_EXE_EVENT_ADD; /**< A child process has been added */ | 836 | EAPI extern int ECORE_EXE_EVENT_ADD; /**< A child process has been added */ |
658 | EAPI extern int ECORE_EXE_EVENT_DEL; /**< A child process has been deleted (it exited, naming consistent with the rest of ecore). */ | 837 | EAPI extern int ECORE_EXE_EVENT_DEL; /**< A child process has been deleted (it exited, naming consistent with the rest of ecore). */ |
@@ -715,7 +894,7 @@ struct _Ecore_Exe_Event_Del /** Process exit event */ | |||
715 | Eina_Bool exited : 1; /** < set to 1 if the process exited of its own accord */ | 894 | Eina_Bool exited : 1; /** < set to 1 if the process exited of its own accord */ |
716 | Eina_Bool signalled : 1; /** < set to 1 id the process exited due to uncaught signal */ | 895 | Eina_Bool signalled : 1; /** < set to 1 id the process exited due to uncaught signal */ |
717 | void *ext_data; /**< Extension data - not used */ | 896 | void *ext_data; /**< Extension data - not used */ |
718 | #if !defined (_WIN32) && !defined (__lv2ppu__) | 897 | #if !defined (_WIN32) && !defined (__lv2ppu__) && !defined (EXOTIC_NO_SIGNAL) |
719 | siginfo_t data; /**< Signal info */ | 898 | siginfo_t data; /**< Signal info */ |
720 | #endif | 899 | #endif |
721 | }; | 900 | }; |
@@ -768,24 +947,30 @@ EAPI void ecore_exe_hup(Ecore_Exe *exe); | |||
768 | /** | 947 | /** |
769 | * @defgroup Ecore_FD_Handler_Group File Event Handling Functions | 948 | * @defgroup Ecore_FD_Handler_Group File Event Handling Functions |
770 | * | 949 | * |
771 | * Functions that deal with file descriptor handlers. | 950 | * @brief Functions that deal with file descriptor handlers. |
951 | * | ||
952 | * File descriptor handlers facilitate reading, writing and checking for errors | ||
953 | * without blocking the program or doing expensive pooling. This can be used to | ||
954 | * monitor a socket, pipe, or other stream for which an FD can be had. | ||
772 | * | 955 | * |
773 | * The @ref Ecore_Fd_Handler can be used to watch a file descriptor | 956 | * @warning This function @b can't be used for monitoring to regular files! |
774 | * for data available for reading, for the availability to write | ||
775 | * without blocking, and for errors on the file descriptor. | ||
776 | * | 957 | * |
777 | *ecore_main_fd_handler_add() is used to setup a handler for a | 958 | * One common FD to be monitored is the standard input(stdin), monitoring it for |
778 | * given file descriptor. This file descriptor can be the standard | 959 | * reading requires a single call: |
779 | * input, a network socket, a stream received through some driver | 960 | * @code |
780 | * of a hardware decoder, etc. Thus it can contain errors, like a | 961 | * static Eina_Bool |
781 | * disconnection, a broken pipe, and so, and that's why it's | 962 | * _my_cb_func(void *data, Ecore_Fd_Handler *handler) |
782 | * possible to check for these errors with the @ref ECORE_FD_ERROR | 963 | * { |
783 | * flag. | 964 | * char c; |
965 | * scanf("%c", &c); //Guaranteed not to block | ||
966 | * ... do stuff with c ... | ||
967 | * } | ||
968 | * ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _my_cb_func, NULL, NULL, NULL); | ||
969 | * @endcode | ||
784 | * | 970 | * |
785 | * An @ref Ecore_Fd_Handler can be used to watch on a file | 971 | * When using a socket, pipe or other stream it's important to remember that |
786 | * descriptor without blocking, still being able to receive events, | 972 | * errors may occur and as such to monitor not only for reading/writing but also |
787 | * expire timers, and other watch for other things that happen in | 973 | * for errors using the @ref ECORE_FD_ERROR flag. |
788 | * the Ecore main loop. | ||
789 | * | 974 | * |
790 | * Example of use of a file descriptor handler: | 975 | * Example of use of a file descriptor handler: |
791 | * @li @ref ecore_fd_handler_example_c | 976 | * @li @ref ecore_fd_handler_example_c |
@@ -823,11 +1008,93 @@ typedef void (*Ecore_Fd_Prep_Cb)(void *data, Ecore_Fd_Handler *fd_handler); | |||
823 | */ | 1008 | */ |
824 | typedef Eina_Bool (*Ecore_Win32_Handle_Cb)(void *data, Ecore_Win32_Handler *wh); | 1009 | typedef Eina_Bool (*Ecore_Win32_Handle_Cb)(void *data, Ecore_Win32_Handler *wh); |
825 | 1010 | ||
1011 | /** | ||
1012 | * @brief Adds a callback for activity on the given file descriptor. | ||
1013 | * | ||
1014 | * @param fd The file descriptor to watch. | ||
1015 | * @param flags To monitor it for reading use @c ECORE_FD_READ, for writing @c | ||
1016 | * ECORE_FD_WRITE, and for error @c ECORE_FD_ERROR. Values bay |(ored). | ||
1017 | * @param func The callback function. | ||
1018 | * @param data The data to pass to the callback. | ||
1019 | * @param buf_func The function to call to check if any data has been buffered | ||
1020 | * and already read from the fd. May be @c NULL. | ||
1021 | * @param buf_data The data to pass to the @p buf_func function. | ||
1022 | * @return A fd handler handle on success, @c NULL otherwise. | ||
1023 | * | ||
1024 | * @a func will be called during the execution of @ref Ecore_Main_Loop_Page | ||
1025 | * when the file descriptor is available for reading, writing, or there has been | ||
1026 | * an error(depending on the given @a flags). | ||
1027 | * | ||
1028 | * When @a func returns ECORE_CALLBACK_CANCEL, it indicates that the | ||
1029 | * handler should be marked for deletion (identical to calling @ref | ||
1030 | * ecore_main_fd_handler_del). | ||
1031 | * | ||
1032 | * @warning @a buf_func is meant for @b internal use only and should be @b | ||
1033 | * avoided. | ||
1034 | * | ||
1035 | * The return value of @a buf_func has a different meaning, when it returns | ||
1036 | * ECORE_CALLBACK_CANCEL, it indicates that @a func @b shouldn't be called, and | ||
1037 | * when it returns ECORE_CALLBACK_RENEW it indicates @a func should be called. | ||
1038 | * The return value of @a buf_func will not cause the FD handler to be deleted. | ||
1039 | * | ||
1040 | * @a buf_func is called during event loop handling to check if data that has | ||
1041 | * been read from the file descriptor is in a buffer and is available to read. | ||
1042 | * Some systems, notably xlib, handle their own buffering, and would otherwise | ||
1043 | * not work with select(). These systems should use a @a buf_func. This is a | ||
1044 | * most annoying hack, only ecore_x uses it, so refer to that for an example. | ||
1045 | */ | ||
826 | EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, Ecore_Fd_Cb func, const void *data, Ecore_Fd_Cb buf_func, const void *buf_data); | 1046 | EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, Ecore_Fd_Cb func, const void *data, Ecore_Fd_Cb buf_func, const void *buf_data); |
1047 | /** | ||
1048 | * @brief Set the prepare callback with data for a given #Ecore_Fd_Handler | ||
1049 | * | ||
1050 | * @param fd_handler The fd handler | ||
1051 | * @param func The prep function | ||
1052 | * @param data The data to pass to the prep function | ||
1053 | * | ||
1054 | * This function will be called prior to any fd handler's callback function | ||
1055 | * (even the other fd handlers), before entering the main loop select function. | ||
1056 | * | ||
1057 | * @note Once a prepare callback is set for a fd handler, it cannot be changed. | ||
1058 | * You need to delete the fd handler and create a new one, to set another | ||
1059 | * callback. | ||
1060 | * @note You probably don't need this function. It is only necessary for very | ||
1061 | * uncommon cases that need special behavior. | ||
1062 | */ | ||
827 | EAPI void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, const void *data); | 1063 | EAPI void ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Prep_Cb func, const void *data); |
1064 | /** | ||
1065 | * @brief Marks an FD handler for deletion. | ||
1066 | * @param fd_handler The FD handler. | ||
1067 | * @return The data pointer set using @ref ecore_main_fd_handler_add, for @a | ||
1068 | * fd_handler on success, @c NULL otherwise. | ||
1069 | * This function marks an fd handler to be deleted during an iteration of the | ||
1070 | * main loop. It does NOT close the associated fd! | ||
1071 | * | ||
1072 | * @warning If the underlying fd is already closed ecore may complain if the | ||
1073 | * main loop is using epoll internally, and also in some rare cases this may | ||
1074 | * cause crashes and instability. Remember to delete your fd handlers before the | ||
1075 | * fds they listen to are closed. | ||
1076 | */ | ||
828 | EAPI void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler); | 1077 | EAPI void *ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler); |
1078 | /** | ||
1079 | * @brief Retrieves the file descriptor that the given handler is handling. | ||
1080 | * @param fd_handler The given FD handler. | ||
1081 | * @return The file descriptor the handler is watching. | ||
1082 | */ | ||
829 | EAPI int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler); | 1083 | EAPI int ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler); |
1084 | /** | ||
1085 | * @brief Gets which flags are active on an FD handler. | ||
1086 | * @param fd_handler The given FD handler. | ||
1087 | * @param flags The flags, @c ECORE_FD_READ, @c ECORE_FD_WRITE or @c | ||
1088 | * ECORE_FD_ERROR to query. | ||
1089 | * @return #EINA_TRUE if any of the given flags are active, #EINA_FALSE | ||
1090 | * otherwise. | ||
1091 | */ | ||
830 | EAPI Eina_Bool ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); | 1092 | EAPI Eina_Bool ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); |
1093 | /** | ||
1094 | * @brief Set what active streams the given FD handler should be monitoring. | ||
1095 | * @param fd_handler The given FD handler. | ||
1096 | * @param flags The flags to be watching. | ||
1097 | */ | ||
831 | EAPI void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); | 1098 | EAPI void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags); |
832 | 1099 | ||
833 | EAPI Ecore_Win32_Handler *ecore_main_win32_handler_add(void *h, Ecore_Win32_Handle_Cb func, const void *data); | 1100 | EAPI Ecore_Win32_Handler *ecore_main_win32_handler_add(void *h, Ecore_Win32_Handle_Cb func, const void *data); |
@@ -840,13 +1107,30 @@ EAPI void *ecore_main_win32_handler_del(Ecore_Win32_Handler *win32_handler); | |||
840 | /** | 1107 | /** |
841 | * @defgroup Ecore_Poller_Group Ecore Poll functions | 1108 | * @defgroup Ecore_Poller_Group Ecore Poll functions |
842 | * | 1109 | * |
843 | * These functions are for the need to poll information, but provide | 1110 | * Ecore poller provides infrastructure for the creation of pollers. Pollers |
844 | * a shared abstracted API to pool such polling to minimise wakeup | 1111 | * are, in essence, callbacks that share a single timer per type. Because not |
845 | * and ensure all the polling happens in as few spots as possible | 1112 | * all pollers need to be called at the same frequency the user may specify the |
846 | * areound a core poll interval. For now only 1 core poller type is | 1113 | * frequency in ticks(each expiration of the shared timer is called a tick, in |
847 | * supprted: ECORE_POLLER_CORE | 1114 | * ecore poller parlance) for each added poller. Ecore pollers should only be |
1115 | * used when the poller doesn't have specific requirements on the exact times | ||
1116 | * to poll. | ||
848 | * | 1117 | * |
849 | * Example of @ref Ecore_Poller : | 1118 | * This architecture means that the main loop is only woken up once to handle |
1119 | * all pollers of that type, this will save power as the CPU has more of a | ||
1120 | * chance to go into a low power state the longer it is asleep for, so this | ||
1121 | * should be used in situations where power usage is a concern. | ||
1122 | * | ||
1123 | * For now only 1 core poller type is supported: ECORE_POLLER_CORE, the default | ||
1124 | * interval for ECORE_POLLER_CORE is 0.125(or 1/8th) second. | ||
1125 | * | ||
1126 | * The creation of a poller is extremely simple and only required one line: | ||
1127 | * @code | ||
1128 | * ecore_poller_add(ECORE_POLLER_CORE, 1, my_poller_function, NULL); | ||
1129 | * @endcode | ||
1130 | * This sample creates a poller to call @c my_poller_function at every tick with | ||
1131 | * @c NULL as data. | ||
1132 | * | ||
1133 | * Example: | ||
850 | * @li @ref ecore_poller_example_c | 1134 | * @li @ref ecore_poller_example_c |
851 | * | 1135 | * |
852 | * @ingroup Ecore_Main_Loop_Group | 1136 | * @ingroup Ecore_Main_Loop_Group |
@@ -862,11 +1146,76 @@ typedef enum _Ecore_Poller_Type Ecore_Poller_Type; | |||
862 | 1146 | ||
863 | typedef struct _Ecore_Poller Ecore_Poller; /**< A handle for pollers */ | 1147 | typedef struct _Ecore_Poller Ecore_Poller; /**< A handle for pollers */ |
864 | 1148 | ||
1149 | /** | ||
1150 | * @brief Sets the time(in seconds) between ticks for the given poller type. | ||
1151 | * @param type The poller type to adjust. | ||
1152 | * @param poll_time The time(in seconds) between ticks of the timer. | ||
1153 | * | ||
1154 | * This will adjust the time between ticks of the given timer type defined by | ||
1155 | * @p type to the time period defined by @p poll_time. | ||
1156 | */ | ||
865 | EAPI void ecore_poller_poll_interval_set(Ecore_Poller_Type type, double poll_time); | 1157 | EAPI void ecore_poller_poll_interval_set(Ecore_Poller_Type type, double poll_time); |
1158 | /** | ||
1159 | * @brief Gets the time(in seconds) between ticks for the given poller type. | ||
1160 | * @param type The poller type to query. | ||
1161 | * @return The time in seconds between ticks of the poller timer. | ||
1162 | * | ||
1163 | * This will get the time between ticks of the specified poller timer. | ||
1164 | */ | ||
866 | EAPI double ecore_poller_poll_interval_get(Ecore_Poller_Type type); | 1165 | EAPI double ecore_poller_poll_interval_get(Ecore_Poller_Type type); |
1166 | /** | ||
1167 | * @brief Changes the polling interval rate of @p poller. | ||
1168 | * @param poller The Ecore_Poller to change the interval of. | ||
1169 | * @param interval The tick interval to set; must be a power of 2 and <= 32768. | ||
1170 | * @return Returns true on success, false on failure. | ||
1171 | * | ||
1172 | * This allows the changing of a poller's polling interval. It is useful when | ||
1173 | * you want to alter a poll rate without deleting and re-creating a poller. | ||
1174 | */ | ||
867 | EAPI Eina_Bool ecore_poller_poller_interval_set(Ecore_Poller *poller, int interval); | 1175 | EAPI Eina_Bool ecore_poller_poller_interval_set(Ecore_Poller *poller, int interval); |
1176 | /** | ||
1177 | * @brief Gets the polling interval rate of @p poller. | ||
1178 | * @param poller The Ecore_Poller to change the interval of. | ||
1179 | * @return Returns the interval, in ticks, that @p poller polls at. | ||
1180 | * | ||
1181 | * This returns a poller's polling interval, or 0 on error. | ||
1182 | */ | ||
868 | EAPI int ecore_poller_poller_interval_get(Ecore_Poller *poller); | 1183 | EAPI int ecore_poller_poller_interval_get(Ecore_Poller *poller); |
1184 | /** | ||
1185 | * @brief Creates a poller to call the given function at a particular tick interval. | ||
1186 | * @param type The ticker type to attach the poller to. Must be ECORE_POLLER_CORE. | ||
1187 | * @param interval The poll interval. | ||
1188 | * @param func The poller function. | ||
1189 | * @param data Data to pass to @a func when it is called. | ||
1190 | * @return A poller object on success, @c NULL otherwise. | ||
1191 | * | ||
1192 | * This function adds @a func as a poller callback that will be called every @a | ||
1193 | * interval ticks together with other pollers of type @a type. @a func will be | ||
1194 | * passed the @p data pointer as a parameter. | ||
1195 | * | ||
1196 | * The @p interval must be between 1 and 32768 inclusive, and must be a power of | ||
1197 | * 2 (i.e. 1, 2, 4, 8, 16, ... 16384, 32768). The exact tick in which @a func | ||
1198 | * will be called is undefined, as only the interval between calls can be | ||
1199 | * defined. Ecore will endeavor to keep pollers synchronized and to call as | ||
1200 | * many in 1 wakeup event as possible. If @a interval is not a power of two, the | ||
1201 | * closest power of 2 greater than @a interval will be used. | ||
1202 | * | ||
1203 | * When the poller @p func is called, it must return a value of either | ||
1204 | * ECORE_CALLBACK_RENEW(or 1) or ECORE_CALLBACK_CANCEL(or 0). If it | ||
1205 | * returns 1, it will be called again at the next tick, or if it returns | ||
1206 | * 0 it will be deleted automatically making any references/handles for it | ||
1207 | * invalid. | ||
1208 | */ | ||
869 | EAPI Ecore_Poller *ecore_poller_add(Ecore_Poller_Type type, int interval, Ecore_Task_Cb func, const void *data); | 1209 | EAPI Ecore_Poller *ecore_poller_add(Ecore_Poller_Type type, int interval, Ecore_Task_Cb func, const void *data); |
1210 | /** | ||
1211 | * @brief Delete the specified poller from the timer list. | ||
1212 | * @param poller The poller to delete. | ||
1213 | * @return The data pointer set for the timer when @ref ecore_poller_add was | ||
1214 | * called on success, @c NULL otherwise. | ||
1215 | * | ||
1216 | * @note @a poller must be a valid handle. If the poller function has already | ||
1217 | * returned 0, the handle is no longer valid (and does not need to be deleted). | ||
1218 | */ | ||
870 | EAPI void *ecore_poller_del(Ecore_Poller *poller); | 1219 | EAPI void *ecore_poller_del(Ecore_Poller *poller); |
871 | 1220 | ||
872 | /** | 1221 | /** |
@@ -941,7 +1290,7 @@ typedef enum _Ecore_Animator_Source Ecore_Animator_Source; | |||
941 | typedef Eina_Bool (*Ecore_Timeline_Cb)(void *data, double pos); | 1290 | typedef Eina_Bool (*Ecore_Timeline_Cb)(void *data, double pos); |
942 | 1291 | ||
943 | /** | 1292 | /** |
944 | * @brief Add an animator to call @p func at every animaton tick during main | 1293 | * @brief Add an animator to call @p func at every animation tick during main |
945 | * loop execution. | 1294 | * loop execution. |
946 | * | 1295 | * |
947 | * @param func The function to call when it ticks off | 1296 | * @param func The function to call when it ticks off |
@@ -1011,7 +1360,7 @@ EAPI void *ecore_animator_del(Ecore_Animator *animator); | |||
1011 | * | 1360 | * |
1012 | * @param animator The animator to delete | 1361 | * @param animator The animator to delete |
1013 | * | 1362 | * |
1014 | * The specified @p animator will be temporarly removed from the set of | 1363 | * The specified @p animator will be temporarily removed from the set of |
1015 | * animators that are executed during main loop. | 1364 | * animators that are executed during main loop. |
1016 | * | 1365 | * |
1017 | * @warning Freezing an animator doesn't freeze accounting of how long that | 1366 | * @warning Freezing an animator doesn't freeze accounting of how long that |
@@ -1069,7 +1418,7 @@ EAPI double ecore_animator_frametime_get(void); | |||
1069 | * has "overshot" the mark) using some interpolation (mapping) algorithm. | 1418 | * has "overshot" the mark) using some interpolation (mapping) algorithm. |
1070 | * | 1419 | * |
1071 | * This function useful to create non-linear animations. It offers a variety | 1420 | * This function useful to create non-linear animations. It offers a variety |
1072 | * of possible animaton curves to be used: | 1421 | * of possible animation curves to be used: |
1073 | * @li ECORE_POS_MAP_LINEAR - Linear, returns @p pos | 1422 | * @li ECORE_POS_MAP_LINEAR - Linear, returns @p pos |
1074 | * @li ECORE_POS_MAP_ACCELERATE - Start slow then speed up | 1423 | * @li ECORE_POS_MAP_ACCELERATE - Start slow then speed up |
1075 | * @li ECORE_POS_MAP_DECELERATE - Start fast then slow down | 1424 | * @li ECORE_POS_MAP_DECELERATE - Start fast then slow down |
@@ -1107,7 +1456,7 @@ EAPI double ecore_animator_frametime_get(void); | |||
1107 | * y = (y1 * out) + (y2 * (1.0 - out)); | 1456 | * y = (y1 * out) + (y2 * (1.0 - out)); |
1108 | * move_my_object_to(myobject, x, y); | 1457 | * move_my_object_to(myobject, x, y); |
1109 | * @endcode | 1458 | * @endcode |
1110 | * This will make an animaton that bounces 7 each times diminishing by a | 1459 | * This will make an animation that bounces 7 each times diminishing by a |
1111 | * factor of 1.8. | 1460 | * factor of 1.8. |
1112 | * | 1461 | * |
1113 | * @see _Ecore_Pos_Map | 1462 | * @see _Ecore_Pos_Map |
@@ -1205,16 +1554,39 @@ EAPI void ecore_animator_custom_tick(void); | |||
1205 | */ | 1554 | */ |
1206 | 1555 | ||
1207 | /** | 1556 | /** |
1208 | * @defgroup Ecore_Time_Group Ecore Time functions | 1557 | * @defgroup Ecore_Time_Group Ecore time functions |
1209 | * | ||
1210 | * Functions that deal with time. These functions include those | ||
1211 | * that simply retrieve it in a given format, and those that create | ||
1212 | * events based on it. | ||
1213 | * | 1558 | * |
1214 | * The timer allows callbacks to be called at specific intervals. | 1559 | * These are function to retrieve time in a given format. |
1215 | * | 1560 | * |
1216 | * Examples with functions that deal with time: | 1561 | * Examples: |
1217 | * @li @ref ecore_time_functions_example_c | 1562 | * @li @ref ecore_time_functions_example_c |
1563 | * @{ | ||
1564 | */ | ||
1565 | EAPI double ecore_time_get(void); | ||
1566 | EAPI double ecore_time_unix_get(void); | ||
1567 | EAPI double ecore_loop_time_get(void); | ||
1568 | |||
1569 | /** | ||
1570 | * @} | ||
1571 | */ | ||
1572 | |||
1573 | /** | ||
1574 | * @defgroup Ecore_Timer_Group Ecore Timer functions | ||
1575 | * | ||
1576 | * Ecore provides very flexible timer functionality. The basic usage of timers, | ||
1577 | * to call a certain function at a certain interval can be achieved with a | ||
1578 | * single line: | ||
1579 | * @code | ||
1580 | * Eina_Bool my_func(void *data) { | ||
1581 | * do_funky_stuff_with_data(data); | ||
1582 | * return EINA_TRUE; | ||
1583 | * } | ||
1584 | * ecore_timer_add(interval_in_seconds, my_func, data_given_to_function); | ||
1585 | * @endcode | ||
1586 | * @note If the function was to be executed only once simply return EINA_FALSE | ||
1587 | * instead. | ||
1588 | * | ||
1589 | * An example that shows the usage of a lot of these: | ||
1218 | * @li @ref ecore_timer_example_c | 1590 | * @li @ref ecore_timer_example_c |
1219 | * | 1591 | * |
1220 | * @ingroup Ecore_Main_Loop_Group | 1592 | * @ingroup Ecore_Main_Loop_Group |
@@ -1224,10 +1596,6 @@ EAPI void ecore_animator_custom_tick(void); | |||
1224 | 1596 | ||
1225 | typedef struct _Ecore_Timer Ecore_Timer; /**< A handle for timers */ | 1597 | typedef struct _Ecore_Timer Ecore_Timer; /**< A handle for timers */ |
1226 | 1598 | ||
1227 | EAPI double ecore_time_get(void); | ||
1228 | EAPI double ecore_time_unix_get(void); | ||
1229 | EAPI double ecore_loop_time_get(void); | ||
1230 | |||
1231 | EAPI Ecore_Timer *ecore_timer_add(double in, Ecore_Task_Cb func, const void *data); | 1599 | EAPI Ecore_Timer *ecore_timer_add(double in, Ecore_Task_Cb func, const void *data); |
1232 | EAPI Ecore_Timer *ecore_timer_loop_add(double in, Ecore_Task_Cb func, const void *data); | 1600 | EAPI Ecore_Timer *ecore_timer_loop_add(double in, Ecore_Task_Cb func, const void *data); |
1233 | EAPI void *ecore_timer_del(Ecore_Timer *timer); | 1601 | EAPI void *ecore_timer_del(Ecore_Timer *timer); |
@@ -1249,14 +1617,15 @@ EAPI char *ecore_timer_dump(void); | |||
1249 | /** | 1617 | /** |
1250 | * @defgroup Ecore_Idle_Group Ecore Idle functions | 1618 | * @defgroup Ecore_Idle_Group Ecore Idle functions |
1251 | * | 1619 | * |
1252 | * Callbacks that are called when the program enters or exits an | 1620 | * The idler functionality in Ecore allows for callbacks to be called when the |
1253 | * idle state. | 1621 | * program isn't handling @ref Ecore_Event_Group "events", @ref Ecore_Timer_Group |
1622 | * "timers" or @ref Ecore_FD_Handler_Group "fd handlers". | ||
1254 | * | 1623 | * |
1255 | * The ecore main loop enters an idle state when it is waiting for | 1624 | * There are three types of idlers: Enterers, Idlers(proper) and Exiters. They |
1256 | * timers to time out, data to come in on a file descriptor or any | 1625 | * are called, respectively, when the program is about to enter an idle state, |
1257 | * other event to occur. You can set callbacks to be called when | 1626 | * when the program is in an idle state and when the program has just left an |
1258 | * the main loop enters an idle state, during an idle state or just | 1627 | * idle state and will begin processing @ref Ecore_Event_Group "events", @ref |
1259 | * after the program wakes up. | 1628 | * Ecore_Timer_Group "timers" or @ref Ecore_FD_Handler_Group "fd handlers". |
1260 | * | 1629 | * |
1261 | * Enterer callbacks are good for updating your program's state, if | 1630 | * Enterer callbacks are good for updating your program's state, if |
1262 | * it has a state engine. Once all of the enterer handlers are | 1631 | * it has a state engine. Once all of the enterer handlers are |
@@ -1266,14 +1635,13 @@ EAPI char *ecore_timer_dump(void); | |||
1266 | * enterer handlers. They are useful for interfaces that require | 1635 | * enterer handlers. They are useful for interfaces that require |
1267 | * polling and timers would be too slow to use. | 1636 | * polling and timers would be too slow to use. |
1268 | * | 1637 | * |
1638 | * Exiter callbacks are called when the main loop wakes up from an idle state. | ||
1639 | * | ||
1269 | * If no idler callbacks are specified, then the process literally | 1640 | * If no idler callbacks are specified, then the process literally |
1270 | * goes to sleep. Otherwise, the idler callbacks are called | 1641 | * goes to sleep. Otherwise, the idler callbacks are called |
1271 | * continuously while the loop is "idle", using as much CPU as is | 1642 | * continuously while the loop is "idle", using as much CPU as is |
1272 | * available to the process. | 1643 | * available to the process. |
1273 | * | 1644 | * |
1274 | * Exiter callbacks are called when the main loop wakes up from an | ||
1275 | * idle state. | ||
1276 | * | ||
1277 | * @note Idle state doesn't mean that the @b program is idle, but | 1645 | * @note Idle state doesn't mean that the @b program is idle, but |
1278 | * that the <b>main loop</b> is idle. It doesn't have any timers, | 1646 | * that the <b>main loop</b> is idle. It doesn't have any timers, |
1279 | * events, fd handlers or anything else to process (which in most | 1647 | * events, fd handlers or anything else to process (which in most |
@@ -1343,7 +1711,7 @@ EAPI void *ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter); | |||
1343 | * thread, the one running the main loop. This problem can be solved | 1711 | * thread, the one running the main loop. This problem can be solved |
1344 | * by running a thread that sends messages to the main one using an | 1712 | * by running a thread that sends messages to the main one using an |
1345 | * @ref Ecore_Pipe_Group "Ecore_Pipe", but when you need to handle other | 1713 | * @ref Ecore_Pipe_Group "Ecore_Pipe", but when you need to handle other |
1346 | * things like cancelling the thread, your code grows in coplexity and gets | 1714 | * things like cancelling the thread, your code grows in complexity and gets |
1347 | * much harder to maintain. | 1715 | * much harder to maintain. |
1348 | * | 1716 | * |
1349 | * Ecore Thread is here to solve that problem. It is @b not a simple wrapper | 1717 | * Ecore Thread is here to solve that problem. It is @b not a simple wrapper |
@@ -1514,7 +1882,7 @@ EAPI Ecore_Thread *ecore_thread_run(Ecore_Thread_Cb func_blocking, Ecore_Thread_ | |||
1514 | * with ecore_thread_feedback(). | 1882 | * with ecore_thread_feedback(). |
1515 | * | 1883 | * |
1516 | * Like with ecore_thread_run(), a new thread will be launched to run | 1884 | * Like with ecore_thread_run(), a new thread will be launched to run |
1517 | * @p func_heavy unless the maximum number of simultaneous threadas has been | 1885 | * @p func_heavy unless the maximum number of simultaneous threads has been |
1518 | * reached, in which case the function will be scheduled to run whenever a | 1886 | * reached, in which case the function will be scheduled to run whenever a |
1519 | * running task ends and a thread becomes free. But if @p try_no_queue is | 1887 | * running task ends and a thread becomes free. But if @p try_no_queue is |
1520 | * set, Ecore will first try to launch a thread outside of the pool to run | 1888 | * set, Ecore will first try to launch a thread outside of the pool to run |
@@ -2076,7 +2444,7 @@ EAPI int ecore_pipe_wait(Ecore_Pipe *p, int message_count, double wait); | |||
2076 | * also will be executed in the order in which they were added. | 2444 | * also will be executed in the order in which they were added. |
2077 | * | 2445 | * |
2078 | * A good use for them is when you don't want to execute an action | 2446 | * A good use for them is when you don't want to execute an action |
2079 | * immeditately, but want to give the control back to the main loop | 2447 | * immediately, but want to give the control back to the main loop |
2080 | * so that it will call your job callback when jobs start being | 2448 | * so that it will call your job callback when jobs start being |
2081 | * processed (and if there are other jobs added before yours, they | 2449 | * processed (and if there are other jobs added before yours, they |
2082 | * will be processed first). This also gives the chance to other | 2450 | * will be processed first). This also gives the chance to other |
diff --git a/libraries/ecore/src/lib/ecore/Makefile.am b/libraries/ecore/src/lib/ecore/Makefile.am index ec3d99f..6f14387 100644 --- a/libraries/ecore/src/lib/ecore/Makefile.am +++ b/libraries/ecore/src/lib/ecore/Makefile.am | |||
@@ -47,6 +47,12 @@ libecore_la_SOURCES += ecore_exe_ps3.c | |||
47 | 47 | ||
48 | else | 48 | else |
49 | 49 | ||
50 | if ECORE_HAVE_EXOTIC | ||
51 | |||
52 | libecore_la_SOURCES += | ||
53 | |||
54 | else | ||
55 | |||
50 | libecore_la_SOURCES += ecore_signal.c ecore_exe.c | 56 | libecore_la_SOURCES += ecore_signal.c ecore_exe.c |
51 | 57 | ||
52 | endif | 58 | endif |
@@ -55,6 +61,8 @@ endif | |||
55 | 61 | ||
56 | endif | 62 | endif |
57 | 63 | ||
64 | endif | ||
65 | |||
58 | libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm | 66 | libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm |
59 | libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ | 67 | libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ |
60 | 68 | ||
diff --git a/libraries/ecore/src/lib/ecore/Makefile.in b/libraries/ecore/src/lib/ecore/Makefile.in index 66a25cd..71e2ac4 100644 --- a/libraries/ecore/src/lib/ecore/Makefile.in +++ b/libraries/ecore/src/lib/ecore/Makefile.in | |||
@@ -38,7 +38,8 @@ host_triplet = @host@ | |||
38 | @ECORE_HAVE_WIN32_TRUE@am__append_1 = ecore_exe_win32.c | 38 | @ECORE_HAVE_WIN32_TRUE@am__append_1 = ecore_exe_win32.c |
39 | @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__append_2 = ecore_exe_wince.c | 39 | @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__append_2 = ecore_exe_wince.c |
40 | @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_3 = ecore_exe_ps3.c | 40 | @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_3 = ecore_exe_ps3.c |
41 | @ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_4 = ecore_signal.c ecore_exe.c | 41 | @ECORE_HAVE_EXOTIC_TRUE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_4 = |
42 | @ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__append_5 = ecore_signal.c ecore_exe.c | ||
42 | subdir = src/lib/ecore | 43 | subdir = src/lib/ecore |
43 | DIST_COMMON = $(includes_HEADERS) $(srcdir)/Makefile.am \ | 44 | DIST_COMMON = $(includes_HEADERS) $(srcdir)/Makefile.am \ |
44 | $(srcdir)/Makefile.in | 45 | $(srcdir)/Makefile.in |
@@ -54,16 +55,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
54 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 55 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
55 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 56 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
56 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 57 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
57 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 58 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
58 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 59 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
59 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 60 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
60 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 61 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
61 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 62 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
62 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 63 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
63 | $(top_srcdir)/configure.ac | ||
64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
65 | $(ACLOCAL_M4) | 65 | $(ACLOCAL_M4) |
66 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 66 | mkinstalldirs = $(install_sh) -d |
67 | CONFIG_HEADER = $(top_builddir)/config.h | 67 | CONFIG_HEADER = $(top_builddir)/config.h |
68 | CONFIG_CLEAN_FILES = | 68 | CONFIG_CLEAN_FILES = |
69 | CONFIG_CLEAN_VPATH_FILES = | 69 | CONFIG_CLEAN_VPATH_FILES = |
@@ -100,15 +100,16 @@ am__libecore_la_SOURCES_DIST = ecore.c ecore_alloc.c ecore_anim.c \ | |||
100 | @ECORE_HAVE_WIN32_TRUE@am__objects_1 = ecore_exe_win32.lo | 100 | @ECORE_HAVE_WIN32_TRUE@am__objects_1 = ecore_exe_win32.lo |
101 | @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__objects_2 = ecore_exe_wince.lo | 101 | @ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_TRUE@am__objects_2 = ecore_exe_wince.lo |
102 | @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_3 = ecore_exe_ps3.lo | 102 | @ECORE_HAVE_PS3_TRUE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_3 = ecore_exe_ps3.lo |
103 | @ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_4 = ecore_signal.lo \ | 103 | am__objects_4 = |
104 | @ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@ ecore_exe.lo | 104 | @ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@am__objects_5 = ecore_signal.lo \ |
105 | @ECORE_HAVE_EXOTIC_FALSE@@ECORE_HAVE_PS3_FALSE@@ECORE_HAVE_WIN32_FALSE@@ECORE_HAVE_WINCE_FALSE@ ecore_exe.lo | ||
105 | am_libecore_la_OBJECTS = ecore.lo ecore_alloc.lo ecore_anim.lo \ | 106 | am_libecore_la_OBJECTS = ecore.lo ecore_alloc.lo ecore_anim.lo \ |
106 | ecore_app.lo ecore_events.lo ecore_getopt.lo \ | 107 | ecore_app.lo ecore_events.lo ecore_getopt.lo \ |
107 | ecore_idle_enterer.lo ecore_idle_exiter.lo ecore_idler.lo \ | 108 | ecore_idle_enterer.lo ecore_idle_exiter.lo ecore_idler.lo \ |
108 | ecore_job.lo ecore_main.lo ecore_pipe.lo ecore_poll.lo \ | 109 | ecore_job.lo ecore_main.lo ecore_pipe.lo ecore_poll.lo \ |
109 | ecore_time.lo ecore_timer.lo ecore_thread.lo ecore_glib.lo \ | 110 | ecore_time.lo ecore_timer.lo ecore_thread.lo ecore_glib.lo \ |
110 | ecore_throttle.lo $(am__objects_1) $(am__objects_2) \ | 111 | ecore_throttle.lo $(am__objects_1) $(am__objects_2) \ |
111 | $(am__objects_3) $(am__objects_4) | 112 | $(am__objects_3) $(am__objects_4) $(am__objects_5) |
112 | libecore_la_OBJECTS = $(am_libecore_la_OBJECTS) | 113 | libecore_la_OBJECTS = $(am_libecore_la_OBJECTS) |
113 | AM_V_lt = $(am__v_lt_$(V)) | 114 | AM_V_lt = $(am__v_lt_$(V)) |
114 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) | 115 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) |
@@ -211,6 +212,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
211 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 212 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
212 | EVIL_LIBS = @EVIL_LIBS@ | 213 | EVIL_LIBS = @EVIL_LIBS@ |
213 | EXEEXT = @EXEEXT@ | 214 | EXEEXT = @EXEEXT@ |
215 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
216 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
214 | FGREP = @FGREP@ | 217 | FGREP = @FGREP@ |
215 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 218 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
216 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 219 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -266,6 +269,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
266 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 269 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
267 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 270 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
268 | PKG_CONFIG = @PKG_CONFIG@ | 271 | PKG_CONFIG = @PKG_CONFIG@ |
272 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
273 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
269 | POSUB = @POSUB@ | 274 | POSUB = @POSUB@ |
270 | RANLIB = @RANLIB@ | 275 | RANLIB = @RANLIB@ |
271 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 276 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -276,6 +281,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
276 | SED = @SED@ | 281 | SED = @SED@ |
277 | SET_MAKE = @SET_MAKE@ | 282 | SET_MAKE = @SET_MAKE@ |
278 | SHELL = @SHELL@ | 283 | SHELL = @SHELL@ |
284 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
279 | SSL_CFLAGS = @SSL_CFLAGS@ | 285 | SSL_CFLAGS = @SSL_CFLAGS@ |
280 | SSL_LIBS = @SSL_LIBS@ | 286 | SSL_LIBS = @SSL_LIBS@ |
281 | STRIP = @STRIP@ | 287 | STRIP = @STRIP@ |
@@ -503,7 +509,8 @@ libecore_la_SOURCES = ecore.c ecore_alloc.c ecore_anim.c ecore_app.c \ | |||
503 | ecore_idle_exiter.c ecore_idler.c ecore_job.c ecore_main.c \ | 509 | ecore_idle_exiter.c ecore_idler.c ecore_job.c ecore_main.c \ |
504 | ecore_pipe.c ecore_poll.c ecore_time.c ecore_timer.c \ | 510 | ecore_pipe.c ecore_poll.c ecore_time.c ecore_timer.c \ |
505 | ecore_thread.c ecore_glib.c ecore_throttle.c $(am__append_1) \ | 511 | ecore_thread.c ecore_glib.c ecore_throttle.c $(am__append_1) \ |
506 | $(am__append_2) $(am__append_3) $(am__append_4) | 512 | $(am__append_2) $(am__append_3) $(am__append_4) \ |
513 | $(am__append_5) | ||
507 | libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm | 514 | libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @GLIB_LIBS@ @WIN32_LIBS@ @LTLIBINTL@ @EFL_PTHREAD_LIBS@ @rt_libs@ -lm |
508 | libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ | 515 | libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ @EFL_PTHREAD_LIBS@ |
509 | EXTRA_DIST = ecore_private.h | 516 | EXTRA_DIST = ecore_private.h |
diff --git a/libraries/ecore/src/lib/ecore/ecore.c b/libraries/ecore/src/lib/ecore/ecore.c index 7e0f973..d8b8723 100644 --- a/libraries/ecore/src/lib/ecore/ecore.c +++ b/libraries/ecore/src/lib/ecore/ecore.c | |||
@@ -163,8 +163,10 @@ ecore_init(void) | |||
163 | if (!ecore_mempool_init()) goto shutdown_mempool; | 163 | if (!ecore_mempool_init()) goto shutdown_mempool; |
164 | _ecore_main_loop_init(); | 164 | _ecore_main_loop_init(); |
165 | _ecore_signal_init(); | 165 | _ecore_signal_init(); |
166 | _ecore_thread_init(); | 166 | #ifndef HAVE_EXOTIC |
167 | _ecore_exe_init(); | 167 | _ecore_exe_init(); |
168 | #endif | ||
169 | _ecore_thread_init(); | ||
168 | _ecore_glib_init(); | 170 | _ecore_glib_init(); |
169 | _ecore_job_init(); | 171 | _ecore_job_init(); |
170 | _ecore_time_init(); | 172 | _ecore_time_init(); |
@@ -252,7 +254,9 @@ ecore_shutdown(void) | |||
252 | _ecore_glib_shutdown(); | 254 | _ecore_glib_shutdown(); |
253 | _ecore_job_shutdown(); | 255 | _ecore_job_shutdown(); |
254 | _ecore_thread_shutdown(); | 256 | _ecore_thread_shutdown(); |
257 | #ifndef HAVE_EXOTIC | ||
255 | _ecore_exe_shutdown(); | 258 | _ecore_exe_shutdown(); |
259 | #endif | ||
256 | _ecore_idle_enterer_shutdown(); | 260 | _ecore_idle_enterer_shutdown(); |
257 | _ecore_idle_exiter_shutdown(); | 261 | _ecore_idle_exiter_shutdown(); |
258 | _ecore_idler_shutdown(); | 262 | _ecore_idler_shutdown(); |
diff --git a/libraries/ecore/src/lib/ecore/ecore_anim.c b/libraries/ecore/src/lib/ecore/ecore_anim.c index 78abad7..22c1f8c 100644 --- a/libraries/ecore/src/lib/ecore/ecore_anim.c +++ b/libraries/ecore/src/lib/ecore/ecore_anim.c | |||
@@ -272,11 +272,11 @@ ecore_animator_pos_map(double pos, | |||
272 | return pos; | 272 | return pos; |
273 | 273 | ||
274 | case ECORE_POS_MAP_ACCELERATE: | 274 | case ECORE_POS_MAP_ACCELERATE: |
275 | pos = 1.0 - _pos_map_sin((M_PI / 2.0) + ((pos * M_PI) / 2.0)); | 275 | pos = 1.0 - _pos_map_sin(M_PI_2 + pos * M_PI_2); |
276 | return pos; | 276 | return pos; |
277 | 277 | ||
278 | case ECORE_POS_MAP_DECELERATE: | 278 | case ECORE_POS_MAP_DECELERATE: |
279 | pos = _pos_map_sin((pos * M_PI) / 2.0); | 279 | pos = _pos_map_sin(pos * M_PI_2); |
280 | return pos; | 280 | return pos; |
281 | 281 | ||
282 | case ECORE_POS_MAP_SINUSOIDAL: | 282 | case ECORE_POS_MAP_SINUSOIDAL: |
diff --git a/libraries/ecore/src/lib/ecore/ecore_events.c b/libraries/ecore/src/lib/ecore/ecore_events.c index 0550224..500cf74 100644 --- a/libraries/ecore/src/lib/ecore/ecore_events.c +++ b/libraries/ecore/src/lib/ecore/ecore_events.c | |||
@@ -72,35 +72,6 @@ static void *ecore_raw_event_event = NULL; | |||
72 | static void _ecore_event_purge_deleted(void); | 72 | static void _ecore_event_purge_deleted(void); |
73 | static void *_ecore_event_del(Ecore_Event *event); | 73 | static void *_ecore_event_del(Ecore_Event *event); |
74 | 74 | ||
75 | /** | ||
76 | * @addtogroup Ecore_Event_Group | ||
77 | * | ||
78 | * @{ | ||
79 | */ | ||
80 | |||
81 | /** | ||
82 | * Add an event handler. | ||
83 | * @param type The type of the event this handler will get called for | ||
84 | * @param func The function to call when the event is found in the queue | ||
85 | * @param data A data pointer to pass to the called function @p func | ||
86 | * @return A new Event handler, or NULL on failure | ||
87 | * | ||
88 | * Add an event handler to the list of handlers. This will, on success, return | ||
89 | * a handle to the event handler object that was created, that can be used | ||
90 | * later to remove the handler using ecore_event_handler_del(). The @p type | ||
91 | * parameter is the integer of the event type that will trigger this callback | ||
92 | * to be called. The callback @p func is called when this event is processed | ||
93 | * and will be passed the event type, a pointer to the private event | ||
94 | * structure that is specific to that event type, and a data pointer that is | ||
95 | * provided in this call as the @p data parameter. | ||
96 | * | ||
97 | * When the callback @p func is called, it must return 1 or 0. If it returns | ||
98 | * 1 (or ECORE_CALLBACK_PASS_ON), It will keep being called as per normal, for | ||
99 | * each handler set up for that event type. If it returns 0 (or | ||
100 | * ECORE_CALLBACK_DONE), it will cease processing handlers for that particular | ||
101 | * event, so all handler set to handle that event type that have not already | ||
102 | * been called, will not be. | ||
103 | */ | ||
104 | EAPI Ecore_Event_Handler * | 75 | EAPI Ecore_Event_Handler * |
105 | ecore_event_handler_add(int type, | 76 | ecore_event_handler_add(int type, |
106 | Ecore_Event_Handler_Cb func, | 77 | Ecore_Event_Handler_Cb func, |
@@ -151,16 +122,6 @@ unlock: | |||
151 | return eh; | 122 | return eh; |
152 | } | 123 | } |
153 | 124 | ||
154 | /** | ||
155 | * Delete an event handler. | ||
156 | * @param event_handler Event handler handle to delete | ||
157 | * @return Data passed to handler | ||
158 | * | ||
159 | * Delete a specified event handler from the handler list. On success this will | ||
160 | * delete the event handler and return the pointer passed as @p data when the | ||
161 | * handler was added by ecore_event_handler_add(). On failure NULL will be | ||
162 | * returned. Once a handler is deleted it will no longer be called. | ||
163 | */ | ||
164 | EAPI void * | 125 | EAPI void * |
165 | ecore_event_handler_del(Ecore_Event_Handler *event_handler) | 126 | ecore_event_handler_del(Ecore_Event_Handler *event_handler) |
166 | { | 127 | { |
@@ -180,14 +141,6 @@ unlock: | |||
180 | return data; | 141 | return data; |
181 | } | 142 | } |
182 | 143 | ||
183 | /** | ||
184 | * @brief Get the data associated with an #Ecore_Event_Handler | ||
185 | * @param eh The event handler | ||
186 | * @return The data | ||
187 | * | ||
188 | * This function returns the data previously associated with @p eh by | ||
189 | * ecore_event_handler_add(). | ||
190 | */ | ||
191 | EAPI void * | 144 | EAPI void * |
192 | ecore_event_handler_data_get(Ecore_Event_Handler *eh) | 145 | ecore_event_handler_data_get(Ecore_Event_Handler *eh) |
193 | { | 146 | { |
@@ -205,15 +158,6 @@ unlock: | |||
205 | return data; | 158 | return data; |
206 | } | 159 | } |
207 | 160 | ||
208 | /** | ||
209 | * @brief Set the data associated with an #Ecore_Event_Handler | ||
210 | * @param eh The event handler | ||
211 | * @param data The data to associate | ||
212 | * @return The previous data | ||
213 | * | ||
214 | * This function sets @p data to @p eh and returns the old data pointer | ||
215 | * which was previously associated with @p eh by ecore_event_handler_add(). | ||
216 | */ | ||
217 | EAPI void * | 161 | EAPI void * |
218 | ecore_event_handler_data_set(Ecore_Event_Handler *eh, | 162 | ecore_event_handler_data_set(Ecore_Event_Handler *eh, |
219 | const void *data) | 163 | const void *data) |
@@ -238,27 +182,9 @@ static void | |||
238 | _ecore_event_generic_free(void *data __UNUSED__, | 182 | _ecore_event_generic_free(void *data __UNUSED__, |
239 | void *event) | 183 | void *event) |
240 | { /* DO NOT MEMPOOL FREE THIS */ | 184 | { /* DO NOT MEMPOOL FREE THIS */ |
241 | free (event); | 185 | free(event); |
242 | } | 186 | } |
243 | 187 | ||
244 | /** | ||
245 | * Add an event to the event queue. | ||
246 | * @param type The event type to add to the end of the event queue | ||
247 | * @param ev The private data structure for this event type | ||
248 | * @param func_free The function to be called to free this private structure | ||
249 | * @param data The data pointer to be passed to the free function | ||
250 | * @return A Handle for that event | ||
251 | * | ||
252 | * On success this function returns a handle to an event on the event queue, or | ||
253 | * NULL if it fails. If it succeeds, an event of type @p type will be added | ||
254 | * to the queue for processing by event handlers added by | ||
255 | * ecore_event_handler_add(). The @p ev parameter will be a pointer to the event | ||
256 | * private data that is specific to that event type. When the event is no | ||
257 | * longer needed, @p func_free will be called and passed the private structure | ||
258 | * pointer for cleaning up. If @p func_free is NULL, free() will be called | ||
259 | * with the private structure pointer. | ||
260 | * func_free is passed @p data as its data parameter. | ||
261 | */ | ||
262 | EAPI Ecore_Event * | 188 | EAPI Ecore_Event * |
263 | ecore_event_add(int type, | 189 | ecore_event_add(int type, |
264 | void *ev, | 190 | void *ev, |
@@ -279,17 +205,6 @@ unlock: | |||
279 | return event; | 205 | return event; |
280 | } | 206 | } |
281 | 207 | ||
282 | /** | ||
283 | * Delete an event from the queue. | ||
284 | * @param event The event handle to delete | ||
285 | * @return The data pointer originally set for the event free function | ||
286 | * | ||
287 | * This deletes the event @p event from the event queue, and returns the | ||
288 | * @p data parameer originally set when adding it with ecore_event_add(). This | ||
289 | * does not immediately call the free function, and it may be called later on | ||
290 | * cleanup, and so if the free function depends on the data pointer to work, | ||
291 | * you should defer cleaning of this till the free function is called later. | ||
292 | */ | ||
293 | EAPI void * | 208 | EAPI void * |
294 | ecore_event_del(Ecore_Event *event) | 209 | ecore_event_del(Ecore_Event *event) |
295 | { | 210 | { |
@@ -309,16 +224,6 @@ unlock: | |||
309 | return data; | 224 | return data; |
310 | } | 225 | } |
311 | 226 | ||
312 | /** | ||
313 | * Allocate a new event type id sensibly and return the new id. | ||
314 | * @return A new event type id. | ||
315 | * | ||
316 | * This function allocates a new event type id and returns it. Once an event | ||
317 | * type has been allocated it can never be de-allocated during the life of | ||
318 | * the program. There is no guarantee of the contents of this event ID, or how | ||
319 | * it is calculated, except that the ID will be unique to the current instance | ||
320 | * of the process. | ||
321 | */ | ||
322 | EAPI int | 227 | EAPI int |
323 | ecore_event_type_new(void) | 228 | ecore_event_type_new(void) |
324 | { | 229 | { |
@@ -331,26 +236,6 @@ ecore_event_type_new(void) | |||
331 | return id; | 236 | return id; |
332 | } | 237 | } |
333 | 238 | ||
334 | /** | ||
335 | * Add a filter the current event queue. | ||
336 | * @param func_start Function to call just before filtering and return data | ||
337 | * @param func_filter Function to call on each event | ||
338 | * @param func_end Function to call after the queu has been filtered | ||
339 | * @param data Data to pass to the filter functions | ||
340 | * @return A filter handle | ||
341 | * | ||
342 | * This adds a filter to call callbacks to loop through the event queue and | ||
343 | * filter events out of the queue. On failure NULL is returned. On success a | ||
344 | * Filter handle is returned. Filters are called on the queue just before | ||
345 | * Event handler processing to try and remove redundant events. Just as | ||
346 | * processing starts @p func_start is called and passed the @p data pointer. | ||
347 | * This function returns a pointer that is used as loop_data that is now passed to | ||
348 | * @p func_filter as loop_data. @p func_filter is also passed @p data and the | ||
349 | * event type and private event structure. If this callback returns 0, the | ||
350 | * event is removed from the queue. If it returns 1, the event is kept. When | ||
351 | * processing is finished @p func_end is called and is passed the loop_data | ||
352 | * and @p data pointer to clean up. | ||
353 | */ | ||
354 | EAPI Ecore_Event_Filter * | 239 | EAPI Ecore_Event_Filter * |
355 | ecore_event_filter_add(Ecore_Data_Cb func_start, | 240 | ecore_event_filter_add(Ecore_Data_Cb func_start, |
356 | Ecore_Filter_Cb func_filter, | 241 | Ecore_Filter_Cb func_filter, |
@@ -374,15 +259,6 @@ unlock: | |||
374 | return ef; | 259 | return ef; |
375 | } | 260 | } |
376 | 261 | ||
377 | /** | ||
378 | * Delete an event filter. | ||
379 | * @param ef The event filter handle | ||
380 | * @return The data set for the filter | ||
381 | * | ||
382 | * Delete a filter that has been added by its @p ef handle. On success this | ||
383 | * will return the data pointer set when this filter was added. On failure | ||
384 | * NULL is returned. | ||
385 | */ | ||
386 | EAPI void * | 262 | EAPI void * |
387 | ecore_event_filter_del(Ecore_Event_Filter *ef) | 263 | ecore_event_filter_del(Ecore_Event_Filter *ef) |
388 | { | 264 | { |
@@ -404,50 +280,18 @@ unlock: | |||
404 | return data; | 280 | return data; |
405 | } | 281 | } |
406 | 282 | ||
407 | /** | ||
408 | * Return the current event type being handled. | ||
409 | * @return The current event type being handled if inside a handler callback | ||
410 | * | ||
411 | * If the program is currently inside an Ecore event handler callback this | ||
412 | * will return the type of the current event being processed. If Ecore is | ||
413 | * not inside an event handler, ECORE_EVENT_NONE is returned. | ||
414 | * | ||
415 | * This is useful when certain Ecore modules such as Ecore_Evas "swallow" | ||
416 | * events and not all the original information is passed on. In special cases | ||
417 | * this extra information may be useful or needed and using this call can let | ||
418 | * the program know if the event type being handled is one it wants to get more | ||
419 | * information about. | ||
420 | */ | ||
421 | EAPI int | 283 | EAPI int |
422 | ecore_event_current_type_get(void) | 284 | ecore_event_current_type_get(void) |
423 | { | 285 | { |
424 | return ecore_raw_event_type; | 286 | return ecore_raw_event_type; |
425 | } | 287 | } |
426 | 288 | ||
427 | /** | ||
428 | * Return the current event type pointer handled. | ||
429 | * @return The current event pointer being handled if inside a handler callback | ||
430 | * | ||
431 | * If the program is currently inside an Ecore event handler callback this | ||
432 | * will return the pointer of the current event being processed. If Ecore is | ||
433 | * not inside an event handler, NULL will be returned. | ||
434 | * | ||
435 | * This is useful when certain Ecore modules such as Ecore_Evas "swallow" | ||
436 | * events and not all the original information is passed on. In special cases | ||
437 | * this extra information may be useful or needed and using this call can let | ||
438 | * the program access the event data if the type of the event is handled by | ||
439 | * the program. | ||
440 | */ | ||
441 | EAPI void * | 289 | EAPI void * |
442 | ecore_event_current_event_get(void) | 290 | ecore_event_current_event_get(void) |
443 | { | 291 | { |
444 | return ecore_raw_event_event; | 292 | return ecore_raw_event_event; |
445 | } | 293 | } |
446 | 294 | ||
447 | /** | ||
448 | * @} | ||
449 | */ | ||
450 | |||
451 | EAPI void * | 295 | EAPI void * |
452 | _ecore_event_handler_del(Ecore_Event_Handler *event_handler) | 296 | _ecore_event_handler_del(Ecore_Event_Handler *event_handler) |
453 | { | 297 | { |
diff --git a/libraries/ecore/src/lib/ecore/ecore_exe.c b/libraries/ecore/src/lib/ecore/ecore_exe.c index d5465fc..47f8dc9 100644 --- a/libraries/ecore/src/lib/ecore/ecore_exe.c +++ b/libraries/ecore/src/lib/ecore/ecore_exe.c | |||
@@ -331,15 +331,15 @@ static int run_pri = ECORE_EXE_PRIORITY_INHERIT; | |||
331 | * This sets the priority of processes run by ecore_exe_run() and | 331 | * This sets the priority of processes run by ecore_exe_run() and |
332 | * ecore_exe_pipe_run(). | 332 | * ecore_exe_pipe_run(). |
333 | * @li On Windows, the child process is created by default with the | 333 | * @li On Windows, the child process is created by default with the |
334 | * #ECORE_EXE_WIN32_PRIORITY_NORMAL priority, unless the calling | 334 | * @ref ECORE_EXE_WIN32_PRIORITY_NORMAL priority, unless the calling |
335 | * process is in #ECORE_EXE_WIN32_PRIORITY_IDLE or | 335 | * process is in @ref ECORE_EXE_WIN32_PRIORITY_IDLE or |
336 | * #ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL priority. In that case, the | 336 | * @ref ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL priority. In that case, the |
337 | * child process inherits this priority. | 337 | * child process inherits this priority. |
338 | * @li On other platforms, if set to #ECORE_EXE_PRIORITY_INHERIT child | 338 | * @li On other platforms, if set to @ref ECORE_EXE_PRIORITY_INHERIT child |
339 | * processes inherits the priority of their parent. This is the default. | 339 | * processes inherits the priority of their parent. This is the default. |
340 | * | 340 | * |
341 | * @param pri value a Ecore_Exe_Win32_Priority value on Windows, -20 | 341 | * @param pri value a Ecore_Exe_Win32_Priority value on Windows, -20 |
342 | * to 19 or ECORE_EXE_PRIORITY_INHERIT on other OS. | 342 | * to 19 or @ref ECORE_EXE_PRIORITY_INHERIT on other OS. |
343 | */ | 343 | */ |
344 | EAPI void | 344 | EAPI void |
345 | ecore_exe_run_priority_set(int pri) | 345 | ecore_exe_run_priority_set(int pri) |
diff --git a/libraries/ecore/src/lib/ecore/ecore_getopt.c b/libraries/ecore/src/lib/ecore/ecore_getopt.c index 76272d3..cd68189 100644 --- a/libraries/ecore/src/lib/ecore/ecore_getopt.c +++ b/libraries/ecore/src/lib/ecore/ecore_getopt.c | |||
@@ -38,6 +38,10 @@ void *alloca(size_t); | |||
38 | # include <Evil.h> | 38 | # include <Evil.h> |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | #ifdef HAVE_EXOTIC | ||
42 | # include <Exotic.h> | ||
43 | #endif | ||
44 | |||
41 | #include "Ecore.h" | 45 | #include "Ecore.h" |
42 | #include "Ecore_Getopt.h" | 46 | #include "Ecore_Getopt.h" |
43 | 47 | ||
diff --git a/libraries/ecore/src/lib/ecore/ecore_main.c b/libraries/ecore/src/lib/ecore/ecore_main.c index 76aced6..587c83b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_main.c +++ b/libraries/ecore/src/lib/ecore/ecore_main.c | |||
@@ -229,10 +229,14 @@ static Eina_Bool win32_handlers_delete_me = EINA_FALSE; | |||
229 | #ifdef _WIN32 | 229 | #ifdef _WIN32 |
230 | Ecore_Select_Function main_loop_select = _ecore_main_win32_select; | 230 | Ecore_Select_Function main_loop_select = _ecore_main_win32_select; |
231 | #else | 231 | #else |
232 | # ifdef HAVE_SYS_SELECT_H | 232 | # if !defined EXOTIC_NO_SELECT |
233 | # include <sys/select.h> | 233 | # ifdef HAVE_SYS_SELECT_H |
234 | # endif | 234 | # include <sys/select.h> |
235 | # endif | ||
235 | Ecore_Select_Function main_loop_select = select; | 236 | Ecore_Select_Function main_loop_select = select; |
237 | # else | ||
238 | Ecore_Select_Function main_loop_select = NULL; | ||
239 | # endif | ||
236 | #endif | 240 | #endif |
237 | 241 | ||
238 | #ifndef USE_G_MAIN_LOOP | 242 | #ifndef USE_G_MAIN_LOOP |
@@ -848,6 +852,21 @@ _ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler) | |||
848 | * DO NOT use this function unless you are the person God comes to ask for | 852 | * DO NOT use this function unless you are the person God comes to ask for |
849 | * advice when He has trouble managing the Universe. | 853 | * advice when He has trouble managing the Universe. |
850 | */ | 854 | */ |
855 | |||
856 | EAPI int | ||
857 | ecore_main_loop_iterate_may_block(int may_block) | ||
858 | { | ||
859 | #ifndef USE_G_MAIN_LOOP | ||
860 | _ecore_lock(); | ||
861 | in_main_loop++; | ||
862 | _ecore_main_loop_iterate_internal(!may_block); | ||
863 | in_main_loop--; | ||
864 | _ecore_unlock(); | ||
865 | return _ecore_event_exist(); | ||
866 | #else | ||
867 | return g_main_context_iteration(NULL, may_block); | ||
868 | #endif | ||
869 | } | ||
851 | EAPI void | 870 | EAPI void |
852 | ecore_main_loop_iterate(void) | 871 | ecore_main_loop_iterate(void) |
853 | { | 872 | { |
@@ -945,39 +964,6 @@ ecore_main_loop_select_func_get(void) | |||
945 | return main_loop_select; | 964 | return main_loop_select; |
946 | } | 965 | } |
947 | 966 | ||
948 | /** | ||
949 | * Adds a callback for activity on the given file descriptor. | ||
950 | * | ||
951 | * @p func will be called during the execution of @ref ecore_main_loop_begin | ||
952 | * when the file descriptor is available for reading, or writing, or both. | ||
953 | * | ||
954 | * Normally when @p func returns ECORE_CALLBACK_CANCEL, it indicates that the | ||
955 | * handler should be marked for deletion (identical to calling @ref ecore_main_fd_handler_del). | ||
956 | * However, if the @p buf_func is supplied, then the return value from the @p func indicates that | ||
957 | * @p func should be called repeatedly until it returns ECORE_CALLBACK_CANCEL. | ||
958 | * | ||
959 | * @p buf_func is called during event loop handling to check if data that has | ||
960 | * been read from the file descriptor is in a buffer and is available to | ||
961 | * read. Some systems (notably xlib) handle their own buffering, and would | ||
962 | * otherwise not work with select(). These systems should use a @p buf_func. | ||
963 | * This is a most annoying hack, only ecore_x uses it, so refer to that for | ||
964 | * an example. NOTE - @p func should probably return ECORE_CALLBACK_RENEW always if | ||
965 | * @p buf_func is used, to avoid confusion with the other return value | ||
966 | * semantics. | ||
967 | * | ||
968 | * @param fd The file descriptor to watch. | ||
969 | * @param flags To watch it for read (@c ECORE_FD_READ) and/or | ||
970 | * (@c ECORE_FD_WRITE) write ability. @c ECORE_FD_ERROR | ||
971 | * | ||
972 | * @param func The callback function. | ||
973 | * @param data The data to pass to the callback. | ||
974 | * @param buf_func The function to call to check if any data has been | ||
975 | * buffered and already read from the fd. Can be @c NULL. | ||
976 | * @param buf_data The data to pass to the @p buf_func function. | ||
977 | * @return A fd handler handle if successful. @c NULL otherwise. | ||
978 | * @note This function CANNOT be used for reading/writing to regular files! | ||
979 | * @ingroup Ecore_FD_Handler_Group | ||
980 | */ | ||
981 | EAPI Ecore_Fd_Handler * | 967 | EAPI Ecore_Fd_Handler * |
982 | ecore_main_fd_handler_add(int fd, | 968 | ecore_main_fd_handler_add(int fd, |
983 | Ecore_Fd_Handler_Flags flags, | 969 | Ecore_Fd_Handler_Flags flags, |
@@ -1059,20 +1045,6 @@ ecore_main_win32_handler_add(void *h __UNUSED__, | |||
1059 | 1045 | ||
1060 | #endif | 1046 | #endif |
1061 | 1047 | ||
1062 | /** | ||
1063 | * Marks an FD handler for deletion. | ||
1064 | * @param fd_handler The FD handler. | ||
1065 | * @return The data pointer set using @ref ecore_main_fd_handler_add, | ||
1066 | * for @p fd_handler on success. @c NULL otherwise. | ||
1067 | * @ingroup Ecore_FD_Handler_Group | ||
1068 | * This function marks an fd handler to be deleted during an iteration of the main loop. | ||
1069 | * It does NOT close the associated fd! | ||
1070 | * | ||
1071 | * @note If the underlying fd is already closed ecore may complain if the main loop | ||
1072 | * is using epoll internally, and also in some rare cases this may cause | ||
1073 | * crashes and instability. Remember to delete your fd handlers before the | ||
1074 | * fds they listen to are closed. | ||
1075 | */ | ||
1076 | EAPI void * | 1048 | EAPI void * |
1077 | ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler) | 1049 | ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler) |
1078 | { | 1050 | { |
@@ -1116,24 +1088,6 @@ ecore_main_win32_handler_del(Ecore_Win32_Handler *win32_handler __UNUSED__) | |||
1116 | 1088 | ||
1117 | #endif | 1089 | #endif |
1118 | 1090 | ||
1119 | /** | ||
1120 | * @brief Set the prepare callback with data for a given #Ecore_Fd_Handler | ||
1121 | * | ||
1122 | * @param fd_handler The fd handler | ||
1123 | * @param func The prep function | ||
1124 | * @param data The data to pass to the prep function | ||
1125 | * | ||
1126 | * This function will be called prior to any fd handler's callback function | ||
1127 | * (even the other fd handlers), before entering the main loop select function. | ||
1128 | * | ||
1129 | * @note Once a prepare callback is set for a fd handler, it cannot be changed. | ||
1130 | * You need to delete the fd handler and create a new one, to set another | ||
1131 | * callback. | ||
1132 | * @note You probably don't need this function. It is only necessary for very | ||
1133 | * uncommon cases that need special behavior. | ||
1134 | * | ||
1135 | * @ingroup Ecore_FD_Handler_Group | ||
1136 | */ | ||
1137 | EAPI void | 1091 | EAPI void |
1138 | ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, | 1092 | ecore_main_fd_handler_prepare_callback_set(Ecore_Fd_Handler *fd_handler, |
1139 | Ecore_Fd_Prep_Cb func, | 1093 | Ecore_Fd_Prep_Cb func, |
@@ -1157,12 +1111,6 @@ unlock: | |||
1157 | _ecore_unlock(); | 1111 | _ecore_unlock(); |
1158 | } | 1112 | } |
1159 | 1113 | ||
1160 | /** | ||
1161 | * Retrieves the file descriptor that the given handler is handling. | ||
1162 | * @param fd_handler The given FD handler. | ||
1163 | * @return The file descriptor the handler is watching. | ||
1164 | * @ingroup Ecore_FD_Handler_Group | ||
1165 | */ | ||
1166 | EAPI int | 1114 | EAPI int |
1167 | ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler) | 1115 | ecore_main_fd_handler_fd_get(Ecore_Fd_Handler *fd_handler) |
1168 | { | 1116 | { |
@@ -1182,15 +1130,6 @@ unlock: | |||
1182 | return fd; | 1130 | return fd; |
1183 | } | 1131 | } |
1184 | 1132 | ||
1185 | /** | ||
1186 | * Return if read, write or error, or a combination thereof, is active on the | ||
1187 | * file descriptor of the given FD handler. | ||
1188 | * @param fd_handler The given FD handler. | ||
1189 | * @param flags The flags, @c ECORE_FD_READ, @c ECORE_FD_WRITE or | ||
1190 | * @c ECORE_FD_ERROR to query. | ||
1191 | * @return #EINA_TRUE if any of the given flags are active. #EINA_FALSE otherwise. | ||
1192 | * @ingroup Ecore_FD_Handler_Group | ||
1193 | */ | ||
1194 | EAPI Eina_Bool | 1133 | EAPI Eina_Bool |
1195 | ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, | 1134 | ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, |
1196 | Ecore_Fd_Handler_Flags flags) | 1135 | Ecore_Fd_Handler_Flags flags) |
@@ -1213,12 +1152,6 @@ unlock: | |||
1213 | return ret; | 1152 | return ret; |
1214 | } | 1153 | } |
1215 | 1154 | ||
1216 | /** | ||
1217 | * Set what active streams the given FD handler should be monitoring. | ||
1218 | * @param fd_handler The given FD handler. | ||
1219 | * @param flags The flags to be watching. | ||
1220 | * @ingroup Ecore_FD_Handler_Group | ||
1221 | */ | ||
1222 | EAPI void | 1155 | EAPI void |
1223 | ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, | 1156 | ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, |
1224 | Ecore_Fd_Handler_Flags flags) | 1157 | Ecore_Fd_Handler_Flags flags) |
@@ -1742,14 +1675,14 @@ _ecore_main_loop_iterate_internal(int once_only) | |||
1742 | if (_ecore_event_exist()) | 1675 | if (_ecore_event_exist()) |
1743 | { | 1676 | { |
1744 | /* but first conceptually enter an idle state */ | 1677 | /* but first conceptually enter an idle state */ |
1745 | _ecore_idle_enterer_call(); | 1678 | _ecore_idle_enterer_call(); |
1746 | _ecore_throttle(); | 1679 | _ecore_throttle(); |
1747 | /* now quickly poll to see which input fd's are active */ | 1680 | /* now quickly poll to see which input fd's are active */ |
1748 | _ecore_main_select(0.0); | 1681 | _ecore_main_select(0.0); |
1749 | /* allow newly queued timers to expire from now on */ | 1682 | /* allow newly queued timers to expire from now on */ |
1750 | _ecore_timer_enable_new(); | 1683 | _ecore_timer_enable_new(); |
1751 | /* go straight to processing the events we had queued */ | 1684 | /* go straight to processing the events we had queued */ |
1752 | goto process_all; | 1685 | goto process_all; |
1753 | } | 1686 | } |
1754 | 1687 | ||
1755 | if (once_only) | 1688 | if (once_only) |
@@ -1758,17 +1691,17 @@ _ecore_main_loop_iterate_internal(int once_only) | |||
1758 | * if we got any events or signals, allow new timers to process. | 1691 | * if we got any events or signals, allow new timers to process. |
1759 | * use bitwise or to force both conditions to be tested and | 1692 | * use bitwise or to force both conditions to be tested and |
1760 | * merged together */ | 1693 | * merged together */ |
1761 | if (_ecore_main_select(0.0) | _ecore_signal_count_get()) | 1694 | if (_ecore_main_select(0.0) | _ecore_signal_count_get()) |
1762 | { | 1695 | { |
1763 | _ecore_timer_enable_new(); | 1696 | _ecore_timer_enable_new(); |
1764 | goto process_all; | 1697 | goto process_all; |
1765 | } | 1698 | } |
1766 | } | 1699 | } |
1767 | else | 1700 | else |
1768 | { | 1701 | { |
1769 | /* call idle enterers ... */ | 1702 | /* call idle enterers ... */ |
1770 | _ecore_idle_enterer_call(); | 1703 | _ecore_idle_enterer_call(); |
1771 | _ecore_throttle(); | 1704 | _ecore_throttle(); |
1772 | } | 1705 | } |
1773 | 1706 | ||
1774 | /* if these calls caused any buffered events to appear - deal with them */ | 1707 | /* if these calls caused any buffered events to appear - deal with them */ |
@@ -1787,10 +1720,10 @@ _ecore_main_loop_iterate_internal(int once_only) | |||
1787 | if (once_only) | 1720 | if (once_only) |
1788 | { | 1721 | { |
1789 | /* in once_only mode enter idle here instead and then return */ | 1722 | /* in once_only mode enter idle here instead and then return */ |
1790 | _ecore_idle_enterer_call(); | 1723 | _ecore_idle_enterer_call(); |
1791 | _ecore_throttle(); | 1724 | _ecore_throttle(); |
1792 | _ecore_timer_enable_new(); | 1725 | _ecore_timer_enable_new(); |
1793 | goto done; | 1726 | goto done; |
1794 | } | 1727 | } |
1795 | 1728 | ||
1796 | _ecore_fps_marker_1(); | 1729 | _ecore_fps_marker_1(); |
@@ -1808,23 +1741,23 @@ start_loop: /***************************************************************/ | |||
1808 | if (!_ecore_event_exist()) | 1741 | if (!_ecore_event_exist()) |
1809 | { | 1742 | { |
1810 | /* init flags */ | 1743 | /* init flags */ |
1811 | next_time = _ecore_timer_next_get(); | 1744 | next_time = _ecore_timer_next_get(); |
1812 | /* no idlers */ | 1745 | /* no idlers */ |
1813 | if (!_ecore_idler_exist()) | 1746 | if (!_ecore_idler_exist()) |
1814 | { | 1747 | { |
1815 | /* sleep until timeout or forever (-1.0) waiting for on fds */ | 1748 | /* sleep until timeout or forever (-1.0) waiting for on fds */ |
1816 | _ecore_main_select(next_time); | 1749 | _ecore_main_select(next_time); |
1817 | } | 1750 | } |
1818 | else | 1751 | else |
1819 | { | 1752 | { |
1820 | int action = LOOP_CONTINUE; | 1753 | int action = LOOP_CONTINUE; |
1821 | 1754 | ||
1822 | /* no timers - spin */ | 1755 | /* no timers - spin */ |
1823 | if (next_time < 0) action = _ecore_main_loop_spin_no_timers(); | 1756 | if (next_time < 0) action = _ecore_main_loop_spin_no_timers(); |
1824 | /* timers - spin */ | 1757 | /* timers - spin */ |
1825 | else action = _ecore_main_loop_spin_timers(); | 1758 | else action = _ecore_main_loop_spin_timers(); |
1826 | if (action == SPIN_RESTART) goto start_loop; | 1759 | if (action == SPIN_RESTART) goto start_loop; |
1827 | } | 1760 | } |
1828 | } | 1761 | } |
1829 | _ecore_fps_marker_2(); | 1762 | _ecore_fps_marker_2(); |
1830 | 1763 | ||
@@ -1847,8 +1780,8 @@ process_all: /***********************************************************/ | |||
1847 | if (once_only) | 1780 | if (once_only) |
1848 | { | 1781 | { |
1849 | /* if in once_only mode handle idle exiting */ | 1782 | /* if in once_only mode handle idle exiting */ |
1850 | _ecore_idle_enterer_call(); | 1783 | _ecore_idle_enterer_call(); |
1851 | _ecore_throttle(); | 1784 | _ecore_throttle(); |
1852 | } | 1785 | } |
1853 | 1786 | ||
1854 | done: /*******************************************************************/ | 1787 | done: /*******************************************************************/ |
diff --git a/libraries/ecore/src/lib/ecore/ecore_pipe.c b/libraries/ecore/src/lib/ecore/ecore_pipe.c index aa640cd..ea7453e 100644 --- a/libraries/ecore/src/lib/ecore/ecore_pipe.c +++ b/libraries/ecore/src/lib/ecore/ecore_pipe.c | |||
@@ -36,15 +36,13 @@ | |||
36 | # include <Escape.h> | 36 | # include <Escape.h> |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #ifdef HAVE_EXOTIC | ||
40 | # include <Exotic.h> | ||
41 | #endif | ||
42 | |||
39 | #include "Ecore.h" | 43 | #include "Ecore.h" |
40 | #include "ecore_private.h" | 44 | #include "ecore_private.h" |
41 | 45 | ||
42 | #ifdef _WIN32 | ||
43 | # define FMT_SSIZE_T "%Id" | ||
44 | #else | ||
45 | # define FMT_SSIZE_T "%zd" | ||
46 | #endif | ||
47 | |||
48 | /* How of then we should retry to write to the pipe */ | 46 | /* How of then we should retry to write to the pipe */ |
49 | #define ECORE_PIPE_WRITE_RETRY 6 | 47 | #define ECORE_PIPE_WRITE_RETRY 6 |
50 | 48 | ||
@@ -80,6 +78,9 @@ | |||
80 | 78 | ||
81 | #endif /* ! _WIN32 */ | 79 | #endif /* ! _WIN32 */ |
82 | 80 | ||
81 | #include <Ecore.h> | ||
82 | #include "ecore_private.h" | ||
83 | |||
83 | struct _Ecore_Pipe | 84 | struct _Ecore_Pipe |
84 | { | 85 | { |
85 | ECORE_MAGIC; | 86 | ECORE_MAGIC; |
@@ -414,7 +415,7 @@ ecore_pipe_write(Ecore_Pipe *p, | |||
414 | ; | 415 | ; |
415 | else | 416 | else |
416 | { | 417 | { |
417 | ERR("An unhandled error (ret: " FMT_SSIZE_T " errno: %d)" | 418 | ERR("An unhandled error (ret: %zd errno: %d)" |
418 | "occurred while writing to the pipe the length", | 419 | "occurred while writing to the pipe the length", |
419 | ret, errno); | 420 | ret, errno); |
420 | } | 421 | } |
@@ -448,7 +449,7 @@ ecore_pipe_write(Ecore_Pipe *p, | |||
448 | ; | 449 | ; |
449 | else | 450 | else |
450 | { | 451 | { |
451 | ERR("An unhandled error (ret: " FMT_SSIZE_T " errno: %d)" | 452 | ERR("An unhandled error (ret: %zd errno: %d)" |
452 | "occurred while writing to the pipe the length", | 453 | "occurred while writing to the pipe the length", |
453 | ret, errno); | 454 | ret, errno); |
454 | } | 455 | } |
diff --git a/libraries/ecore/src/lib/ecore/ecore_poll.c b/libraries/ecore/src/lib/ecore/ecore_poll.c index 732850b..bf4da6a 100644 --- a/libraries/ecore/src/lib/ecore/ecore_poll.c +++ b/libraries/ecore/src/lib/ecore/ecore_poll.c | |||
@@ -189,20 +189,6 @@ _ecore_poller_cb_timer(void *data __UNUSED__) | |||
189 | return ECORE_CALLBACK_RENEW; | 189 | return ECORE_CALLBACK_RENEW; |
190 | } | 190 | } |
191 | 191 | ||
192 | /** | ||
193 | * @addtogroup Ecore_Poller_Group | ||
194 | * | ||
195 | * @{ | ||
196 | */ | ||
197 | |||
198 | /** | ||
199 | * Sets the time between ticks (in seconds) for the given ticker clock. | ||
200 | * @param type The ticker type to adjust | ||
201 | * @param poll_time The time (in seconds) between ticks of the clock | ||
202 | * | ||
203 | * This will adjust the time between ticks of the given ticker type defined | ||
204 | * by @p type to the time period defined by @p poll_time. | ||
205 | */ | ||
206 | EAPI void | 192 | EAPI void |
207 | ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, | 193 | ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, |
208 | double poll_time) | 194 | double poll_time) |
@@ -211,65 +197,12 @@ ecore_poller_poll_interval_set(Ecore_Poller_Type type __UNUSED__, | |||
211 | _ecore_poller_next_tick_eval(); | 197 | _ecore_poller_next_tick_eval(); |
212 | } | 198 | } |
213 | 199 | ||
214 | /** | ||
215 | * Gets the time between ticks (in seconds) for the given ticker clock. | ||
216 | * @param type The ticker type to query | ||
217 | * @return The time in seconds between ticks of the ticker clock | ||
218 | * | ||
219 | * This will get the time between ticks of the specified ticker clock. | ||
220 | */ | ||
221 | EAPI double | 200 | EAPI double |
222 | ecore_poller_poll_interval_get(Ecore_Poller_Type type __UNUSED__) | 201 | ecore_poller_poll_interval_get(Ecore_Poller_Type type __UNUSED__) |
223 | { | 202 | { |
224 | return poll_interval; | 203 | return poll_interval; |
225 | } | 204 | } |
226 | 205 | ||
227 | /** | ||
228 | * Creates a poller to call the given function at a particular tick interval. | ||
229 | * @param type The ticker type to attach the poller to | ||
230 | * @param interval The poll interval | ||
231 | * @param func The given function. If @p func returns 1, the poller is | ||
232 | * rescheduled for the next tick interval. | ||
233 | * @param data Data to pass to @p func when it is called. | ||
234 | * @return A poller object on success. @c NULL on failure. | ||
235 | * | ||
236 | * This function adds a poller callback that is to be called regularly | ||
237 | * along with all other poller callbacks so the pollers are synchronized with | ||
238 | * all other pollers running off the same poller type and at the same tick | ||
239 | * interval. This should be used for polling things when polling is desired | ||
240 | * or required, and you do not have specific requirements on the exact times | ||
241 | * to poll and want to avoid extra process wakeups for polling. This will | ||
242 | * save power as the CPU has more of a chance to go into a low power state | ||
243 | * the longer it is asleep for, so this should be used if you are at all | ||
244 | * power conscious. | ||
245 | * | ||
246 | * The @p type parameter defines the poller tick type (there is a virtual | ||
247 | * clock ticking all the time - though ecore avoids making it tick when | ||
248 | * there will not be any work to do at that tick point). There is only one | ||
249 | * ticker at the moment - that is ECORE_POLLER_CORE. This is here for future | ||
250 | * expansion if multiple clocks with different frequencies are really required. | ||
251 | * The default time between ticks for the ECORE_POLLER_CORE ticker is 0.125 | ||
252 | * seconds. | ||
253 | * | ||
254 | * The @p interval is the number of ticker ticks that will pass by in between | ||
255 | * invocations of the @p func callback. This must be between 1 and 32768 | ||
256 | * inclusive, and must be a power of 2 (i.e. 1, 2, 4, 8, 16, ... 16384, 32768). | ||
257 | * If it is 1, then the function will be called every tick. if it is 2, then it | ||
258 | * will be called every 2nd tick, if it is 8, then every 8th tick etc. Exactly | ||
259 | * which tick is undefined, as only the interval between calls can be defined. | ||
260 | * Ecore will endeavour to keep pollers synchronised and to call as many in | ||
261 | * 1 wakeup event as possible. | ||
262 | * | ||
263 | * This function adds a poller and returns its handle on success and NULL on | ||
264 | * failure. The function @p func will be called at tick intervals described | ||
265 | * above. The function will be passed the @p data pointer as its parameter. | ||
266 | * | ||
267 | * When the poller @p func is called, it must return a value of either | ||
268 | * 1 (or ECORE_CALLBACK_RENEW) or 0 (or ECORE_CALLBACK_CANCEL). If it | ||
269 | * returns 1, it will be called again at the next tick, or if it returns | ||
270 | * 0 it will be deleted automatically making any references/handles for it | ||
271 | * invalid. | ||
272 | */ | ||
273 | EAPI Ecore_Poller * | 206 | EAPI Ecore_Poller * |
274 | ecore_poller_add(Ecore_Poller_Type type __UNUSED__, | 207 | ecore_poller_add(Ecore_Poller_Type type __UNUSED__, |
275 | int interval, | 208 | int interval, |
@@ -307,16 +240,6 @@ ecore_poller_add(Ecore_Poller_Type type __UNUSED__, | |||
307 | return poller; | 240 | return poller; |
308 | } | 241 | } |
309 | 242 | ||
310 | /** | ||
311 | * Changes the polling interval rate of @p poller. | ||
312 | * | ||
313 | * @param poller The Ecore_Poller to change the interval of | ||
314 | * @param interval The tick interval to set; must be a power of 2 but <= 32768 | ||
315 | * @return Returns true on success, false on failure | ||
316 | * | ||
317 | * This allows the changing of a poller's polling interval. It is useful when you want to alter | ||
318 | * a poll rate without deleting and re-creating a poller. | ||
319 | */ | ||
320 | EAPI Eina_Bool | 243 | EAPI Eina_Bool |
321 | ecore_poller_poller_interval_set(Ecore_Poller *poller, | 244 | ecore_poller_poller_interval_set(Ecore_Poller *poller, |
322 | int interval) | 245 | int interval) |
@@ -353,14 +276,6 @@ ecore_poller_poller_interval_set(Ecore_Poller *poller, | |||
353 | return EINA_TRUE; | 276 | return EINA_TRUE; |
354 | } | 277 | } |
355 | 278 | ||
356 | /** | ||
357 | * Gets the polling interval rate of @p poller. | ||
358 | * | ||
359 | * @param poller The Ecore_Poller to change the interval of | ||
360 | * @return Returns the interval, in ticks, that @p poller polls at | ||
361 | * | ||
362 | * This returns a poller's polling interval, or 0 on error. | ||
363 | */ | ||
364 | EAPI int | 279 | EAPI int |
365 | ecore_poller_poller_interval_get(Ecore_Poller *poller) | 280 | ecore_poller_poller_interval_get(Ecore_Poller *poller) |
366 | { | 281 | { |
@@ -382,15 +297,6 @@ ecore_poller_poller_interval_get(Ecore_Poller *poller) | |||
382 | return interval; | 297 | return interval; |
383 | } | 298 | } |
384 | 299 | ||
385 | /** | ||
386 | * Delete the specified poller from the timer list. | ||
387 | * @param poller The poller to delete. | ||
388 | * @return The data pointer set for the timer when @ref ecore_poller_add was | ||
389 | * called. @c NULL is returned if the function is unsuccessful. | ||
390 | * | ||
391 | * Note: @p poller must be a valid handle. If the poller function has already | ||
392 | * returned 0, the handle is no longer valid (and does not need to be delete). | ||
393 | */ | ||
394 | EAPI void * | 300 | EAPI void * |
395 | ecore_poller_del(Ecore_Poller *poller) | 301 | ecore_poller_del(Ecore_Poller *poller) |
396 | { | 302 | { |
diff --git a/libraries/ecore/src/lib/ecore/ecore_private.h b/libraries/ecore/src/lib/ecore/ecore_private.h index 50d502c..f0c5d6b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_private.h +++ b/libraries/ecore/src/lib/ecore/ecore_private.h | |||
@@ -174,7 +174,7 @@ void *_ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler); | |||
174 | 174 | ||
175 | void _ecore_main_shutdown(void); | 175 | void _ecore_main_shutdown(void); |
176 | 176 | ||
177 | #if defined (_WIN32) || defined (__lv2ppu__) | 177 | #if defined (_WIN32) || defined (__lv2ppu__) || defined (HAVE_EXOTIC) |
178 | static inline void _ecore_signal_shutdown(void) { } | 178 | static inline void _ecore_signal_shutdown(void) { } |
179 | 179 | ||
180 | static inline void _ecore_signal_init(void) { } | 180 | static inline void _ecore_signal_init(void) { } |
@@ -237,14 +237,14 @@ _ecore_lock(void) | |||
237 | EINA_MAIN_LOOP_CHECK_RETURN; | 237 | EINA_MAIN_LOOP_CHECK_RETURN; |
238 | #endif | 238 | #endif |
239 | _ecore_main_lock_count++; | 239 | _ecore_main_lock_count++; |
240 | assert(_ecore_main_lock_count == 1); | 240 | /* assert(_ecore_main_lock_count == 1); */ |
241 | } | 241 | } |
242 | 242 | ||
243 | static inline void | 243 | static inline void |
244 | _ecore_unlock(void) | 244 | _ecore_unlock(void) |
245 | { | 245 | { |
246 | _ecore_main_lock_count--; | 246 | _ecore_main_lock_count--; |
247 | assert(_ecore_main_lock_count == 0); | 247 | /* assert(_ecore_main_lock_count == 0); */ |
248 | #ifdef HAVE_THREAD_SAFETY | 248 | #ifdef HAVE_THREAD_SAFETY |
249 | eina_lock_release(&_ecore_main_loop_lock); | 249 | eina_lock_release(&_ecore_main_loop_lock); |
250 | #endif | 250 | #endif |
diff --git a/libraries/ecore/src/lib/ecore/ecore_thread.c b/libraries/ecore/src/lib/ecore/ecore_thread.c index 4444ad4..85fbe64 100644 --- a/libraries/ecore/src/lib/ecore/ecore_thread.c +++ b/libraries/ecore/src/lib/ecore/ecore_thread.c | |||
@@ -17,6 +17,25 @@ | |||
17 | 17 | ||
18 | #ifdef EFL_HAVE_THREADS | 18 | #ifdef EFL_HAVE_THREADS |
19 | 19 | ||
20 | # define LK(x) Eina_Lock x | ||
21 | # define LKI(x) eina_lock_new(&(x)) | ||
22 | # define LKD(x) eina_lock_free(&(x)) | ||
23 | # define LKL(x) eina_lock_take(&(x)) | ||
24 | # define LKU(x) eina_lock_release(&(x)) | ||
25 | |||
26 | # define CD(x) Eina_Condition x | ||
27 | # define CDI(x, m) eina_condition_new(&(x), &(m)) | ||
28 | # define CDD(x) eina_condition_free(&(x)) | ||
29 | # define CDB(x) eina_condition_broadcast(&(x)) | ||
30 | # define CDW(x, t) eina_condition_timedwait(&(x), t) | ||
31 | |||
32 | # define LRWK(x) Eina_RWLock x | ||
33 | # define LRWKI(x) eina_rwlock_new(&(x)); | ||
34 | # define LRWKD(x) eina_rwlock_free(&(x)); | ||
35 | # define LRWKWL(x) eina_rwlock_take_write(&(x)); | ||
36 | # define LRWKRL(x) eina_rwlock_take_read(&(x)); | ||
37 | # define LRWKU(x) eina_rwlock_release(&(x)); | ||
38 | |||
20 | # ifdef EFL_HAVE_POSIX_THREADS | 39 | # ifdef EFL_HAVE_POSIX_THREADS |
21 | # include <pthread.h> | 40 | # include <pthread.h> |
22 | # ifdef __linux__ | 41 | # ifdef __linux__ |
@@ -31,28 +50,9 @@ | |||
31 | # define PHE(x, y) pthread_equal(x, y) | 50 | # define PHE(x, y) pthread_equal(x, y) |
32 | # define PHS() pthread_self() | 51 | # define PHS() pthread_self() |
33 | # define PHC(x, f, d) pthread_create(&(x), NULL, (void *)f, d) | 52 | # define PHC(x, f, d) pthread_create(&(x), NULL, (void *)f, d) |
34 | # define PHJ(x, p) pthread_join(x, (void **)(&(p))) | 53 | # define PHJ(x) pthread_join(x, NULL) |
35 | # define PHA(x) pthread_cancel(x) | 54 | # define PHA(x) pthread_cancel(x) |
36 | 55 | ||
37 | # define CD(x) pthread_cond_t x | ||
38 | # define CDI(x) pthread_cond_init(&(x), NULL); | ||
39 | # define CDD(x) pthread_cond_destroy(&(x)); | ||
40 | # define CDB(x) pthread_cond_broadcast(&(x)); | ||
41 | # define CDW(x, y, t) pthread_cond_timedwait(&(x), &(y), t); | ||
42 | |||
43 | # define LK(x) pthread_mutex_t x | ||
44 | # define LKI(x) pthread_mutex_init(&(x), NULL); | ||
45 | # define LKD(x) pthread_mutex_destroy(&(x)); | ||
46 | # define LKL(x) pthread_mutex_lock(&(x)); | ||
47 | # define LKU(x) pthread_mutex_unlock(&(x)); | ||
48 | |||
49 | # define LRWK(x) pthread_rwlock_t x | ||
50 | # define LRWKI(x) pthread_rwlock_init(&(x), NULL); | ||
51 | # define LRWKD(x) pthread_rwlock_destroy(&(x)); | ||
52 | # define LRWKWL(x) pthread_rwlock_wrlock(&(x)); | ||
53 | # define LRWKRL(x) pthread_rwlock_rdlock(&(x)); | ||
54 | # define LRWKU(x) pthread_rwlock_unlock(&(x)); | ||
55 | |||
56 | # else /* EFL_HAVE_WIN32_THREADS */ | 56 | # else /* EFL_HAVE_WIN32_THREADS */ |
57 | 57 | ||
58 | # define WIN32_LEAN_AND_MEAN | 58 | # define WIN32_LEAN_AND_MEAN |
@@ -108,209 +108,9 @@ _ecore_thread_win32_join(win32_thread *x, | |||
108 | return 0; | 108 | return 0; |
109 | } | 109 | } |
110 | 110 | ||
111 | # define PHJ(x, p) _ecore_thread_win32_join(x, (void **)(&(p))) | 111 | # define PHJ(x) _ecore_thread_win32_join(x, NULL) |
112 | # define PHA(x) TerminateThread(x->thread, 0) | 112 | # define PHA(x) TerminateThread(x->thread, 0) |
113 | 113 | ||
114 | # define LK(x) HANDLE x | ||
115 | # define LKI(x) x = CreateMutex(NULL, FALSE, NULL) | ||
116 | # define LKD(x) CloseHandle(x) | ||
117 | # define LKL(x) WaitForSingleObject(x, INFINITE) | ||
118 | # define LKU(x) ReleaseMutex(x) | ||
119 | |||
120 | typedef struct | ||
121 | { | ||
122 | HANDLE semaphore; | ||
123 | LONG threads_count; | ||
124 | CRITICAL_SECTION threads_count_lock; | ||
125 | } win32_cond; | ||
126 | |||
127 | # define CD(x) win32_cond * x | ||
128 | |||
129 | # define CDI(x) \ | ||
130 | do { \ | ||
131 | x = (win32_cond *)calloc(1, sizeof(win32_cond)); \ | ||
132 | if (x) \ | ||
133 | { \ | ||
134 | x->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL); \ | ||
135 | if (x->semaphore) \ | ||
136 | InitializeCriticalSection(&x->threads_count_lock); \ | ||
137 | else \ | ||
138 | { \ | ||
139 | free(x); \ | ||
140 | x = NULL; \ | ||
141 | } \ | ||
142 | } \ | ||
143 | } while (0) | ||
144 | |||
145 | # define CDD(x) \ | ||
146 | do { \ | ||
147 | CloseHandle(x->semaphore); \ | ||
148 | free(x); \ | ||
149 | x = NULL; \ | ||
150 | } while (0) | ||
151 | |||
152 | # define CDB(x) \ | ||
153 | do { \ | ||
154 | EnterCriticalSection(&x->threads_count_lock); \ | ||
155 | if (x->threads_count > 0) \ | ||
156 | ReleaseSemaphore(x->semaphore, x->threads_count, NULL); \ | ||
157 | LeaveCriticalSection (&x->threads_count_lock); \ | ||
158 | } while (0) | ||
159 | |||
160 | int | ||
161 | _ecore_thread_win32_cond_timedwait(win32_cond *c, | ||
162 | HANDLE *external_mutex, | ||
163 | struct timeval *t) | ||
164 | { | ||
165 | DWORD res; | ||
166 | DWORD val = t->tv_sec * 1000 + (t->tv_usec / 1000); | ||
167 | LKL(external_mutex); | ||
168 | EnterCriticalSection (&c->threads_count_lock); | ||
169 | c->threads_count++; | ||
170 | LeaveCriticalSection (&c->threads_count_lock); | ||
171 | LKU(external_mutex); | ||
172 | res = WaitForSingleObject(c->semaphore, val); | ||
173 | if (res == WAIT_OBJECT_0) | ||
174 | return 0; | ||
175 | else | ||
176 | return -1; | ||
177 | } | ||
178 | |||
179 | # define CDW(x, y, t) _ecore_thread_win32_cond_timedwait(x, y, t) | ||
180 | |||
181 | typedef struct | ||
182 | { | ||
183 | LONG readers_count; | ||
184 | LONG writers_count; | ||
185 | int readers; | ||
186 | int writers; | ||
187 | LK(mutex); | ||
188 | CD(cond_read); | ||
189 | CD(cond_write); | ||
190 | } win32_rwl; | ||
191 | |||
192 | # define LRWK(x) win32_rwl * x | ||
193 | # define LRWKI(x) \ | ||
194 | do { \ | ||
195 | x = (win32_rwl *)calloc(1, sizeof(win32_rwl)); \ | ||
196 | if (x) \ | ||
197 | { \ | ||
198 | LKI(x->mutex); \ | ||
199 | if (x->mutex) \ | ||
200 | { \ | ||
201 | CDI(x->cond_read); \ | ||
202 | if (x->cond_read) \ | ||
203 | { \ | ||
204 | CDI(x->cond_write); \ | ||
205 | if (!x->cond_write) \ | ||
206 | { \ | ||
207 | CDD(x->cond_read); \ | ||
208 | LKD(x->mutex); \ | ||
209 | free(x); \ | ||
210 | x = NULL; \ | ||
211 | } \ | ||
212 | } \ | ||
213 | else \ | ||
214 | { \ | ||
215 | LKD(x->mutex); \ | ||
216 | free(x); \ | ||
217 | x = NULL; \ | ||
218 | } \ | ||
219 | } \ | ||
220 | else \ | ||
221 | { \ | ||
222 | free(x); \ | ||
223 | x = NULL; \ | ||
224 | } \ | ||
225 | } \ | ||
226 | } while (0) | ||
227 | |||
228 | # define LRWKD(x) \ | ||
229 | do { \ | ||
230 | LKU(x->mutex); \ | ||
231 | LKD(x->mutex); \ | ||
232 | CDD(x->cond_write); \ | ||
233 | CDD(x->cond_read); \ | ||
234 | free(x); \ | ||
235 | } while (0) | ||
236 | # define LRWKWL(x) \ | ||
237 | do { \ | ||
238 | DWORD res; \ | ||
239 | LKU(x->mutex); \ | ||
240 | if (x->writers || x->readers > 0) \ | ||
241 | { \ | ||
242 | x->writers_count++; \ | ||
243 | while (x->writers || x->readers > 0) \ | ||
244 | { \ | ||
245 | EnterCriticalSection(&x->cond_write->threads_count_lock); \ | ||
246 | x->cond_read->threads_count++; \ | ||
247 | LeaveCriticalSection(&x->cond_write->threads_count_lock); \ | ||
248 | res = WaitForSingleObject(x->cond_write->semaphore, INFINITE); \ | ||
249 | if (res != WAIT_OBJECT_0) break; \ | ||
250 | } \ | ||
251 | x->writers_count--; \ | ||
252 | } \ | ||
253 | if (res == 0) x->writers_count = 1; \ | ||
254 | LKU(x->mutex); \ | ||
255 | } while (0) | ||
256 | # define LRWKRL(x) \ | ||
257 | do { \ | ||
258 | DWORD res; \ | ||
259 | LKL(x->mutex); \ | ||
260 | if (x->writers) \ | ||
261 | { \ | ||
262 | x->readers_count++; \ | ||
263 | while (x->writers) \ | ||
264 | { \ | ||
265 | EnterCriticalSection(&x->cond_write->threads_count_lock); \ | ||
266 | x->cond_read->threads_count++; \ | ||
267 | LeaveCriticalSection(&x->cond_write->threads_count_lock); \ | ||
268 | res = WaitForSingleObject(x->cond_write->semaphore, INFINITE); \ | ||
269 | if (res != WAIT_OBJECT_0) break; \ | ||
270 | } \ | ||
271 | x->readers_count--; \ | ||
272 | } \ | ||
273 | if (res == 0) \ | ||
274 | x->readers++; \ | ||
275 | LKU(x->mutex); \ | ||
276 | } while (0) | ||
277 | # define LRWKU(x) \ | ||
278 | do { \ | ||
279 | LKL(x->mutex); \ | ||
280 | if (x->writers) \ | ||
281 | { \ | ||
282 | x->writers = 0; \ | ||
283 | if (x->readers_count == 1) \ | ||
284 | { \ | ||
285 | EnterCriticalSection(&x->cond_read->threads_count_lock); \ | ||
286 | if (x->cond_read->threads_count > 0) \ | ||
287 | ReleaseSemaphore(x->cond_read->semaphore, 1, 0); \ | ||
288 | LeaveCriticalSection(&x->cond_read->threads_count_lock); \ | ||
289 | } \ | ||
290 | else if (x->readers_count > 0) \ | ||
291 | CDB(x->cond_read); \ | ||
292 | else if (x->writers_count > 0) \ | ||
293 | { \ | ||
294 | EnterCriticalSection (&x->cond_write->threads_count_lock); \ | ||
295 | if (x->cond_write->threads_count > 0) \ | ||
296 | ReleaseSemaphore(x->cond_write->semaphore, 1, 0); \ | ||
297 | LeaveCriticalSection (&x->cond_write->threads_count_lock); \ | ||
298 | } \ | ||
299 | } \ | ||
300 | else if (x->readers > 0) \ | ||
301 | { \ | ||
302 | x->readers--; \ | ||
303 | if (x->readers == 0 && x->writers_count > 0) \ | ||
304 | { \ | ||
305 | EnterCriticalSection (&x->cond_write->threads_count_lock); \ | ||
306 | if (x->cond_write->threads_count > 0) \ | ||
307 | ReleaseSemaphore(x->cond_write->semaphore, 1, 0); \ | ||
308 | LeaveCriticalSection (&x->cond_write->threads_count_lock); \ | ||
309 | } \ | ||
310 | } \ | ||
311 | LKU(x->mutex); \ | ||
312 | } while (0) | ||
313 | |||
314 | # endif | 114 | # endif |
315 | 115 | ||
316 | #endif | 116 | #endif |
@@ -336,14 +136,24 @@ struct _Ecore_Pthread_Worker | |||
336 | { | 136 | { |
337 | Ecore_Thread_Cb func_heavy; | 137 | Ecore_Thread_Cb func_heavy; |
338 | Ecore_Thread_Notify_Cb func_notify; | 138 | Ecore_Thread_Notify_Cb func_notify; |
339 | Ecore_Pipe *notify; | ||
340 | 139 | ||
341 | Ecore_Pipe *direct_pipe; | ||
342 | Ecore_Pthread_Worker *direct_worker; | 140 | Ecore_Pthread_Worker *direct_worker; |
343 | 141 | ||
344 | int send; | 142 | int send; |
345 | int received; | 143 | int received; |
346 | } feedback_run; | 144 | } feedback_run; |
145 | struct { | ||
146 | Ecore_Thread_Cb func_main; | ||
147 | Ecore_Thread_Notify_Cb func_notify; | ||
148 | |||
149 | Ecore_Pipe *send; | ||
150 | Ecore_Pthread_Worker *direct_worker; | ||
151 | |||
152 | struct { | ||
153 | int send; | ||
154 | int received; | ||
155 | } from, to; | ||
156 | } message_run; | ||
347 | } u; | 157 | } u; |
348 | 158 | ||
349 | Ecore_Thread_Cb func_cancel; | 159 | Ecore_Thread_Cb func_cancel; |
@@ -357,47 +167,63 @@ struct _Ecore_Pthread_Worker | |||
357 | 167 | ||
358 | const void *data; | 168 | const void *data; |
359 | 169 | ||
360 | Eina_Bool cancel : 1; | 170 | volatile int cancel; |
361 | Eina_Bool feedback_run : 1; | 171 | |
362 | Eina_Bool kill : 1; | 172 | #ifdef EFL_HAVE_THREADS |
363 | Eina_Bool reschedule : 1; | 173 | LK(cancel_mutex); |
364 | Eina_Bool no_queue : 1; | 174 | #endif |
175 | |||
176 | Eina_Bool message_run : 1; | ||
177 | Eina_Bool feedback_run : 1; | ||
178 | Eina_Bool kill : 1; | ||
179 | Eina_Bool reschedule : 1; | ||
180 | Eina_Bool no_queue : 1; | ||
365 | }; | 181 | }; |
366 | 182 | ||
367 | #ifdef EFL_HAVE_THREADS | 183 | #ifdef EFL_HAVE_THREADS |
368 | typedef struct _Ecore_Pthread_Data Ecore_Pthread_Data; | 184 | typedef struct _Ecore_Pthread_Data Ecore_Pthread_Data; |
369 | |||
370 | struct _Ecore_Pthread_Data | 185 | struct _Ecore_Pthread_Data |
371 | { | 186 | { |
372 | Ecore_Pthread_Worker *death_job; | 187 | Ecore_Pthread_Worker *death_job; |
373 | Ecore_Pipe *p; | ||
374 | void *data; | 188 | void *data; |
375 | PH(thread); | 189 | PH(thread); |
376 | }; | 190 | }; |
191 | |||
192 | typedef struct _Ecore_Pthread_Notify Ecore_Pthread_Notify; | ||
193 | struct _Ecore_Pthread_Notify | ||
194 | { | ||
195 | Ecore_Pthread_Worker *work; | ||
196 | const void *user_data; | ||
197 | }; | ||
198 | |||
199 | typedef void *(*Ecore_Thread_Sync_Cb)(void* data, Ecore_Thread *thread); | ||
200 | |||
201 | typedef struct _Ecore_Pthread_Message Ecore_Pthread_Message; | ||
202 | struct _Ecore_Pthread_Message | ||
203 | { | ||
204 | union { | ||
205 | Ecore_Thread_Cb async; | ||
206 | Ecore_Thread_Sync_Cb sync; | ||
207 | } u; | ||
208 | |||
209 | const void *data; | ||
210 | |||
211 | int code; | ||
212 | |||
213 | Eina_Bool callback : 1; | ||
214 | Eina_Bool sync : 1; | ||
215 | }; | ||
216 | |||
377 | #endif | 217 | #endif |
378 | 218 | ||
379 | static int _ecore_thread_count_max = 0; | 219 | static int _ecore_thread_count_max = 0; |
380 | static int ECORE_THREAD_PIPE_DEL = 0; | ||
381 | static Eina_Array *_ecore_thread_pipe = NULL; | ||
382 | 220 | ||
383 | #ifdef EFL_HAVE_THREADS | 221 | #ifdef EFL_HAVE_THREADS |
384 | 222 | ||
385 | static void _ecore_thread_handler(void *data __UNUSED__, | 223 | static void _ecore_thread_handler(void *data); |
386 | void *buffer, | ||
387 | unsigned int nbyte); | ||
388 | |||
389 | static Ecore_Pipe * | ||
390 | _ecore_thread_pipe_get(void) | ||
391 | { | ||
392 | if (eina_array_count(_ecore_thread_pipe) > 0) | ||
393 | return eina_array_pop(_ecore_thread_pipe); | ||
394 | |||
395 | return ecore_pipe_add(_ecore_thread_handler, NULL); | ||
396 | } | ||
397 | 224 | ||
398 | static int _ecore_thread_count = 0; | 225 | static int _ecore_thread_count = 0; |
399 | 226 | ||
400 | static Ecore_Event_Handler *del_handler = NULL; | ||
401 | static Eina_List *_ecore_active_job_threads = NULL; | 227 | static Eina_List *_ecore_active_job_threads = NULL; |
402 | static Eina_List *_ecore_pending_job_threads = NULL; | 228 | static Eina_List *_ecore_pending_job_threads = NULL; |
403 | static Eina_List *_ecore_pending_job_threads_feedback = NULL; | 229 | static Eina_List *_ecore_pending_job_threads_feedback = NULL; |
@@ -435,6 +261,10 @@ static PH(get_main_loop_thread) (void) | |||
435 | static void | 261 | static void |
436 | _ecore_thread_worker_free(Ecore_Pthread_Worker *worker) | 262 | _ecore_thread_worker_free(Ecore_Pthread_Worker *worker) |
437 | { | 263 | { |
264 | LKD(worker->cancel_mutex); | ||
265 | CDD(worker->cond); | ||
266 | LKD(worker->mutex); | ||
267 | |||
438 | if (_ecore_thread_worker_count > (_ecore_thread_count_max + 1) * 16) | 268 | if (_ecore_thread_worker_count > (_ecore_thread_count_max + 1) * 16) |
439 | { | 269 | { |
440 | free(worker); | 270 | free(worker); |
@@ -454,38 +284,15 @@ _ecore_thread_data_free(void *data) | |||
454 | } | 284 | } |
455 | 285 | ||
456 | static void | 286 | static void |
457 | _ecore_thread_pipe_free(void *data __UNUSED__, | ||
458 | void *event) | ||
459 | { | ||
460 | Ecore_Pipe *p = event; | ||
461 | |||
462 | if (eina_array_count(_ecore_thread_pipe) < 50) | ||
463 | eina_array_push(_ecore_thread_pipe, p); | ||
464 | else | ||
465 | ecore_pipe_del(p); | ||
466 | eina_threads_shutdown(); | ||
467 | } | ||
468 | |||
469 | static Eina_Bool | ||
470 | _ecore_thread_pipe_del(void *data __UNUSED__, | ||
471 | int type __UNUSED__, | ||
472 | void *event __UNUSED__) | ||
473 | { | ||
474 | /* This is a hack to delay pipe destruction until we are out of its internal loop. */ | ||
475 | return ECORE_CALLBACK_CANCEL; | ||
476 | } | ||
477 | |||
478 | static void | ||
479 | _ecore_thread_end(Ecore_Pthread_Data *pth, | 287 | _ecore_thread_end(Ecore_Pthread_Data *pth, |
480 | Ecore_Thread *work) | 288 | Ecore_Thread *work) |
481 | { | 289 | { |
482 | Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)work; | 290 | Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)work; |
483 | Ecore_Pipe *p; | ||
484 | 291 | ||
485 | if (!worker->feedback_run || (worker->feedback_run && !worker->no_queue)) | 292 | if (!worker->message_run || !worker->feedback_run || (worker->feedback_run && !worker->no_queue)) |
486 | _ecore_thread_count--; | 293 | _ecore_thread_count--; |
487 | 294 | ||
488 | if (PHJ(pth->thread, p) != 0) | 295 | if (PHJ(pth->thread) != 0) |
489 | return; | 296 | return; |
490 | 297 | ||
491 | if (eina_list_count(_ecore_pending_job_threads) > 0 | 298 | if (eina_list_count(_ecore_pending_job_threads) > 0 |
@@ -496,7 +303,7 @@ _ecore_thread_end(Ecore_Pthread_Data *pth, | |||
496 | INF("spawning threads because of still pending jobs."); | 303 | INF("spawning threads because of still pending jobs."); |
497 | 304 | ||
498 | pth->death_job = _ecore_thread_worker_new(); | 305 | pth->death_job = _ecore_thread_worker_new(); |
499 | if (!pth->p || !pth->death_job) goto end; | 306 | if (!pth->death_job) goto end; |
500 | 307 | ||
501 | eina_threads_init(); | 308 | eina_threads_init(); |
502 | 309 | ||
@@ -514,7 +321,6 @@ end: | |||
514 | 321 | ||
515 | _ecore_active_job_threads = eina_list_remove(_ecore_active_job_threads, pth); | 322 | _ecore_active_job_threads = eina_list_remove(_ecore_active_job_threads, pth); |
516 | 323 | ||
517 | ecore_event_add(ECORE_THREAD_PIPE_DEL, pth->p, _ecore_thread_pipe_free, NULL); | ||
518 | free(pth); | 324 | free(pth); |
519 | } | 325 | } |
520 | 326 | ||
@@ -534,30 +340,18 @@ _ecore_thread_kill(Ecore_Pthread_Worker *work) | |||
534 | 340 | ||
535 | if (work->feedback_run) | 341 | if (work->feedback_run) |
536 | { | 342 | { |
537 | ecore_pipe_del(work->u.feedback_run.notify); | ||
538 | |||
539 | if (work->u.feedback_run.direct_pipe) | ||
540 | eina_array_push(_ecore_thread_pipe, work->u.feedback_run.direct_pipe); | ||
541 | if (work->u.feedback_run.direct_worker) | 343 | if (work->u.feedback_run.direct_worker) |
542 | _ecore_thread_worker_free(work->u.feedback_run.direct_worker); | 344 | _ecore_thread_worker_free(work->u.feedback_run.direct_worker); |
543 | } | 345 | } |
544 | CDD(work->cond); | ||
545 | LKD(work->mutex); | ||
546 | if (work->hash) | 346 | if (work->hash) |
547 | eina_hash_free(work->hash); | 347 | eina_hash_free(work->hash); |
548 | _ecore_thread_worker_free(work); | 348 | _ecore_thread_worker_free(work); |
549 | } | 349 | } |
550 | 350 | ||
551 | static void | 351 | static void |
552 | _ecore_thread_handler(void *data __UNUSED__, | 352 | _ecore_thread_handler(void *data) |
553 | void *buffer, | ||
554 | unsigned int nbyte) | ||
555 | { | 353 | { |
556 | Ecore_Pthread_Worker *work; | 354 | Ecore_Pthread_Worker *work = data; |
557 | |||
558 | if (nbyte != sizeof (Ecore_Pthread_Worker *)) return; | ||
559 | |||
560 | work = *(Ecore_Pthread_Worker **)buffer; | ||
561 | 355 | ||
562 | if (work->feedback_run) | 356 | if (work->feedback_run) |
563 | { | 357 | { |
@@ -571,17 +365,20 @@ _ecore_thread_handler(void *data __UNUSED__, | |||
571 | _ecore_thread_kill(work); | 365 | _ecore_thread_kill(work); |
572 | } | 366 | } |
573 | 367 | ||
368 | #if 0 | ||
574 | static void | 369 | static void |
575 | _ecore_notify_handler(void *data, | 370 | _ecore_nothing_handler(void *data __UNUSED__, void *buffer __UNUSED__, unsigned int nbyte __UNUSED__) |
576 | void *buffer, | ||
577 | unsigned int nbyte) | ||
578 | { | 371 | { |
579 | Ecore_Pthread_Worker *work = data; | 372 | } |
580 | void *user_data; | 373 | #endif |
581 | 374 | ||
582 | if (nbyte != sizeof (Ecore_Pthread_Worker *)) return; | 375 | static void |
376 | _ecore_notify_handler(void *data) | ||
377 | { | ||
378 | Ecore_Pthread_Notify *notify = data; | ||
379 | Ecore_Pthread_Worker *work = notify->work; | ||
380 | void *user_data = (void*) notify->user_data; | ||
583 | 381 | ||
584 | user_data = *(void **)buffer; | ||
585 | work->u.feedback_run.received++; | 382 | work->u.feedback_run.received++; |
586 | 383 | ||
587 | if (work->u.feedback_run.func_notify) | 384 | if (work->u.feedback_run.func_notify) |
@@ -592,16 +389,64 @@ _ecore_notify_handler(void *data, | |||
592 | { | 389 | { |
593 | _ecore_thread_kill(work); | 390 | _ecore_thread_kill(work); |
594 | } | 391 | } |
392 | |||
393 | free(notify); | ||
394 | } | ||
395 | |||
396 | static void | ||
397 | _ecore_message_notify_handler(void *data) | ||
398 | { | ||
399 | Ecore_Pthread_Notify *notify = data; | ||
400 | Ecore_Pthread_Worker *work = notify->work; | ||
401 | Ecore_Pthread_Message *user_data = (void *) notify->user_data; | ||
402 | Eina_Bool delete = EINA_TRUE; | ||
403 | |||
404 | work->u.message_run.from.received++; | ||
405 | |||
406 | if (!user_data->callback) | ||
407 | { | ||
408 | if (work->u.message_run.func_notify) | ||
409 | work->u.message_run.func_notify((void *) work->data, (Ecore_Thread *) work, (void *) user_data->data); | ||
410 | } | ||
411 | else | ||
412 | { | ||
413 | if (user_data->sync) | ||
414 | { | ||
415 | user_data->data = user_data->u.sync((void*) user_data->data, (Ecore_Thread *) work); | ||
416 | user_data->callback = EINA_FALSE; | ||
417 | user_data->code = INT_MAX; | ||
418 | ecore_pipe_write(work->u.message_run.send, &user_data, sizeof (Ecore_Pthread_Message *)); | ||
419 | |||
420 | delete = EINA_FALSE; | ||
421 | } | ||
422 | else | ||
423 | { | ||
424 | user_data->u.async((void*) user_data->data, (Ecore_Thread *) work); | ||
425 | } | ||
426 | } | ||
427 | |||
428 | if (delete) | ||
429 | { | ||
430 | free(user_data); | ||
431 | } | ||
432 | |||
433 | /* Force reading all notify event before killing the thread */ | ||
434 | if (work->kill && work->u.message_run.from.send == work->u.message_run.from.received) | ||
435 | { | ||
436 | _ecore_thread_kill(work); | ||
437 | } | ||
438 | free(notify); | ||
595 | } | 439 | } |
596 | 440 | ||
597 | static void | 441 | static void |
598 | _ecore_short_job(Ecore_Pipe *end_pipe, | 442 | _ecore_short_job(PH(thread)) |
599 | PH(thread)) | ||
600 | { | 443 | { |
601 | Ecore_Pthread_Worker *work; | 444 | Ecore_Pthread_Worker *work; |
602 | 445 | ||
603 | while (_ecore_pending_job_threads) | 446 | while (_ecore_pending_job_threads) |
604 | { | 447 | { |
448 | int cancel; | ||
449 | |||
605 | LKL(_ecore_pending_job_threads_mutex); | 450 | LKL(_ecore_pending_job_threads_mutex); |
606 | 451 | ||
607 | if (!_ecore_pending_job_threads) | 452 | if (!_ecore_pending_job_threads) |
@@ -616,9 +461,12 @@ _ecore_short_job(Ecore_Pipe *end_pipe, | |||
616 | 461 | ||
617 | LKU(_ecore_pending_job_threads_mutex); | 462 | LKU(_ecore_pending_job_threads_mutex); |
618 | 463 | ||
464 | LKL(work->cancel_mutex); | ||
465 | cancel = work->cancel; | ||
466 | LKU(work->cancel_mutex); | ||
619 | work->self = thread; | 467 | work->self = thread; |
620 | if (!work->cancel) | 468 | if (!cancel) |
621 | work->u.short_run.func_blocking((void *)work->data, (Ecore_Thread *)work); | 469 | work->u.short_run.func_blocking((void *) work->data, (Ecore_Thread*) work); |
622 | 470 | ||
623 | if (work->reschedule) | 471 | if (work->reschedule) |
624 | { | 472 | { |
@@ -630,19 +478,20 @@ _ecore_short_job(Ecore_Pipe *end_pipe, | |||
630 | } | 478 | } |
631 | else | 479 | else |
632 | { | 480 | { |
633 | ecore_pipe_write(end_pipe, &work, sizeof (Ecore_Pthread_Worker *)); | 481 | ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); |
634 | } | 482 | } |
635 | } | 483 | } |
636 | } | 484 | } |
637 | 485 | ||
638 | static void | 486 | static void |
639 | _ecore_feedback_job(Ecore_Pipe *end_pipe, | 487 | _ecore_feedback_job(PH(thread)) |
640 | PH(thread)) | ||
641 | { | 488 | { |
642 | Ecore_Pthread_Worker *work; | 489 | Ecore_Pthread_Worker *work; |
643 | 490 | ||
644 | while (_ecore_pending_job_threads_feedback) | 491 | while (_ecore_pending_job_threads_feedback) |
645 | { | 492 | { |
493 | int cancel; | ||
494 | |||
646 | LKL(_ecore_pending_job_threads_mutex); | 495 | LKL(_ecore_pending_job_threads_mutex); |
647 | 496 | ||
648 | if (!_ecore_pending_job_threads_feedback) | 497 | if (!_ecore_pending_job_threads_feedback) |
@@ -657,9 +506,12 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, | |||
657 | 506 | ||
658 | LKU(_ecore_pending_job_threads_mutex); | 507 | LKU(_ecore_pending_job_threads_mutex); |
659 | 508 | ||
509 | LKL(work->cancel_mutex); | ||
510 | cancel = work->cancel; | ||
511 | LKU(work->cancel_mutex); | ||
660 | work->self = thread; | 512 | work->self = thread; |
661 | if (!work->cancel) | 513 | if (!cancel) |
662 | work->u.feedback_run.func_heavy((void *)work->data, (Ecore_Thread *)work); | 514 | work->u.feedback_run.func_heavy((void *) work->data, (Ecore_Thread *) work); |
663 | 515 | ||
664 | if (work->reschedule) | 516 | if (work->reschedule) |
665 | { | 517 | { |
@@ -671,7 +523,7 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, | |||
671 | } | 523 | } |
672 | else | 524 | else |
673 | { | 525 | { |
674 | ecore_pipe_write(end_pipe, &work, sizeof (Ecore_Pthread_Worker *)); | 526 | ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); |
675 | } | 527 | } |
676 | } | 528 | } |
677 | } | 529 | } |
@@ -679,6 +531,7 @@ _ecore_feedback_job(Ecore_Pipe *end_pipe, | |||
679 | static void * | 531 | static void * |
680 | _ecore_direct_worker(Ecore_Pthread_Worker *work) | 532 | _ecore_direct_worker(Ecore_Pthread_Worker *work) |
681 | { | 533 | { |
534 | Ecore_Pthread_Worker *end; | ||
682 | Ecore_Pthread_Data *pth; | 535 | Ecore_Pthread_Data *pth; |
683 | 536 | ||
684 | #ifdef EFL_POSIX_THREADS | 537 | #ifdef EFL_POSIX_THREADS |
@@ -691,40 +544,49 @@ _ecore_direct_worker(Ecore_Pthread_Worker *work) | |||
691 | pth = malloc(sizeof (Ecore_Pthread_Data)); | 544 | pth = malloc(sizeof (Ecore_Pthread_Data)); |
692 | if (!pth) return NULL; | 545 | if (!pth) return NULL; |
693 | 546 | ||
694 | pth->p = work->u.feedback_run.direct_pipe; | ||
695 | if (!pth->p) | ||
696 | { | ||
697 | free(pth); | ||
698 | return NULL; | ||
699 | } | ||
700 | pth->thread = PHS(); | 547 | pth->thread = PHS(); |
701 | 548 | ||
702 | work->self = pth->thread; | 549 | work->self = pth->thread; |
703 | work->u.feedback_run.func_heavy((void *)work->data, (Ecore_Thread *)work); | 550 | if (work->message_run) |
551 | work->u.message_run.func_main((void *) work->data, (Ecore_Thread *) work); | ||
552 | else | ||
553 | work->u.feedback_run.func_heavy((void *) work->data, (Ecore_Thread *) work); | ||
704 | 554 | ||
705 | ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); | 555 | if (work->message_run) |
556 | { | ||
557 | end = work->u.message_run.direct_worker; | ||
558 | work->u.message_run.direct_worker = NULL; | ||
559 | } | ||
560 | else | ||
561 | { | ||
562 | end = work->u.feedback_run.direct_worker; | ||
563 | work->u.feedback_run.direct_worker = NULL; | ||
564 | } | ||
706 | 565 | ||
707 | work = work->u.feedback_run.direct_worker; | 566 | ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); |
708 | if (!work) | 567 | |
568 | if (!end) | ||
709 | { | 569 | { |
710 | free(pth); | 570 | free(pth); |
711 | return NULL; | 571 | return NULL; |
712 | } | 572 | } |
713 | 573 | ||
714 | work->data = pth; | 574 | end->data = pth; |
715 | work->u.short_run.func_blocking = NULL; | 575 | end->u.short_run.func_blocking = NULL; |
716 | work->func_end = (void *)_ecore_thread_end; | 576 | end->func_end = (void *)_ecore_thread_end; |
717 | work->func_cancel = NULL; | 577 | end->func_cancel = NULL; |
718 | work->cancel = EINA_FALSE; | 578 | end->cancel = EINA_FALSE; |
719 | work->feedback_run = EINA_FALSE; | 579 | end->feedback_run = EINA_FALSE; |
720 | work->kill = EINA_FALSE; | 580 | end->message_run = EINA_FALSE; |
721 | work->hash = NULL; | 581 | end->no_queue = EINA_FALSE; |
722 | CDI(work->cond); | 582 | end->kill = EINA_FALSE; |
723 | LKI(work->mutex); | 583 | end->hash = NULL; |
724 | 584 | LKI(end->mutex); | |
725 | ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); | 585 | CDI(end->cond, end->mutex); |
586 | |||
587 | ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, end); | ||
726 | 588 | ||
727 | return pth->p; | 589 | return NULL; |
728 | } | 590 | } |
729 | 591 | ||
730 | static void * | 592 | static void * |
@@ -740,8 +602,8 @@ _ecore_thread_worker(Ecore_Pthread_Data *pth) | |||
740 | eina_sched_prio_drop(); | 602 | eina_sched_prio_drop(); |
741 | 603 | ||
742 | restart: | 604 | restart: |
743 | if (_ecore_pending_job_threads) _ecore_short_job(pth->p, pth->thread); | 605 | if (_ecore_pending_job_threads) _ecore_short_job(pth->thread); |
744 | if (_ecore_pending_job_threads_feedback) _ecore_feedback_job(pth->p, pth->thread); | 606 | if (_ecore_pending_job_threads_feedback) _ecore_feedback_job(pth->thread); |
745 | 607 | ||
746 | /* FIXME: Check if there is feedback running task todo, and switch to feedback run handler. */ | 608 | /* FIXME: Check if there is feedback running task todo, and switch to feedback run handler. */ |
747 | 609 | ||
@@ -777,14 +639,14 @@ restart: | |||
777 | work->func_cancel = NULL; | 639 | work->func_cancel = NULL; |
778 | work->cancel = EINA_FALSE; | 640 | work->cancel = EINA_FALSE; |
779 | work->feedback_run = EINA_FALSE; | 641 | work->feedback_run = EINA_FALSE; |
642 | work->message_run = EINA_FALSE; | ||
780 | work->kill = EINA_FALSE; | 643 | work->kill = EINA_FALSE; |
644 | work->no_queue = EINA_FALSE; | ||
781 | work->hash = NULL; | 645 | work->hash = NULL; |
782 | CDI(work->cond); | ||
783 | LKI(work->mutex); | ||
784 | 646 | ||
785 | ecore_pipe_write(pth->p, &work, sizeof (Ecore_Pthread_Worker *)); | 647 | ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); |
786 | 648 | ||
787 | return pth->p; | 649 | return NULL; |
788 | } | 650 | } |
789 | 651 | ||
790 | #endif | 652 | #endif |
@@ -800,6 +662,10 @@ _ecore_thread_worker_new(void) | |||
800 | if (!result) result = malloc(sizeof (Ecore_Pthread_Worker)); | 662 | if (!result) result = malloc(sizeof (Ecore_Pthread_Worker)); |
801 | else _ecore_thread_worker_count--; | 663 | else _ecore_thread_worker_count--; |
802 | 664 | ||
665 | LKI(result->cancel_mutex); | ||
666 | LKI(result->mutex); | ||
667 | CDI(result->cond, result->mutex); | ||
668 | |||
803 | return result; | 669 | return result; |
804 | #else | 670 | #else |
805 | return malloc(sizeof (Ecore_Pthread_Worker)); | 671 | return malloc(sizeof (Ecore_Pthread_Worker)); |
@@ -813,16 +679,11 @@ _ecore_thread_init(void) | |||
813 | if (_ecore_thread_count_max <= 0) | 679 | if (_ecore_thread_count_max <= 0) |
814 | _ecore_thread_count_max = 1; | 680 | _ecore_thread_count_max = 1; |
815 | 681 | ||
816 | ECORE_THREAD_PIPE_DEL = ecore_event_type_new(); | ||
817 | _ecore_thread_pipe = eina_array_new(8); | ||
818 | |||
819 | #ifdef EFL_HAVE_THREADS | 682 | #ifdef EFL_HAVE_THREADS |
820 | del_handler = ecore_event_handler_add(ECORE_THREAD_PIPE_DEL, _ecore_thread_pipe_del, NULL); | ||
821 | |||
822 | LKI(_ecore_pending_job_threads_mutex); | 683 | LKI(_ecore_pending_job_threads_mutex); |
823 | LRWKI(_ecore_thread_global_hash_lock); | 684 | LRWKI(_ecore_thread_global_hash_lock); |
824 | LKI(_ecore_thread_global_hash_mutex); | 685 | LKI(_ecore_thread_global_hash_mutex); |
825 | CDI(_ecore_thread_global_hash_cond); | 686 | CDI(_ecore_thread_global_hash_cond, _ecore_thread_global_hash_mutex); |
826 | #endif | 687 | #endif |
827 | } | 688 | } |
828 | 689 | ||
@@ -830,10 +691,6 @@ void | |||
830 | _ecore_thread_shutdown(void) | 691 | _ecore_thread_shutdown(void) |
831 | { | 692 | { |
832 | /* FIXME: If function are still running in the background, should we kill them ? */ | 693 | /* FIXME: If function are still running in the background, should we kill them ? */ |
833 | Ecore_Pipe *p; | ||
834 | Eina_Array_Iterator it; | ||
835 | unsigned int i; | ||
836 | |||
837 | #ifdef EFL_HAVE_THREADS | 694 | #ifdef EFL_HAVE_THREADS |
838 | Ecore_Pthread_Worker *work; | 695 | Ecore_Pthread_Worker *work; |
839 | Ecore_Pthread_Data *pth; | 696 | Ecore_Pthread_Data *pth; |
@@ -843,46 +700,39 @@ _ecore_thread_shutdown(void) | |||
843 | EINA_LIST_FREE(_ecore_pending_job_threads, work) | 700 | EINA_LIST_FREE(_ecore_pending_job_threads, work) |
844 | { | 701 | { |
845 | if (work->func_cancel) | 702 | if (work->func_cancel) |
846 | work->func_cancel((void *)work->data, (Ecore_Thread *)work); | 703 | work->func_cancel((void *)work->data, (Ecore_Thread *) work); |
847 | free(work); | 704 | free(work); |
848 | } | 705 | } |
849 | 706 | ||
850 | EINA_LIST_FREE(_ecore_pending_job_threads_feedback, work) | 707 | EINA_LIST_FREE(_ecore_pending_job_threads_feedback, work) |
851 | { | 708 | { |
852 | if (work->func_cancel) | 709 | if (work->func_cancel) |
853 | work->func_cancel((void *)work->data, (Ecore_Thread *)work); | 710 | work->func_cancel((void *)work->data, (Ecore_Thread *) work); |
854 | free(work); | 711 | free(work); |
855 | } | 712 | } |
856 | 713 | ||
857 | LKU(_ecore_pending_job_threads_mutex); | 714 | LKU(_ecore_pending_job_threads_mutex); |
858 | 715 | ||
859 | /* Improve emergency shutdown */ | 716 | /* FIXME: Improve emergency shutdown, now that we use async call, we can do something */ |
860 | EINA_LIST_FREE(_ecore_active_job_threads, pth) | 717 | EINA_LIST_FREE(_ecore_active_job_threads, pth) |
861 | { | 718 | { |
862 | Ecore_Pipe *ep; | ||
863 | |||
864 | PHA(pth->thread); | 719 | PHA(pth->thread); |
865 | PHJ(pth->thread, ep); | 720 | PHJ(pth->thread); |
866 | |||
867 | ecore_pipe_del(pth->p); | ||
868 | } | 721 | } |
869 | if (_ecore_thread_global_hash) | 722 | if (_ecore_thread_global_hash) |
870 | eina_hash_free(_ecore_thread_global_hash); | 723 | eina_hash_free(_ecore_thread_global_hash); |
871 | _ecore_event_handler_del(del_handler); | ||
872 | have_main_loop_thread = 0; | 724 | have_main_loop_thread = 0; |
873 | del_handler = NULL; | 725 | |
726 | while ((work = eina_trash_pop(&_ecore_thread_worker_trash))) | ||
727 | { | ||
728 | free(work); | ||
729 | } | ||
874 | 730 | ||
875 | LKD(_ecore_pending_job_threads_mutex); | 731 | LKD(_ecore_pending_job_threads_mutex); |
876 | LRWKD(_ecore_thread_global_hash_lock); | 732 | LRWKD(_ecore_thread_global_hash_lock); |
877 | LKD(_ecore_thread_global_hash_mutex); | 733 | LKD(_ecore_thread_global_hash_mutex); |
878 | CDD(_ecore_thread_global_hash_cond); | 734 | CDD(_ecore_thread_global_hash_cond); |
879 | #endif | 735 | #endif |
880 | |||
881 | EINA_ARRAY_ITER_NEXT(_ecore_thread_pipe, i, p, it) | ||
882 | ecore_pipe_del(p); | ||
883 | |||
884 | eina_array_free(_ecore_thread_pipe); | ||
885 | _ecore_thread_pipe = NULL; | ||
886 | } | 736 | } |
887 | 737 | ||
888 | void | 738 | void |
@@ -927,15 +777,15 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, | |||
927 | work->func_cancel = func_cancel; | 777 | work->func_cancel = func_cancel; |
928 | work->cancel = EINA_FALSE; | 778 | work->cancel = EINA_FALSE; |
929 | work->feedback_run = EINA_FALSE; | 779 | work->feedback_run = EINA_FALSE; |
780 | work->message_run = EINA_FALSE; | ||
930 | work->kill = EINA_FALSE; | 781 | work->kill = EINA_FALSE; |
931 | work->reschedule = EINA_FALSE; | 782 | work->reschedule = EINA_FALSE; |
783 | work->no_queue = EINA_FALSE; | ||
932 | work->data = data; | 784 | work->data = data; |
933 | 785 | ||
934 | #ifdef EFL_HAVE_THREADS | 786 | #ifdef EFL_HAVE_THREADS |
935 | work->self = 0; | 787 | work->self = 0; |
936 | work->hash = NULL; | 788 | work->hash = NULL; |
937 | CDI(work->cond); | ||
938 | LKI(work->mutex); | ||
939 | 789 | ||
940 | LKL(_ecore_pending_job_threads_mutex); | 790 | LKL(_ecore_pending_job_threads_mutex); |
941 | _ecore_pending_job_threads = eina_list_append(_ecore_pending_job_threads, work); | 791 | _ecore_pending_job_threads = eina_list_append(_ecore_pending_job_threads, work); |
@@ -952,9 +802,8 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, | |||
952 | pth = malloc(sizeof (Ecore_Pthread_Data)); | 802 | pth = malloc(sizeof (Ecore_Pthread_Data)); |
953 | if (!pth) goto on_error; | 803 | if (!pth) goto on_error; |
954 | 804 | ||
955 | pth->p = _ecore_thread_pipe_get(); | ||
956 | pth->death_job = _ecore_thread_worker_new(); | 805 | pth->death_job = _ecore_thread_worker_new(); |
957 | if (!pth->p || !pth->death_job) goto on_error; | 806 | if (!pth->death_job) goto on_error; |
958 | 807 | ||
959 | eina_threads_init(); | 808 | eina_threads_init(); |
960 | 809 | ||
@@ -969,7 +818,6 @@ ecore_thread_run(Ecore_Thread_Cb func_blocking, | |||
969 | on_error: | 818 | on_error: |
970 | if (pth) | 819 | if (pth) |
971 | { | 820 | { |
972 | if (pth->p) eina_array_push(_ecore_thread_pipe, pth->p); | ||
973 | if (pth->death_job) _ecore_thread_worker_free(pth->death_job); | 821 | if (pth->death_job) _ecore_thread_worker_free(pth->death_job); |
974 | free(pth); | 822 | free(pth); |
975 | } | 823 | } |
@@ -981,7 +829,11 @@ on_error: | |||
981 | LKU(_ecore_pending_job_threads_mutex); | 829 | LKU(_ecore_pending_job_threads_mutex); |
982 | 830 | ||
983 | if (work->func_cancel) | 831 | if (work->func_cancel) |
984 | work->func_cancel((void *)work->data, (Ecore_Thread *)work); | 832 | work->func_cancel((void *) work->data, (Ecore_Thread *) work); |
833 | |||
834 | CDD(work->cond); | ||
835 | LKD(work->mutex); | ||
836 | LKD(work->cancel_mutex); | ||
985 | free(work); | 837 | free(work); |
986 | work = NULL; | 838 | work = NULL; |
987 | } | 839 | } |
@@ -1013,12 +865,16 @@ EAPI Eina_Bool | |||
1013 | ecore_thread_cancel(Ecore_Thread *thread) | 865 | ecore_thread_cancel(Ecore_Thread *thread) |
1014 | { | 866 | { |
1015 | #ifdef EFL_HAVE_THREADS | 867 | #ifdef EFL_HAVE_THREADS |
1016 | Ecore_Pthread_Worker *work = (Ecore_Pthread_Worker *)thread; | 868 | Ecore_Pthread_Worker *volatile work = (Ecore_Pthread_Worker *)thread; |
1017 | Eina_List *l; | 869 | Eina_List *l; |
870 | int cancel; | ||
1018 | 871 | ||
1019 | if (!work) | 872 | if (!work) |
1020 | return EINA_TRUE; | 873 | return EINA_TRUE; |
1021 | if (work->cancel) | 874 | LKL(work->cancel_mutex); |
875 | cancel = work->cancel; | ||
876 | LKU(work->cancel_mutex); | ||
877 | if (cancel) | ||
1022 | return EINA_FALSE; | 878 | return EINA_FALSE; |
1023 | 879 | ||
1024 | if (work->feedback_run) | 880 | if (work->feedback_run) |
@@ -1070,9 +926,14 @@ ecore_thread_cancel(Ecore_Thread *thread) | |||
1070 | 926 | ||
1071 | LKU(_ecore_pending_job_threads_mutex); | 927 | LKU(_ecore_pending_job_threads_mutex); |
1072 | 928 | ||
929 | work = (Ecore_Pthread_Worker *)thread; | ||
930 | |||
1073 | /* Delay the destruction */ | 931 | /* Delay the destruction */ |
1074 | on_exit: | 932 | on_exit: |
1075 | ((Ecore_Pthread_Worker *)thread)->cancel = EINA_TRUE; | 933 | LKL(work->cancel_mutex); |
934 | work->cancel = EINA_TRUE; | ||
935 | LKU(work->cancel_mutex); | ||
936 | |||
1076 | return EINA_FALSE; | 937 | return EINA_FALSE; |
1077 | #else | 938 | #else |
1078 | (void) thread; | 939 | (void) thread; |
@@ -1083,10 +944,23 @@ on_exit: | |||
1083 | EAPI Eina_Bool | 944 | EAPI Eina_Bool |
1084 | ecore_thread_check(Ecore_Thread *thread) | 945 | ecore_thread_check(Ecore_Thread *thread) |
1085 | { | 946 | { |
1086 | Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)thread; | 947 | Ecore_Pthread_Worker *volatile worker = (Ecore_Pthread_Worker *) thread; |
948 | int cancel; | ||
1087 | 949 | ||
1088 | if (!worker) return EINA_TRUE; | 950 | if (!worker) return EINA_TRUE; |
1089 | return worker->cancel; | 951 | #ifdef EFL_HAVE_THREADS |
952 | LKL(worker->cancel_mutex); | ||
953 | #endif | ||
954 | cancel = worker->cancel; | ||
955 | /* FIXME: there is an insane bug driving me nuts here. I don't know if | ||
956 | it's a race condition, some cache issue or some alien attack on our software. | ||
957 | But ecore_thread_check will only work correctly with a printf, all the volatile, | ||
958 | lock and even usleep don't help here... */ | ||
959 | /* fprintf(stderr, "wc: %i\n", cancel); */ | ||
960 | #ifdef EFL_HAVE_THREADS | ||
961 | LKU(worker->cancel_mutex); | ||
962 | #endif | ||
963 | return cancel; | ||
1090 | } | 964 | } |
1091 | 965 | ||
1092 | EAPI Ecore_Thread * | 966 | EAPI Ecore_Thread * |
@@ -1109,12 +983,11 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, | |||
1109 | worker->u.feedback_run.func_heavy = func_heavy; | 983 | worker->u.feedback_run.func_heavy = func_heavy; |
1110 | worker->u.feedback_run.func_notify = func_notify; | 984 | worker->u.feedback_run.func_notify = func_notify; |
1111 | worker->hash = NULL; | 985 | worker->hash = NULL; |
1112 | CDI(worker->cond); | ||
1113 | LKI(worker->mutex); | ||
1114 | worker->func_cancel = func_cancel; | 986 | worker->func_cancel = func_cancel; |
1115 | worker->func_end = func_end; | 987 | worker->func_end = func_end; |
1116 | worker->data = data; | 988 | worker->data = data; |
1117 | worker->cancel = EINA_FALSE; | 989 | worker->cancel = EINA_FALSE; |
990 | worker->message_run = EINA_FALSE; | ||
1118 | worker->feedback_run = EINA_TRUE; | 991 | worker->feedback_run = EINA_TRUE; |
1119 | worker->kill = EINA_FALSE; | 992 | worker->kill = EINA_FALSE; |
1120 | worker->reschedule = EINA_FALSE; | 993 | worker->reschedule = EINA_FALSE; |
@@ -1123,15 +996,12 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, | |||
1123 | worker->u.feedback_run.send = 0; | 996 | worker->u.feedback_run.send = 0; |
1124 | worker->u.feedback_run.received = 0; | 997 | worker->u.feedback_run.received = 0; |
1125 | 998 | ||
1126 | worker->u.feedback_run.notify = ecore_pipe_add(_ecore_notify_handler, worker); | ||
1127 | worker->u.feedback_run.direct_pipe = NULL; | ||
1128 | worker->u.feedback_run.direct_worker = NULL; | 999 | worker->u.feedback_run.direct_worker = NULL; |
1129 | 1000 | ||
1130 | if (!try_no_queue) | 1001 | if (try_no_queue) |
1131 | { | 1002 | { |
1132 | PH(t); | 1003 | PH(t); |
1133 | 1004 | ||
1134 | worker->u.feedback_run.direct_pipe = _ecore_thread_pipe_get(); | ||
1135 | worker->u.feedback_run.direct_worker = _ecore_thread_worker_new(); | 1005 | worker->u.feedback_run.direct_worker = _ecore_thread_worker_new(); |
1136 | worker->no_queue = EINA_TRUE; | 1006 | worker->no_queue = EINA_TRUE; |
1137 | 1007 | ||
@@ -1140,6 +1010,12 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, | |||
1140 | if (PHC(t, _ecore_direct_worker, worker) == 0) | 1010 | if (PHC(t, _ecore_direct_worker, worker) == 0) |
1141 | return (Ecore_Thread *)worker; | 1011 | return (Ecore_Thread *)worker; |
1142 | 1012 | ||
1013 | if (worker->u.feedback_run.direct_worker) | ||
1014 | { | ||
1015 | _ecore_thread_worker_free(worker->u.feedback_run.direct_worker); | ||
1016 | worker->u.feedback_run.direct_worker = NULL; | ||
1017 | } | ||
1018 | |||
1143 | eina_threads_shutdown(); | 1019 | eina_threads_shutdown(); |
1144 | } | 1020 | } |
1145 | 1021 | ||
@@ -1160,9 +1036,8 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, | |||
1160 | pth = malloc(sizeof (Ecore_Pthread_Data)); | 1036 | pth = malloc(sizeof (Ecore_Pthread_Data)); |
1161 | if (!pth) goto on_error; | 1037 | if (!pth) goto on_error; |
1162 | 1038 | ||
1163 | pth->p = _ecore_thread_pipe_get(); | ||
1164 | pth->death_job = _ecore_thread_worker_new(); | 1039 | pth->death_job = _ecore_thread_worker_new(); |
1165 | if (!pth->p || !pth->death_job) goto on_error; | 1040 | if (!pth->death_job) goto on_error; |
1166 | 1041 | ||
1167 | eina_threads_init(); | 1042 | eina_threads_init(); |
1168 | 1043 | ||
@@ -1177,7 +1052,6 @@ ecore_thread_feedback_run(Ecore_Thread_Cb func_heavy, | |||
1177 | on_error: | 1052 | on_error: |
1178 | if (pth) | 1053 | if (pth) |
1179 | { | 1054 | { |
1180 | if (pth->p) eina_array_push(_ecore_thread_pipe, pth->p); | ||
1181 | if (pth->death_job) _ecore_thread_worker_free(pth->death_job); | 1055 | if (pth->death_job) _ecore_thread_worker_free(pth->death_job); |
1182 | free(pth); | 1056 | free(pth); |
1183 | } | 1057 | } |
@@ -1193,7 +1067,8 @@ on_error: | |||
1193 | 1067 | ||
1194 | if (worker) | 1068 | if (worker) |
1195 | { | 1069 | { |
1196 | ecore_pipe_del(worker->u.feedback_run.notify); | 1070 | CDD(worker->cond); |
1071 | LKD(worker->mutex); | ||
1197 | free(worker); | 1072 | free(worker); |
1198 | worker = NULL; | 1073 | worker = NULL; |
1199 | } | 1074 | } |
@@ -1211,7 +1086,6 @@ on_error: | |||
1211 | */ | 1086 | */ |
1212 | worker.u.feedback_run.func_heavy = func_heavy; | 1087 | worker.u.feedback_run.func_heavy = func_heavy; |
1213 | worker.u.feedback_run.func_notify = func_notify; | 1088 | worker.u.feedback_run.func_notify = func_notify; |
1214 | worker.u.feedback_run.notify = NULL; | ||
1215 | worker.u.feedback_run.send = 0; | 1089 | worker.u.feedback_run.send = 0; |
1216 | worker.u.feedback_run.received = 0; | 1090 | worker.u.feedback_run.received = 0; |
1217 | worker.func_cancel = func_cancel; | 1091 | worker.func_cancel = func_cancel; |
@@ -1219,6 +1093,7 @@ on_error: | |||
1219 | worker.data = data; | 1093 | worker.data = data; |
1220 | worker.cancel = EINA_FALSE; | 1094 | worker.cancel = EINA_FALSE; |
1221 | worker.feedback_run = EINA_TRUE; | 1095 | worker.feedback_run = EINA_TRUE; |
1096 | worker.message_run = EINA_FALSE; | ||
1222 | worker.kill = EINA_FALSE; | 1097 | worker.kill = EINA_FALSE; |
1223 | 1098 | ||
1224 | do { | 1099 | do { |
@@ -1241,13 +1116,48 @@ ecore_thread_feedback(Ecore_Thread *thread, | |||
1241 | Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)thread; | 1116 | Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)thread; |
1242 | 1117 | ||
1243 | if (!worker) return EINA_FALSE; | 1118 | if (!worker) return EINA_FALSE; |
1244 | if (!worker->feedback_run) return EINA_FALSE; | ||
1245 | 1119 | ||
1246 | #ifdef EFL_HAVE_THREADS | 1120 | #ifdef EFL_HAVE_THREADS |
1247 | if (!PHE(worker->self, PHS())) return EINA_FALSE; | 1121 | if (!PHE(worker->self, PHS())) return EINA_FALSE; |
1248 | 1122 | ||
1249 | worker->u.feedback_run.send++; | 1123 | if (worker->feedback_run) |
1250 | ecore_pipe_write(worker->u.feedback_run.notify, &data, sizeof (void *)); | 1124 | { |
1125 | Ecore_Pthread_Notify *notify; | ||
1126 | |||
1127 | notify = malloc(sizeof (Ecore_Pthread_Notify)); | ||
1128 | if (!notify) return EINA_FALSE; | ||
1129 | |||
1130 | notify->user_data = data; | ||
1131 | notify->work = worker; | ||
1132 | worker->u.feedback_run.send++; | ||
1133 | |||
1134 | ecore_main_loop_thread_safe_call_async(_ecore_notify_handler, notify); | ||
1135 | } | ||
1136 | else if (worker->message_run) | ||
1137 | { | ||
1138 | Ecore_Pthread_Message *msg; | ||
1139 | Ecore_Pthread_Notify *notify; | ||
1140 | |||
1141 | msg = malloc(sizeof (Ecore_Pthread_Message*)); | ||
1142 | if (!msg) return EINA_FALSE; | ||
1143 | msg->data = data; | ||
1144 | msg->callback = EINA_FALSE; | ||
1145 | msg->sync = EINA_FALSE; | ||
1146 | |||
1147 | notify = malloc(sizeof (Ecore_Pthread_Notify)); | ||
1148 | if (!notify) | ||
1149 | { | ||
1150 | free(msg); | ||
1151 | return EINA_FALSE; | ||
1152 | } | ||
1153 | notify->work = worker; | ||
1154 | notify->user_data = msg; | ||
1155 | |||
1156 | worker->u.message_run.from.send++; | ||
1157 | ecore_main_loop_thread_safe_call_async(_ecore_message_notify_handler, notify); | ||
1158 | } | ||
1159 | else | ||
1160 | return EINA_FALSE; | ||
1251 | 1161 | ||
1252 | return EINA_TRUE; | 1162 | return EINA_TRUE; |
1253 | #else | 1163 | #else |
@@ -1257,6 +1167,71 @@ ecore_thread_feedback(Ecore_Thread *thread, | |||
1257 | #endif | 1167 | #endif |
1258 | } | 1168 | } |
1259 | 1169 | ||
1170 | #if 0 | ||
1171 | EAPI Ecore_Thread * | ||
1172 | ecore_thread_message_run(Ecore_Thread_Cb func_main, | ||
1173 | Ecore_Thread_Notify_Cb func_notify, | ||
1174 | Ecore_Thread_Cb func_end, | ||
1175 | Ecore_Thread_Cb func_cancel, | ||
1176 | const void *data) | ||
1177 | { | ||
1178 | #ifdef EFL_HAVE_THREADS | ||
1179 | Ecore_Pthread_Worker *worker; | ||
1180 | PH(t); | ||
1181 | |||
1182 | if (!func_main) return NULL; | ||
1183 | |||
1184 | worker = _ecore_thread_worker_new(); | ||
1185 | if (!worker) return NULL; | ||
1186 | |||
1187 | worker->u.message_run.func_main = func_main; | ||
1188 | worker->u.message_run.func_notify = func_notify; | ||
1189 | worker->u.message_run.direct_worker = _ecore_thread_worker_new(); | ||
1190 | worker->u.message_run.send = ecore_pipe_add(_ecore_nothing_handler, worker); | ||
1191 | worker->u.message_run.from.send = 0; | ||
1192 | worker->u.message_run.from.received = 0; | ||
1193 | worker->u.message_run.to.send = 0; | ||
1194 | worker->u.message_run.to.received = 0; | ||
1195 | |||
1196 | ecore_pipe_freeze(worker->u.message_run.send); | ||
1197 | |||
1198 | worker->func_cancel = func_cancel; | ||
1199 | worker->func_end = func_end; | ||
1200 | worker->hash = NULL; | ||
1201 | worker->data = data; | ||
1202 | |||
1203 | worker->cancel = EINA_FALSE; | ||
1204 | worker->message_run = EINA_TRUE; | ||
1205 | worker->feedback_run = EINA_FALSE; | ||
1206 | worker->kill = EINA_FALSE; | ||
1207 | worker->reschedule = EINA_FALSE; | ||
1208 | worker->no_queue = EINA_FALSE; | ||
1209 | worker->self = 0; | ||
1210 | |||
1211 | eina_threads_init(); | ||
1212 | |||
1213 | if (PHC(t, _ecore_direct_worker, worker) == 0) | ||
1214 | return (Ecore_Thread*) worker; | ||
1215 | |||
1216 | eina_threads_shutdown(); | ||
1217 | |||
1218 | if (worker->u.message_run.direct_worker) _ecore_thread_worker_free(worker->u.message_run.direct_worker); | ||
1219 | if (worker->u.message_run.send) ecore_pipe_del(worker->u.message_run.send); | ||
1220 | |||
1221 | CDD(worker->cond); | ||
1222 | LKD(worker->mutex); | ||
1223 | #else | ||
1224 | /* Note: This type of thread can't and never will work without thread support */ | ||
1225 | WRN("ecore_thread_message_run called, but threads disable in Ecore, things will go wrong. Starting now !"); | ||
1226 | # warning "You disabled threads support in ecore, I hope you know what you are doing !" | ||
1227 | #endif | ||
1228 | |||
1229 | func_cancel((void *) data, NULL); | ||
1230 | |||
1231 | return NULL; | ||
1232 | } | ||
1233 | #endif | ||
1234 | |||
1260 | EAPI Eina_Bool | 1235 | EAPI Eina_Bool |
1261 | ecore_thread_reschedule(Ecore_Thread *thread) | 1236 | ecore_thread_reschedule(Ecore_Thread *thread) |
1262 | { | 1237 | { |
@@ -1641,24 +1616,13 @@ ecore_thread_global_data_wait(const char *key, | |||
1641 | 1616 | ||
1642 | while (1) | 1617 | while (1) |
1643 | { | 1618 | { |
1644 | #ifndef _WIN32 | ||
1645 | struct timespec t = { 0, 0 }; | ||
1646 | |||
1647 | t.tv_sec = (long int)tm; | ||
1648 | t.tv_nsec = (long int)((tm - (double)t.tv_sec) * 1000000000); | ||
1649 | #else | ||
1650 | struct timeval t = { 0, 0 }; | ||
1651 | |||
1652 | t.tv_sec = (long int)tm; | ||
1653 | t.tv_usec = (long int)((tm - (double)t.tv_sec) * 1000000); | ||
1654 | #endif | ||
1655 | LRWKRL(_ecore_thread_global_hash_lock); | 1619 | LRWKRL(_ecore_thread_global_hash_lock); |
1656 | ret = eina_hash_find(_ecore_thread_global_hash, key); | 1620 | ret = eina_hash_find(_ecore_thread_global_hash, key); |
1657 | LRWKU(_ecore_thread_global_hash_lock); | 1621 | LRWKU(_ecore_thread_global_hash_lock); |
1658 | if ((ret) || (!seconds) || ((seconds > 0) && (tm <= ecore_time_get()))) | 1622 | if ((ret) || (!seconds) || ((seconds > 0) && (tm <= ecore_time_get()))) |
1659 | break; | 1623 | break; |
1660 | LKL(_ecore_thread_global_hash_mutex); | 1624 | LKL(_ecore_thread_global_hash_mutex); |
1661 | CDW(_ecore_thread_global_hash_cond, _ecore_thread_global_hash_mutex, &t); | 1625 | CDW(_ecore_thread_global_hash_cond, tm); |
1662 | LKU(_ecore_thread_global_hash_mutex); | 1626 | LKU(_ecore_thread_global_hash_mutex); |
1663 | } | 1627 | } |
1664 | if (ret) return ret->data; | 1628 | if (ret) return ret->data; |
diff --git a/libraries/ecore/src/lib/ecore/ecore_time.c b/libraries/ecore/src/lib/ecore/ecore_time.c index 8e7611b..0eeb1d6 100644 --- a/libraries/ecore/src/lib/ecore/ecore_time.c +++ b/libraries/ecore/src/lib/ecore/ecore_time.c | |||
@@ -21,7 +21,7 @@ | |||
21 | 21 | ||
22 | #include <time.h> | 22 | #include <time.h> |
23 | 23 | ||
24 | #ifdef HAVE_CLOCK_GETTIME | 24 | #if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) |
25 | static clockid_t _ecore_time_clock_id = -1; | 25 | static clockid_t _ecore_time_clock_id = -1; |
26 | #elif defined(__APPLE__) && defined(__MACH__) | 26 | #elif defined(__APPLE__) && defined(__MACH__) |
27 | static double _ecore_time_clock_conversion = 1e-9; | 27 | static double _ecore_time_clock_conversion = 1e-9; |
@@ -52,7 +52,7 @@ double _ecore_time_loop_time = -1.0; | |||
52 | EAPI double | 52 | EAPI double |
53 | ecore_time_get(void) | 53 | ecore_time_get(void) |
54 | { | 54 | { |
55 | #ifdef HAVE_CLOCK_GETTIME | 55 | #if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) |
56 | struct timespec t; | 56 | struct timespec t; |
57 | 57 | ||
58 | if (EINA_UNLIKELY(_ecore_time_clock_id < 0)) | 58 | if (EINA_UNLIKELY(_ecore_time_clock_id < 0)) |
@@ -136,7 +136,7 @@ ecore_loop_time_get(void) | |||
136 | void | 136 | void |
137 | _ecore_time_init(void) | 137 | _ecore_time_init(void) |
138 | { | 138 | { |
139 | #ifdef HAVE_CLOCK_GETTIME | 139 | #if defined (HAVE_CLOCK_GETTIME) || defined (EXOTIC_PROVIDE_CLOCK_GETTIME) |
140 | struct timespec t; | 140 | struct timespec t; |
141 | 141 | ||
142 | if (_ecore_time_clock_id != -1) return; | 142 | if (_ecore_time_clock_id != -1) return; |
diff --git a/libraries/ecore/src/lib/ecore/ecore_timer.c b/libraries/ecore/src/lib/ecore/ecore_timer.c index cc19e3f..d76733b 100644 --- a/libraries/ecore/src/lib/ecore/ecore_timer.c +++ b/libraries/ecore/src/lib/ecore/ecore_timer.c | |||
@@ -56,7 +56,7 @@ static double last_check = 0.0; | |||
56 | static double precision = 10.0 / 1000000.0; | 56 | static double precision = 10.0 / 1000000.0; |
57 | 57 | ||
58 | /** | 58 | /** |
59 | * @addtogroup Ecore_Time_Group | 59 | * @addtogroup Ecore_Timer_Group |
60 | * | 60 | * |
61 | * @{ | 61 | * @{ |
62 | */ | 62 | */ |
@@ -73,12 +73,15 @@ ecore_timer_precision_get(void) | |||
73 | } | 73 | } |
74 | 74 | ||
75 | /** | 75 | /** |
76 | * Sets the precision to be used by timer infrastructure. | 76 | * @brief Sets the precision to be used by timer infrastructure. |
77 | * | 77 | * |
78 | * When system calculates time to expire the next timer we'll be able | 78 | * @param value allowed introduced timeout delay, in seconds. |
79 | * to delay the timer by the given amount so more timers will fit in | 79 | * |
80 | * the same dispatch, waking up the system less often and thus being | 80 | * This sets the precision for @b all timers. The precision determines how much |
81 | * able to save power. | 81 | * of an difference from the requested interval is acceptable. One common reason |
82 | * to use this function is to @b increase the allowed timeout and thus @b | ||
83 | * decrease precision of the timers, this is because less precise the timers | ||
84 | * result in the system waking up less often and thus consuming less resources. | ||
82 | * | 85 | * |
83 | * Be aware that kernel may delay delivery even further, these delays | 86 | * Be aware that kernel may delay delivery even further, these delays |
84 | * are always possible due other tasks having higher priorities or | 87 | * are always possible due other tasks having higher priorities or |
@@ -93,8 +96,6 @@ ecore_timer_precision_get(void) | |||
93 | * @note Ecore is smart enough to see if there are timers in the | 96 | * @note Ecore is smart enough to see if there are timers in the |
94 | * precision range, if it does not, in our example if no second timer | 97 | * precision range, if it does not, in our example if no second timer |
95 | * in (T + precision) existed, then it would use the minimum timeout. | 98 | * in (T + precision) existed, then it would use the minimum timeout. |
96 | * | ||
97 | * @param value allowed introduced timeout delay, in seconds. | ||
98 | */ | 99 | */ |
99 | EAPI void | 100 | EAPI void |
100 | ecore_timer_precision_set(double value) | 101 | ecore_timer_precision_set(double value) |
@@ -322,7 +323,7 @@ ecore_timer_reset(Ecore_Timer *timer) | |||
322 | * Get the pending time regarding a timer. | 323 | * Get the pending time regarding a timer. |
323 | * | 324 | * |
324 | * @param timer The timer to learn from. | 325 | * @param timer The timer to learn from. |
325 | * @ingroup Ecore_Time_Group | 326 | * @ingroup Ecore_Timer_Group |
326 | */ | 327 | */ |
327 | EAPI double | 328 | EAPI double |
328 | ecore_timer_pending_get(Ecore_Timer *timer) | 329 | ecore_timer_pending_get(Ecore_Timer *timer) |
diff --git a/libraries/ecore/src/lib/ecore_cocoa/Makefile.in b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in index 15ce879..447c3ef 100644 --- a/libraries/ecore/src/lib/ecore_cocoa/Makefile.in +++ b/libraries/ecore/src/lib/ecore_cocoa/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
192 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 191 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
193 | EVIL_LIBS = @EVIL_LIBS@ | 192 | EVIL_LIBS = @EVIL_LIBS@ |
194 | EXEEXT = @EXEEXT@ | 193 | EXEEXT = @EXEEXT@ |
194 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
195 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
195 | FGREP = @FGREP@ | 196 | FGREP = @FGREP@ |
196 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
197 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 198 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
247 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
248 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 249 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
249 | PKG_CONFIG = @PKG_CONFIG@ | 250 | PKG_CONFIG = @PKG_CONFIG@ |
251 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
252 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
250 | POSUB = @POSUB@ | 253 | POSUB = @POSUB@ |
251 | RANLIB = @RANLIB@ | 254 | RANLIB = @RANLIB@ |
252 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 255 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
257 | SED = @SED@ | 260 | SED = @SED@ |
258 | SET_MAKE = @SET_MAKE@ | 261 | SET_MAKE = @SET_MAKE@ |
259 | SHELL = @SHELL@ | 262 | SHELL = @SHELL@ |
263 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
260 | SSL_CFLAGS = @SSL_CFLAGS@ | 264 | SSL_CFLAGS = @SSL_CFLAGS@ |
261 | SSL_LIBS = @SSL_LIBS@ | 265 | SSL_LIBS = @SSL_LIBS@ |
262 | STRIP = @STRIP@ | 266 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_con/Ecore_Con.h b/libraries/ecore/src/lib/ecore_con/Ecore_Con.h index c3af46a..d0ca6f6 100644 --- a/libraries/ecore/src/lib/ecore_con/Ecore_Con.h +++ b/libraries/ecore/src/lib/ecore_con/Ecore_Con.h | |||
@@ -723,10 +723,13 @@ EAPI Eina_Bool ecore_con_ssl_client_upgrade(Ecore_Con_Client *cl, Ecore_ | |||
723 | */ | 723 | */ |
724 | 724 | ||
725 | EAPI Ecore_Con_Socks *ecore_con_socks4_remote_add(const char *ip, int port, const char *username); | 725 | EAPI Ecore_Con_Socks *ecore_con_socks4_remote_add(const char *ip, int port, const char *username); |
726 | EAPI void ecore_con_socks4_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable); | ||
727 | EAPI Eina_Bool ecore_con_socks4_lookup_get(Ecore_Con_Socks *ecs); | ||
728 | EAPI Eina_Bool ecore_con_socks4_remote_exists(const char *ip, int port, const char *username); | 726 | EAPI Eina_Bool ecore_con_socks4_remote_exists(const char *ip, int port, const char *username); |
729 | EAPI void ecore_con_socks4_remote_del(const char *ip, int port, const char *username); | 727 | EAPI void ecore_con_socks4_remote_del(const char *ip, int port, const char *username); |
728 | EAPI Ecore_Con_Socks *ecore_con_socks5_remote_add(const char *ip, int port, const char *username, const char *password); | ||
729 | EAPI Eina_Bool ecore_con_socks5_remote_exists(const char *ip, int port, const char *username, const char *password); | ||
730 | EAPI void ecore_con_socks5_remote_del(const char *ip, int port, const char *username, const char *password); | ||
731 | EAPI void ecore_con_socks_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable); | ||
732 | EAPI Eina_Bool ecore_con_socks_lookup_get(Ecore_Con_Socks *ecs); | ||
730 | EAPI void ecore_con_socks_bind_set(Ecore_Con_Socks *ecs, Eina_Bool is_bind); | 733 | EAPI void ecore_con_socks_bind_set(Ecore_Con_Socks *ecs, Eina_Bool is_bind); |
731 | EAPI Eina_Bool ecore_con_socks_bind_get(Ecore_Con_Socks *ecs); | 734 | EAPI Eina_Bool ecore_con_socks_bind_get(Ecore_Con_Socks *ecs); |
732 | EAPI unsigned int ecore_con_socks_version_get(Ecore_Con_Socks *ecs); | 735 | EAPI unsigned int ecore_con_socks_version_get(Ecore_Con_Socks *ecs); |
@@ -744,8 +747,8 @@ EAPI void ecore_con_socks_apply_always(Ecore_Con_Socks *ecs); | |||
744 | * | 747 | * |
745 | * Setting up a server is very simple: you just need to start it with | 748 | * Setting up a server is very simple: you just need to start it with |
746 | * ecore_con_server_add() and setup some callbacks to the events | 749 | * ecore_con_server_add() and setup some callbacks to the events |
747 | * #ECORE_CON_EVENT_CLIENT_ADD, #ECORE_CON_EVENT_CLIENT_DEL and | 750 | * @ref ECORE_CON_EVENT_CLIENT_ADD, @ref ECORE_CON_EVENT_CLIENT_DEL and |
748 | * #ECORE_CON_EVENT_CLIENT_DATA, that will be called when a client is | 751 | * @ref ECORE_CON_EVENT_CLIENT_DATA, that will be called when a client is |
749 | * communicating with the server: | 752 | * communicating with the server: |
750 | * | 753 | * |
751 | * @code | 754 | * @code |
@@ -867,8 +870,8 @@ EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, | |||
867 | * | 870 | * |
868 | * However, even if this call returns a valid @ref Ecore_Con_Server, the | 871 | * However, even if this call returns a valid @ref Ecore_Con_Server, the |
869 | * connection will only be successfully completed if an event of type | 872 | * connection will only be successfully completed if an event of type |
870 | * #ECORE_CON_EVENT_SERVER_ADD is received. If it fails to complete, an | 873 | * @ref ECORE_CON_EVENT_SERVER_ADD is received. If it fails to complete, an |
871 | * #ECORE_CON_EVENT_SERVER_DEL will be received. | 874 | * @ref ECORE_CON_EVENT_SERVER_DEL will be received. |
872 | * | 875 | * |
873 | * The @p data parameter can be fetched later using ecore_con_server_data_get() | 876 | * The @p data parameter can be fetched later using ecore_con_server_data_get() |
874 | * or changed with ecore_con_server_data_set(). | 877 | * or changed with ecore_con_server_data_set(). |
@@ -1335,6 +1338,35 @@ typedef enum _Ecore_Con_Url_Time | |||
1335 | } Ecore_Con_Url_Time; | 1338 | } Ecore_Con_Url_Time; |
1336 | 1339 | ||
1337 | /** | 1340 | /** |
1341 | * @typedef Ecore_Con_Url_Http_Version | ||
1342 | * @enum _Ecore_Con_Url_Http_Version | ||
1343 | * The http version to use | ||
1344 | * @since 1.2 | ||
1345 | */ | ||
1346 | typedef enum _Ecore_Con_Url_Http_Version | ||
1347 | { | ||
1348 | /** | ||
1349 | * HTTP version 1.0 | ||
1350 | * @since 1.2 | ||
1351 | */ | ||
1352 | ECORE_CON_URL_HTTP_VERSION_1_0, | ||
1353 | /** | ||
1354 | * HTTP version 1.1 (default) | ||
1355 | * @since 1.2 | ||
1356 | */ | ||
1357 | ECORE_CON_URL_HTTP_VERSION_1_1 | ||
1358 | } Ecore_Con_Url_Http_Version; | ||
1359 | |||
1360 | /** | ||
1361 | * Change the HTTP version used for the request | ||
1362 | * @param version The version to be used | ||
1363 | * @return EINA_TRUE on success, EINA_FALSE on failure to change version | ||
1364 | * @since 1.2 | ||
1365 | * @see ecore_con_url_pipeline_get() | ||
1366 | */ | ||
1367 | EAPI Eina_Bool ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version); | ||
1368 | |||
1369 | /** | ||
1338 | * Initialises the Ecore_Con_Url library. | 1370 | * Initialises the Ecore_Con_Url library. |
1339 | * @return Number of times the library has been initialised without being | 1371 | * @return Number of times the library has been initialised without being |
1340 | * shut down. | 1372 | * shut down. |
@@ -1554,33 +1586,6 @@ EAPI Eina_Bool ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, | |||
1554 | const char *password, | 1586 | const char *password, |
1555 | Eina_Bool safe); | 1587 | Eina_Bool safe); |
1556 | /** | 1588 | /** |
1557 | * Sends a request. | ||
1558 | * | ||
1559 | * @param url_con Connection object to perform a request on, previously created | ||
1560 | * with ecore_con_url_new() or ecore_con_url_custom_new(). | ||
1561 | * @param data Payload (data sent on the request) | ||
1562 | * @param length Payload length. If @c -1, rely on automatic length | ||
1563 | * calculation via @c strlen() on @p data. | ||
1564 | * @param content_type Content type of the payload (e.g. text/xml) | ||
1565 | * | ||
1566 | * @return #EINA_TRUE on success, #EINA_FALSE on error. | ||
1567 | * | ||
1568 | * @see ecore_con_url_custom_new() | ||
1569 | * @see ecore_con_url_additional_headers_clear() | ||
1570 | * @see ecore_con_url_additional_header_add() | ||
1571 | * @see ecore_con_url_data_set() | ||
1572 | * @see ecore_con_url_data_get() | ||
1573 | * @see ecore_con_url_response_headers_get() | ||
1574 | * @see ecore_con_url_time() | ||
1575 | * @see ecore_con_url_get() | ||
1576 | * @see ecore_con_url_post() | ||
1577 | * | ||
1578 | * @deprecated Use ecore_con_url_post() instead of this. | ||
1579 | */ | ||
1580 | EINA_DEPRECATED EAPI Eina_Bool ecore_con_url_send(Ecore_Con_Url *url_con, | ||
1581 | const void *data, long length, | ||
1582 | const char *content_type); | ||
1583 | /** | ||
1584 | * Sends a get request. | 1589 | * Sends a get request. |
1585 | * | 1590 | * |
1586 | * @param url_con Connection object to perform a request on, previously created | 1591 | * @param url_con Connection object to perform a request on, previously created |
@@ -1913,6 +1918,16 @@ EAPI Eina_Bool ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const ch | |||
1913 | EAPI void ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout); | 1918 | EAPI void ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout); |
1914 | 1919 | ||
1915 | /** | 1920 | /** |
1921 | * Get the returned HTTP STATUS code | ||
1922 | * | ||
1923 | * This is used to, at any time, try to return the status code for a transmission. | ||
1924 | * @param url_con Connection object | ||
1925 | * @return A valid HTTP STATUS code, or 0 on failure | ||
1926 | * | ||
1927 | * @since 1.2 | ||
1928 | */ | ||
1929 | EAPI int ecore_con_url_status_code_get(Ecore_Con_Url *url_con); | ||
1930 | /** | ||
1916 | * @} | 1931 | * @} |
1917 | */ | 1932 | */ |
1918 | 1933 | ||
diff --git a/libraries/ecore/src/lib/ecore_con/Makefile.in b/libraries/ecore/src/lib/ecore_con/Makefile.in index 58811da..c35b08e 100644 --- a/libraries/ecore/src/lib/ecore_con/Makefile.in +++ b/libraries/ecore/src/lib/ecore_con/Makefile.in | |||
@@ -54,16 +54,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
54 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 54 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
55 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 55 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
56 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 56 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
57 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 57 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
58 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 58 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
59 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 59 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
60 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 60 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
61 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 61 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
62 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 62 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
63 | $(top_srcdir)/configure.ac | ||
64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 63 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
65 | $(ACLOCAL_M4) | 64 | $(ACLOCAL_M4) |
66 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 65 | mkinstalldirs = $(install_sh) -d |
67 | CONFIG_HEADER = $(top_builddir)/config.h | 66 | CONFIG_HEADER = $(top_builddir)/config.h |
68 | CONFIG_CLEAN_FILES = | 67 | CONFIG_CLEAN_FILES = |
69 | CONFIG_CLEAN_VPATH_FILES = | 68 | CONFIG_CLEAN_VPATH_FILES = |
@@ -210,6 +209,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
210 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 209 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
211 | EVIL_LIBS = @EVIL_LIBS@ | 210 | EVIL_LIBS = @EVIL_LIBS@ |
212 | EXEEXT = @EXEEXT@ | 211 | EXEEXT = @EXEEXT@ |
212 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
213 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
213 | FGREP = @FGREP@ | 214 | FGREP = @FGREP@ |
214 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 215 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
215 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 216 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -265,6 +266,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
265 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 266 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
266 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 267 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
267 | PKG_CONFIG = @PKG_CONFIG@ | 268 | PKG_CONFIG = @PKG_CONFIG@ |
269 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
270 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
268 | POSUB = @POSUB@ | 271 | POSUB = @POSUB@ |
269 | RANLIB = @RANLIB@ | 272 | RANLIB = @RANLIB@ |
270 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 273 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -275,6 +278,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
275 | SED = @SED@ | 278 | SED = @SED@ |
276 | SET_MAKE = @SET_MAKE@ | 279 | SET_MAKE = @SET_MAKE@ |
277 | SHELL = @SHELL@ | 280 | SHELL = @SHELL@ |
281 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
278 | SSL_CFLAGS = @SSL_CFLAGS@ | 282 | SSL_CFLAGS = @SSL_CFLAGS@ |
279 | SSL_LIBS = @SSL_LIBS@ | 283 | SSL_LIBS = @SSL_LIBS@ |
280 | STRIP = @STRIP@ | 284 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con.c b/libraries/ecore/src/lib/ecore_con/ecore_con.c index de291b3..fe83478 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con.c | |||
@@ -110,7 +110,10 @@ _ecore_con_client_kill(Ecore_Con_Client *cl) | |||
110 | if (cl->delete_me) | 110 | if (cl->delete_me) |
111 | DBG("Multi kill request for client %p", cl); | 111 | DBG("Multi kill request for client %p", cl); |
112 | else | 112 | else |
113 | ecore_con_event_client_del(cl); | 113 | { |
114 | ecore_con_event_client_del(cl); | ||
115 | if (cl->buf) return; | ||
116 | } | ||
114 | INF("Lost client %s", (cl->ip) ? cl->ip : ""); | 117 | INF("Lost client %s", (cl->ip) ? cl->ip : ""); |
115 | if (cl->fd_handler) | 118 | if (cl->fd_handler) |
116 | ecore_main_fd_handler_del(cl->fd_handler); | 119 | ecore_main_fd_handler_del(cl->fd_handler); |
@@ -461,7 +464,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type, | |||
461 | (!ecore_con_lookup(svr->name, (Ecore_Con_Dns_Cb)ecore_con_socks_dns_cb, svr))) | 464 | (!ecore_con_lookup(svr->name, (Ecore_Con_Dns_Cb)ecore_con_socks_dns_cb, svr))) |
462 | goto error; | 465 | goto error; |
463 | if (svr->ecs->lookup) | 466 | if (svr->ecs->lookup) |
464 | svr->ecs_state = ECORE_CON_SOCKS_STATE_RESOLVED; | 467 | svr->ecs_state = ECORE_CON_PROXY_STATE_RESOLVED; |
465 | } | 468 | } |
466 | } | 469 | } |
467 | if (ecore_con_ssl_server_prepare(svr, compl_type & ECORE_CON_SSL)) | 470 | if (ecore_con_ssl_server_prepare(svr, compl_type & ECORE_CON_SSL)) |
@@ -1031,7 +1034,7 @@ ecore_con_event_server_del(Ecore_Con_Server *svr) | |||
1031 | e->server = svr; | 1034 | e->server = svr; |
1032 | if (svr->ecs) | 1035 | if (svr->ecs) |
1033 | { | 1036 | { |
1034 | svr->ecs_state = svr->ecs->lookup ? ECORE_CON_SOCKS_STATE_RESOLVED : ECORE_CON_SOCKS_STATE_DONE; | 1037 | svr->ecs_state = svr->ecs->lookup ? ECORE_CON_PROXY_STATE_RESOLVED : ECORE_CON_PROXY_STATE_DONE; |
1035 | eina_stringshare_replace(&svr->proxyip, NULL); | 1038 | eina_stringshare_replace(&svr->proxyip, NULL); |
1036 | svr->proxyport = 0; | 1039 | svr->proxyport = 0; |
1037 | } | 1040 | } |
@@ -1320,7 +1323,7 @@ _ecore_con_client_free(Ecore_Con_Client *cl) | |||
1320 | if (cl->event_count) return; | 1323 | if (cl->event_count) return; |
1321 | ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); | 1324 | ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); |
1322 | 1325 | ||
1323 | free(cl->buf); | 1326 | if (cl->buf) eina_binbuf_free(cl->buf); |
1324 | 1327 | ||
1325 | if (cl->host_server->type & ECORE_CON_SSL) | 1328 | if (cl->host_server->type & ECORE_CON_SSL) |
1326 | ecore_con_ssl_client_shutdown(cl); | 1329 | ecore_con_ssl_client_shutdown(cl); |
@@ -1736,7 +1739,7 @@ svr_try_connect_plain(Ecore_Con_Server *svr) | |||
1736 | if (so_err) | 1739 | if (so_err) |
1737 | { | 1740 | { |
1738 | /* we lost our server! */ | 1741 | /* we lost our server! */ |
1739 | ecore_con_event_server_error(svr, strerror(errno)); | 1742 | ecore_con_event_server_error(svr, strerror(so_err)); |
1740 | ERR("Connection lost: %s", strerror(so_err)); | 1743 | ERR("Connection lost: %s", strerror(so_err)); |
1741 | _ecore_con_server_kill(svr); | 1744 | _ecore_con_server_kill(svr); |
1742 | return ECORE_CON_DISCONNECTED; | 1745 | return ECORE_CON_DISCONNECTED; |
@@ -1971,9 +1974,9 @@ _ecore_con_cl_handler(void *data, | |||
1971 | ecore_con_event_server_add(svr); | 1974 | ecore_con_event_server_add(svr); |
1972 | return ECORE_CALLBACK_RENEW; | 1975 | return ECORE_CALLBACK_RENEW; |
1973 | } | 1976 | } |
1974 | if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_SOCKS_STATE_READ) && (!svr->ecs_buf)) | 1977 | if (svr->ecs && svr->ecs_state && (svr->ecs_state < ECORE_CON_PROXY_STATE_READ) && (!svr->ecs_buf)) |
1975 | { | 1978 | { |
1976 | if (svr->ecs_state < ECORE_CON_SOCKS_STATE_INIT) | 1979 | if (svr->ecs_state < ECORE_CON_PROXY_STATE_INIT) |
1977 | { | 1980 | { |
1978 | INF("PROXY STATE++"); | 1981 | INF("PROXY STATE++"); |
1979 | svr->ecs_state++; | 1982 | svr->ecs_state++; |
@@ -2271,7 +2274,7 @@ _ecore_con_server_flush(Ecore_Con_Server *svr) | |||
2271 | static void | 2274 | static void |
2272 | _ecore_con_client_flush(Ecore_Con_Client *cl) | 2275 | _ecore_con_client_flush(Ecore_Con_Client *cl) |
2273 | { | 2276 | { |
2274 | int num, count = 0; | 2277 | int num = 0, count = 0; |
2275 | 2278 | ||
2276 | #ifdef _WIN32 | 2279 | #ifdef _WIN32 |
2277 | if (ecore_con_local_win32_client_flush(cl)) | 2280 | if (ecore_con_local_win32_client_flush(cl)) |
@@ -2314,7 +2317,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl) | |||
2314 | } | 2317 | } |
2315 | 2318 | ||
2316 | if (count) ecore_con_event_client_write(cl, count); | 2319 | if (count) ecore_con_event_client_write(cl, count); |
2317 | cl->buf_offset += count; | 2320 | cl->buf_offset += count, num -= count; |
2318 | if (cl->buf_offset >= eina_binbuf_length_get(cl->buf)) | 2321 | if (cl->buf_offset >= eina_binbuf_length_get(cl->buf)) |
2319 | { | 2322 | { |
2320 | cl->buf_offset = 0; | 2323 | cl->buf_offset = 0; |
@@ -2332,7 +2335,7 @@ _ecore_con_client_flush(Ecore_Con_Client *cl) | |||
2332 | if (cl->fd_handler) | 2335 | if (cl->fd_handler) |
2333 | ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ); | 2336 | ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ); |
2334 | } | 2337 | } |
2335 | else if ((count < num) && cl->fd_handler) | 2338 | else if (cl->fd_handler && (num >= 0)) |
2336 | ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_WRITE); | 2339 | ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_WRITE); |
2337 | } | 2340 | } |
2338 | 2341 | ||
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_private.h b/libraries/ecore/src/lib/ecore_con/ecore_con_private.h index 35f2310..91f5d39 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_private.h +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_private.h | |||
@@ -56,7 +56,7 @@ extern int _ecore_con_log_dom; | |||
56 | 56 | ||
57 | typedef struct _Ecore_Con_Lookup Ecore_Con_Lookup; | 57 | typedef struct _Ecore_Con_Lookup Ecore_Con_Lookup; |
58 | typedef struct _Ecore_Con_Info Ecore_Con_Info; | 58 | typedef struct _Ecore_Con_Info Ecore_Con_Info; |
59 | typedef struct Ecore_Con_Socks_v4 Ecore_Con_Socks_v4; | 59 | typedef struct Ecore_Con_Socks Ecore_Con_Socks_v4; |
60 | typedef struct Ecore_Con_Socks_v5 Ecore_Con_Socks_v5; | 60 | typedef struct Ecore_Con_Socks_v5 Ecore_Con_Socks_v5; |
61 | typedef void (*Ecore_Con_Info_Cb)(void *data, Ecore_Con_Info *infos); | 61 | typedef void (*Ecore_Con_Info_Cb)(void *data, Ecore_Con_Info *infos); |
62 | 62 | ||
@@ -83,13 +83,18 @@ typedef enum _Ecore_Con_Ssl_Handshake | |||
83 | ECORE_CON_SSL_STATE_INIT | 83 | ECORE_CON_SSL_STATE_INIT |
84 | } Ecore_Con_Ssl_State; | 84 | } Ecore_Con_Ssl_State; |
85 | 85 | ||
86 | typedef enum Ecore_Con_Socks_State | 86 | typedef enum Ecore_Con_Proxy_State |
87 | { | 87 | { /* named PROXY instead of SOCKS in case some handsome and enterprising |
88 | ECORE_CON_SOCKS_STATE_DONE = 0, | 88 | * developer decides to add HTTP CONNECT support |
89 | ECORE_CON_SOCKS_STATE_RESOLVED, | 89 | */ |
90 | ECORE_CON_SOCKS_STATE_INIT, | 90 | ECORE_CON_PROXY_STATE_DONE = 0, |
91 | ECORE_CON_SOCKS_STATE_READ | 91 | ECORE_CON_PROXY_STATE_RESOLVED, |
92 | } Ecore_Con_Socks_State; | 92 | ECORE_CON_PROXY_STATE_INIT, |
93 | ECORE_CON_PROXY_STATE_READ, | ||
94 | ECORE_CON_PROXY_STATE_AUTH, | ||
95 | ECORE_CON_PROXY_STATE_REQUEST, | ||
96 | ECORE_CON_PROXY_STATE_CONFIRM, | ||
97 | } Ecore_Con_Proxy_State; | ||
93 | 98 | ||
94 | struct _Ecore_Con_Client | 99 | struct _Ecore_Con_Client |
95 | { | 100 | { |
@@ -140,7 +145,7 @@ struct _Ecore_Con_Server | |||
140 | pid_t ppid; | 145 | pid_t ppid; |
141 | /* socks */ | 146 | /* socks */ |
142 | Ecore_Con_Socks *ecs; | 147 | Ecore_Con_Socks *ecs; |
143 | Ecore_Con_Socks_State ecs_state; | 148 | Ecore_Con_Proxy_State ecs_state; |
144 | int ecs_addrlen; | 149 | int ecs_addrlen; |
145 | unsigned char ecs_addr[16]; | 150 | unsigned char ecs_addr[16]; |
146 | unsigned int ecs_buf_offset; | 151 | unsigned int ecs_buf_offset; |
@@ -202,6 +207,7 @@ struct _Ecore_Con_Url | |||
202 | Eina_List *response_headers; | 207 | Eina_List *response_headers; |
203 | const char *url; | 208 | const char *url; |
204 | long proxy_type; | 209 | long proxy_type; |
210 | int status; | ||
205 | 211 | ||
206 | Ecore_Timer *timer; | 212 | Ecore_Timer *timer; |
207 | 213 | ||
@@ -213,6 +219,10 @@ struct _Ecore_Con_Url | |||
213 | 219 | ||
214 | int received; | 220 | int received; |
215 | int write_fd; | 221 | int write_fd; |
222 | |||
223 | unsigned int event_count; | ||
224 | Eina_Bool dead : 1; | ||
225 | Eina_Bool multi : 1; | ||
216 | }; | 226 | }; |
217 | #endif | 227 | #endif |
218 | 228 | ||
@@ -239,24 +249,14 @@ struct _Ecore_Con_Lookup | |||
239 | v5 = (Ecore_Con_Socks_v5*)(X); \ | 249 | v5 = (Ecore_Con_Socks_v5*)(X); \ |
240 | else | 250 | else |
241 | 251 | ||
242 | struct Ecore_Con_Socks | 252 | struct Ecore_Con_Socks /* v4 */ |
243 | { | ||
244 | unsigned char version; | ||
245 | |||
246 | const char *ip; | ||
247 | int port; | ||
248 | const char *username; | ||
249 | Eina_Bool lookup : 1; | ||
250 | Eina_Bool bind : 1; | ||
251 | }; | ||
252 | |||
253 | struct Ecore_Con_Socks_v4 | ||
254 | { | 253 | { |
255 | unsigned char version; | 254 | unsigned char version; |
256 | 255 | ||
257 | const char *ip; | 256 | const char *ip; |
258 | int port; | 257 | int port; |
259 | const char *username; | 258 | const char *username; |
259 | unsigned int ulen; | ||
260 | Eina_Bool lookup : 1; | 260 | Eina_Bool lookup : 1; |
261 | Eina_Bool bind : 1; | 261 | Eina_Bool bind : 1; |
262 | }; | 262 | }; |
@@ -268,8 +268,13 @@ struct Ecore_Con_Socks_v5 | |||
268 | const char *ip; | 268 | const char *ip; |
269 | int port; | 269 | int port; |
270 | const char *username; | 270 | const char *username; |
271 | unsigned int ulen; | ||
271 | Eina_Bool lookup : 1; | 272 | Eina_Bool lookup : 1; |
272 | Eina_Bool bind : 1; | 273 | Eina_Bool bind : 1; |
274 | /* v5 only */ | ||
275 | unsigned char method; | ||
276 | const char *password; | ||
277 | unsigned int plen; | ||
273 | }; | 278 | }; |
274 | 279 | ||
275 | extern Ecore_Con_Socks *_ecore_con_proxy_once; | 280 | extern Ecore_Con_Socks *_ecore_con_proxy_once; |
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c b/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c index aecaff0..686f73b 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_socks.c | |||
@@ -10,6 +10,10 @@ | |||
10 | #include <unistd.h> | 10 | #include <unistd.h> |
11 | #include <fcntl.h> | 11 | #include <fcntl.h> |
12 | 12 | ||
13 | #ifdef HAVE_SYS_SOCKET_H | ||
14 | # include <sys/socket.h> | ||
15 | #endif | ||
16 | |||
13 | #ifdef HAVE_NETINET_TCP_H | 17 | #ifdef HAVE_NETINET_TCP_H |
14 | # include <netinet/tcp.h> | 18 | # include <netinet/tcp.h> |
15 | #endif | 19 | #endif |
@@ -36,10 +40,6 @@ | |||
36 | # include <arpa/inet.h> | 40 | # include <arpa/inet.h> |
37 | #endif | 41 | #endif |
38 | 42 | ||
39 | #ifdef HAVE_SYS_SOCKET_H | ||
40 | # include <sys/socket.h> | ||
41 | #endif | ||
42 | |||
43 | #ifdef HAVE_SYS_UN_H | 43 | #ifdef HAVE_SYS_UN_H |
44 | # include <sys/un.h> | 44 | # include <sys/un.h> |
45 | #endif | 45 | #endif |
@@ -57,6 +57,27 @@ | |||
57 | #include "Ecore_Con.h" | 57 | #include "Ecore_Con.h" |
58 | #include "ecore_con_private.h" | 58 | #include "ecore_con_private.h" |
59 | 59 | ||
60 | /* http://tools.ietf.org/html/rfc1928 | ||
61 | o X'00' NO AUTHENTICATION REQUIRED | ||
62 | o X'01' GSSAPI | ||
63 | o X'02' USERNAME/PASSWORD | ||
64 | o X'03' to X'7F' IANA ASSIGNED | ||
65 | o X'80' to X'FE' RESERVED FOR PRIVATE METHODS | ||
66 | o X'FF' NO ACCEPTABLE METHODS | ||
67 | */ | ||
68 | #define ECORE_CON_SOCKS_V5_METHOD_NONE 0 | ||
69 | #define ECORE_CON_SOCKS_V5_METHOD_GSSAPI 1 | ||
70 | #define ECORE_CON_SOCKS_V5_METHOD_USERPASS 2 | ||
71 | |||
72 | static int ECORE_CON_SOCKS_V5_METHODS[] = | ||
73 | { | ||
74 | ECORE_CON_SOCKS_V5_METHOD_NONE, | ||
75 | // ECORE_CON_SOCKS_V5_METHOD_GSSAPI, TODO | ||
76 | ECORE_CON_SOCKS_V5_METHOD_USERPASS | ||
77 | }; | ||
78 | |||
79 | #define ECORE_CON_SOCKS_V5_TOTAL_METHODS sizeof(ECORE_CON_SOCKS_V5_METHODS) | ||
80 | |||
60 | #define _ecore_con_server_kill(svr) do { \ | 81 | #define _ecore_con_server_kill(svr) do { \ |
61 | DBG("KILL %p", (svr)); \ | 82 | DBG("KILL %p", (svr)); \ |
62 | _ecore_con_server_kill((svr)); \ | 83 | _ecore_con_server_kill((svr)); \ |
@@ -65,10 +86,10 @@ | |||
65 | Eina_List *ecore_con_socks_proxies = NULL; | 86 | Eina_List *ecore_con_socks_proxies = NULL; |
66 | 87 | ||
67 | static Ecore_Con_Socks * | 88 | static Ecore_Con_Socks * |
68 | _ecore_con_socks_find(unsigned char version, const char *ip, int port, const char *username) | 89 | _ecore_con_socks_find(unsigned char version, const char *ip, int port, const char *username, size_t ulen, const char *password, size_t plen) |
69 | { | 90 | { |
70 | Eina_List *l; | 91 | Eina_List *l; |
71 | Ecore_Con_Socks *ecs; | 92 | Ecore_Con_Socks_v5 *ecs; |
72 | 93 | ||
73 | if (!ecore_con_socks_proxies) return NULL; | 94 | if (!ecore_con_socks_proxies) return NULL; |
74 | 95 | ||
@@ -77,8 +98,14 @@ _ecore_con_socks_find(unsigned char version, const char *ip, int port, const cha | |||
77 | if (ecs->version != version) continue; | 98 | if (ecs->version != version) continue; |
78 | if (strcmp(ecs->ip, ip)) continue; | 99 | if (strcmp(ecs->ip, ip)) continue; |
79 | if ((port != -1) && (port != ecs->port)) continue; | 100 | if ((port != -1) && (port != ecs->port)) continue; |
101 | if (ulen != ecs->ulen) continue; | ||
80 | if (username && strcmp(ecs->username, username)) continue; | 102 | if (username && strcmp(ecs->username, username)) continue; |
81 | return ecs; | 103 | if (version == 5) |
104 | { | ||
105 | if (plen != ecs->plen) continue; | ||
106 | if (password && strcmp(ecs->password, password)) continue; | ||
107 | } | ||
108 | return (Ecore_Con_Socks*)ecs; | ||
82 | } | 109 | } |
83 | return NULL; | 110 | return NULL; |
84 | } | 111 | } |
@@ -94,146 +121,424 @@ _ecore_con_socks_free(Ecore_Con_Socks *ecs) | |||
94 | eina_stringshare_del(ecs->username); | 121 | eina_stringshare_del(ecs->username); |
95 | free(ecs); | 122 | free(ecs); |
96 | } | 123 | } |
97 | ///////////////////////////////////////////////////////////////////////////////////// | 124 | |
98 | void | 125 | static Eina_Bool |
99 | ecore_con_socks_shutdown(void) | 126 | _ecore_con_socks_svr_init_v4(Ecore_Con_Server *svr, Ecore_Con_Socks_v4 *v4) |
100 | { | 127 | { |
101 | Ecore_Con_Socks *ecs; | 128 | size_t addrlen, buflen, ulen = 1; |
102 | EINA_LIST_FREE(ecore_con_socks_proxies, ecs) | 129 | unsigned char *sbuf; |
103 | _ecore_con_socks_free(ecs); | 130 | |
104 | _ecore_con_proxy_once = NULL; | 131 | addrlen = v4->lookup ? strlen(svr->name) + 1 : 0; |
105 | _ecore_con_proxy_global = NULL; | 132 | if (v4->username) ulen += v4->ulen; |
133 | buflen = sizeof(char) * (8 + ulen + addrlen); | ||
134 | sbuf = malloc(buflen); | ||
135 | if (!sbuf) | ||
136 | { | ||
137 | ecore_con_event_server_error(svr, "Memory allocation failure!"); | ||
138 | _ecore_con_server_kill(svr); | ||
139 | return EINA_FALSE; | ||
140 | } | ||
141 | /* http://en.wikipedia.org/wiki/SOCKS */ | ||
142 | sbuf[0] = 4; | ||
143 | sbuf[1] = v4->bind ? 2 : 1; | ||
144 | sbuf[2] = svr->port >> 8; | ||
145 | sbuf[3] = svr->port & 0xff; | ||
146 | if (addrlen) | ||
147 | { | ||
148 | sbuf[4] = sbuf[5] = sbuf[6] = 0; | ||
149 | sbuf[7] = 1; | ||
150 | } | ||
151 | else | ||
152 | /* SOCKSv4 only handles IPV4, so addrlen is always 4 */ | ||
153 | memcpy(sbuf + 4, svr->ecs_addr, 4); | ||
154 | if (v4->username) | ||
155 | memcpy(sbuf + 8, v4->username, ulen); | ||
156 | else | ||
157 | sbuf[8] = 0; | ||
158 | if (addrlen) memcpy(sbuf + 8 + ulen, svr->name, addrlen); | ||
159 | |||
160 | svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); | ||
161 | return EINA_TRUE; | ||
106 | } | 162 | } |
107 | 163 | ||
108 | void | 164 | static Eina_Bool |
109 | ecore_con_socks_read(Ecore_Con_Server *svr, unsigned char *buf, int num) | 165 | _ecore_con_socks_svr_init_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5) |
166 | { | ||
167 | size_t buflen; | ||
168 | unsigned int x; | ||
169 | unsigned char *sbuf; | ||
170 | |||
171 | if (v5->username) | ||
172 | buflen = sizeof(char) * (2 + ECORE_CON_SOCKS_V5_TOTAL_METHODS); | ||
173 | else | ||
174 | buflen = 3; | ||
175 | sbuf = malloc(buflen); | ||
176 | if (!sbuf) | ||
177 | { | ||
178 | ecore_con_event_server_error(svr, "Memory allocation failure!"); | ||
179 | _ecore_con_server_kill(svr); | ||
180 | return EINA_FALSE; | ||
181 | } | ||
182 | /* http://en.wikipedia.org/wiki/SOCKS | ||
183 | * http://tools.ietf.org/html/rfc1928 | ||
184 | */ | ||
185 | sbuf[0] = 5; | ||
186 | if (v5->username) | ||
187 | { | ||
188 | sbuf[1] = ECORE_CON_SOCKS_V5_TOTAL_METHODS; | ||
189 | for (x = 2; x < 2 + ECORE_CON_SOCKS_V5_TOTAL_METHODS; x++) | ||
190 | sbuf[x] = ECORE_CON_SOCKS_V5_METHODS[x - 2]; | ||
191 | } | ||
192 | else | ||
193 | { | ||
194 | sbuf[1] = 1; | ||
195 | sbuf[2] = ECORE_CON_SOCKS_V5_METHOD_NONE; | ||
196 | } | ||
197 | |||
198 | svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); | ||
199 | return EINA_TRUE; | ||
200 | } | ||
201 | |||
202 | #define ECORE_CON_SOCKS_READ(EXACT) \ | ||
203 | if (num < EXACT) \ | ||
204 | { \ | ||
205 | if (!svr->ecs_recvbuf) svr->ecs_recvbuf = eina_binbuf_new(); \ | ||
206 | if (!svr->ecs_recvbuf) goto error; \ | ||
207 | eina_binbuf_append_length(svr->ecs_recvbuf, buf, num); \ | ||
208 | /* the slowest connection on earth */ \ | ||
209 | if (eina_binbuf_length_get(svr->ecs_recvbuf) != EXACT) return; \ | ||
210 | data = eina_binbuf_string_get(svr->ecs_recvbuf); \ | ||
211 | } \ | ||
212 | else if (num > EXACT) goto error; \ | ||
213 | else \ | ||
214 | data = buf | ||
215 | |||
216 | static void | ||
217 | _ecore_con_socks_read_v4(Ecore_Con_Server *svr, Ecore_Con_Socks_v4 *v4 __UNUSED__, const unsigned char *buf, unsigned int num) | ||
110 | { | 218 | { |
111 | const unsigned char *data; | 219 | const unsigned char *data; |
112 | ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return; | 220 | DBG("SOCKS: %d bytes", num); |
221 | ECORE_CON_SOCKS_READ(8); | ||
113 | 222 | ||
114 | if (svr->ecs_state != ECORE_CON_SOCKS_STATE_READ) return; | 223 | /* http://ufasoft.com/doc/socks4_protocol.htm */ |
224 | if (data[0]) goto error; | ||
225 | switch (data[1]) | ||
226 | { | ||
227 | case 90: | ||
228 | /* success! */ | ||
229 | break; | ||
230 | case 91: | ||
231 | ecore_con_event_server_error(svr, "proxy request rejected or failed"); | ||
232 | goto error; | ||
233 | case 92: | ||
234 | ecore_con_event_server_error(svr, "proxying SOCKS server could not perform authentication"); | ||
235 | goto error; | ||
236 | case 93: | ||
237 | ecore_con_event_server_error(svr, "proxy request authentication rejected"); | ||
238 | goto error; | ||
239 | default: | ||
240 | ecore_con_event_server_error(svr, "garbage data from proxy"); | ||
241 | goto error; | ||
242 | } | ||
243 | if (svr->ecs->bind) | ||
244 | { | ||
245 | unsigned int nport; | ||
246 | char naddr[IF_NAMESIZE]; | ||
115 | 247 | ||
116 | if (v4) | 248 | memcpy(&nport, &data[2], 2); |
249 | svr->proxyport = ntohl(nport); | ||
250 | |||
251 | if (!inet_ntop(AF_INET, &data[4], naddr, sizeof(naddr))) goto error; | ||
252 | svr->proxyip = eina_stringshare_add(naddr); | ||
253 | ecore_con_event_proxy_bind(svr); | ||
254 | } | ||
255 | svr->ecs_state = ECORE_CON_PROXY_STATE_DONE; | ||
256 | INF("PROXY CONNECTED"); | ||
257 | if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); | ||
258 | svr->ecs_recvbuf = NULL; | ||
259 | svr->ecs_buf_offset = svr->ecs_addrlen = 0; | ||
260 | memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); | ||
261 | if (!svr->ssl_state) | ||
262 | ecore_con_event_server_add(svr); | ||
263 | if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) | ||
264 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); | ||
265 | return; | ||
266 | error: | ||
267 | _ecore_con_server_kill(svr); | ||
268 | } | ||
269 | |||
270 | static Eina_Bool | ||
271 | _ecore_con_socks_auth_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5) | ||
272 | { | ||
273 | size_t size; | ||
274 | unsigned char *data; | ||
275 | switch (v5->method) | ||
276 | { | ||
277 | case ECORE_CON_SOCKS_V5_METHOD_NONE: | ||
278 | svr->ecs_state = ECORE_CON_PROXY_STATE_REQUEST; | ||
279 | return EINA_TRUE; | ||
280 | case ECORE_CON_SOCKS_V5_METHOD_GSSAPI: | ||
281 | return EINA_TRUE; | ||
282 | case ECORE_CON_SOCKS_V5_METHOD_USERPASS: | ||
283 | if (!v5->username) return EINA_FALSE; | ||
284 | if (!v5->password) v5->plen = 1; | ||
285 | /* http://tools.ietf.org/html/rfc1929 */ | ||
286 | size = sizeof(char) * (3 + v5->ulen + v5->plen); | ||
287 | data = malloc(size); | ||
288 | if (!data) break; | ||
289 | data[0] = 1; | ||
290 | data[1] = v5->ulen; | ||
291 | memcpy(&data[2], v5->username, v5->ulen); | ||
292 | data[1 + v5->ulen] = v5->plen; | ||
293 | if (v5->password) | ||
294 | memcpy(&data[2 + v5->ulen], v5->password, v5->plen); | ||
295 | else | ||
296 | data[2 + v5->ulen] = 0; | ||
297 | svr->ecs_buf = eina_binbuf_manage_new_length(data, size); | ||
298 | return EINA_TRUE; | ||
299 | default: | ||
300 | break; | ||
301 | } | ||
302 | return EINA_FALSE; | ||
303 | } | ||
304 | |||
305 | static void | ||
306 | _ecore_con_socks_read_v5(Ecore_Con_Server *svr, Ecore_Con_Socks_v5 *v5, const unsigned char *buf, unsigned int num) | ||
307 | { | ||
308 | const unsigned char *data; | ||
309 | |||
310 | DBG("SOCKS: %d bytes", num); | ||
311 | switch (svr->ecs_state) | ||
117 | { | 312 | { |
118 | DBG("SOCKS: %d bytes", num); | ||
119 | if (num < 8) | ||
120 | { | ||
121 | if (!svr->ecs_recvbuf) svr->ecs_recvbuf = eina_binbuf_new(); | ||
122 | if (!svr->ecs_recvbuf) goto error; | ||
123 | eina_binbuf_append_length(svr->ecs_recvbuf, buf, num); | ||
124 | /* the slowest connection on earth */ | ||
125 | if (eina_binbuf_length_get(svr->ecs_recvbuf) != 8) return; | ||
126 | data = eina_binbuf_string_get(svr->ecs_recvbuf); | ||
127 | } | ||
128 | else if (num > 8) goto error; | ||
129 | else | ||
130 | data = buf; | ||
131 | 313 | ||
132 | /* http://ufasoft.com/doc/socks4_protocol.htm */ | 314 | case ECORE_CON_PROXY_STATE_READ: |
133 | if (data[0]) goto error; | 315 | ECORE_CON_SOCKS_READ(2); |
134 | switch (data[1]) | 316 | /* http://en.wikipedia.org/wiki/SOCKS */ |
317 | if (data[0] != 5) goto error; | ||
318 | if (data[1] == 0xFF) | ||
319 | { | ||
320 | ecore_con_event_server_error(svr, "proxy authentication methods rejected"); | ||
321 | goto error; | ||
322 | } | ||
323 | v5->method = data[1]; | ||
324 | if (!_ecore_con_socks_auth_v5(svr, v5)) goto error; | ||
325 | if (svr->ecs_state == ECORE_CON_PROXY_STATE_REQUEST) | ||
326 | { | ||
327 | /* run again to skip auth reading */ | ||
328 | _ecore_con_socks_read_v5(svr, v5, NULL, 0); | ||
329 | return; | ||
330 | } | ||
331 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); | ||
332 | svr->ecs_state = ECORE_CON_PROXY_STATE_AUTH; | ||
333 | break; | ||
334 | case ECORE_CON_PROXY_STATE_AUTH: | ||
335 | ECORE_CON_SOCKS_READ(2); | ||
336 | switch (v5->method) | ||
337 | { | ||
338 | case ECORE_CON_SOCKS_V5_METHOD_NONE: | ||
339 | CRIT("HOW DID THIS HAPPEN?????????"); | ||
340 | goto error; | ||
341 | case ECORE_CON_SOCKS_V5_METHOD_GSSAPI: | ||
342 | /* TODO: this */ | ||
343 | break; | ||
344 | case ECORE_CON_SOCKS_V5_METHOD_USERPASS: | ||
345 | if (data[0] != 1) | ||
346 | { | ||
347 | ecore_con_event_server_error(svr, "protocol error"); | ||
348 | goto error; /* wrong version */ | ||
349 | } | ||
350 | if (data[1]) | ||
351 | { | ||
352 | ecore_con_event_server_error(svr, "proxy request authentication rejected"); | ||
353 | goto error; | ||
354 | } | ||
355 | default: | ||
356 | break; | ||
357 | } | ||
358 | case ECORE_CON_PROXY_STATE_REQUEST: | ||
135 | { | 359 | { |
136 | case 90: | 360 | size_t addrlen, buflen; |
137 | /* success! */ | 361 | unsigned char *sbuf; |
138 | break; | 362 | addrlen = v5->lookup ? strlen(svr->name) + 1 : (unsigned int)svr->ecs_addrlen; |
139 | case 91: | 363 | buflen = sizeof(char) * (6 + addrlen); |
140 | ecore_con_event_server_error(svr, "proxy request rejected or failed"); | 364 | sbuf = malloc(buflen); |
141 | goto error; | 365 | if (!sbuf) |
142 | case 92: | 366 | { |
143 | ecore_con_event_server_error(svr, "proxying SOCKS server could not perform authentication"); | 367 | ecore_con_event_server_error(svr, "Memory allocation failure!"); |
144 | goto error; | 368 | goto error; |
145 | case 93: | 369 | } |
146 | ecore_con_event_server_error(svr, "proxy request authentication rejected"); | 370 | sbuf[0] = 5; |
147 | goto error; | 371 | sbuf[1] = v5->bind ? 2 : 1; /* TODO: 0x03 for UDP port association */ |
148 | default: | 372 | sbuf[2] = 0; |
149 | ecore_con_event_server_error(svr, "garbage data from proxy"); | 373 | if (v5->lookup) /* domain name */ |
150 | goto error; | 374 | { |
375 | sbuf[3] = 3; | ||
376 | sbuf[4] = addrlen - 1; | ||
377 | memcpy(sbuf + 5, svr->name, addrlen - 1); | ||
378 | } | ||
379 | else | ||
380 | { | ||
381 | sbuf[3] = (svr->ecs_addrlen == 4) ? 1 : 4; | ||
382 | memcpy(sbuf + 4, svr->ecs_addr, addrlen); | ||
383 | } | ||
384 | sbuf[addrlen + 4] = svr->port >> 8; | ||
385 | sbuf[addrlen + 5] = svr->port & 0xff; | ||
386 | |||
387 | svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); | ||
388 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); | ||
389 | break; | ||
151 | } | 390 | } |
152 | if (svr->ecs->bind) | 391 | case ECORE_CON_PROXY_STATE_CONFIRM: |
153 | { | 392 | { |
154 | unsigned int nport; | 393 | /* this is ugly because we have to read an exact number of bytes, |
155 | char naddr[IF_NAMESIZE]; | 394 | * but we don't know what that number is until we've already read |
156 | 395 | * at least 5 bytes to determine the length of the unknown stream. | |
157 | memcpy(&nport, &data[2], 2); | 396 | * yep. |
158 | svr->proxyport = ntohl(nport); | 397 | */ |
159 | 398 | size_t to_read, len = svr->ecs_recvbuf ? eina_binbuf_length_get(svr->ecs_recvbuf) : 0; | |
160 | if (!inet_ntop(AF_INET, &data[4], naddr, sizeof(naddr))) goto error; | 399 | if (num + len < 5) |
161 | svr->proxyip = eina_stringshare_add(naddr); | 400 | { |
162 | ecore_con_event_proxy_bind(svr); | 401 | /* guarantees we get called again */ |
402 | ECORE_CON_SOCKS_READ(5); | ||
403 | } | ||
404 | if (len >= 5) | ||
405 | { | ||
406 | data = eina_binbuf_string_get(svr->ecs_recvbuf); | ||
407 | data += 3; | ||
408 | } | ||
409 | else | ||
410 | data = buf + 3 - len; | ||
411 | switch (data[0]) | ||
412 | { | ||
413 | case 1: | ||
414 | to_read = 4; | ||
415 | break; | ||
416 | case 3: | ||
417 | to_read = data[1] + 1; | ||
418 | break; | ||
419 | case 4: | ||
420 | to_read = 16; | ||
421 | /* lazy debugging stub comment */ | ||
422 | break; | ||
423 | default: | ||
424 | ecore_con_event_server_error(svr, "protocol error"); | ||
425 | goto error; | ||
426 | } | ||
427 | /* at this point, we finally know exactly how much we need to read */ | ||
428 | ECORE_CON_SOCKS_READ(6 + to_read); | ||
429 | |||
430 | if (data[0] != 5) | ||
431 | { | ||
432 | ecore_con_event_server_error(svr, "protocol error"); | ||
433 | goto error; /* wrong version */ | ||
434 | } | ||
435 | switch (data[1]) | ||
436 | { | ||
437 | case 0: | ||
438 | break; | ||
439 | case 1: | ||
440 | ecore_con_event_server_error(svr, "general proxy failure"); | ||
441 | goto error; | ||
442 | case 2: | ||
443 | ecore_con_event_server_error(svr, "connection not allowed by ruleset"); | ||
444 | goto error; | ||
445 | case 3: | ||
446 | ecore_con_event_server_error(svr, "network unreachable"); | ||
447 | goto error; | ||
448 | case 4: | ||
449 | ecore_con_event_server_error(svr, "host unreachable"); | ||
450 | goto error; | ||
451 | case 5: | ||
452 | ecore_con_event_server_error(svr, "connection refused by destination host"); | ||
453 | goto error; | ||
454 | case 6: | ||
455 | ecore_con_event_server_error(svr, "TTL expired"); | ||
456 | goto error; | ||
457 | case 7: | ||
458 | ecore_con_event_server_error(svr, "command not supported / protocol error"); | ||
459 | goto error; | ||
460 | case 8: | ||
461 | ecore_con_event_server_error(svr, "address type not supported"); | ||
462 | default: | ||
463 | goto error; | ||
464 | } | ||
465 | if (data[2]) | ||
466 | { | ||
467 | ecore_con_event_server_error(svr, "protocol error"); | ||
468 | goto error; | ||
469 | } | ||
470 | memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); | ||
471 | if (!svr->ssl_state) | ||
472 | ecore_con_event_server_add(svr); | ||
473 | if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) | ||
474 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); | ||
475 | svr->ecs_buf_offset = svr->ecs_addrlen = 0; | ||
476 | svr->ecs_state = ECORE_CON_PROXY_STATE_DONE; | ||
477 | INF("PROXY CONNECTED"); | ||
478 | break; | ||
163 | } | 479 | } |
164 | svr->ecs_state = ECORE_CON_SOCKS_STATE_DONE; | 480 | default: |
165 | INF("PROXY CONNECTED"); | 481 | break; |
166 | if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); | ||
167 | svr->ecs_recvbuf = NULL; | ||
168 | svr->ecs_buf_offset = svr->ecs_addrlen = 0; | ||
169 | memset(svr->ecs_addr, 0, sizeof(svr->ecs_addr)); | ||
170 | if (!svr->ssl_state) | ||
171 | ecore_con_event_server_add(svr); | ||
172 | if (svr->ssl_state || (svr->buf && eina_binbuf_length_get(svr->buf))) | ||
173 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); | ||
174 | } | 482 | } |
483 | if (svr->ecs_recvbuf) eina_binbuf_free(svr->ecs_recvbuf); | ||
484 | svr->ecs_recvbuf = NULL; | ||
485 | |||
175 | return; | 486 | return; |
176 | error: | 487 | error: |
177 | _ecore_con_server_kill(svr); | 488 | _ecore_con_server_kill(svr); |
178 | } | 489 | } |
179 | 490 | ||
491 | ///////////////////////////////////////////////////////////////////////////////////// | ||
492 | void | ||
493 | ecore_con_socks_shutdown(void) | ||
494 | { | ||
495 | Ecore_Con_Socks *ecs; | ||
496 | EINA_LIST_FREE(ecore_con_socks_proxies, ecs) | ||
497 | _ecore_con_socks_free(ecs); | ||
498 | _ecore_con_proxy_once = NULL; | ||
499 | _ecore_con_proxy_global = NULL; | ||
500 | } | ||
501 | |||
502 | void | ||
503 | ecore_con_socks_read(Ecore_Con_Server *svr, unsigned char *buf, int num) | ||
504 | { | ||
505 | ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return; | ||
506 | |||
507 | if (svr->ecs_state < ECORE_CON_PROXY_STATE_READ) return; | ||
508 | |||
509 | if (v4) _ecore_con_socks_read_v4(svr, v4, buf, (unsigned int)num); | ||
510 | else _ecore_con_socks_read_v5(svr, v5, buf, (unsigned int)num); | ||
511 | } | ||
512 | |||
180 | Eina_Bool | 513 | Eina_Bool |
181 | ecore_con_socks_svr_init(Ecore_Con_Server *svr) | 514 | ecore_con_socks_svr_init(Ecore_Con_Server *svr) |
182 | { | 515 | { |
183 | unsigned char *sbuf; | ||
184 | ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return EINA_FALSE; | 516 | ECORE_CON_SOCKS_CAST_ELSE(svr->ecs) return EINA_FALSE; |
185 | 517 | ||
186 | if (!svr->ip) return EINA_FALSE; | 518 | if (!svr->ip) return EINA_FALSE; |
187 | if (svr->ecs_buf) return EINA_FALSE; | 519 | if (svr->ecs_buf) return EINA_FALSE; |
188 | if (svr->ecs_state != ECORE_CON_SOCKS_STATE_INIT) return EINA_FALSE; | 520 | if (svr->ecs_state != ECORE_CON_PROXY_STATE_INIT) return EINA_FALSE; |
189 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); | 521 | ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); |
190 | if (v4) | 522 | if (v4) return _ecore_con_socks_svr_init_v4(svr, v4); |
191 | { | 523 | return _ecore_con_socks_svr_init_v5(svr, v5); |
192 | size_t addrlen, buflen, ulen = 1; | ||
193 | addrlen = svr->ecs->lookup ? strlen(svr->name) + 1: 0; | ||
194 | if (svr->ecs->username) ulen += strlen(svr->ecs->username); | ||
195 | buflen = sizeof(char) * (8 + ulen + addrlen); | ||
196 | sbuf = malloc(buflen); | ||
197 | if (!sbuf) | ||
198 | { | ||
199 | ecore_con_event_server_error(svr, "Memory allocation failure!"); | ||
200 | _ecore_con_server_kill(svr); | ||
201 | return EINA_FALSE; | ||
202 | } | ||
203 | /* http://en.wikipedia.org/wiki/SOCKS */ | ||
204 | sbuf[0] = 4; | ||
205 | sbuf[1] = v4->bind ? 2 : 1; | ||
206 | sbuf[2] = svr->port >> 8; | ||
207 | sbuf[3] = svr->port & 0xff; | ||
208 | if (addrlen) | ||
209 | { | ||
210 | sbuf[4] = sbuf[5] = sbuf[6] = 0; | ||
211 | sbuf[7] = 1; | ||
212 | } | ||
213 | else | ||
214 | memcpy(sbuf + 4, svr->ecs_addr, 4); | ||
215 | if (svr->ecs->username) | ||
216 | memcpy(sbuf + 8, svr->ecs->username, ulen); | ||
217 | else | ||
218 | sbuf[8] = 0; | ||
219 | if (addrlen) memcpy(sbuf + 8 + ulen, svr->name, addrlen); | ||
220 | |||
221 | svr->ecs_buf = eina_binbuf_manage_new_length(sbuf, buflen); | ||
222 | } | ||
223 | return EINA_TRUE; | ||
224 | } | 524 | } |
225 | 525 | ||
226 | void | 526 | void |
227 | ecore_con_socks_dns_cb(const char *canonname __UNUSED__, const char *ip, struct sockaddr *addr, int addrlen, Ecore_Con_Server *svr) | 527 | ecore_con_socks_dns_cb(const char *canonname __UNUSED__, const char *ip, struct sockaddr *addr, int addrlen __UNUSED__, Ecore_Con_Server *svr) |
228 | { | 528 | { |
229 | svr->ip = eina_stringshare_add(ip); | 529 | svr->ip = eina_stringshare_add(ip); |
230 | svr->ecs_addrlen = addrlen; | ||
231 | svr->ecs_state++; | 530 | svr->ecs_state++; |
232 | if (addr->sa_family == AF_INET) | 531 | if (addr->sa_family == AF_INET) |
233 | memcpy(svr->ecs_addr, &((struct sockaddr_in *)addr)->sin_addr.s_addr, 4); | 532 | { |
533 | memcpy(svr->ecs_addr, &((struct sockaddr_in *)addr)->sin_addr.s_addr, 4); | ||
534 | svr->ecs_addrlen = 4; | ||
535 | } | ||
234 | #ifdef HAVE_IPV6 | 536 | #ifdef HAVE_IPV6 |
235 | else | 537 | else |
236 | memcpy(svr->ecs_addr, &((struct sockaddr_in6 *)addr)->sin6_addr.s6_addr, addrlen); | 538 | { |
539 | memcpy(svr->ecs_addr, &((struct sockaddr_in6 *)addr)->sin6_addr.s6_addr, 16); | ||
540 | svr->ecs_addrlen = 16; | ||
541 | } | ||
237 | #endif | 542 | #endif |
238 | ecore_con_socks_svr_init(svr); | 543 | ecore_con_socks_svr_init(svr); |
239 | } | 544 | } |
@@ -242,36 +547,57 @@ void | |||
242 | ecore_con_socks_init(void) | 547 | ecore_con_socks_init(void) |
243 | { | 548 | { |
244 | const char *socks; | 549 | const char *socks; |
245 | char *u, *h, *p, *l; | 550 | char *h, *p, *l, *u = NULL; |
246 | char buf[64]; | 551 | char buf[512]; |
247 | int port, lookup = 0; | 552 | int port, lookup = 0; |
553 | Eina_Bool v5 = EINA_FALSE; | ||
248 | Ecore_Con_Socks *ecs; | 554 | Ecore_Con_Socks *ecs; |
249 | unsigned char addr[sizeof(struct in_addr)]; | 555 | unsigned char addr[sizeof(struct in_addr)]; |
556 | #ifdef HAVE_IPV6 | ||
557 | unsigned char addr6[sizeof(struct in6_addr)]; | ||
558 | #endif | ||
250 | 559 | ||
251 | /* ECORE_CON_SOCKS_V4=user@host:port:[1|0] */ | 560 | /* ECORE_CON_SOCKS_V4=[user@]host:port-[1|0] */ |
252 | socks = getenv("ECORE_CON_SOCKS_V4"); | 561 | socks = getenv("ECORE_CON_SOCKS_V4"); |
253 | if ((!socks) || (!socks[0]) || (strlen(socks) > 64)) return; | 562 | if (!socks) |
563 | { | ||
564 | /* ECORE_CON_SOCKS_V5=[user@]host-port:[1|0] */ | ||
565 | socks = getenv("ECORE_CON_SOCKS_V5"); | ||
566 | v5 = EINA_TRUE; | ||
567 | } | ||
568 | if ((!socks) || (!socks[0]) || (strlen(socks) > 512)) return; | ||
254 | strncpy(buf, socks, sizeof(buf)); | 569 | strncpy(buf, socks, sizeof(buf)); |
255 | h = strchr(buf, '@'); | 570 | h = strchr(buf, '@'); |
256 | u = NULL; | ||
257 | /* username */ | 571 | /* username */ |
258 | if (h && (h - buf > 0)) *h++ = 0, u = buf; | 572 | if (h && (h - buf > 0)) *h++ = 0, u = buf; |
259 | else h = buf; | 573 | else h = buf; |
260 | 574 | ||
261 | /* host ip; I ain't resolvin shit here */ | 575 | /* host ip; I ain't resolvin shit here */ |
262 | p = strchr(h, ':'); | 576 | p = strchr(h, '-'); |
263 | if (!p) return; | 577 | if (!p) return; |
264 | *p++ = 0; | 578 | *p++ = 0; |
265 | if (!inet_pton(AF_INET, h, addr)) return; | 579 | if (!inet_pton(AF_INET, h, addr)) |
580 | #ifdef HAVE_IPV6 | ||
581 | { | ||
582 | if (!v5) return; | ||
583 | if (!inet_pton(AF_INET6, h, addr6)) | ||
584 | return; | ||
585 | } | ||
586 | #else | ||
587 | return; | ||
588 | #endif | ||
266 | 589 | ||
267 | errno = 0; | 590 | errno = 0; |
268 | port = strtol(p, &l, 10); | 591 | port = strtol(p, &l, 10); |
269 | if (errno || (port < 0) || (port > 65535)) return; | 592 | if (errno || (port < 0) || (port > 65535)) return; |
270 | if (l && (l[0] == ':')) | 593 | if (l && (l[0] == ':')) |
271 | lookup = (l[1] == '1'); | 594 | lookup = (l[1] == '1'); |
272 | ecs = ecore_con_socks4_remote_add(h, port, u); | 595 | if (v5) |
596 | ecs = ecore_con_socks5_remote_add(h, port, u, NULL); | ||
597 | else | ||
598 | ecs = ecore_con_socks4_remote_add(h, port, u); | ||
273 | if (!ecs) return; | 599 | if (!ecs) return; |
274 | ecore_con_socks4_lookup_set(ecs, lookup); | 600 | ecore_con_socks_lookup_set(ecs, lookup); |
275 | ecore_con_socks_apply_always(ecs); | 601 | ecore_con_socks_apply_always(ecs); |
276 | INF("Added global proxy server %s%s%s:%d - DNS lookup %s", | 602 | INF("Added global proxy server %s%s%s:%d - DNS lookup %s", |
277 | u ?: "", u ? "@" : "", h, port, lookup ? "ENABLED" : "DISABLED"); | 603 | u ?: "", u ? "@" : "", h, port, lookup ? "ENABLED" : "DISABLED"); |
@@ -300,10 +626,17 @@ EAPI Ecore_Con_Socks * | |||
300 | ecore_con_socks4_remote_add(const char *ip, int port, const char *username) | 626 | ecore_con_socks4_remote_add(const char *ip, int port, const char *username) |
301 | { | 627 | { |
302 | Ecore_Con_Socks *ecs; | 628 | Ecore_Con_Socks *ecs; |
629 | size_t ulen = 0; | ||
303 | 630 | ||
304 | if ((!ip) || (!ip[0]) || (port < 0) || (port > 65535)) return NULL; | 631 | if ((!ip) || (!ip[0]) || (port < 0) || (port > 65535)) return NULL; |
305 | 632 | ||
306 | ecs = _ecore_con_socks_find(4, ip, port, username); | 633 | if (username) |
634 | { | ||
635 | ulen = strlen(username); | ||
636 | /* max length for protocol */ | ||
637 | if ((!ulen) || (ulen > 255)) return NULL; | ||
638 | } | ||
639 | ecs = _ecore_con_socks_find(4, ip, port, username, ulen, NULL, 0); | ||
307 | if (ecs) return ecs; | 640 | if (ecs) return ecs; |
308 | 641 | ||
309 | ecs = calloc(1, sizeof(Ecore_Con_Socks_v4)); | 642 | ecs = calloc(1, sizeof(Ecore_Con_Socks_v4)); |
@@ -313,92 +646,194 @@ ecore_con_socks4_remote_add(const char *ip, int port, const char *username) | |||
313 | ecs->ip = eina_stringshare_add(ip); | 646 | ecs->ip = eina_stringshare_add(ip); |
314 | ecs->port = port; | 647 | ecs->port = port; |
315 | ecs->username = eina_stringshare_add(username); | 648 | ecs->username = eina_stringshare_add(username); |
649 | ecs->ulen = ulen; | ||
316 | ecore_con_socks_proxies = eina_list_append(ecore_con_socks_proxies, ecs); | 650 | ecore_con_socks_proxies = eina_list_append(ecore_con_socks_proxies, ecs); |
317 | return ecs; | 651 | return ecs; |
318 | } | 652 | } |
319 | 653 | ||
320 | /** | 654 | /** |
321 | * Set DNS lookup mode on an existing SOCKS v4 proxy | 655 | * Find a SOCKS v4 proxy in the proxy list |
322 | * | 656 | * |
323 | * According to RFC, SOCKS v4 does not require that a proxy perform | 657 | * Use this to determine if a SOCKS proxy was previously added by checking |
324 | * its own DNS lookups for addresses. SOCKS v4a specifies the protocol | 658 | * the proxy list against the parameters given. |
325 | * for this. If you want to enable remote DNS lookup and are sure that your | 659 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) |
326 | * proxy supports it, use this function. | 660 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip |
327 | * @param ecs The proxy object | 661 | * @param username The username used for the proxy (OPTIONAL) |
328 | * @param enable If true, the proxy will perform the dns lookup | 662 | * @return true only if a proxy exists matching the given params |
329 | * @note By default, this setting is DISABLED. | 663 | * @note This function matches slightly more loosely than ecore_con_socks4_remote_add(), and |
664 | * ecore_con_socks4_remote_add() should be used to return the actual object. | ||
330 | * @since 1.2 | 665 | * @since 1.2 |
331 | */ | 666 | */ |
332 | EAPI void | 667 | EAPI Eina_Bool |
333 | ecore_con_socks4_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable) | 668 | ecore_con_socks4_remote_exists(const char *ip, int port, const char *username) |
334 | { | 669 | { |
335 | ECORE_CON_SOCKS_CAST_ELSE(ecs) return; | 670 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) |
336 | if (v4) v4->lookup = !!enable; | 671 | return EINA_FALSE; |
672 | return !!_ecore_con_socks_find(4, ip, port, username, username ? strlen(username) : 0, NULL, 0); | ||
337 | } | 673 | } |
338 | 674 | ||
339 | /** | 675 | /** |
340 | * Get DNS lookup mode on an existing SOCKS v4 proxy | 676 | * Remove a SOCKS v4 proxy from the proxy list and delete it |
341 | * | 677 | * |
342 | * According to RFC, SOCKS v4 does not require that a proxy perform | 678 | * Use this to remove a SOCKS proxy from the proxy list by checking |
343 | * its own DNS lookups for addresses. SOCKS v4a specifies the protocol | 679 | * the list against the parameters given. The proxy will then be deleted. |
344 | * for this. This function returns whether lookups are enabled on a proxy object. | 680 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) |
345 | * @param ecs The proxy object | 681 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip |
346 | * @return If true, the proxy will perform the dns lookup | 682 | * @param username The username used for the proxy (OPTIONAL) |
347 | * @note By default, this setting is DISABLED. | 683 | * @note This function matches in the same way as ecore_con_socks4_remote_exists(). |
684 | * @warning Be aware that deleting a proxy which is being used WILL ruin your life. | ||
348 | * @since 1.2 | 685 | * @since 1.2 |
349 | */ | 686 | */ |
350 | EAPI Eina_Bool | 687 | EAPI void |
351 | ecore_con_socks4_lookup_get(Ecore_Con_Socks *ecs) | 688 | ecore_con_socks4_remote_del(const char *ip, int port, const char *username) |
352 | { | 689 | { |
353 | ECORE_CON_SOCKS_CAST_ELSE(ecs) return EINA_FALSE; | 690 | Ecore_Con_Socks_v4 *v4; |
354 | return v4 ? v4->lookup : EINA_FALSE; | 691 | |
692 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) return; | ||
693 | if (!ecore_con_socks_proxies) return; | ||
694 | |||
695 | v4 = (Ecore_Con_Socks_v4*)_ecore_con_socks_find(4, ip, port, username, username ? strlen(username) : 0, NULL, 0); | ||
696 | if (!v4) return; | ||
697 | ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v4); | ||
698 | _ecore_con_socks_free((Ecore_Con_Socks*)v4); | ||
699 | } | ||
700 | /** | ||
701 | * Add a SOCKS v5 proxy to the proxy list | ||
702 | * | ||
703 | * Use this to create (or return, if previously added) a SOCKS proxy | ||
704 | * object which can be used by any ecore_con servers. | ||
705 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) | ||
706 | * @param port The port to connect to on the proxy | ||
707 | * @param username The username to use for the proxy (OPTIONAL) | ||
708 | * @param password The password to use for the proxy (OPTIONAL) | ||
709 | * @return An allocated proxy object, or NULL on failure | ||
710 | * @note This object NEVER needs to be explicitly freed. | ||
711 | * @since 1.2 | ||
712 | */ | ||
713 | EAPI Ecore_Con_Socks * | ||
714 | ecore_con_socks5_remote_add(const char *ip, int port, const char *username, const char *password) | ||
715 | { | ||
716 | Ecore_Con_Socks_v5 *ecs5; | ||
717 | size_t ulen = 0, plen = 0; | ||
718 | |||
719 | if ((!ip) || (!ip[0]) || (port < 0) || (port > 65535)) return NULL; | ||
720 | |||
721 | if (username) | ||
722 | { | ||
723 | ulen = strlen(username); | ||
724 | /* max length for protocol */ | ||
725 | if ((!ulen) || (ulen > 255)) return NULL; | ||
726 | } | ||
727 | if (password) | ||
728 | { | ||
729 | plen = strlen(password); | ||
730 | /* max length for protocol */ | ||
731 | if ((!plen) || (plen > 255)) return NULL; | ||
732 | } | ||
733 | ecs5 = (Ecore_Con_Socks_v5*)_ecore_con_socks_find(5, ip, port, username, ulen, password, plen); | ||
734 | if (ecs5) return (Ecore_Con_Socks*)ecs5; | ||
735 | |||
736 | ecs5 = calloc(1, sizeof(Ecore_Con_Socks_v5)); | ||
737 | if (!ecs5) return NULL; | ||
738 | |||
739 | ecs5->version = 5; | ||
740 | ecs5->ip = eina_stringshare_add(ip); | ||
741 | ecs5->port = port; | ||
742 | ecs5->username = eina_stringshare_add(username); | ||
743 | ecs5->ulen = ulen; | ||
744 | ecs5->password = eina_stringshare_add(password); | ||
745 | ecs5->plen = plen; | ||
746 | ecore_con_socks_proxies = eina_list_append(ecore_con_socks_proxies, ecs5); | ||
747 | return (Ecore_Con_Socks*)ecs5; | ||
355 | } | 748 | } |
356 | 749 | ||
357 | /** | 750 | /** |
358 | * Find a SOCKS v4 proxy in the proxy list | 751 | * Find a SOCKS v5 proxy in the proxy list |
359 | * | 752 | * |
360 | * Use this to determine if a SOCKS proxy was previously added by checking | 753 | * Use this to determine if a SOCKS proxy was previously added by checking |
361 | * the proxy list against the parameters given. | 754 | * the proxy list against the parameters given. |
362 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) | 755 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) |
363 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip | 756 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip |
364 | * @param username The username used for the proxy (OPTIONAL) | 757 | * @param username The username used for the proxy (OPTIONAL) |
758 | * @param password The password used for the proxy (OPTIONAL) | ||
365 | * @return true only if a proxy exists matching the given params | 759 | * @return true only if a proxy exists matching the given params |
366 | * @note This function matches slightly more loosely than ecore_con_socks4_remote_add(), and | 760 | * @note This function matches slightly more loosely than ecore_con_socks5_remote_add(), and |
367 | * ecore_con_socks4_remote_add() should be used to return the actual object. | 761 | * ecore_con_socks5_remote_add() should be used to return the actual object. |
368 | * @since 1.2 | 762 | * @since 1.2 |
369 | */ | 763 | */ |
370 | EAPI Eina_Bool | 764 | EAPI Eina_Bool |
371 | ecore_con_socks4_remote_exists(const char *ip, int port, const char *username) | 765 | ecore_con_socks5_remote_exists(const char *ip, int port, const char *username, const char *password) |
372 | { | 766 | { |
373 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) | 767 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0])) || (password && (!password[0]))) |
374 | return EINA_FALSE; | 768 | return EINA_FALSE; |
375 | return !!_ecore_con_socks_find(4, ip, port, username); | 769 | return !!_ecore_con_socks_find(5, ip, port, username, username ? strlen(username) : 0, password, password ? strlen(password) : 0); |
376 | } | 770 | } |
377 | 771 | ||
378 | /** | 772 | /** |
379 | * Remove a SOCKS v4 proxy from the proxy list and delete it | 773 | * Remove a SOCKS v5 proxy from the proxy list and delete it |
380 | * | 774 | * |
381 | * Use this to remove a SOCKS proxy from the proxy list by checking | 775 | * Use this to remove a SOCKS proxy from the proxy list by checking |
382 | * the list against the parameters given. The proxy will then be deleted. | 776 | * the list against the parameters given. The proxy will then be deleted. |
383 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) | 777 | * @param ip The ip address of the proxy (NOT DOMAIN NAME. IP ADDRESS.) |
384 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip | 778 | * @param port The port to connect to on the proxy, or -1 to match the first proxy with @p ip |
385 | * @param username The username used for the proxy (OPTIONAL) | 779 | * @param username The username used for the proxy (OPTIONAL) |
780 | * @param password The password used for the proxy (OPTIONAL) | ||
386 | * @note This function matches in the same way as ecore_con_socks4_remote_exists(). | 781 | * @note This function matches in the same way as ecore_con_socks4_remote_exists(). |
387 | * @warning Be aware that deleting a proxy which is being used WILL ruin your life. | 782 | * @warning Be aware that deleting a proxy which is being used WILL ruin your life. |
388 | * @since 1.2 | 783 | * @since 1.2 |
389 | */ | 784 | */ |
390 | EAPI void | 785 | EAPI void |
391 | ecore_con_socks4_remote_del(const char *ip, int port, const char *username) | 786 | ecore_con_socks5_remote_del(const char *ip, int port, const char *username, const char *password) |
392 | { | 787 | { |
393 | Ecore_Con_Socks_v4 *v4; | 788 | Ecore_Con_Socks_v5 *v5; |
394 | 789 | ||
395 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0]))) return; | 790 | if ((!ip) || (!ip[0]) || (port < -1) || (port > 65535) || (username && (!username[0])) || (password && (!password[0]))) |
791 | return; | ||
396 | if (!ecore_con_socks_proxies) return; | 792 | if (!ecore_con_socks_proxies) return; |
397 | 793 | ||
398 | v4 = (Ecore_Con_Socks_v4*)_ecore_con_socks_find(4, ip, port, username); | 794 | v5 = (Ecore_Con_Socks_v5*)_ecore_con_socks_find(5, ip, port, username, username ? strlen(username) : 0, password, password ? strlen(password) : 0); |
399 | if (!v4) return; | 795 | if (!v5) return; |
400 | ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v4); | 796 | ecore_con_socks_proxies = eina_list_remove(ecore_con_socks_proxies, v5); |
401 | _ecore_con_socks_free((Ecore_Con_Socks*)v4); | 797 | _ecore_con_socks_free((Ecore_Con_Socks*)v5); |
798 | } | ||
799 | |||
800 | /** | ||
801 | * Set DNS lookup mode on an existing SOCKS proxy | ||
802 | * | ||
803 | * According to RFC, SOCKS v4 does not require that a proxy perform | ||
804 | * its own DNS lookups for addresses. SOCKS v4a specifies the protocol | ||
805 | * for this. SOCKS v5 allows DNS lookups. | ||
806 | * If you want to enable remote DNS lookup and are sure that your | ||
807 | * proxy supports it, use this function. | ||
808 | * @param ecs The proxy object | ||
809 | * @param enable If true, the proxy will perform the dns lookup | ||
810 | * @note By default, this setting is DISABLED. | ||
811 | * @since 1.2 | ||
812 | */ | ||
813 | EAPI void | ||
814 | ecore_con_socks_lookup_set(Ecore_Con_Socks *ecs, Eina_Bool enable) | ||
815 | { | ||
816 | ECORE_CON_SOCKS_CAST_ELSE(ecs) return; | ||
817 | ecs->lookup = !!enable; | ||
818 | } | ||
819 | |||
820 | /** | ||
821 | * Get DNS lookup mode on an existing SOCKS proxy | ||
822 | * | ||
823 | * According to RFC, SOCKS v4 does not require that a proxy perform | ||
824 | * its own DNS lookups for addresses. SOCKS v4a specifies the protocol | ||
825 | * for this. SOCKS v5 allows DNS lookups. | ||
826 | * This function returns whether lookups are enabled on a proxy object. | ||
827 | * @param ecs The proxy object | ||
828 | * @return If true, the proxy will perform the dns lookup | ||
829 | * @note By default, this setting is DISABLED. | ||
830 | * @since 1.2 | ||
831 | */ | ||
832 | EAPI Eina_Bool | ||
833 | ecore_con_socks_lookup_get(Ecore_Con_Socks *ecs) | ||
834 | { | ||
835 | ECORE_CON_SOCKS_CAST_ELSE(ecs) return EINA_FALSE; | ||
836 | return ecs->lookup; | ||
402 | } | 837 | } |
403 | 838 | ||
404 | /** | 839 | /** |
@@ -434,6 +869,14 @@ ecore_con_socks_bind_get(Ecore_Con_Socks *ecs) | |||
434 | return ecs->bind; | 869 | return ecs->bind; |
435 | } | 870 | } |
436 | 871 | ||
872 | /** | ||
873 | * Return SOCKS version of a SOCKS proxy | ||
874 | * | ||
875 | * Use this function to return the SOCKS protocol version of a proxy | ||
876 | * @param ecs The proxy object | ||
877 | * @return 0 on error, else 4/5 | ||
878 | * @since 1.2 | ||
879 | */ | ||
437 | EAPI unsigned int | 880 | EAPI unsigned int |
438 | ecore_con_socks_version_get(Ecore_Con_Socks *ecs) | 881 | ecore_con_socks_version_get(Ecore_Con_Socks *ecs) |
439 | { | 882 | { |
@@ -482,7 +925,8 @@ ecore_con_socks_apply_once(Ecore_Con_Socks *ecs) | |||
482 | * @see ecore_con_socks_apply_once() | 925 | * @see ecore_con_socks_apply_once() |
483 | * @since 1.2 | 926 | * @since 1.2 |
484 | * @note ecore-con supports setting this through environment variables like so: | 927 | * @note ecore-con supports setting this through environment variables like so: |
485 | * ECORE_CON_SOCKS_V4=[user@]server:port:lookup | 928 | * ECORE_CON_SOCKS_V4=[user@]server-port:lookup |
929 | * ECORE_CON_SOCKS_V5=[user@]server-port:lookup | ||
486 | * user is the OPTIONAL string that would be passed to the proxy as the username | 930 | * user is the OPTIONAL string that would be passed to the proxy as the username |
487 | * server is the IP_ADDRESS of the proxy server | 931 | * server is the IP_ADDRESS of the proxy server |
488 | * port is the port to connect to on the proxy server | 932 | * port is the port to connect to on the proxy server |
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c b/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c index 6104632..cd8b9c6 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_ssl.c | |||
@@ -652,6 +652,7 @@ ecore_con_ssl_server_verify_name_get(Ecore_Con_Server *svr) | |||
652 | * Use this function to add a SSL PEM certificate. | 652 | * Use this function to add a SSL PEM certificate. |
653 | * Simply specify the cert here to use it in the server object for connecting or listening. | 653 | * Simply specify the cert here to use it in the server object for connecting or listening. |
654 | * If there is an error loading the certificate, an error will automatically be logged. | 654 | * If there is an error loading the certificate, an error will automatically be logged. |
655 | * @param svr The server object | ||
655 | * @param cert The path to the certificate. | 656 | * @param cert The path to the certificate. |
656 | * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. | 657 | * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. |
657 | */ | 658 | */ |
@@ -683,6 +684,7 @@ ecore_con_ssl_server_cert_add(Ecore_Con_Server *svr, | |||
683 | * Use this function to add a SSL PEM CA file. | 684 | * Use this function to add a SSL PEM CA file. |
684 | * Simply specify the file here to use it in the server object for connecting or listening. | 685 | * Simply specify the file here to use it in the server object for connecting or listening. |
685 | * If there is an error loading the CAs, an error will automatically be logged. | 686 | * If there is an error loading the CAs, an error will automatically be logged. |
687 | * @param svr The server object | ||
686 | * @param ca_file The path to the CA file. | 688 | * @param ca_file The path to the CA file. |
687 | * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. | 689 | * @return EINA_FALSE if the file cannot be loaded, otherwise EINA_TRUE. |
688 | * @note since 1.2, this function can load directores | 690 | * @note since 1.2, this function can load directores |
@@ -747,6 +749,7 @@ ecore_con_ssl_server_privkey_add(Ecore_Con_Server *svr, | |||
747 | * Use this function to add a SSL PEM CRL file | 749 | * Use this function to add a SSL PEM CRL file |
748 | * Simply specify the CRL file here to use it in the server object for connecting or listening. | 750 | * Simply specify the CRL file here to use it in the server object for connecting or listening. |
749 | * If there is an error loading the CRL, an error will automatically be logged. | 751 | * If there is an error loading the CRL, an error will automatically be logged. |
752 | * @param svr The server object | ||
750 | * @param crl_file The path to the CRL file. | 753 | * @param crl_file The path to the CRL file. |
751 | * @return EINA_FALSE if the file cannot be loaded, | 754 | * @return EINA_FALSE if the file cannot be loaded, |
752 | * otherwise EINA_TRUE. | 755 | * otherwise EINA_TRUE. |
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_url.c b/libraries/ecore/src/lib/ecore_con/ecore_con_url.c index 709b554..05f0678 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_url.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_url.c | |||
@@ -30,41 +30,31 @@ | |||
30 | #include "Ecore_Con.h" | 30 | #include "Ecore_Con.h" |
31 | #include "ecore_con_private.h" | 31 | #include "ecore_con_private.h" |
32 | 32 | ||
33 | #define CURL_MIN_TIMEOUT 100 | ||
34 | |||
33 | int ECORE_CON_EVENT_URL_DATA = 0; | 35 | int ECORE_CON_EVENT_URL_DATA = 0; |
34 | int ECORE_CON_EVENT_URL_COMPLETE = 0; | 36 | int ECORE_CON_EVENT_URL_COMPLETE = 0; |
35 | int ECORE_CON_EVENT_URL_PROGRESS = 0; | 37 | int ECORE_CON_EVENT_URL_PROGRESS = 0; |
36 | 38 | ||
37 | #ifdef HAVE_CURL | 39 | #ifdef HAVE_CURL |
40 | static void _ecore_con_url_event_url_complete(Ecore_Con_Url *url_con, CURLMsg *curlmsg); | ||
41 | static void _ecore_con_url_multi_remove(Ecore_Con_Url *url_con); | ||
38 | static Eina_Bool _ecore_con_url_perform(Ecore_Con_Url *url_con); | 42 | static Eina_Bool _ecore_con_url_perform(Ecore_Con_Url *url_con); |
39 | static size_t _ecore_con_url_header_cb(void *ptr, | 43 | static size_t _ecore_con_url_header_cb(void *ptr, size_t size, size_t nitems, void *stream); |
40 | size_t size, | 44 | static size_t _ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp); |
41 | size_t nitems, | 45 | static int _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); |
42 | void *stream); | 46 | static size_t _ecore_con_url_read_cb(void *ptr, size_t size, size_t nitems, void *stream); |
43 | static size_t _ecore_con_url_data_cb(void *buffer, | 47 | static void _ecore_con_event_url_free(Ecore_Con_Url *url_con, void *ev); |
44 | size_t size, | 48 | static Eina_Bool _ecore_con_url_timer(void *data); |
45 | size_t nitems, | 49 | static Eina_Bool _ecore_con_url_fd_handler(void *data, Ecore_Fd_Handler *fd_handler); |
46 | void *userp); | ||
47 | static int _ecore_con_url_progress_cb(void *clientp, | ||
48 | double dltotal, | ||
49 | double dlnow, | ||
50 | double ultotal, | ||
51 | double ulnow); | ||
52 | static size_t _ecore_con_url_read_cb(void *ptr, | ||
53 | size_t size, | ||
54 | size_t nitems, | ||
55 | void *stream); | ||
56 | static void _ecore_con_event_url_free(void *data __UNUSED__, | ||
57 | void *ev); | ||
58 | static Eina_Bool _ecore_con_url_idler_handler(void *data); | ||
59 | static Eina_Bool _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__); | ||
60 | static Eina_Bool _ecore_con_url_timeout_cb(void *data); | 50 | static Eina_Bool _ecore_con_url_timeout_cb(void *data); |
51 | static void _ecore_con_url_status_get(Ecore_Con_Url *url_con); | ||
61 | 52 | ||
62 | static Eina_List *_url_con_list = NULL; | 53 | static Eina_List *_url_con_list = NULL; |
63 | static Eina_List *_fd_hd_list = NULL; | 54 | static Eina_List *_fd_hd_list = NULL; |
64 | static CURLM *_curlm = NULL; | 55 | static CURLM *_curlm = NULL; |
65 | static fd_set _current_fd_set; | ||
66 | static int _init_count = 0; | 56 | static int _init_count = 0; |
67 | static Ecore_Timer *_curl_timeout = NULL; | 57 | static Ecore_Timer *_curl_timer = NULL; |
68 | static Eina_Bool pipelining = EINA_FALSE; | 58 | static Eina_Bool pipelining = EINA_FALSE; |
69 | 59 | ||
70 | #endif | 60 | #endif |
@@ -79,28 +69,28 @@ EAPI int | |||
79 | ecore_con_url_init(void) | 69 | ecore_con_url_init(void) |
80 | { | 70 | { |
81 | #ifdef HAVE_CURL | 71 | #ifdef HAVE_CURL |
72 | long ms; | ||
82 | if (++_init_count > 1) return _init_count; | 73 | if (++_init_count > 1) return _init_count; |
83 | 74 | ||
84 | if (!ECORE_CON_EVENT_URL_DATA) ECORE_CON_EVENT_URL_DATA = ecore_event_type_new(); | 75 | ECORE_CON_EVENT_URL_DATA = ecore_event_type_new(); |
85 | if (!ECORE_CON_EVENT_URL_COMPLETE) ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new(); | 76 | ECORE_CON_EVENT_URL_COMPLETE = ecore_event_type_new(); |
86 | if (!ECORE_CON_EVENT_URL_PROGRESS) ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new(); | 77 | ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new(); |
78 | |||
79 | // curl_global_init() is not thread safe! | ||
80 | if (curl_global_init(CURL_GLOBAL_ALL)) return --_init_count; | ||
87 | 81 | ||
82 | _curlm = curl_multi_init(); | ||
88 | if (!_curlm) | 83 | if (!_curlm) |
89 | { | 84 | { |
90 | long ms; | 85 | curl_global_cleanup(); |
91 | 86 | return --_init_count; | |
92 | // curl_global_init() is not thread safe! | 87 | } |
93 | if (curl_global_init(CURL_GLOBAL_ALL)) return --_init_count; | ||
94 | |||
95 | _curlm = curl_multi_init(); | ||
96 | if (!_curlm) return --_init_count; | ||
97 | 88 | ||
98 | curl_multi_timeout(_curlm, &ms); | 89 | curl_multi_timeout(_curlm, &ms); |
99 | if (ms <= 0) ms = 100; | 90 | if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT; |
100 | 91 | ||
101 | _curl_timeout = ecore_timer_add((double)ms / 1000, _ecore_con_url_idler_handler, (void *)0xACE); | 92 | _curl_timer = ecore_timer_add((double)ms / 1000, _ecore_con_url_timer, NULL); |
102 | ecore_timer_freeze(_curl_timeout); | 93 | ecore_timer_freeze(_curl_timer); |
103 | } | ||
104 | 94 | ||
105 | return _init_count; | 95 | return _init_count; |
106 | #else | 96 | #else |
@@ -112,31 +102,30 @@ EAPI int | |||
112 | ecore_con_url_shutdown(void) | 102 | ecore_con_url_shutdown(void) |
113 | { | 103 | { |
114 | #ifdef HAVE_CURL | 104 | #ifdef HAVE_CURL |
105 | Ecore_Con_Url *url_con; | ||
106 | Ecore_Fd_Handler *fd_handler; | ||
115 | if (_init_count == 0) return 0; | 107 | if (_init_count == 0) return 0; |
108 | --_init_count; | ||
109 | if (_init_count) return _init_count; | ||
116 | 110 | ||
117 | if (--_init_count == 0) | 111 | if (_curl_timer) |
118 | { | 112 | { |
119 | Ecore_Con_Url *con_url; | 113 | ecore_timer_del(_curl_timer); |
120 | Ecore_Fd_Handler *fd_handler; | 114 | _curl_timer = NULL; |
121 | 115 | } | |
122 | if (_curl_timeout) | ||
123 | { | ||
124 | ecore_timer_del(_curl_timeout); | ||
125 | _curl_timeout = NULL; | ||
126 | } | ||
127 | 116 | ||
128 | FD_ZERO(&_current_fd_set); | 117 | EINA_LIST_FREE(_url_con_list, url_con) |
129 | EINA_LIST_FREE(_url_con_list, con_url) ecore_con_url_free(con_url); | 118 | ecore_con_url_free(url_con); |
130 | EINA_LIST_FREE(_fd_hd_list, fd_handler) ecore_main_fd_handler_del(fd_handler); | 119 | EINA_LIST_FREE(_fd_hd_list, fd_handler) |
120 | ecore_main_fd_handler_del(fd_handler); | ||
131 | 121 | ||
132 | if (_curlm) | 122 | if (_curlm) |
133 | { | 123 | { |
134 | curl_multi_cleanup(_curlm); | 124 | curl_multi_cleanup(_curlm); |
135 | _curlm = NULL; | 125 | _curlm = NULL; |
136 | } | 126 | } |
137 | curl_global_cleanup(); | 127 | curl_global_cleanup(); |
138 | } | 128 | return 0; |
139 | return _init_count; | ||
140 | #endif | 129 | #endif |
141 | return 1; | 130 | return 1; |
142 | } | 131 | } |
@@ -145,14 +134,12 @@ EAPI void | |||
145 | ecore_con_url_pipeline_set(Eina_Bool enable) | 134 | ecore_con_url_pipeline_set(Eina_Bool enable) |
146 | { | 135 | { |
147 | #ifdef HAVE_CURL | 136 | #ifdef HAVE_CURL |
148 | if (enable) | 137 | if (enable == pipelining) return; |
149 | curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, 1); | 138 | curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, !!enable); |
150 | else | 139 | pipelining = enable; |
151 | curl_multi_setopt(_curlm, CURLMOPT_PIPELINING, 0); | ||
152 | pipelining = enable; | ||
153 | #else | 140 | #else |
154 | return; | 141 | return; |
155 | (void)enable; | 142 | (void)enable; |
156 | #endif | 143 | #endif |
157 | } | 144 | } |
158 | 145 | ||
@@ -160,11 +147,13 @@ EAPI Eina_Bool | |||
160 | ecore_con_url_pipeline_get(void) | 147 | ecore_con_url_pipeline_get(void) |
161 | { | 148 | { |
162 | #ifdef HAVE_CURL | 149 | #ifdef HAVE_CURL |
163 | return pipelining; | 150 | return pipelining; |
164 | #endif | 151 | #endif |
165 | return EINA_FALSE; | 152 | return EINA_FALSE; |
166 | } | 153 | } |
167 | 154 | ||
155 | extern Ecore_Con_Socks *_ecore_con_proxy_global; | ||
156 | |||
168 | EAPI Ecore_Con_Url * | 157 | EAPI Ecore_Con_Url * |
169 | ecore_con_url_new(const char *url) | 158 | ecore_con_url_new(const char *url) |
170 | { | 159 | { |
@@ -196,22 +185,41 @@ ecore_con_url_new(const char *url) | |||
196 | return NULL; | 185 | return NULL; |
197 | } | 186 | } |
198 | 187 | ||
188 | // Read socks proxy | ||
199 | url_con->proxy_type = -1; | 189 | url_con->proxy_type = -1; |
200 | if (_ecore_con_proxy_global) | 190 | if (_ecore_con_proxy_global && _ecore_con_proxy_global->ip && |
191 | (_ecore_con_proxy_global->version == 4 || | ||
192 | _ecore_con_proxy_global->version == 5)) | ||
201 | { | 193 | { |
202 | if (_ecore_con_proxy_global->ip) | 194 | char proxy[256]; |
195 | char host[256]; | ||
196 | |||
197 | if (_ecore_con_proxy_global->version == 5) | ||
203 | { | 198 | { |
204 | char host[128]; | 199 | if (_ecore_con_proxy_global->lookup) |
205 | if (_ecore_con_proxy_global->port > 0 && | 200 | snprintf(host, sizeof(host), "socks5h://%s", |
206 | _ecore_con_proxy_global->port <= 65535) | 201 | _ecore_con_proxy_global->ip); |
207 | snprintf(host, sizeof(host), "socks4://%s:%d", | 202 | else snprintf(host, sizeof(host), "socks5://%s", |
208 | _ecore_con_proxy_global->ip, | 203 | _ecore_con_proxy_global->ip); |
209 | _ecore_con_proxy_global->port); | 204 | } |
210 | else | 205 | else if (_ecore_con_proxy_global->version == 4) |
211 | snprintf(host, sizeof(host), "socks4://%s", | 206 | { |
207 | if (_ecore_con_proxy_global->lookup) | ||
208 | snprintf(host, sizeof(host), "socks4a://%s", | ||
212 | _ecore_con_proxy_global->ip); | 209 | _ecore_con_proxy_global->ip); |
213 | ecore_con_url_proxy_set(url_con, host); | 210 | else snprintf(host, sizeof(host), "socks4://%s", |
211 | _ecore_con_proxy_global->ip); | ||
214 | } | 212 | } |
213 | |||
214 | if (_ecore_con_proxy_global->port > 0 && | ||
215 | _ecore_con_proxy_global->port <= 65535) | ||
216 | snprintf(proxy, sizeof(proxy), "%s:%d", host, | ||
217 | _ecore_con_proxy_global->port); | ||
218 | else snprintf(proxy, sizeof(proxy), "%s", host); | ||
219 | |||
220 | ecore_con_url_proxy_set(url_con, proxy); | ||
221 | ecore_con_url_proxy_username_set(url_con, | ||
222 | _ecore_con_proxy_global->username); | ||
215 | } | 223 | } |
216 | 224 | ||
217 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_ENCODING, "gzip,deflate"); | 225 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_ENCODING, "gzip,deflate"); |
@@ -291,10 +299,8 @@ ecore_con_url_free(Ecore_Con_Url *url_con) | |||
291 | { | 299 | { |
292 | #ifdef HAVE_CURL | 300 | #ifdef HAVE_CURL |
293 | char *s; | 301 | char *s; |
294 | CURLMcode ret; | ||
295 | 302 | ||
296 | if (!url_con) | 303 | if (!url_con) return; |
297 | return; | ||
298 | 304 | ||
299 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 305 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
300 | { | 306 | { |
@@ -302,17 +308,16 @@ ecore_con_url_free(Ecore_Con_Url *url_con) | |||
302 | return; | 308 | return; |
303 | } | 309 | } |
304 | 310 | ||
305 | ECORE_MAGIC_SET(url_con, ECORE_MAGIC_NONE); | ||
306 | |||
307 | if (url_con->curl_easy) | 311 | if (url_con->curl_easy) |
308 | { | 312 | { |
313 | // FIXME : How can we delete curl_easy's fds ?? (Curl do not give this info.) | ||
314 | // This cause "Failed to delete epoll fd xx!" error messages | ||
309 | curl_easy_setopt(url_con->curl_easy, CURLOPT_PROGRESSFUNCTION, NULL); | 315 | curl_easy_setopt(url_con->curl_easy, CURLOPT_PROGRESSFUNCTION, NULL); |
310 | curl_easy_setopt(url_con->curl_easy, CURLOPT_NOPROGRESS, EINA_TRUE); | 316 | curl_easy_setopt(url_con->curl_easy, CURLOPT_NOPROGRESS, EINA_TRUE); |
311 | 317 | ||
312 | if (eina_list_data_find(_url_con_list, url_con)) | 318 | if (url_con->multi) |
313 | { | 319 | { |
314 | ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); | 320 | _ecore_con_url_multi_remove(url_con); |
315 | if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); | ||
316 | _url_con_list = eina_list_remove(_url_con_list, url_con); | 321 | _url_con_list = eina_list_remove(_url_con_list, url_con); |
317 | } | 322 | } |
318 | 323 | ||
@@ -320,6 +325,12 @@ ecore_con_url_free(Ecore_Con_Url *url_con) | |||
320 | } | 325 | } |
321 | if (url_con->timer) ecore_timer_del(url_con->timer); | 326 | if (url_con->timer) ecore_timer_del(url_con->timer); |
322 | 327 | ||
328 | url_con->curl_easy = NULL; | ||
329 | url_con->timer = NULL; | ||
330 | url_con->dead = EINA_TRUE; | ||
331 | if (url_con->event_count) return; | ||
332 | ECORE_MAGIC_SET(url_con, ECORE_MAGIC_NONE); | ||
333 | |||
323 | curl_slist_free_all(url_con->headers); | 334 | curl_slist_free_all(url_con->headers); |
324 | EINA_LIST_FREE(url_con->additional_headers, s) | 335 | EINA_LIST_FREE(url_con->additional_headers, s) |
325 | free(s); | 336 | free(s); |
@@ -350,9 +361,27 @@ ecore_con_url_url_get(Ecore_Con_Url *url_con) | |||
350 | #endif | 361 | #endif |
351 | } | 362 | } |
352 | 363 | ||
364 | EAPI int | ||
365 | ecore_con_url_status_code_get(Ecore_Con_Url *url_con) | ||
366 | { | ||
367 | #ifdef HAVE_CURL | ||
368 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | ||
369 | { | ||
370 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, __func__); | ||
371 | return 0; | ||
372 | } | ||
373 | |||
374 | if (url_con->status) return url_con->status; | ||
375 | _ecore_con_url_status_get(url_con); | ||
376 | return url_con->status; | ||
377 | #else | ||
378 | return -1; | ||
379 | (void)url_con; | ||
380 | #endif | ||
381 | } | ||
382 | |||
353 | EAPI Eina_Bool | 383 | EAPI Eina_Bool |
354 | ecore_con_url_url_set(Ecore_Con_Url *url_con, | 384 | ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url) |
355 | const char *url) | ||
356 | { | 385 | { |
357 | #ifdef HAVE_CURL | 386 | #ifdef HAVE_CURL |
358 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 387 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -361,8 +390,7 @@ ecore_con_url_url_set(Ecore_Con_Url *url_con, | |||
361 | return EINA_FALSE; | 390 | return EINA_FALSE; |
362 | } | 391 | } |
363 | 392 | ||
364 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | 393 | if (url_con->dead) return EINA_FALSE; |
365 | |||
366 | eina_stringshare_replace(&url_con->url, url); | 394 | eina_stringshare_replace(&url_con->url, url); |
367 | 395 | ||
368 | if (url_con->url) | 396 | if (url_con->url) |
@@ -380,8 +408,7 @@ ecore_con_url_url_set(Ecore_Con_Url *url_con, | |||
380 | } | 408 | } |
381 | 409 | ||
382 | EAPI void | 410 | EAPI void |
383 | ecore_con_url_data_set(Ecore_Con_Url *url_con, | 411 | ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data) |
384 | void *data) | ||
385 | { | 412 | { |
386 | #ifdef HAVE_CURL | 413 | #ifdef HAVE_CURL |
387 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 414 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -399,13 +426,12 @@ ecore_con_url_data_set(Ecore_Con_Url *url_con, | |||
399 | } | 426 | } |
400 | 427 | ||
401 | EAPI void | 428 | EAPI void |
402 | ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, | 429 | ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, const char *key, const char *value) |
403 | const char *key, | ||
404 | const char *value) | ||
405 | { | 430 | { |
406 | #ifdef HAVE_CURL | 431 | #ifdef HAVE_CURL |
407 | char *tmp; | 432 | char *tmp; |
408 | 433 | ||
434 | if (url_con->dead) return; | ||
409 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 435 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
410 | { | 436 | { |
411 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, | 437 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, |
@@ -413,6 +439,7 @@ ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, | |||
413 | return; | 439 | return; |
414 | } | 440 | } |
415 | 441 | ||
442 | if (url_con->dead) return; | ||
416 | tmp = malloc(strlen(key) + strlen(value) + 3); | 443 | tmp = malloc(strlen(key) + strlen(value) + 3); |
417 | if (!tmp) | 444 | if (!tmp) |
418 | return; | 445 | return; |
@@ -467,9 +494,7 @@ ecore_con_url_data_get(Ecore_Con_Url *url_con) | |||
467 | } | 494 | } |
468 | 495 | ||
469 | EAPI void | 496 | EAPI void |
470 | ecore_con_url_time(Ecore_Con_Url *url_con, | 497 | ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, double timestamp) |
471 | Ecore_Con_Url_Time condition, | ||
472 | double timestamp) | ||
473 | { | 498 | { |
474 | #ifdef HAVE_CURL | 499 | #ifdef HAVE_CURL |
475 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 500 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -478,6 +503,7 @@ ecore_con_url_time(Ecore_Con_Url *url_con, | |||
478 | return; | 503 | return; |
479 | } | 504 | } |
480 | 505 | ||
506 | if (url_con->dead) return; | ||
481 | url_con->time_condition = condition; | 507 | url_con->time_condition = condition; |
482 | url_con->timestamp = timestamp; | 508 | url_con->timestamp = timestamp; |
483 | #else | 509 | #else |
@@ -489,8 +515,7 @@ ecore_con_url_time(Ecore_Con_Url *url_con, | |||
489 | } | 515 | } |
490 | 516 | ||
491 | EAPI void | 517 | EAPI void |
492 | ecore_con_url_fd_set(Ecore_Con_Url *url_con, | 518 | ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd) |
493 | int fd) | ||
494 | { | 519 | { |
495 | #ifdef HAVE_CURL | 520 | #ifdef HAVE_CURL |
496 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 521 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -499,6 +524,7 @@ ecore_con_url_fd_set(Ecore_Con_Url *url_con, | |||
499 | return; | 524 | return; |
500 | } | 525 | } |
501 | 526 | ||
527 | if (url_con->dead) return; | ||
502 | url_con->write_fd = fd; | 528 | url_con->write_fd = fd; |
503 | #else | 529 | #else |
504 | return; | 530 | return; |
@@ -537,10 +563,7 @@ ecore_con_url_response_headers_get(Ecore_Con_Url *url_con) | |||
537 | } | 563 | } |
538 | 564 | ||
539 | EAPI Eina_Bool | 565 | EAPI Eina_Bool |
540 | ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, | 566 | ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, const char *username, const char *password, Eina_Bool safe) |
541 | const char *username, | ||
542 | const char *password, | ||
543 | Eina_Bool safe) | ||
544 | { | 567 | { |
545 | #ifdef HAVE_CURL | 568 | #ifdef HAVE_CURL |
546 | CURLcode ret; | 569 | CURLcode ret; |
@@ -552,6 +575,7 @@ ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, | |||
552 | return EINA_FALSE; | 575 | return EINA_FALSE; |
553 | } | 576 | } |
554 | 577 | ||
578 | if (url_con->dead) return EINA_FALSE; | ||
555 | # if LIBCURL_VERSION_NUM >= 0x071301 | 579 | # if LIBCURL_VERSION_NUM >= 0x071301 |
556 | if ((username) && (password)) | 580 | if ((username) && (password)) |
557 | { | 581 | { |
@@ -596,11 +620,7 @@ ecore_con_url_httpauth_set(Ecore_Con_Url *url_con, | |||
596 | #define MODE_POST 2 | 620 | #define MODE_POST 2 |
597 | 621 | ||
598 | static Eina_Bool | 622 | static Eina_Bool |
599 | _ecore_con_url_send(Ecore_Con_Url *url_con, | 623 | _ecore_con_url_send(Ecore_Con_Url *url_con, int mode, const void *data, long length, const char *content_type) |
600 | int mode, | ||
601 | const void *data, | ||
602 | long length, | ||
603 | const char *content_type) | ||
604 | { | 624 | { |
605 | #ifdef HAVE_CURL | 625 | #ifdef HAVE_CURL |
606 | Eina_List *l; | 626 | Eina_List *l; |
@@ -613,15 +633,14 @@ _ecore_con_url_send(Ecore_Con_Url *url_con, | |||
613 | return EINA_FALSE; | 633 | return EINA_FALSE; |
614 | } | 634 | } |
615 | 635 | ||
616 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | 636 | if (!url_con->url) return EINA_FALSE; |
617 | 637 | if (url_con->dead) return EINA_FALSE; | |
618 | if (!url_con->url) | ||
619 | return EINA_FALSE; | ||
620 | 638 | ||
621 | /* Free response headers from previous send() calls */ | 639 | /* Free response headers from previous send() calls */ |
622 | EINA_LIST_FREE(url_con->response_headers, s) | 640 | EINA_LIST_FREE(url_con->response_headers, s) |
623 | free((char *)s); | 641 | free((char *)s); |
624 | url_con->response_headers = NULL; | 642 | url_con->response_headers = NULL; |
643 | url_con->status = 0; | ||
625 | 644 | ||
626 | curl_slist_free_all(url_con->headers); | 645 | curl_slist_free_all(url_con->headers); |
627 | url_con->headers = NULL; | 646 | url_con->headers = NULL; |
@@ -693,15 +712,6 @@ _ecore_con_url_send(Ecore_Con_Url *url_con, | |||
693 | #endif | 712 | #endif |
694 | } | 713 | } |
695 | 714 | ||
696 | EINA_DEPRECATED EAPI Eina_Bool | ||
697 | ecore_con_url_send(Ecore_Con_Url *url_con, | ||
698 | const void *data, | ||
699 | long length, | ||
700 | const char *content_type) | ||
701 | { | ||
702 | return _ecore_con_url_send(url_con, MODE_AUTO, data, length, content_type); | ||
703 | } | ||
704 | |||
705 | EAPI Eina_Bool | 715 | EAPI Eina_Bool |
706 | ecore_con_url_get(Ecore_Con_Url *url_con) | 716 | ecore_con_url_get(Ecore_Con_Url *url_con) |
707 | { | 717 | { |
@@ -709,20 +719,13 @@ ecore_con_url_get(Ecore_Con_Url *url_con) | |||
709 | } | 719 | } |
710 | 720 | ||
711 | EAPI Eina_Bool | 721 | EAPI Eina_Bool |
712 | ecore_con_url_post(Ecore_Con_Url *url_con, | 722 | ecore_con_url_post(Ecore_Con_Url *url_con, const void *data, long length, const char *content_type) |
713 | const void *data, | ||
714 | long length, | ||
715 | const char *content_type) | ||
716 | { | 723 | { |
717 | return _ecore_con_url_send(url_con, MODE_POST, data, length, content_type); | 724 | return _ecore_con_url_send(url_con, MODE_POST, data, length, content_type); |
718 | } | 725 | } |
719 | 726 | ||
720 | EAPI Eina_Bool | 727 | EAPI Eina_Bool |
721 | ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, | 728 | ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, const char *filename, const char *user, const char *pass, const char *upload_dir) |
722 | const char *filename, | ||
723 | const char *user, | ||
724 | const char *pass, | ||
725 | const char *upload_dir) | ||
726 | { | 729 | { |
727 | #ifdef HAVE_CURL | 730 | #ifdef HAVE_CURL |
728 | char url[4096]; | 731 | char url[4096]; |
@@ -739,54 +742,50 @@ ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, | |||
739 | return EINA_FALSE; | 742 | return EINA_FALSE; |
740 | } | 743 | } |
741 | 744 | ||
742 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | 745 | if (url_con->dead) return EINA_FALSE; |
746 | if (!url_con->url) return EINA_FALSE; | ||
747 | if ((!filename) || (!filename[0])) return EINA_FALSE; | ||
743 | 748 | ||
744 | if (!url_con->url) | 749 | if (stat(filename, &file_info)) |
745 | return EINA_FALSE; | 750 | return EINA_FALSE; |
746 | 751 | ||
747 | if (filename) | 752 | snprintf(userpwd, sizeof(userpwd), "%s:%s", user, pass); |
753 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_USERPWD, userpwd); | ||
754 | if (ret != CURLE_OK) | ||
748 | { | 755 | { |
749 | if (stat(filename, &file_info)) | 756 | ERR("Could not set username and password for FTP upload: %s", |
750 | return EINA_FALSE; | 757 | curl_easy_strerror(ret)); |
751 | 758 | return EINA_FALSE; | |
752 | snprintf(userpwd, sizeof(userpwd), "%s:%s", user, pass); | 759 | } |
753 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_USERPWD, userpwd); | ||
754 | if (ret != CURLE_OK) | ||
755 | { | ||
756 | ERR("Could not set username and password for FTP upload: %s", | ||
757 | curl_easy_strerror(ret)); | ||
758 | return EINA_FALSE; | ||
759 | } | ||
760 | 760 | ||
761 | char tmp[PATH_MAX]; | 761 | char tmp[PATH_MAX]; |
762 | snprintf(tmp, PATH_MAX, "%s", filename); | 762 | snprintf(tmp, PATH_MAX, "%s", filename); |
763 | 763 | ||
764 | if (upload_dir) | 764 | if (upload_dir) |
765 | snprintf(url, sizeof(url), "ftp://%s/%s/%s", url_con->url, | 765 | snprintf(url, sizeof(url), "ftp://%s/%s/%s", url_con->url, |
766 | upload_dir, basename(tmp)); | 766 | upload_dir, basename(tmp)); |
767 | else | 767 | else |
768 | snprintf(url, sizeof(url), "ftp://%s/%s", url_con->url, | 768 | snprintf(url, sizeof(url), "ftp://%s/%s", url_con->url, |
769 | basename(tmp)); | 769 | basename(tmp)); |
770 | 770 | ||
771 | if (!ecore_con_url_url_set(url_con, url)) | 771 | if (!ecore_con_url_url_set(url_con, url)) |
772 | return EINA_FALSE; | 772 | return EINA_FALSE; |
773 | 773 | ||
774 | curl_easy_setopt(url_con->curl_easy, CURLOPT_INFILESIZE_LARGE, | 774 | curl_easy_setopt(url_con->curl_easy, CURLOPT_INFILESIZE_LARGE, |
775 | (curl_off_t)file_info.st_size); | 775 | (curl_off_t)file_info.st_size); |
776 | curl_easy_setopt(url_con->curl_easy, CURLOPT_UPLOAD, 1); | 776 | curl_easy_setopt(url_con->curl_easy, CURLOPT_UPLOAD, 1); |
777 | curl_easy_setopt(url_con->curl_easy, CURLOPT_READFUNCTION, | 777 | curl_easy_setopt(url_con->curl_easy, CURLOPT_READFUNCTION, |
778 | _ecore_con_url_read_cb); | 778 | _ecore_con_url_read_cb); |
779 | 779 | ||
780 | fd = fopen(filename, "rb"); | 780 | fd = fopen(filename, "rb"); |
781 | if (!fd) | 781 | if (!fd) |
782 | { | 782 | { |
783 | ERR("Could not open \"%s\" for FTP upload", filename); | 783 | ERR("Could not open \"%s\" for FTP upload", filename); |
784 | return EINA_FALSE; | 784 | return EINA_FALSE; |
785 | } | ||
786 | curl_easy_setopt(url_con->curl_easy, CURLOPT_READDATA, fd); | ||
787 | |||
788 | return _ecore_con_url_perform(url_con); | ||
789 | } | 785 | } |
786 | curl_easy_setopt(url_con->curl_easy, CURLOPT_READDATA, fd); | ||
787 | |||
788 | return _ecore_con_url_perform(url_con); | ||
790 | #else | 789 | #else |
791 | return EINA_FALSE; | 790 | return EINA_FALSE; |
792 | (void)url_con; | 791 | (void)url_con; |
@@ -795,8 +794,6 @@ ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, | |||
795 | (void)pass; | 794 | (void)pass; |
796 | (void)upload_dir; | 795 | (void)upload_dir; |
797 | #endif | 796 | #endif |
798 | |||
799 | return EINA_FALSE; | ||
800 | } | 797 | } |
801 | 798 | ||
802 | EAPI void | 799 | EAPI void |
@@ -813,6 +810,7 @@ ecore_con_url_cookies_init(Ecore_Con_Url *url_con) | |||
813 | return; | 810 | return; |
814 | } | 811 | } |
815 | 812 | ||
813 | if (url_con->dead) return; | ||
816 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, ""); | 814 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, ""); |
817 | #else | 815 | #else |
818 | return; | 816 | return; |
@@ -834,6 +832,7 @@ ecore_con_url_cookies_ignore_old_session_set(Ecore_Con_Url *url_con, Eina_Bool i | |||
834 | return; | 832 | return; |
835 | } | 833 | } |
836 | 834 | ||
835 | if (url_con->dead) return; | ||
837 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIESESSION, ignore); | 836 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIESESSION, ignore); |
838 | #else | 837 | #else |
839 | return; | 838 | return; |
@@ -856,6 +855,7 @@ ecore_con_url_cookies_clear(Ecore_Con_Url *url_con) | |||
856 | return; | 855 | return; |
857 | } | 856 | } |
858 | 857 | ||
858 | if (url_con->dead) return; | ||
859 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "ALL"); | 859 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "ALL"); |
860 | #else | 860 | #else |
861 | return; | 861 | return; |
@@ -877,6 +877,7 @@ ecore_con_url_cookies_session_clear(Ecore_Con_Url *url_con) | |||
877 | return; | 877 | return; |
878 | } | 878 | } |
879 | 879 | ||
880 | if (url_con->dead) return; | ||
880 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "SESS"); | 881 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "SESS"); |
881 | #else | 882 | #else |
882 | return; | 883 | return; |
@@ -885,7 +886,7 @@ ecore_con_url_cookies_session_clear(Ecore_Con_Url *url_con) | |||
885 | } | 886 | } |
886 | 887 | ||
887 | EAPI void | 888 | EAPI void |
888 | ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_name) | 889 | ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char *const file_name) |
889 | { | 890 | { |
890 | #ifdef HAVE_CURL | 891 | #ifdef HAVE_CURL |
891 | if (!url_con) | 892 | if (!url_con) |
@@ -898,6 +899,7 @@ ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_n | |||
898 | return; | 899 | return; |
899 | } | 900 | } |
900 | 901 | ||
902 | if (url_con->dead) return; | ||
901 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, file_name); | 903 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEFILE, file_name); |
902 | #else | 904 | #else |
903 | return; | 905 | return; |
@@ -907,7 +909,7 @@ ecore_con_url_cookies_file_add(Ecore_Con_Url *url_con, const char * const file_n | |||
907 | } | 909 | } |
908 | 910 | ||
909 | EAPI Eina_Bool | 911 | EAPI Eina_Bool |
910 | ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char * const cookiejar_file) | 912 | ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char *const cookiejar_file) |
911 | { | 913 | { |
912 | #ifdef HAVE_CURL | 914 | #ifdef HAVE_CURL |
913 | CURLcode ret; | 915 | CURLcode ret; |
@@ -922,6 +924,7 @@ ecore_con_url_cookies_jar_file_set(Ecore_Con_Url *url_con, const char * const co | |||
922 | return EINA_FALSE; | 924 | return EINA_FALSE; |
923 | } | 925 | } |
924 | 926 | ||
927 | if (url_con->dead) return EINA_FALSE; | ||
925 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEJAR, | 928 | ret = curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIEJAR, |
926 | cookiejar_file); | 929 | cookiejar_file); |
927 | if (ret != CURLE_OK) | 930 | if (ret != CURLE_OK) |
@@ -953,6 +956,7 @@ ecore_con_url_cookies_jar_write(Ecore_Con_Url *url_con) | |||
953 | return; | 956 | return; |
954 | } | 957 | } |
955 | 958 | ||
959 | if (url_con->dead) return; | ||
956 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "FLUSH"); | 960 | curl_easy_setopt(url_con->curl_easy, CURLOPT_COOKIELIST, "FLUSH"); |
957 | #else | 961 | #else |
958 | return; | 962 | return; |
@@ -961,8 +965,7 @@ ecore_con_url_cookies_jar_write(Ecore_Con_Url *url_con) | |||
961 | } | 965 | } |
962 | 966 | ||
963 | EAPI void | 967 | EAPI void |
964 | ecore_con_url_verbose_set(Ecore_Con_Url *url_con, | 968 | ecore_con_url_verbose_set(Ecore_Con_Url *url_con, Eina_Bool verbose) |
965 | Eina_Bool verbose) | ||
966 | { | 969 | { |
967 | #ifdef HAVE_CURL | 970 | #ifdef HAVE_CURL |
968 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 971 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -972,11 +975,10 @@ ecore_con_url_verbose_set(Ecore_Con_Url *url_con, | |||
972 | return; | 975 | return; |
973 | } | 976 | } |
974 | 977 | ||
975 | if (eina_list_data_find(_url_con_list, url_con)) return; | ||
976 | |||
977 | if (!url_con->url) | 978 | if (!url_con->url) |
978 | return; | 979 | return; |
979 | 980 | ||
981 | if (url_con->dead) return; | ||
980 | curl_easy_setopt(url_con->curl_easy, CURLOPT_VERBOSE, (int)verbose); | 982 | curl_easy_setopt(url_con->curl_easy, CURLOPT_VERBOSE, (int)verbose); |
981 | #else | 983 | #else |
982 | return; | 984 | return; |
@@ -986,8 +988,7 @@ ecore_con_url_verbose_set(Ecore_Con_Url *url_con, | |||
986 | } | 988 | } |
987 | 989 | ||
988 | EAPI void | 990 | EAPI void |
989 | ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, | 991 | ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, Eina_Bool use_epsv) |
990 | Eina_Bool use_epsv) | ||
991 | { | 992 | { |
992 | #ifdef HAVE_CURL | 993 | #ifdef HAVE_CURL |
993 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 994 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -997,11 +998,10 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, | |||
997 | return; | 998 | return; |
998 | } | 999 | } |
999 | 1000 | ||
1000 | if (eina_list_data_find(_url_con_list, url_con)) return; | ||
1001 | |||
1002 | if (!url_con->url) | 1001 | if (!url_con->url) |
1003 | return; | 1002 | return; |
1004 | 1003 | ||
1004 | if (url_con->dead) return; | ||
1005 | curl_easy_setopt(url_con->curl_easy, CURLOPT_FTP_USE_EPSV, (int)use_epsv); | 1005 | curl_easy_setopt(url_con->curl_easy, CURLOPT_FTP_USE_EPSV, (int)use_epsv); |
1006 | #else | 1006 | #else |
1007 | return; | 1007 | return; |
@@ -1023,8 +1023,7 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, | |||
1023 | * @since 1.1.0 | 1023 | * @since 1.1.0 |
1024 | */ | 1024 | */ |
1025 | EAPI void | 1025 | EAPI void |
1026 | ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, | 1026 | ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, Eina_Bool verify) |
1027 | Eina_Bool verify) | ||
1028 | { | 1027 | { |
1029 | #ifdef HAVE_CURL | 1028 | #ifdef HAVE_CURL |
1030 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 1029 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
@@ -1034,11 +1033,10 @@ ecore_con_url_ssl_verify_peer_set(Ecore_Con_Url *url_con, | |||
1034 | return; | 1033 | return; |
1035 | } | 1034 | } |
1036 | 1035 | ||
1037 | if (eina_list_data_find(_url_con_list, url_con)) return; | ||
1038 | |||
1039 | if (!url_con->url) | 1036 | if (!url_con->url) |
1040 | return; | 1037 | return; |
1041 | 1038 | ||
1039 | if (url_con->dead) return; | ||
1042 | curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, (int)verify); | 1040 | curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, (int)verify); |
1043 | #else | 1041 | #else |
1044 | return; | 1042 | return; |
@@ -1073,19 +1071,19 @@ ecore_con_url_ssl_ca_set(Ecore_Con_Url *url_con, const char *ca_path) | |||
1073 | #ifdef HAVE_CURL | 1071 | #ifdef HAVE_CURL |
1074 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | 1072 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) |
1075 | { | 1073 | { |
1076 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ssl_ca_set"); | 1074 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ssl_ca_set"); |
1077 | return -1; | 1075 | return -1; |
1078 | } | 1076 | } |
1079 | 1077 | ||
1080 | if (eina_list_data_find(_url_con_list, url_con)) return -1; | ||
1081 | if (!url_con->url) return -1; | 1078 | if (!url_con->url) return -1; |
1079 | if (url_con->dead) return -1; | ||
1082 | if (ca_path == NULL) | 1080 | if (ca_path == NULL) |
1083 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 0); | 1081 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 0); |
1084 | else | 1082 | else |
1085 | { | 1083 | { |
1086 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 1); | 1084 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_SSL_VERIFYPEER, 1); |
1087 | if (!res) | 1085 | if (!res) |
1088 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_CAINFO, ca_path); | 1086 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_CAINFO, ca_path); |
1089 | } | 1087 | } |
1090 | #else | 1088 | #else |
1091 | return -1; | 1089 | return -1; |
@@ -1097,6 +1095,47 @@ ecore_con_url_ssl_ca_set(Ecore_Con_Url *url_con, const char *ca_path) | |||
1097 | } | 1095 | } |
1098 | 1096 | ||
1099 | EAPI Eina_Bool | 1097 | EAPI Eina_Bool |
1098 | ecore_con_url_http_version_set(Ecore_Con_Url *url_con, Ecore_Con_Url_Http_Version version) | ||
1099 | { | ||
1100 | #ifdef HAVE_CURL | ||
1101 | int res = -1; | ||
1102 | if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL)) | ||
1103 | { | ||
1104 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_http_version_set"); | ||
1105 | return EINA_FALSE; | ||
1106 | } | ||
1107 | if (url_con->dead) return EINA_FALSE; | ||
1108 | switch (version) | ||
1109 | { | ||
1110 | case ECORE_CON_URL_HTTP_VERSION_1_0: | ||
1111 | res = curl_easy_setopt(url_con->curl_easy, | ||
1112 | CURLOPT_HTTP_VERSION, | ||
1113 | CURL_HTTP_VERSION_1_0); | ||
1114 | break; | ||
1115 | |||
1116 | case ECORE_CON_URL_HTTP_VERSION_1_1: | ||
1117 | res = curl_easy_setopt(url_con->curl_easy, | ||
1118 | CURLOPT_HTTP_VERSION, | ||
1119 | CURL_HTTP_VERSION_1_1); | ||
1120 | break; | ||
1121 | |||
1122 | default: | ||
1123 | break; | ||
1124 | } | ||
1125 | if (res != CURLE_OK) | ||
1126 | { | ||
1127 | ERR("curl http version setting failed: %s", curl_easy_strerror(res)); | ||
1128 | return EINA_FALSE; | ||
1129 | } | ||
1130 | return EINA_TRUE; | ||
1131 | #else | ||
1132 | (void)url_con; | ||
1133 | (void)version; | ||
1134 | return EINA_FALSE; | ||
1135 | #endif | ||
1136 | } | ||
1137 | |||
1138 | EAPI Eina_Bool | ||
1100 | ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) | 1139 | ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) |
1101 | { | 1140 | { |
1102 | #ifdef HAVE_CURL | 1141 | #ifdef HAVE_CURL |
@@ -1109,8 +1148,8 @@ ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) | |||
1109 | return EINA_FALSE; | 1148 | return EINA_FALSE; |
1110 | } | 1149 | } |
1111 | 1150 | ||
1112 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | ||
1113 | if (!url_con->url) return EINA_FALSE; | 1151 | if (!url_con->url) return EINA_FALSE; |
1152 | if (url_con->dead) return EINA_FALSE; | ||
1114 | 1153 | ||
1115 | if (!proxy) res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXY, ""); | 1154 | if (!proxy) res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXY, ""); |
1116 | else | 1155 | else |
@@ -1121,14 +1160,20 @@ ecore_con_url_proxy_set(Ecore_Con_Url *url_con, const char *proxy) | |||
1121 | if (vers->version_num < 0x71507) | 1160 | if (vers->version_num < 0x71507) |
1122 | { | 1161 | { |
1123 | url_con->proxy_type = CURLPROXY_HTTP; | 1162 | url_con->proxy_type = CURLPROXY_HTTP; |
1124 | if (strstr(proxy, "socks4")) url_con->proxy_type = CURLPROXY_SOCKS4; | 1163 | if (strstr(proxy, "socks4a")) |
1125 | else if (strstr(proxy, "socks4a")) url_con->proxy_type = CURLPROXY_SOCKS4A; | 1164 | url_con->proxy_type = CURLPROXY_SOCKS4A; |
1126 | else if (strstr(proxy, "socks5")) url_con->proxy_type = CURLPROXY_SOCKS5; | 1165 | else if (strstr(proxy, "socks4")) |
1127 | else if (strstr(proxy, "socks5h")) url_con->proxy_type = CURLPROXY_SOCKS5_HOSTNAME; | 1166 | url_con->proxy_type = CURLPROXY_SOCKS4; |
1128 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXYTYPE, url_con->proxy_type); | 1167 | else if (strstr(proxy, "socks5h")) |
1168 | url_con->proxy_type = CURLPROXY_SOCKS5_HOSTNAME; | ||
1169 | else if (strstr(proxy, "socks5")) | ||
1170 | url_con->proxy_type = CURLPROXY_SOCKS5; | ||
1171 | res = curl_easy_setopt(url_con->curl_easy, CURLOPT_PROXYTYPE, | ||
1172 | url_con->proxy_type); | ||
1129 | if (res != CURLE_OK) | 1173 | if (res != CURLE_OK) |
1130 | { | 1174 | { |
1131 | ERR("curl proxy type setting failed: %s", curl_easy_strerror(res)); | 1175 | ERR("curl proxy type setting failed: %s", |
1176 | curl_easy_strerror(res)); | ||
1132 | url_con->proxy_type = -1; | 1177 | url_con->proxy_type = -1; |
1133 | return EINA_FALSE; | 1178 | return EINA_FALSE; |
1134 | } | 1179 | } |
@@ -1159,7 +1204,7 @@ ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout) | |||
1159 | return; | 1204 | return; |
1160 | } | 1205 | } |
1161 | 1206 | ||
1162 | if (eina_list_data_find(_url_con_list, url_con)) return; | 1207 | if (url_con->dead) return; |
1163 | if (!url_con->url || timeout < 0) return; | 1208 | if (!url_con->url || timeout < 0) return; |
1164 | if (url_con->timer) ecore_timer_del(url_con->timer); | 1209 | if (url_con->timer) ecore_timer_del(url_con->timer); |
1165 | url_con->timer = ecore_timer_add(timeout, _ecore_con_url_timeout_cb, url_con); | 1210 | url_con->timer = ecore_timer_add(timeout, _ecore_con_url_timeout_cb, url_con); |
@@ -1181,9 +1226,9 @@ ecore_con_url_proxy_username_set(Ecore_Con_Url *url_con, const char *username) | |||
1181 | return EINA_FALSE; | 1226 | return EINA_FALSE; |
1182 | } | 1227 | } |
1183 | 1228 | ||
1184 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | 1229 | if (url_con->dead) return EINA_FALSE; |
1185 | if (!url_con->url) return EINA_FALSE; | 1230 | if (!url_con->url) return EINA_FALSE; |
1186 | if (!username) return EINA_FALSE; | 1231 | if ((!username) || (!username[0])) return EINA_FALSE; |
1187 | if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) | 1232 | if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) |
1188 | { | 1233 | { |
1189 | ERR("Proxy type should be socks5 and above"); | 1234 | ERR("Proxy type should be socks5 and above"); |
@@ -1214,8 +1259,8 @@ ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const char *password) | |||
1214 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_proxy_password_set"); | 1259 | ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_proxy_password_set"); |
1215 | return EINA_FALSE; | 1260 | return EINA_FALSE; |
1216 | } | 1261 | } |
1217 | if (eina_list_data_find(_url_con_list, url_con)) return EINA_FALSE; | ||
1218 | if (!url_con->url) return EINA_FALSE; | 1262 | if (!url_con->url) return EINA_FALSE; |
1263 | if (url_con->dead) return EINA_FALSE; | ||
1219 | if (!password) return EINA_FALSE; | 1264 | if (!password) return EINA_FALSE; |
1220 | if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) | 1265 | if (url_con->proxy_type == CURLPROXY_SOCKS4 || url_con->proxy_type == CURLPROXY_SOCKS4A) |
1221 | { | 1266 | { |
@@ -1242,19 +1287,61 @@ ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const char *password) | |||
1242 | */ | 1287 | */ |
1243 | 1288 | ||
1244 | #ifdef HAVE_CURL | 1289 | #ifdef HAVE_CURL |
1290 | static void | ||
1291 | _ecore_con_url_status_get(Ecore_Con_Url *url_con) | ||
1292 | { | ||
1293 | long status = 0; | ||
1294 | |||
1295 | if (!url_con->curl_easy) return; | ||
1296 | if (!curl_easy_getinfo(url_con->curl_easy, CURLINFO_RESPONSE_CODE, &status)) | ||
1297 | url_con->status = status; | ||
1298 | else | ||
1299 | url_con->status = 0; | ||
1300 | } | ||
1301 | |||
1302 | static void | ||
1303 | _ecore_con_url_event_url_complete(Ecore_Con_Url *url_con, CURLMsg *curlmsg) | ||
1304 | { | ||
1305 | Ecore_Con_Event_Url_Complete *e; | ||
1306 | |||
1307 | e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); | ||
1308 | if (!e) return; | ||
1309 | |||
1310 | if (curlmsg && (curlmsg->data.result == CURLE_OK)) | ||
1311 | { | ||
1312 | if (!url_con->status) | ||
1313 | _ecore_con_url_status_get(url_con); | ||
1314 | } | ||
1315 | else if (curlmsg) | ||
1316 | ERR("Curl message have errors: %d", curlmsg->data.result); | ||
1317 | else | ||
1318 | CRIT("THIS IS BAD."); | ||
1319 | |||
1320 | e->status = url_con->status; | ||
1321 | e->url_con = url_con; | ||
1322 | url_con->event_count++; | ||
1323 | ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); | ||
1324 | } | ||
1325 | |||
1326 | static void | ||
1327 | _ecore_con_url_multi_remove(Ecore_Con_Url *url_con) | ||
1328 | { | ||
1329 | CURLMcode ret; | ||
1330 | |||
1331 | ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); | ||
1332 | url_con->multi = EINA_FALSE; | ||
1333 | if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); | ||
1334 | } | ||
1335 | |||
1245 | static Eina_Bool | 1336 | static Eina_Bool |
1246 | _ecore_con_url_timeout_cb(void *data) | 1337 | _ecore_con_url_timeout_cb(void *data) |
1247 | { | 1338 | { |
1248 | Ecore_Con_Url *url_con = data; | 1339 | Ecore_Con_Url *url_con = data; |
1249 | CURLMcode ret; | ||
1250 | Ecore_Con_Event_Url_Complete *e; | ||
1251 | 1340 | ||
1252 | if (!url_con) return ECORE_CALLBACK_CANCEL; | 1341 | if (!url_con) return ECORE_CALLBACK_CANCEL; |
1253 | if (!url_con->curl_easy) return ECORE_CALLBACK_CANCEL; | 1342 | if (!url_con->curl_easy) return ECORE_CALLBACK_CANCEL; |
1254 | if (!eina_list_data_find(_url_con_list, url_con)) return ECORE_CALLBACK_CANCEL; | ||
1255 | 1343 | ||
1256 | ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); | 1344 | _ecore_con_url_multi_remove(url_con); |
1257 | if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); | ||
1258 | _url_con_list = eina_list_remove(_url_con_list, url_con); | 1345 | _url_con_list = eina_list_remove(_url_con_list, url_con); |
1259 | 1346 | ||
1260 | curl_slist_free_all(url_con->headers); | 1347 | curl_slist_free_all(url_con->headers); |
@@ -1262,21 +1349,12 @@ _ecore_con_url_timeout_cb(void *data) | |||
1262 | 1349 | ||
1263 | url_con->timer = NULL; | 1350 | url_con->timer = NULL; |
1264 | 1351 | ||
1265 | e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); | 1352 | _ecore_con_url_event_url_complete(url_con, NULL); |
1266 | if (e) | ||
1267 | { | ||
1268 | e->url_con = url_con; | ||
1269 | e->status = 0; | ||
1270 | ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); | ||
1271 | } | ||
1272 | return ECORE_CALLBACK_CANCEL; | 1353 | return ECORE_CALLBACK_CANCEL; |
1273 | } | 1354 | } |
1274 | 1355 | ||
1275 | static size_t | 1356 | static size_t |
1276 | _ecore_con_url_data_cb(void *buffer, | 1357 | _ecore_con_url_data_cb(void *buffer, size_t size, size_t nitems, void *userp) |
1277 | size_t size, | ||
1278 | size_t nitems, | ||
1279 | void *userp) | ||
1280 | { | 1358 | { |
1281 | Ecore_Con_Url *url_con; | 1359 | Ecore_Con_Url *url_con; |
1282 | Ecore_Con_Event_Url_Data *e; | 1360 | Ecore_Con_Event_Url_Data *e; |
@@ -1295,6 +1373,7 @@ _ecore_con_url_data_cb(void *buffer, | |||
1295 | 1373 | ||
1296 | url_con->received += real_size; | 1374 | url_con->received += real_size; |
1297 | 1375 | ||
1376 | INF("reading from %s", url_con->url); | ||
1298 | if (url_con->write_fd < 0) | 1377 | if (url_con->write_fd < 0) |
1299 | { | 1378 | { |
1300 | e = | 1379 | e = |
@@ -1305,7 +1384,8 @@ _ecore_con_url_data_cb(void *buffer, | |||
1305 | e->url_con = url_con; | 1384 | e->url_con = url_con; |
1306 | e->size = real_size; | 1385 | e->size = real_size; |
1307 | memcpy(e->data, buffer, real_size); | 1386 | memcpy(e->data, buffer, real_size); |
1308 | ecore_event_add(ECORE_CON_EVENT_URL_DATA, e, _ecore_con_event_url_free, NULL); | 1387 | url_con->event_count++; |
1388 | ecore_event_add(ECORE_CON_EVENT_URL_DATA, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); | ||
1309 | } | 1389 | } |
1310 | } | 1390 | } |
1311 | else | 1391 | else |
@@ -1336,10 +1416,7 @@ _ecore_con_url_data_cb(void *buffer, | |||
1336 | } | 1416 | } |
1337 | 1417 | ||
1338 | static size_t | 1418 | static size_t |
1339 | _ecore_con_url_header_cb(void *ptr, | 1419 | _ecore_con_url_header_cb(void *ptr, size_t size, size_t nitems, void *stream) |
1340 | size_t size, | ||
1341 | size_t nitems, | ||
1342 | void *stream) | ||
1343 | { | 1420 | { |
1344 | size_t real_size = size * nitems; | 1421 | size_t real_size = size * nitems; |
1345 | Ecore_Con_Url *url_con = stream; | 1422 | Ecore_Con_Url *url_con = stream; |
@@ -1358,11 +1435,7 @@ _ecore_con_url_header_cb(void *ptr, | |||
1358 | } | 1435 | } |
1359 | 1436 | ||
1360 | static int | 1437 | static int |
1361 | _ecore_con_url_progress_cb(void *clientp, | 1438 | _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow) |
1362 | double dltotal, | ||
1363 | double dlnow, | ||
1364 | double ultotal, | ||
1365 | double ulnow) | ||
1366 | { | 1439 | { |
1367 | Ecore_Con_Event_Url_Progress *e; | 1440 | Ecore_Con_Event_Url_Progress *e; |
1368 | Ecore_Con_Url *url_con; | 1441 | Ecore_Con_Url *url_con; |
@@ -1377,17 +1450,15 @@ _ecore_con_url_progress_cb(void *clientp, | |||
1377 | e->down.now = dlnow; | 1450 | e->down.now = dlnow; |
1378 | e->up.total = ultotal; | 1451 | e->up.total = ultotal; |
1379 | e->up.now = ulnow; | 1452 | e->up.now = ulnow; |
1380 | ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e, _ecore_con_event_url_free, NULL); | 1453 | url_con->event_count++; |
1454 | ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con); | ||
1381 | } | 1455 | } |
1382 | 1456 | ||
1383 | return 0; | 1457 | return 0; |
1384 | } | 1458 | } |
1385 | 1459 | ||
1386 | static size_t | 1460 | static size_t |
1387 | _ecore_con_url_read_cb(void *ptr, | 1461 | _ecore_con_url_read_cb(void *ptr, size_t size, size_t nitems, void *stream) |
1388 | size_t size, | ||
1389 | size_t nitems, | ||
1390 | void *stream) | ||
1391 | { | 1462 | { |
1392 | size_t retcode = fread(ptr, size, nitems, stream); | 1463 | size_t retcode = fread(ptr, size, nitems, stream); |
1393 | 1464 | ||
@@ -1418,96 +1489,38 @@ _ecore_con_url_info_read(void) | |||
1418 | 1489 | ||
1419 | while ((curlmsg = curl_multi_info_read(_curlm, &n_remaining))) | 1490 | while ((curlmsg = curl_multi_info_read(_curlm, &n_remaining))) |
1420 | { | 1491 | { |
1492 | Eina_List *l, *ll; | ||
1493 | Ecore_Con_Url *url_con = NULL; | ||
1494 | DBG("Curl message: %d", curlmsg->msg); | ||
1495 | |||
1421 | if (curlmsg->msg == CURLMSG_DONE) | 1496 | if (curlmsg->msg == CURLMSG_DONE) |
1422 | { | 1497 | { |
1423 | Eina_List *l, *ll; | ||
1424 | Ecore_Con_Url *url_con; | ||
1425 | |||
1426 | EINA_LIST_FOREACH_SAFE(_url_con_list, l, ll, url_con) | 1498 | EINA_LIST_FOREACH_SAFE(_url_con_list, l, ll, url_con) |
1427 | { | 1499 | { |
1428 | if (curlmsg->easy_handle == url_con->curl_easy) | 1500 | if (curlmsg->easy_handle == url_con->curl_easy) |
1429 | { | 1501 | _ecore_con_url_event_url_complete(url_con, curlmsg); |
1430 | CURLMcode ret; | ||
1431 | Ecore_Con_Event_Url_Complete *e; | ||
1432 | |||
1433 | e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); | ||
1434 | if (e) | ||
1435 | { | ||
1436 | e->url_con = url_con; | ||
1437 | e->status = 0; | ||
1438 | if (curlmsg->data.result == CURLE_OK) | ||
1439 | { | ||
1440 | long status; /* curl API uses long, not int */ | ||
1441 | status = 0; | ||
1442 | curl_easy_getinfo(curlmsg->easy_handle, CURLINFO_RESPONSE_CODE, &status); | ||
1443 | e->status = status; | ||
1444 | } | ||
1445 | ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); | ||
1446 | } | ||
1447 | |||
1448 | ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); | ||
1449 | if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); | ||
1450 | _url_con_list = eina_list_remove(_url_con_list, url_con); | ||
1451 | break; | ||
1452 | } | ||
1453 | } | 1502 | } |
1454 | } | 1503 | } |
1455 | } | 1504 | } |
1456 | } | 1505 | } |
1457 | 1506 | ||
1458 | static void | 1507 | static void |
1459 | _ecore_con_url_curl_clear(void) | 1508 | _ecore_con_url_curl_clear(void) |
1460 | { | 1509 | { |
1510 | Ecore_Fd_Handler *fdh; | ||
1461 | Ecore_Con_Url *url_con; | 1511 | Ecore_Con_Url *url_con; |
1462 | 1512 | ||
1463 | FD_ZERO(&_current_fd_set); | 1513 | EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); |
1464 | if (_fd_hd_list) | 1514 | EINA_LIST_FREE(_url_con_list, url_con) _ecore_con_url_multi_remove(url_con); |
1465 | { | ||
1466 | Ecore_Fd_Handler *fd_handler; | ||
1467 | EINA_LIST_FREE(_fd_hd_list, fd_handler) | ||
1468 | { | ||
1469 | int fd = ecore_main_fd_handler_fd_get(fd_handler); | ||
1470 | FD_CLR(fd, &_current_fd_set); | ||
1471 | // FIXME: ecore_main_fd_handler_del() sometimes give errors | ||
1472 | // because curl do not make fd itself controlled by users, but it can be ignored. | ||
1473 | ecore_main_fd_handler_del(fd_handler); | ||
1474 | } | ||
1475 | } | ||
1476 | |||
1477 | EINA_LIST_FREE(_url_con_list, url_con) | ||
1478 | { | ||
1479 | CURLMcode ret; | ||
1480 | Ecore_Con_Event_Url_Complete *e; | ||
1481 | |||
1482 | e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete)); | ||
1483 | if (e) | ||
1484 | { | ||
1485 | e->url_con = url_con; | ||
1486 | e->status = 0; | ||
1487 | ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, _ecore_con_event_url_free, NULL); | ||
1488 | } | ||
1489 | ret = curl_multi_remove_handle(_curlm, url_con->curl_easy); | ||
1490 | if (ret != CURLM_OK) ERR("curl_multi_remove_handle failed: %s", curl_multi_strerror(ret)); | ||
1491 | } | ||
1492 | } | 1515 | } |
1493 | 1516 | ||
1494 | static Eina_Bool | 1517 | static Eina_Bool |
1495 | _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__) | 1518 | _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__) |
1496 | { | 1519 | { |
1497 | if (_fd_hd_list) | 1520 | Ecore_Fd_Handler *fdh; |
1498 | { | 1521 | EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); |
1499 | Ecore_Fd_Handler *fd_handler; | 1522 | ecore_timer_interval_set(_curl_timer, 0.1); |
1500 | EINA_LIST_FREE(_fd_hd_list, fd_handler) | 1523 | return ECORE_CALLBACK_CANCEL; |
1501 | { | ||
1502 | int fd = ecore_main_fd_handler_fd_get(fd_handler); | ||
1503 | FD_CLR(fd, &_current_fd_set); | ||
1504 | // FIXME: ecore_main_fd_handler_del() sometimes give errors | ||
1505 | // because curl do not make fd itself controlled by users, but it can be ignored. | ||
1506 | ecore_main_fd_handler_del(fd_handler); | ||
1507 | } | ||
1508 | } | ||
1509 | ecore_timer_thaw(_curl_timeout); | ||
1510 | return ECORE_CALLBACK_RENEW; | ||
1511 | } | 1524 | } |
1512 | 1525 | ||
1513 | static void | 1526 | static void |
@@ -1516,7 +1529,6 @@ _ecore_con_url_fdset(void) | |||
1516 | CURLMcode ret; | 1529 | CURLMcode ret; |
1517 | fd_set read_set, write_set, exc_set; | 1530 | fd_set read_set, write_set, exc_set; |
1518 | int fd, fd_max; | 1531 | int fd, fd_max; |
1519 | Ecore_Fd_Handler *fd_handler; | ||
1520 | 1532 | ||
1521 | FD_ZERO(&read_set); | 1533 | FD_ZERO(&read_set); |
1522 | FD_ZERO(&write_set); | 1534 | FD_ZERO(&write_set); |
@@ -1532,53 +1544,61 @@ _ecore_con_url_fdset(void) | |||
1532 | for (fd = 0; fd <= fd_max; fd++) | 1544 | for (fd = 0; fd <= fd_max; fd++) |
1533 | { | 1545 | { |
1534 | int flags = 0; | 1546 | int flags = 0; |
1535 | if (FD_ISSET(fd, &read_set)) flags |= ECORE_FD_READ; | 1547 | if (FD_ISSET(fd, &read_set)) flags |= ECORE_FD_READ; |
1536 | if (FD_ISSET(fd, &write_set)) flags |= ECORE_FD_WRITE; | 1548 | if (FD_ISSET(fd, &write_set)) flags |= ECORE_FD_WRITE; |
1537 | if (FD_ISSET(fd, &exc_set)) flags |= ECORE_FD_ERROR; | 1549 | if (FD_ISSET(fd, &exc_set)) flags |= ECORE_FD_ERROR; |
1538 | if (flags) | 1550 | if (flags) |
1539 | { | 1551 | { |
1540 | if (!FD_ISSET(fd, &_current_fd_set)) | 1552 | // FIXME: Who is owner (easy_handle) of this fd?? (Curl do not give this info.) |
1541 | { | 1553 | // This cause "Failed to delete epoll fd xx!" error messages |
1542 | FD_SET(fd, &_current_fd_set); | 1554 | Ecore_Fd_Handler *fd_handler; |
1543 | fd_handler = ecore_main_fd_handler_add(fd, flags, _ecore_con_url_fd_handler, NULL, NULL, NULL); | 1555 | fd_handler = ecore_main_fd_handler_add(fd, flags, |
1544 | if (fd_handler) _fd_hd_list = eina_list_append(_fd_hd_list, fd_handler); | 1556 | _ecore_con_url_fd_handler, |
1545 | ecore_timer_freeze(_curl_timeout); | 1557 | NULL, NULL, NULL); |
1546 | } | 1558 | if (fd_handler) |
1559 | _fd_hd_list = eina_list_append(_fd_hd_list, fd_handler); | ||
1547 | } | 1560 | } |
1548 | } | 1561 | } |
1549 | } | 1562 | } |
1550 | 1563 | ||
1551 | static Eina_Bool | 1564 | static Eina_Bool |
1552 | _ecore_con_url_idler_handler(void *data __UNUSED__) | 1565 | _ecore_con_url_timer(void *data __UNUSED__) |
1553 | { | 1566 | { |
1567 | Ecore_Fd_Handler *fdh; | ||
1554 | int still_running; | 1568 | int still_running; |
1555 | CURLMcode ret; | 1569 | CURLMcode ret; |
1556 | 1570 | ||
1571 | EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh); | ||
1572 | _ecore_con_url_info_read(); | ||
1573 | |||
1557 | ret = curl_multi_perform(_curlm, &still_running); | 1574 | ret = curl_multi_perform(_curlm, &still_running); |
1558 | if (ret == CURLM_CALL_MULTI_PERFORM) | 1575 | if (ret == CURLM_CALL_MULTI_PERFORM) |
1559 | { | 1576 | { |
1560 | DBG("Call multiperform again"); | 1577 | DBG("curl_multi_perform() again immediately"); |
1561 | return ECORE_CALLBACK_RENEW; | 1578 | return ECORE_CALLBACK_RENEW; |
1562 | } | 1579 | } |
1563 | else if (ret != CURLM_OK) | 1580 | else if (ret != CURLM_OK) |
1564 | { | 1581 | { |
1565 | ERR("curl_multi_perform() failed: %s", curl_multi_strerror(ret)); | 1582 | ERR("curl_multi_perform() failed: %s", curl_multi_strerror(ret)); |
1566 | _ecore_con_url_curl_clear(); | 1583 | _ecore_con_url_curl_clear(); |
1567 | ecore_timer_freeze(_curl_timeout); | 1584 | ecore_timer_freeze(_curl_timer); |
1568 | return ECORE_CALLBACK_RENEW; | ||
1569 | } | 1585 | } |
1570 | 1586 | ||
1571 | _ecore_con_url_info_read(); | ||
1572 | if (still_running) | 1587 | if (still_running) |
1573 | { | 1588 | { |
1574 | DBG("multiperform is still_running"); | 1589 | long ms; |
1575 | _ecore_con_url_fdset(); | 1590 | _ecore_con_url_fdset(); |
1591 | curl_multi_timeout(_curlm, &ms); | ||
1592 | DBG("multiperform is still running: %d, timeout: %ld", still_running, ms); | ||
1593 | if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT; | ||
1594 | ecore_timer_interval_set(_curl_timer, (double)ms / 1000); | ||
1576 | } | 1595 | } |
1577 | else | 1596 | else |
1578 | { | 1597 | { |
1579 | DBG("multiperform ended"); | 1598 | DBG("multiperform ended"); |
1599 | _ecore_con_url_info_read(); | ||
1580 | _ecore_con_url_curl_clear(); | 1600 | _ecore_con_url_curl_clear(); |
1581 | ecore_timer_freeze(_curl_timeout); | 1601 | ecore_timer_freeze(_curl_timer); |
1582 | } | 1602 | } |
1583 | 1603 | ||
1584 | return ECORE_CALLBACK_RENEW; | 1604 | return ECORE_CALLBACK_RENEW; |
@@ -1596,17 +1616,20 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con) | |||
1596 | return EINA_FALSE; | 1616 | return EINA_FALSE; |
1597 | } | 1617 | } |
1598 | 1618 | ||
1619 | url_con->multi = EINA_TRUE; | ||
1599 | _url_con_list = eina_list_append(_url_con_list, url_con); | 1620 | _url_con_list = eina_list_append(_url_con_list, url_con); |
1600 | ecore_timer_thaw(_curl_timeout); | 1621 | ecore_timer_thaw(_curl_timer); |
1601 | 1622 | ||
1602 | return EINA_TRUE; | 1623 | return EINA_TRUE; |
1603 | } | 1624 | } |
1604 | 1625 | ||
1605 | static void | 1626 | static void |
1606 | _ecore_con_event_url_free(void *data __UNUSED__, | 1627 | _ecore_con_event_url_free(Ecore_Con_Url *url_con, void *ev) |
1607 | void *ev) | ||
1608 | { | 1628 | { |
1609 | free(ev); | 1629 | free(ev); |
1630 | url_con->event_count--; | ||
1631 | if (url_con->dead && (!url_con->event_count)) | ||
1632 | ecore_con_url_free(url_con); | ||
1610 | } | 1633 | } |
1611 | 1634 | ||
1612 | #endif | 1635 | #endif |
diff --git a/libraries/ecore/src/lib/ecore_config/Makefile.in b/libraries/ecore/src/lib/ecore_config/Makefile.in index 6870d44..4b908cd 100644 --- a/libraries/ecore/src/lib/ecore_config/Makefile.in +++ b/libraries/ecore/src/lib/ecore_config/Makefile.in | |||
@@ -55,16 +55,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
55 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 55 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
56 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 56 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
57 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 57 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
58 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 58 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
59 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 59 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
60 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 60 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
61 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 61 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
62 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 62 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
63 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 63 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
64 | $(top_srcdir)/configure.ac | ||
65 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
66 | $(ACLOCAL_M4) | 65 | $(ACLOCAL_M4) |
67 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 66 | mkinstalldirs = $(install_sh) -d |
68 | CONFIG_HEADER = $(top_builddir)/config.h | 67 | CONFIG_HEADER = $(top_builddir)/config.h |
69 | CONFIG_CLEAN_FILES = | 68 | CONFIG_CLEAN_FILES = |
70 | CONFIG_CLEAN_VPATH_FILES = | 69 | CONFIG_CLEAN_VPATH_FILES = |
@@ -205,6 +204,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
205 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 204 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
206 | EVIL_LIBS = @EVIL_LIBS@ | 205 | EVIL_LIBS = @EVIL_LIBS@ |
207 | EXEEXT = @EXEEXT@ | 206 | EXEEXT = @EXEEXT@ |
207 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
208 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
208 | FGREP = @FGREP@ | 209 | FGREP = @FGREP@ |
209 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 210 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
210 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 211 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -260,6 +261,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
260 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 261 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
261 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 262 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
262 | PKG_CONFIG = @PKG_CONFIG@ | 263 | PKG_CONFIG = @PKG_CONFIG@ |
264 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
265 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
263 | POSUB = @POSUB@ | 266 | POSUB = @POSUB@ |
264 | RANLIB = @RANLIB@ | 267 | RANLIB = @RANLIB@ |
265 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 268 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -270,6 +273,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
270 | SED = @SED@ | 273 | SED = @SED@ |
271 | SET_MAKE = @SET_MAKE@ | 274 | SET_MAKE = @SET_MAKE@ |
272 | SHELL = @SHELL@ | 275 | SHELL = @SHELL@ |
276 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
273 | SSL_CFLAGS = @SSL_CFLAGS@ | 277 | SSL_CFLAGS = @SSL_CFLAGS@ |
274 | SSL_LIBS = @SSL_LIBS@ | 278 | SSL_LIBS = @SSL_LIBS@ |
275 | STRIP = @STRIP@ | 279 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_directfb/Makefile.in b/libraries/ecore/src/lib/ecore_directfb/Makefile.in index b7e1d29..f1b270a 100644 --- a/libraries/ecore/src/lib/ecore_directfb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_directfb/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -190,6 +189,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
190 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 189 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
191 | EVIL_LIBS = @EVIL_LIBS@ | 190 | EVIL_LIBS = @EVIL_LIBS@ |
192 | EXEEXT = @EXEEXT@ | 191 | EXEEXT = @EXEEXT@ |
192 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
193 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
193 | FGREP = @FGREP@ | 194 | FGREP = @FGREP@ |
194 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 195 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
195 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 196 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -245,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
245 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 246 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
246 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 247 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
247 | PKG_CONFIG = @PKG_CONFIG@ | 248 | PKG_CONFIG = @PKG_CONFIG@ |
249 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
250 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
248 | POSUB = @POSUB@ | 251 | POSUB = @POSUB@ |
249 | RANLIB = @RANLIB@ | 252 | RANLIB = @RANLIB@ |
250 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 253 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -255,6 +258,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
255 | SED = @SED@ | 258 | SED = @SED@ |
256 | SET_MAKE = @SET_MAKE@ | 259 | SET_MAKE = @SET_MAKE@ |
257 | SHELL = @SHELL@ | 260 | SHELL = @SHELL@ |
261 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
258 | SSL_CFLAGS = @SSL_CFLAGS@ | 262 | SSL_CFLAGS = @SSL_CFLAGS@ |
259 | SSL_LIBS = @SSL_LIBS@ | 263 | SSL_LIBS = @SSL_LIBS@ |
260 | STRIP = @STRIP@ | 264 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h b/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h index 8d9abc4..a78824e 100644 --- a/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h +++ b/libraries/ecore/src/lib/ecore_evas/Ecore_Evas.h | |||
@@ -39,6 +39,9 @@ | |||
39 | * @li @ref ecore_evas_callbacks_example_c | 39 | * @li @ref ecore_evas_callbacks_example_c |
40 | * @li @ref ecore_evas_object_example_c | 40 | * @li @ref ecore_evas_object_example_c |
41 | * @li @ref ecore_evas_basics_example_c | 41 | * @li @ref ecore_evas_basics_example_c |
42 | * @li @ref Ecore_Evas_Window_Sizes_Example_c | ||
43 | * @li @ref Ecore_Evas_Buffer_Example_01_c | ||
44 | * @li @ref Ecore_Evas_Buffer_Example_02_c | ||
42 | */ | 45 | */ |
43 | 46 | ||
44 | /* FIXME: | 47 | /* FIXME: |
@@ -60,10 +63,26 @@ extern "C" { | |||
60 | /** | 63 | /** |
61 | * @defgroup Ecore_Evas_Group Ecore_Evas wrapper/helper set of functions | 64 | * @defgroup Ecore_Evas_Group Ecore_Evas wrapper/helper set of functions |
62 | * | 65 | * |
66 | * Ecore evas is a set of functions that makes it easy to tie together ecore's | ||
67 | * main loop and input handling to evas. As such it's a natural base for EFL | ||
68 | * applications. While this combination makes it easy to create the basic | ||
69 | * aspects all applications need, for normal applications(ones with buttons, | ||
70 | * checkboxes and layouts) one should consider using Elementary. | ||
71 | * | ||
72 | * Ecore evas is extremely well suited for applications that are not based on | ||
73 | * widgets. It has a main loop that delivers events, does basic window handling | ||
74 | * and leaves all of the drawing up to the user. This works very well if used | ||
75 | * in conjunction with Edje or if doing custom drawing as, for example, is done | ||
76 | * in games. | ||
77 | * | ||
63 | * This is a list of examples of these functions: | 78 | * This is a list of examples of these functions: |
64 | * - @ref Ecore_Evas_Window_Sizes_Example_c | 79 | * @li @ref ecore_evas_basics_example_c |
65 | * - @ref Ecore_Evas_Buffer_Example_01_c | 80 | * @li @ref ecore_evas_object_example_c |
66 | * - @ref Ecore_Evas_Buffer_Example_02_c | 81 | * @li @ref ecore_evas_callbacks_example_c |
82 | * @li @ref Ecore_Evas_Window_Sizes_Example_c | ||
83 | * @li @ref Ecore_Evas_Buffer_Example_01_c | ||
84 | * @li @ref Ecore_Evas_Buffer_Example_02_c | ||
85 | * | ||
67 | * @{ | 86 | * @{ |
68 | */ | 87 | */ |
69 | 88 | ||
@@ -151,6 +170,12 @@ typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window; | |||
151 | #ifndef _ECORE_EVAS_PRIVATE_H | 170 | #ifndef _ECORE_EVAS_PRIVATE_H |
152 | /* basic data types */ | 171 | /* basic data types */ |
153 | typedef struct _Ecore_Evas Ecore_Evas; | 172 | typedef struct _Ecore_Evas Ecore_Evas; |
173 | typedef void (*Ecore_Evas_Event_Cb) (Ecore_Evas *ee); /**< Callback used for several ecore evas events @since 1.2 */ | ||
174 | #endif | ||
175 | |||
176 | #ifndef _ECORE_WAYLAND_H_ | ||
177 | #define _ECORE_WAYLAND_WINDOW_PREDEF | ||
178 | typedef struct _Ecore_Wl_Window Ecore_Wl_Window; | ||
154 | #endif | 179 | #endif |
155 | 180 | ||
156 | /* module setup/shutdown calls */ | 181 | /* module setup/shutdown calls */ |
@@ -222,7 +247,7 @@ EAPI Ecore_Evas *ecore_evas_new(const char *engine_name, int x, int y, int w, in | |||
222 | * This function allows you to make an Ecore_Evas translucent using an | 247 | * This function allows you to make an Ecore_Evas translucent using an |
223 | * alpha channel. See ecore_evas_shaped_set() for details. The difference | 248 | * alpha channel. See ecore_evas_shaped_set() for details. The difference |
224 | * between a shaped window and a window with an alpha channel is that an | 249 | * between a shaped window and a window with an alpha channel is that an |
225 | * alpha channel supports multiple levels of transpararency, as opposed to | 250 | * alpha channel supports multiple levels of transparency, as opposed to |
226 | * the 1 bit transparency of a shaped window (a pixel is either opaque, or | 251 | * the 1 bit transparency of a shaped window (a pixel is either opaque, or |
227 | * it's transparent). | 252 | * it's transparent). |
228 | * | 253 | * |
@@ -300,7 +325,7 @@ EAPI void ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, i | |||
300 | * This function takes four pointers to (already allocated) ints, and places | 325 | * This function takes four pointers to (already allocated) ints, and places |
301 | * the geometry which @p ee was latest recently requested . If any of the parameters is not desired you | 326 | * the geometry which @p ee was latest recently requested . If any of the parameters is not desired you |
302 | * may pass NULL on them. | 327 | * may pass NULL on them. |
303 | * This function can represent recently requested geomety. | 328 | * This function can represent recently requested geometry. |
304 | * ecore_evas_geometry_get function returns the value is updated after engine finished request. | 329 | * ecore_evas_geometry_get function returns the value is updated after engine finished request. |
305 | * By comparison, ecore_evas_request_geometry_get returns recently requested value. | 330 | * By comparison, ecore_evas_request_geometry_get returns recently requested value. |
306 | * | 331 | * |
@@ -342,7 +367,7 @@ EAPI Eina_Bool ecore_evas_focus_get(const Ecore_Evas *ee); | |||
342 | * This function iconifies @p ee if @p on is EINA_TRUE, or uniconifies @p ee if | 367 | * This function iconifies @p ee if @p on is EINA_TRUE, or uniconifies @p ee if |
343 | * @p on is EINA_FALSE. | 368 | * @p on is EINA_FALSE. |
344 | * | 369 | * |
345 | * @note Iconify and minize are synonims. | 370 | * @note Iconify and minimize are synonyms. |
346 | * | 371 | * |
347 | * @warning Support for this depends on the underlying windowing system. | 372 | * @warning Support for this depends on the underlying windowing system. |
348 | */ | 373 | */ |
@@ -353,7 +378,7 @@ EAPI void ecore_evas_iconified_set(Ecore_Evas *ee, Eina_Bool on); | |||
353 | * @param ee The Ecore_Evas to set | 378 | * @param ee The Ecore_Evas to set |
354 | * @return EINA_TRUE if @p ee is iconified, EINA_FALSE if not. | 379 | * @return EINA_TRUE if @p ee is iconified, EINA_FALSE if not. |
355 | * | 380 | * |
356 | * @note Iconify and minize are synonims. | 381 | * @note Iconify and minimize are synonyms. |
357 | * | 382 | * |
358 | * @see ecore_evas_iconified_set() | 383 | * @see ecore_evas_iconified_set() |
359 | */ | 384 | */ |
@@ -401,6 +426,161 @@ EAPI void ecore_evas_fullscreen_set(Ecore_Evas *ee, Eina_Bool on); | |||
401 | */ | 426 | */ |
402 | EAPI Eina_Bool ecore_evas_fullscreen_get(const Ecore_Evas *ee); | 427 | EAPI Eina_Bool ecore_evas_fullscreen_get(const Ecore_Evas *ee); |
403 | /** | 428 | /** |
429 | * @brief Set another window that this window is a group member of | ||
430 | * | ||
431 | * @param ee The Ecore_Evas | ||
432 | * @param ee_group The other group member | ||
433 | * | ||
434 | * If @p ee_group is NULL, @p ee is removed from the group, otherwise it is | ||
435 | * added. Note that if you free the @p ee_group canvas before @p ee, then | ||
436 | * getting the group canvas with ecore_evas_window_group_get() will return | ||
437 | * an invalid handle. | ||
438 | * | ||
439 | * @warning Support for this depends on the underlying windowing system. | ||
440 | * @since 1.2 | ||
441 | */ | ||
442 | EAPI void ecore_evas_window_group_set(Ecore_Evas *ee, const Ecore_Evas *ee_group); | ||
443 | /** | ||
444 | * @brief Get the canvas group set. | ||
445 | * | ||
446 | * This returns the handle set by ecore_evas_window_group_set(). | ||
447 | * | ||
448 | * @param ee The Ecore_Evas to set | ||
449 | * @return The Canvas group handle | ||
450 | * | ||
451 | * @see ecore_evas_window_group_set() | ||
452 | * @since 1.2 | ||
453 | */ | ||
454 | EAPI const Ecore_Evas *ecore_evas_window_group_get(const Ecore_Evas *ee); | ||
455 | /** | ||
456 | * @brief Set the aspect ratio of a canvas window | ||
457 | * | ||
458 | * @param ee The Ecore_Evas | ||
459 | * @param aspect The aspect ratio (width divided by height), or 0 to disable | ||
460 | * | ||
461 | * This sets the desired aspect ratio of a canvas window | ||
462 | * | ||
463 | * @warning Support for this depends on the underlying windowing system. | ||
464 | * @since 1.2 | ||
465 | */ | ||
466 | EAPI void ecore_evas_aspect_set(Ecore_Evas *ee, double aspect); | ||
467 | /** | ||
468 | * @brief Get the aspect ratio of a canvas window | ||
469 | * | ||
470 | * This returns the value set by ecore_evas_aspect_set(). | ||
471 | * | ||
472 | * @param ee The Ecore_Evas to set | ||
473 | * @return The aspect ratio | ||
474 | * | ||
475 | * @see ecore_evas_aspect_set() | ||
476 | * @since 1.2 | ||
477 | */ | ||
478 | EAPI double ecore_evas_aspect_get(const Ecore_Evas *ee); | ||
479 | /** | ||
480 | * @brief Set The urgent hint flag | ||
481 | * | ||
482 | * @param ee The Ecore_Evas | ||
483 | * @param urgent The urgent state flag | ||
484 | * | ||
485 | * This sets the "urgent" state hint on a window so the desktop environment | ||
486 | * can highlight it somehow. | ||
487 | * | ||
488 | * @warning Support for this depends on the underlying windowing system. | ||
489 | * @since 1.2 | ||
490 | */ | ||
491 | EAPI void ecore_evas_urgent_set(Ecore_Evas *ee, Eina_Bool urgent); | ||
492 | /** | ||
493 | * @brief Get the urgent state on the cavas window | ||
494 | * | ||
495 | * This returns the value set by ecore_evas_urgent_set() | ||
496 | * | ||
497 | * @param ee The Ecore_Evas to set | ||
498 | * @return The urgent state set | ||
499 | * | ||
500 | * @see ecore_evas_urgent_set() | ||
501 | * @since 1.2 | ||
502 | */ | ||
503 | EAPI Eina_Bool ecore_evas_urgent_get(const Ecore_Evas *ee); | ||
504 | /** | ||
505 | * @brief Set the modal state flag on the canvas window | ||
506 | * | ||
507 | * @param ee The Ecore_Evas | ||
508 | * @param modal The modal hint flag | ||
509 | * | ||
510 | * This hints if the window should be modal (eg if it is also transient | ||
511 | * for another window, the other window will maybe be denied focus by | ||
512 | * the desktop window manager). | ||
513 | * | ||
514 | * @warning Support for this depends on the underlying windowing system. | ||
515 | * @since 1.2 | ||
516 | */ | ||
517 | EAPI void ecore_evas_modal_set(Ecore_Evas *ee, Eina_Bool modal); | ||
518 | /** | ||
519 | * @brief Get The modal flag | ||
520 | * | ||
521 | * This returns the value set by ecore_evas_modal_set(). | ||
522 | * | ||
523 | * @param ee The Ecore_Evas to set | ||
524 | * @return The modal flag | ||
525 | * | ||
526 | * @see ecore_evas_modal_set() | ||
527 | * @since 1.2 | ||
528 | */ | ||
529 | EAPI Eina_Bool ecore_evas_modal_get(const Ecore_Evas *ee); | ||
530 | /** | ||
531 | * @brief Set the "i demand attention" flag on a canvas window | ||
532 | * | ||
533 | * @param ee The Ecore_Evas | ||
534 | * @param demand_attention The flag state to set | ||
535 | * | ||
536 | * A window may demand attention now (eg you must enter a password before | ||
537 | * continuing), and so it may flag a window with this. | ||
538 | * | ||
539 | * @warning Support for this depends on the underlying windowing system. | ||
540 | * @since 1.2 | ||
541 | */ | ||
542 | EAPI void ecore_evas_demand_attention_set(Ecore_Evas *ee, Eina_Bool demand); | ||
543 | /** | ||
544 | * @brief Get the "i demand attention" flag | ||
545 | * | ||
546 | * This returns the value set by ecore_evas_demand_attention_set(). | ||
547 | * | ||
548 | * @param ee The Ecore_Evas to set | ||
549 | * @return The "i demand attention" flag. | ||
550 | * | ||
551 | * @see ecore_evas_demand_attention_set() | ||
552 | * @since 1.2 | ||
553 | */ | ||
554 | EAPI Eina_Bool ecore_evas_demand_attention_get(const Ecore_Evas *ee); | ||
555 | /** | ||
556 | * @brief Set the "focus skip" flag | ||
557 | * | ||
558 | * @param ee The Ecore_Evas | ||
559 | * @param skip The "focus skip" state to set. | ||
560 | * | ||
561 | * A window may not want to accept focus, be in the taskbar, pager etc. | ||
562 | * sometimes (example for a small notification window that hovers around | ||
563 | * a taskbar or panel, or hovers around a window until some activity | ||
564 | * dismisses it). | ||
565 | * | ||
566 | * @warning Support for this depends on the underlying windowing system. | ||
567 | * @since 1.2 | ||
568 | */ | ||
569 | EAPI void ecore_evas_focus_skip_set(Ecore_Evas *ee, Eina_Bool skip); | ||
570 | /** | ||
571 | * @brief Get the "focus skip" flag | ||
572 | * | ||
573 | * This returns the value set by ecore_evas_focus_skip_set(). | ||
574 | * | ||
575 | * @param ee The Ecore_Evas to set | ||
576 | * @return The "focus skip" flag. | ||
577 | * | ||
578 | * @see ecore_evas_focus_skip_set() | ||
579 | * @since 1.2 | ||
580 | */ | ||
581 | EAPI Eina_Bool ecore_evas_focus_skip_get(const Ecore_Evas *ee); | ||
582 | |||
583 | /** | ||
404 | * @brief Set if this evas should ignore @b all events. | 584 | * @brief Set if this evas should ignore @b all events. |
405 | * | 585 | * |
406 | * @param ee The Ecore_Evas whose window's to ignore events. | 586 | * @param ee The Ecore_Evas whose window's to ignore events. |
@@ -693,10 +873,13 @@ EAPI Ecore_Evas *ecore_evas_fb_new(const char *disp_name, int rotation, int | |||
693 | EAPI Ecore_Evas *ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h); | 873 | EAPI Ecore_Evas *ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h); |
694 | EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas *ee); | 874 | EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas *ee); |
695 | 875 | ||
696 | EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, int frame); | 876 | |
697 | EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame); | 877 | EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame); |
878 | EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame); | ||
698 | EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee, int location); | 879 | EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee, int location); |
699 | EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); | 880 | /* EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); */ |
881 | /* EAPI void ecore_evas_wayland_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); */ | ||
882 | /* EAPI void ecore_evas_wayland_type_set(Ecore_Evas *ee, int type); */ | ||
700 | 883 | ||
701 | /** | 884 | /** |
702 | * @brief Create a new @c Ecore_Evas canvas bound to the Evas | 885 | * @brief Create a new @c Ecore_Evas canvas bound to the Evas |
@@ -1038,7 +1221,7 @@ EAPI void ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void | |||
1038 | * @warning If and when this function is called depends on the underlying | 1221 | * @warning If and when this function is called depends on the underlying |
1039 | * windowing system. | 1222 | * windowing system. |
1040 | */ | 1223 | */ |
1041 | EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1224 | EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1042 | /** | 1225 | /** |
1043 | * Set a callback for Ecore_Evas move events. | 1226 | * Set a callback for Ecore_Evas move events. |
1044 | * @param ee The Ecore_Evas to set callbacks on | 1227 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1050,7 +1233,7 @@ EAPI void ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ec | |||
1050 | * @warning If and when this function is called depends on the underlying | 1233 | * @warning If and when this function is called depends on the underlying |
1051 | * windowing system. | 1234 | * windowing system. |
1052 | */ | 1235 | */ |
1053 | EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1236 | EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1054 | /** | 1237 | /** |
1055 | * Set a callback for Ecore_Evas show events. | 1238 | * Set a callback for Ecore_Evas show events. |
1056 | * @param ee The Ecore_Evas to set callbacks on | 1239 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1062,7 +1245,7 @@ EAPI void ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecor | |||
1062 | * @warning If and when this function is called depends on the underlying | 1245 | * @warning If and when this function is called depends on the underlying |
1063 | * windowing system. | 1246 | * windowing system. |
1064 | */ | 1247 | */ |
1065 | EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1248 | EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1066 | /** | 1249 | /** |
1067 | * Set a callback for Ecore_Evas hide events. | 1250 | * Set a callback for Ecore_Evas hide events. |
1068 | * @param ee The Ecore_Evas to set callbacks on | 1251 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1074,7 +1257,7 @@ EAPI void ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecor | |||
1074 | * @warning If and when this function is called depends on the underlying | 1257 | * @warning If and when this function is called depends on the underlying |
1075 | * windowing system. | 1258 | * windowing system. |
1076 | */ | 1259 | */ |
1077 | EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1260 | EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1078 | /** | 1261 | /** |
1079 | * Set a callback for Ecore_Evas delete request events. | 1262 | * Set a callback for Ecore_Evas delete request events. |
1080 | * @param ee The Ecore_Evas to set callbacks on | 1263 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1086,7 +1269,7 @@ EAPI void ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecor | |||
1086 | * @warning If and when this function is called depends on the underlying | 1269 | * @warning If and when this function is called depends on the underlying |
1087 | * windowing system. | 1270 | * windowing system. |
1088 | */ | 1271 | */ |
1089 | EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1272 | EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1090 | /** | 1273 | /** |
1091 | * Set a callback for Ecore_Evas destroy events. | 1274 | * Set a callback for Ecore_Evas destroy events. |
1092 | * @param ee The Ecore_Evas to set callbacks on | 1275 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1098,7 +1281,7 @@ EAPI void ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*f | |||
1098 | * @warning If and when this function is called depends on the underlying | 1281 | * @warning If and when this function is called depends on the underlying |
1099 | * windowing system. | 1282 | * windowing system. |
1100 | */ | 1283 | */ |
1101 | EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1284 | EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1102 | /** | 1285 | /** |
1103 | * Set a callback for Ecore_Evas focus in events. | 1286 | * Set a callback for Ecore_Evas focus in events. |
1104 | * @param ee The Ecore_Evas to set callbacks on | 1287 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1110,7 +1293,7 @@ EAPI void ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (E | |||
1110 | * @warning If and when this function is called depends on the underlying | 1293 | * @warning If and when this function is called depends on the underlying |
1111 | * windowing system. | 1294 | * windowing system. |
1112 | */ | 1295 | */ |
1113 | EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1296 | EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1114 | /** | 1297 | /** |
1115 | * Set a callback for Ecore_Evas focus out events. | 1298 | * Set a callback for Ecore_Evas focus out events. |
1116 | * @param ee The Ecore_Evas to set callbacks on | 1299 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1122,7 +1305,7 @@ EAPI void ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) ( | |||
1122 | * @warning If and when this function is called depends on the underlying | 1305 | * @warning If and when this function is called depends on the underlying |
1123 | * windowing system. | 1306 | * windowing system. |
1124 | */ | 1307 | */ |
1125 | EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1308 | EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1126 | /** | 1309 | /** |
1127 | * Set a callback for Ecore_Evas sticky events. | 1310 | * Set a callback for Ecore_Evas sticky events. |
1128 | * @param ee The Ecore_Evas to set callbacks on | 1311 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1134,7 +1317,7 @@ EAPI void ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) | |||
1134 | * @warning If and when this function is called depends on the underlying | 1317 | * @warning If and when this function is called depends on the underlying |
1135 | * windowing system. | 1318 | * windowing system. |
1136 | */ | 1319 | */ |
1137 | EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1320 | EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1138 | /** | 1321 | /** |
1139 | * Set a callback for Ecore_Evas un-sticky events. | 1322 | * Set a callback for Ecore_Evas un-sticky events. |
1140 | * @param ee The Ecore_Evas to set callbacks on | 1323 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1146,7 +1329,7 @@ EAPI void ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ec | |||
1146 | * @warning If and when this function is called depends on the underlying | 1329 | * @warning If and when this function is called depends on the underlying |
1147 | * windowing system. | 1330 | * windowing system. |
1148 | */ | 1331 | */ |
1149 | EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1332 | EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1150 | /** | 1333 | /** |
1151 | * Set a callback for Ecore_Evas mouse in events. | 1334 | * Set a callback for Ecore_Evas mouse in events. |
1152 | * @param ee The Ecore_Evas to set callbacks on | 1335 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1158,7 +1341,7 @@ EAPI void ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) ( | |||
1158 | * @warning If and when this function is called depends on the underlying | 1341 | * @warning If and when this function is called depends on the underlying |
1159 | * windowing system. | 1342 | * windowing system. |
1160 | */ | 1343 | */ |
1161 | EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1344 | EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1162 | /** | 1345 | /** |
1163 | * Set a callback for Ecore_Evas mouse out events. | 1346 | * Set a callback for Ecore_Evas mouse out events. |
1164 | * @param ee The Ecore_Evas to set callbacks on | 1347 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1170,7 +1353,7 @@ EAPI void ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) ( | |||
1170 | * @warning If and when this function is called depends on the underlying | 1353 | * @warning If and when this function is called depends on the underlying |
1171 | * windowing system. | 1354 | * windowing system. |
1172 | */ | 1355 | */ |
1173 | EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1356 | EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1174 | /** | 1357 | /** |
1175 | * Set a callback for Ecore_Evas pre render events. | 1358 | * Set a callback for Ecore_Evas pre render events. |
1176 | * @param ee The Ecore_Evas to set callbacks on | 1359 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1182,7 +1365,7 @@ EAPI void ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) | |||
1182 | * @warning If and when this function is called depends on the underlying | 1365 | * @warning If and when this function is called depends on the underlying |
1183 | * windowing system. | 1366 | * windowing system. |
1184 | */ | 1367 | */ |
1185 | EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1368 | EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1186 | /** | 1369 | /** |
1187 | * Set a callback for Ecore_Evas mouse post render events. | 1370 | * Set a callback for Ecore_Evas mouse post render events. |
1188 | * @param ee The Ecore_Evas to set callbacks on | 1371 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1194,7 +1377,7 @@ EAPI void ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) | |||
1194 | * @warning If and when this function is called depends on the underlying | 1377 | * @warning If and when this function is called depends on the underlying |
1195 | * windowing system. | 1378 | * windowing system. |
1196 | */ | 1379 | */ |
1197 | EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1380 | EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1198 | /** | 1381 | /** |
1199 | * Set a callback for Ecore_Evas pre-free event. | 1382 | * Set a callback for Ecore_Evas pre-free event. |
1200 | * @param ee The Ecore_Evas to set callbacks on | 1383 | * @param ee The Ecore_Evas to set callbacks on |
@@ -1206,7 +1389,21 @@ EAPI void ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func | |||
1206 | * @warning If and when this function is called depends on the underlying | 1389 | * @warning If and when this function is called depends on the underlying |
1207 | * windowing system. | 1390 | * windowing system. |
1208 | */ | 1391 | */ |
1209 | EAPI void ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 1392 | EAPI void ecore_evas_callback_pre_free_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
1393 | /** | ||
1394 | * Set a callback for Ecore_Evas state changes. | ||
1395 | * @param ee The Ecore_Evas to set callbacks on | ||
1396 | * @param func The function to call | ||
1397 | |||
1398 | * A call to this function will set a callback on an Ecore_Evas, causing | ||
1399 | * @p func to be called whenever @p ee changes state. | ||
1400 | * | ||
1401 | * @since 1.2 | ||
1402 | * @warning If and when this function is called depends on the underlying | ||
1403 | * windowing system. | ||
1404 | */ | ||
1405 | EAPI void ecore_evas_callback_state_change_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func); | ||
1406 | |||
1210 | EAPI Evas *ecore_evas_get(const Ecore_Evas *ee); | 1407 | EAPI Evas *ecore_evas_get(const Ecore_Evas *ee); |
1211 | EAPI void ecore_evas_managed_move(Ecore_Evas *ee, int x, int y); | 1408 | EAPI void ecore_evas_managed_move(Ecore_Evas *ee, int x, int y); |
1212 | EAPI void ecore_evas_shaped_set(Ecore_Evas *ee, Eina_Bool shaped); | 1409 | EAPI void ecore_evas_shaped_set(Ecore_Evas *ee, Eina_Bool shaped); |
@@ -1572,7 +1769,7 @@ EAPI Eina_Bool ecore_evas_ews_setup(int x, int y, int w, int h); | |||
1572 | /** | 1769 | /** |
1573 | * Return the internal backing store in use. | 1770 | * Return the internal backing store in use. |
1574 | * | 1771 | * |
1575 | * @note this will foced it to be created, making future calls to | 1772 | * @note this will forced it to be created, making future calls to |
1576 | * ecore_evas_ews_engine_set() void. | 1773 | * ecore_evas_ews_engine_set() void. |
1577 | * | 1774 | * |
1578 | * @see ecore_evas_ews_evas_get() | 1775 | * @see ecore_evas_ews_evas_get() |
@@ -1583,7 +1780,7 @@ EAPI Ecore_Evas *ecore_evas_ews_ecore_evas_get(void); | |||
1583 | /** | 1780 | /** |
1584 | * Return the internal backing store in use. | 1781 | * Return the internal backing store in use. |
1585 | * | 1782 | * |
1586 | * @note this will foced it to be created, making future calls to | 1783 | * @note this will forced it to be created, making future calls to |
1587 | * ecore_evas_ews_engine_set() void. | 1784 | * ecore_evas_ews_engine_set() void. |
1588 | * | 1785 | * |
1589 | * @see ecore_evas_ews_ecore_evas_get() | 1786 | * @see ecore_evas_ews_ecore_evas_get() |
@@ -1762,6 +1959,7 @@ EAPI Ecore_Evas *ecore_evas_extn_socket_new(int w, int h); | |||
1762 | /** | 1959 | /** |
1763 | * @brief Create a socket to provide the service for external ecore evas socket. | 1960 | * @brief Create a socket to provide the service for external ecore evas socket. |
1764 | * | 1961 | * |
1962 | * @param ee The Ecore_Evas | ||
1765 | * @param svcname The name of the service to be advertised. ensure that it is unique (when combined with @p svcnum) otherwise creation may fail. | 1963 | * @param svcname The name of the service to be advertised. ensure that it is unique (when combined with @p svcnum) otherwise creation may fail. |
1766 | * @param svcnum A number (any value, 0 beig the common default) to differentiate multiple instances of services with the same name. | 1964 | * @param svcnum A number (any value, 0 beig the common default) to differentiate multiple instances of services with the same name. |
1767 | * @param svcsys A boolean that if true, specifies to create a system-wide service all users can connect to, otherwise the service is private to the user ide that created the service. | 1965 | * @param svcsys A boolean that if true, specifies to create a system-wide service all users can connect to, otherwise the service is private to the user ide that created the service. |
@@ -1791,7 +1989,7 @@ EAPI Eina_Bool ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname | |||
1791 | * image data so the external plug process will not render to it or alter it. | 1989 | * image data so the external plug process will not render to it or alter it. |
1792 | * | 1990 | * |
1793 | * You should only hold the lock for just as long as you need to read out the | 1991 | * You should only hold the lock for just as long as you need to read out the |
1794 | * image data or otherwise deal with it, and then unlokc it with | 1992 | * image data or otherwise deal with it, and then unlock it with |
1795 | * ecore_evas_extn_plug_object_data_unlock(). Keeping a lock over more than | 1993 | * ecore_evas_extn_plug_object_data_unlock(). Keeping a lock over more than |
1796 | * 1 iteration of the main ecore loop will be problematic, so avoid it. Also | 1994 | * 1 iteration of the main ecore loop will be problematic, so avoid it. Also |
1797 | * forgetting to unlock may cause the socket process to freeze and thus create | 1995 | * forgetting to unlock may cause the socket process to freeze and thus create |
@@ -1831,7 +2029,7 @@ EAPI void ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj); | |||
1831 | * in the canvas of the plug process in place of the image object. The image | 2029 | * in the canvas of the plug process in place of the image object. The image |
1832 | * object by default is created to be filled (equivalent of | 2030 | * object by default is created to be filled (equivalent of |
1833 | * evas_object_image_filled_add() on creation) so image content will scale | 2031 | * evas_object_image_filled_add() on creation) so image content will scale |
1834 | * toi fill the image unless otherwise reconfigured. The Ecore_Evas size | 2032 | * to fill the image unless otherwise reconfigured. The Ecore_Evas size |
1835 | * of the plug is the master size and determines size in pixels of the | 2033 | * of the plug is the master size and determines size in pixels of the |
1836 | * plug canvas. You can change the size with something like: | 2034 | * plug canvas. You can change the size with something like: |
1837 | * | 2035 | * |
diff --git a/libraries/ecore/src/lib/ecore_evas/Makefile.am b/libraries/ecore/src/lib/ecore_evas/Makefile.am index a1d9215..c85af09 100644 --- a/libraries/ecore/src/lib/ecore_evas/Makefile.am +++ b/libraries/ecore/src/lib/ecore_evas/Makefile.am | |||
@@ -151,6 +151,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \ | |||
151 | @EVAS_LIBS@ \ | 151 | @EVAS_LIBS@ \ |
152 | @EINA_LIBS@ \ | 152 | @EINA_LIBS@ \ |
153 | @EVIL_LIBS@ \ | 153 | @EVIL_LIBS@ \ |
154 | @SHM_OPEN_LIBS@ \ | ||
154 | @WAYLAND_EGL_LIBS@ | 155 | @WAYLAND_EGL_LIBS@ |
155 | 156 | ||
156 | libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ | 157 | libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ |
diff --git a/libraries/ecore/src/lib/ecore_evas/Makefile.in b/libraries/ecore/src/lib/ecore_evas/Makefile.in index a269b75..b48f26f 100644 --- a/libraries/ecore/src/lib/ecore_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_evas/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -216,6 +215,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
216 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 215 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
217 | EVIL_LIBS = @EVIL_LIBS@ | 216 | EVIL_LIBS = @EVIL_LIBS@ |
218 | EXEEXT = @EXEEXT@ | 217 | EXEEXT = @EXEEXT@ |
218 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
219 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
219 | FGREP = @FGREP@ | 220 | FGREP = @FGREP@ |
220 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 221 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
221 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 222 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -271,6 +272,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
271 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 272 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
272 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 273 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
273 | PKG_CONFIG = @PKG_CONFIG@ | 274 | PKG_CONFIG = @PKG_CONFIG@ |
275 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
276 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
274 | POSUB = @POSUB@ | 277 | POSUB = @POSUB@ |
275 | RANLIB = @RANLIB@ | 278 | RANLIB = @RANLIB@ |
276 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 279 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -281,6 +284,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
281 | SED = @SED@ | 284 | SED = @SED@ |
282 | SET_MAKE = @SET_MAKE@ | 285 | SET_MAKE = @SET_MAKE@ |
283 | SHELL = @SHELL@ | 286 | SHELL = @SHELL@ |
287 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
284 | SSL_CFLAGS = @SSL_CFLAGS@ | 288 | SSL_CFLAGS = @SSL_CFLAGS@ |
285 | SSL_LIBS = @SSL_LIBS@ | 289 | SSL_LIBS = @SSL_LIBS@ |
286 | STRIP = @STRIP@ | 290 | STRIP = @STRIP@ |
@@ -605,6 +609,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \ | |||
605 | @EVAS_LIBS@ \ | 609 | @EVAS_LIBS@ \ |
606 | @EINA_LIBS@ \ | 610 | @EINA_LIBS@ \ |
607 | @EVIL_LIBS@ \ | 611 | @EVIL_LIBS@ \ |
612 | @SHM_OPEN_LIBS@ \ | ||
608 | @WAYLAND_EGL_LIBS@ | 613 | @WAYLAND_EGL_LIBS@ |
609 | 614 | ||
610 | libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ | 615 | libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas.c index 2b04488..6ecd609 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas.c | |||
@@ -509,24 +509,6 @@ _ecore_evas_constructor_sdl(int x __UNUSED__, int y __UNUSED__, int w, int h, co | |||
509 | 509 | ||
510 | return ee; | 510 | return ee; |
511 | } | 511 | } |
512 | |||
513 | static Ecore_Evas * | ||
514 | _ecore_evas_constructor_sdl16(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options) | ||
515 | { | ||
516 | Ecore_Evas *ee; | ||
517 | unsigned int fullscreen = 0, hwsurface = 0, noframe = 0, alpha = 0; | ||
518 | char *name = NULL; | ||
519 | |||
520 | _ecore_evas_parse_extra_options_str(extra_options, "name=", &name); | ||
521 | _ecore_evas_parse_extra_options_uint(extra_options, "fullscreen=", &fullscreen); | ||
522 | _ecore_evas_parse_extra_options_uint(extra_options, "hwsurface=", &hwsurface); | ||
523 | _ecore_evas_parse_extra_options_uint(extra_options, "alpha=", &alpha); | ||
524 | |||
525 | ee = ecore_evas_sdl16_new(name, w, h, fullscreen, hwsurface, noframe, alpha); | ||
526 | free(name); | ||
527 | |||
528 | return ee; | ||
529 | } | ||
530 | #endif | 512 | #endif |
531 | 513 | ||
532 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL | 514 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL |
@@ -606,12 +588,13 @@ static Ecore_Evas * | |||
606 | _ecore_evas_constructor_wayland_shm(int x, int y, int w, int h, const char *extra_options) | 588 | _ecore_evas_constructor_wayland_shm(int x, int y, int w, int h, const char *extra_options) |
607 | { | 589 | { |
608 | char *disp_name = NULL; | 590 | char *disp_name = NULL; |
609 | unsigned int frame = 0; | 591 | unsigned int frame = 0, parent = 0; |
610 | Ecore_Evas *ee; | 592 | Ecore_Evas *ee; |
611 | 593 | ||
612 | _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); | 594 | _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); |
613 | _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); | 595 | _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); |
614 | ee = ecore_evas_wayland_shm_new(disp_name, x, y, w, h, frame); | 596 | _ecore_evas_parse_extra_options_uint(extra_options, "parent=", &parent); |
597 | ee = ecore_evas_wayland_shm_new(disp_name, parent, x, y, w, h, frame); | ||
615 | free(disp_name); | 598 | free(disp_name); |
616 | 599 | ||
617 | return ee; | 600 | return ee; |
@@ -623,12 +606,13 @@ static Ecore_Evas * | |||
623 | _ecore_evas_constructor_wayland_egl(int x, int y, int w, int h, const char *extra_options) | 606 | _ecore_evas_constructor_wayland_egl(int x, int y, int w, int h, const char *extra_options) |
624 | { | 607 | { |
625 | char *disp_name = NULL; | 608 | char *disp_name = NULL; |
626 | unsigned int frame = 0; | 609 | unsigned int frame = 0, parent = 0; |
627 | Ecore_Evas *ee; | 610 | Ecore_Evas *ee; |
628 | 611 | ||
629 | _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); | 612 | _ecore_evas_parse_extra_options_str(extra_options, "display=", &disp_name); |
630 | _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); | 613 | _ecore_evas_parse_extra_options_uint(extra_options, "frame=", &frame); |
631 | ee = ecore_evas_wayland_egl_new(disp_name, x, y, w, h, frame); | 614 | _ecore_evas_parse_extra_options_uint(extra_options, "parent=", &parent); |
615 | ee = ecore_evas_wayland_egl_new(disp_name, parent, x, y, w, h, frame); | ||
632 | free(disp_name); | 616 | free(disp_name); |
633 | 617 | ||
634 | return ee; | 618 | return ee; |
@@ -788,7 +772,6 @@ static const struct ecore_evas_engine _engines[] = { | |||
788 | 772 | ||
789 | #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL | 773 | #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL |
790 | {"sdl", _ecore_evas_constructor_sdl}, | 774 | {"sdl", _ecore_evas_constructor_sdl}, |
791 | {"software_16_sdl", _ecore_evas_constructor_sdl16}, | ||
792 | #endif | 775 | #endif |
793 | 776 | ||
794 | /* independent */ | 777 | /* independent */ |
@@ -944,7 +927,7 @@ ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data) | |||
944 | #define IFE return;} | 927 | #define IFE return;} |
945 | 928 | ||
946 | EAPI void | 929 | EAPI void |
947 | ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 930 | ecore_evas_callback_resize_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
948 | { | 931 | { |
949 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 932 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
950 | { | 933 | { |
@@ -958,7 +941,7 @@ ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
958 | } | 941 | } |
959 | 942 | ||
960 | EAPI void | 943 | EAPI void |
961 | ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 944 | ecore_evas_callback_move_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
962 | { | 945 | { |
963 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 946 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
964 | { | 947 | { |
@@ -972,7 +955,7 @@ ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
972 | } | 955 | } |
973 | 956 | ||
974 | EAPI void | 957 | EAPI void |
975 | ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 958 | ecore_evas_callback_show_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
976 | { | 959 | { |
977 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 960 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
978 | { | 961 | { |
@@ -986,7 +969,7 @@ ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
986 | } | 969 | } |
987 | 970 | ||
988 | EAPI void | 971 | EAPI void |
989 | ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 972 | ecore_evas_callback_hide_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
990 | { | 973 | { |
991 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 974 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
992 | { | 975 | { |
@@ -1000,7 +983,7 @@ ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1000 | } | 983 | } |
1001 | 984 | ||
1002 | EAPI void | 985 | EAPI void |
1003 | ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 986 | ecore_evas_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1004 | { | 987 | { |
1005 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 988 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1006 | { | 989 | { |
@@ -1014,7 +997,7 @@ ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas | |||
1014 | } | 997 | } |
1015 | 998 | ||
1016 | EAPI void | 999 | EAPI void |
1017 | ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1000 | ecore_evas_callback_destroy_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1018 | { | 1001 | { |
1019 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1002 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1020 | { | 1003 | { |
@@ -1028,7 +1011,7 @@ ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1028 | } | 1011 | } |
1029 | 1012 | ||
1030 | EAPI void | 1013 | EAPI void |
1031 | ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1014 | ecore_evas_callback_focus_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1032 | { | 1015 | { |
1033 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1016 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1034 | { | 1017 | { |
@@ -1042,7 +1025,7 @@ ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1042 | } | 1025 | } |
1043 | 1026 | ||
1044 | EAPI void | 1027 | EAPI void |
1045 | ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1028 | ecore_evas_callback_focus_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1046 | { | 1029 | { |
1047 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1030 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1048 | { | 1031 | { |
@@ -1056,7 +1039,7 @@ ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1056 | } | 1039 | } |
1057 | 1040 | ||
1058 | EAPI void | 1041 | EAPI void |
1059 | ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1042 | ecore_evas_callback_sticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1060 | { | 1043 | { |
1061 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1044 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1062 | { | 1045 | { |
@@ -1070,7 +1053,7 @@ ecore_evas_callback_sticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1070 | } | 1053 | } |
1071 | 1054 | ||
1072 | EAPI void | 1055 | EAPI void |
1073 | ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1056 | ecore_evas_callback_unsticky_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1074 | { | 1057 | { |
1075 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1058 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1076 | { | 1059 | { |
@@ -1084,7 +1067,7 @@ ecore_evas_callback_unsticky_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1084 | } | 1067 | } |
1085 | 1068 | ||
1086 | EAPI void | 1069 | EAPI void |
1087 | ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1070 | ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1088 | { | 1071 | { |
1089 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1072 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1090 | { | 1073 | { |
@@ -1098,7 +1081,7 @@ ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1098 | } | 1081 | } |
1099 | 1082 | ||
1100 | EAPI void | 1083 | EAPI void |
1101 | ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1084 | ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1102 | { | 1085 | { |
1103 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1086 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1104 | { | 1087 | { |
@@ -1112,7 +1095,7 @@ ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1112 | } | 1095 | } |
1113 | 1096 | ||
1114 | EAPI void | 1097 | EAPI void |
1115 | ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1098 | ecore_evas_callback_pre_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1116 | { | 1099 | { |
1117 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1100 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1118 | { | 1101 | { |
@@ -1126,7 +1109,7 @@ ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee) | |||
1126 | } | 1109 | } |
1127 | 1110 | ||
1128 | EAPI void | 1111 | EAPI void |
1129 | ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1112 | ecore_evas_callback_post_render_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1130 | { | 1113 | { |
1131 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1114 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1132 | { | 1115 | { |
@@ -1140,7 +1123,7 @@ ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee | |||
1140 | } | 1123 | } |
1141 | 1124 | ||
1142 | EAPI void | 1125 | EAPI void |
1143 | ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1126 | ecore_evas_callback_pre_free_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1144 | { | 1127 | { |
1145 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 1128 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
1146 | { | 1129 | { |
@@ -1151,6 +1134,18 @@ ecore_evas_callback_pre_free_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | |||
1151 | ee->func.fn_pre_free = func; | 1134 | ee->func.fn_pre_free = func; |
1152 | } | 1135 | } |
1153 | 1136 | ||
1137 | EAPI void | ||
1138 | ecore_evas_callback_state_change_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) | ||
1139 | { | ||
1140 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
1141 | { | ||
1142 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
1143 | "ecore_evas_callback_state_change_set"); | ||
1144 | return; | ||
1145 | } | ||
1146 | ee->func.fn_state_change = func; | ||
1147 | } | ||
1148 | |||
1154 | /** | 1149 | /** |
1155 | * Get an Ecore_Evas's Evas | 1150 | * Get an Ecore_Evas's Evas |
1156 | * @param ee The Ecore_Evas whose Evas you wish to get | 1151 | * @param ee The Ecore_Evas whose Evas you wish to get |
@@ -2120,6 +2115,162 @@ ecore_evas_sticky_get(const Ecore_Evas *ee) | |||
2120 | } | 2115 | } |
2121 | 2116 | ||
2122 | EAPI void | 2117 | EAPI void |
2118 | ecore_evas_window_group_set(Ecore_Evas *ee, const Ecore_Evas *ee_group) | ||
2119 | { | ||
2120 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2121 | { | ||
2122 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2123 | "XXX"); | ||
2124 | return; | ||
2125 | } | ||
2126 | |||
2127 | IFC(ee, fn_window_group_set) (ee, ee_group); | ||
2128 | IFE; | ||
2129 | } | ||
2130 | |||
2131 | EAPI const Ecore_Evas * | ||
2132 | ecore_evas_window_group_get(const Ecore_Evas *ee) | ||
2133 | { | ||
2134 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2135 | { | ||
2136 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2137 | "XXX"); | ||
2138 | return EINA_FALSE; | ||
2139 | } | ||
2140 | return ee->prop.group_ee; | ||
2141 | } | ||
2142 | |||
2143 | EAPI void | ||
2144 | ecore_evas_aspect_set(Ecore_Evas *ee, double aspect) | ||
2145 | { | ||
2146 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2147 | { | ||
2148 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2149 | "XXX"); | ||
2150 | return; | ||
2151 | } | ||
2152 | |||
2153 | IFC(ee, fn_aspect_set) (ee, aspect); | ||
2154 | IFE; | ||
2155 | } | ||
2156 | |||
2157 | EAPI double | ||
2158 | ecore_evas_aspect_get(const Ecore_Evas *ee) | ||
2159 | { | ||
2160 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2161 | { | ||
2162 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2163 | "XXX"); | ||
2164 | return EINA_FALSE; | ||
2165 | } | ||
2166 | return ee->prop.aspect; | ||
2167 | } | ||
2168 | |||
2169 | EAPI void | ||
2170 | ecore_evas_urgent_set(Ecore_Evas *ee, Eina_Bool urgent) | ||
2171 | { | ||
2172 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2173 | { | ||
2174 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2175 | "XXX"); | ||
2176 | return; | ||
2177 | } | ||
2178 | |||
2179 | IFC(ee, fn_urgent_set) (ee, urgent); | ||
2180 | IFE; | ||
2181 | } | ||
2182 | |||
2183 | EAPI Eina_Bool | ||
2184 | ecore_evas_urgent_get(const Ecore_Evas *ee) | ||
2185 | { | ||
2186 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2187 | { | ||
2188 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2189 | "XXX"); | ||
2190 | return EINA_FALSE; | ||
2191 | } | ||
2192 | return ee->prop.urgent ? EINA_TRUE : EINA_FALSE; | ||
2193 | } | ||
2194 | |||
2195 | EAPI void | ||
2196 | ecore_evas_modal_set(Ecore_Evas *ee, Eina_Bool modal) | ||
2197 | { | ||
2198 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2199 | { | ||
2200 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2201 | "XXX"); | ||
2202 | return; | ||
2203 | } | ||
2204 | |||
2205 | IFC(ee, fn_modal_set) (ee, modal); | ||
2206 | IFE; | ||
2207 | } | ||
2208 | |||
2209 | EAPI Eina_Bool | ||
2210 | ecore_evas_modal_get(const Ecore_Evas *ee) | ||
2211 | { | ||
2212 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2213 | { | ||
2214 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2215 | "XXX"); | ||
2216 | return EINA_FALSE; | ||
2217 | } | ||
2218 | return ee->prop.modal ? EINA_TRUE : EINA_FALSE; | ||
2219 | } | ||
2220 | |||
2221 | EAPI void | ||
2222 | ecore_evas_demand_attention_set(Ecore_Evas *ee, Eina_Bool demand) | ||
2223 | { | ||
2224 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2225 | { | ||
2226 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2227 | "XXX"); | ||
2228 | return; | ||
2229 | } | ||
2230 | |||
2231 | IFC(ee, fn_demands_attention_set) (ee, demand); | ||
2232 | IFE; | ||
2233 | } | ||
2234 | |||
2235 | EAPI Eina_Bool | ||
2236 | ecore_evas_demand_attention_get(const Ecore_Evas *ee) | ||
2237 | { | ||
2238 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2239 | { | ||
2240 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2241 | "XXX"); | ||
2242 | return EINA_FALSE; | ||
2243 | } | ||
2244 | return ee->prop.demand_attention ? EINA_TRUE : EINA_FALSE; | ||
2245 | } | ||
2246 | |||
2247 | EAPI void | ||
2248 | ecore_evas_focus_skip_set(Ecore_Evas *ee, Eina_Bool skip) | ||
2249 | { | ||
2250 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2251 | { | ||
2252 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2253 | "XXX"); | ||
2254 | return; | ||
2255 | } | ||
2256 | |||
2257 | IFC(ee, fn_focus_skip_set) (ee, skip); | ||
2258 | IFE; | ||
2259 | } | ||
2260 | |||
2261 | EAPI Eina_Bool | ||
2262 | ecore_evas_focus_skip_get(const Ecore_Evas *ee) | ||
2263 | { | ||
2264 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | ||
2265 | { | ||
2266 | ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, | ||
2267 | "XXX"); | ||
2268 | return EINA_FALSE; | ||
2269 | } | ||
2270 | return ee->prop.focus_skip ? EINA_TRUE : EINA_FALSE; | ||
2271 | } | ||
2272 | |||
2273 | EAPI void | ||
2123 | ecore_evas_ignore_events_set(Ecore_Evas *ee, Eina_Bool ignore) | 2274 | ecore_evas_ignore_events_set(Ecore_Evas *ee, Eina_Bool ignore) |
2124 | { | 2275 | { |
2125 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) | 2276 | if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) |
@@ -2695,35 +2846,10 @@ ecore_evas_wayland_resize(Ecore_Evas *ee, int location) | |||
2695 | } | 2846 | } |
2696 | } | 2847 | } |
2697 | 2848 | ||
2698 | EAPI void | ||
2699 | ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) | ||
2700 | { | ||
2701 | if ((!ee) || (!source)) return; | ||
2702 | if (!ee->engine.wl.surface) return; | ||
2703 | |||
2704 | if (!strcmp(ee->driver, "wayland_shm")) | ||
2705 | { | ||
2706 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM | ||
2707 | _ecore_evas_wayland_shm_drag_start(ee, drag_ee, source); | ||
2708 | #endif | ||
2709 | } | ||
2710 | else if (!strcmp(ee->driver, "wayland_egl")) | ||
2711 | { | ||
2712 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL | ||
2713 | _ecore_evas_wayland_egl_drag_start(ee, drag_ee, source); | ||
2714 | #endif | ||
2715 | } | ||
2716 | } | ||
2717 | #else | 2849 | #else |
2718 | EAPI void | 2850 | EAPI void |
2719 | ecore_evas_wayland_resize(Ecore_Evas *ee __UNUSED__, int location __UNUSED__) | 2851 | ecore_evas_wayland_resize(Ecore_Evas *ee __UNUSED__, int location __UNUSED__) |
2720 | { | 2852 | { |
2721 | 2853 | ||
2722 | } | 2854 | } |
2723 | |||
2724 | EAPI void | ||
2725 | ecore_evas_wayland_drag_start(Ecore_Evas *ee __UNUSED__, Ecore_Evas *drag_ee __UNUSED__, void *source __UNUSED__) | ||
2726 | { | ||
2727 | |||
2728 | } | ||
2729 | #endif | 2855 | #endif |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c index 3f82efb..4c81db7 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_buffer.c | |||
@@ -513,6 +513,13 @@ static Ecore_Evas_Engine_Func _ecore_buffer_engine_func = | |||
513 | _ecore_evas_buffer_alpha_set, | 513 | _ecore_evas_buffer_alpha_set, |
514 | NULL, //transparent | 514 | NULL, //transparent |
515 | 515 | ||
516 | NULL, | ||
517 | NULL, | ||
518 | NULL, | ||
519 | NULL, | ||
520 | NULL, | ||
521 | NULL, | ||
522 | |||
516 | _ecore_evas_buffer_render, | 523 | _ecore_evas_buffer_render, |
517 | NULL // screen_geometry_get | 524 | NULL // screen_geometry_get |
518 | }; | 525 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c index 36d41f8..0947b11 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_cocoa.c | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | #ifdef BUILD_ECORE_EVAS_OPENGL_COCOA | 10 | #ifdef BUILD_ECORE_EVAS_OPENGL_COCOA |
11 | #include <Ecore_Cocoa.h> | 11 | #include <Ecore_Cocoa.h> |
12 | #include <Evas_Engine_Gl_Cocoa.h> | 12 | #include <Evas_Engine_GL_Cocoa.h> |
13 | #endif | 13 | #endif |
14 | 14 | ||
15 | #include "ecore_evas_private.h" | 15 | #include "ecore_evas_private.h" |
@@ -463,6 +463,14 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func = | |||
463 | NULL, | 463 | NULL, |
464 | NULL, | 464 | NULL, |
465 | NULL, //transparent | 465 | NULL, //transparent |
466 | |||
467 | NULL, | ||
468 | NULL, | ||
469 | NULL, | ||
470 | NULL, | ||
471 | NULL, | ||
472 | NULL, | ||
473 | |||
466 | NULL, // render | 474 | NULL, // render |
467 | NULL | 475 | NULL |
468 | }; | 476 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c index 457f9e9..ed24355 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_directfb.c | |||
@@ -490,6 +490,13 @@ static Ecore_Evas_Engine_Func _ecore_directfb_engine_func = | |||
490 | NULL, /* alpha */ | 490 | NULL, /* alpha */ |
491 | NULL, //transparent | 491 | NULL, //transparent |
492 | 492 | ||
493 | NULL, | ||
494 | NULL, | ||
495 | NULL, | ||
496 | NULL, | ||
497 | NULL, | ||
498 | NULL, | ||
499 | |||
493 | NULL, // render | 500 | NULL, // render |
494 | NULL // screen_geometry_get | 501 | NULL // screen_geometry_get |
495 | }; | 502 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c index eccf98b..ec02472 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_ews.c | |||
@@ -683,6 +683,14 @@ static const Ecore_Evas_Engine_Func _ecore_ews_engine_func = | |||
683 | _ecore_evas_ews_ignore_events_set, | 683 | _ecore_evas_ews_ignore_events_set, |
684 | _ecore_evas_ews_alpha_set, | 684 | _ecore_evas_ews_alpha_set, |
685 | _ecore_evas_ews_transparent_set, | 685 | _ecore_evas_ews_transparent_set, |
686 | |||
687 | NULL, | ||
688 | NULL, | ||
689 | NULL, | ||
690 | NULL, | ||
691 | NULL, | ||
692 | NULL, | ||
693 | |||
686 | _ecore_evas_ews_render, | 694 | _ecore_evas_ews_render, |
687 | _ecore_evas_ews_screen_geometry_get | 695 | _ecore_evas_ews_screen_geometry_get |
688 | }; | 696 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c index e46ab4a..a7ea4c3 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_extn.c | |||
@@ -2,35 +2,37 @@ | |||
2 | # include <config.h> | 2 | # include <config.h> |
3 | #endif | 3 | #endif |
4 | 4 | ||
5 | #include <stdio.h> | ||
5 | #include <stdlib.h> | 6 | #include <stdlib.h> |
7 | #include <sys/types.h> | ||
8 | #include <unistd.h> | ||
9 | #include <math.h> | ||
10 | #include <time.h> | ||
11 | #ifdef HAVE_SYS_MMAN_H | ||
12 | # include <sys/mman.h> | ||
13 | #endif | ||
14 | #include <sys/stat.h> | ||
15 | #include <fcntl.h> | ||
16 | #include <string.h> | ||
17 | #include <sys/file.h> | ||
6 | #include <unistd.h> | 18 | #include <unistd.h> |
7 | 19 | ||
8 | #include <Ecore.h> | 20 | #include <Ecore.h> |
9 | #include "ecore_private.h" | 21 | #include "ecore_private.h" |
10 | #include <Ecore_Input.h> | 22 | #include <Ecore_Input.h> |
11 | 23 | ||
12 | #ifdef BUILD_ECORE_IPC | 24 | #ifdef BUILD_ECORE_EVAS_EXTN |
13 | # ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER | 25 | |
14 | # define EXTN_ENABLED 1 | 26 | #include <Ecore_Ipc.h> |
15 | # endif | 27 | |
16 | #endif | 28 | #endif |
17 | 29 | ||
18 | #include "ecore_evas_private.h" | 30 | #include "ecore_evas_private.h" |
19 | #include "Ecore_Evas.h" | 31 | #include "Ecore_Evas.h" |
20 | #ifdef EXTN_ENABLED | ||
21 | #include "Ecore_Ipc.h" | ||
22 | 32 | ||
23 | #include <stdio.h> | 33 | |
24 | #include <stdlib.h> | 34 | #ifdef BUILD_ECORE_EVAS_EXTN |
25 | #include <sys/types.h> | 35 | |
26 | #include <unistd.h> | ||
27 | #include <math.h> | ||
28 | #include <time.h> | ||
29 | #include <sys/mman.h> | ||
30 | #include <sys/stat.h> | ||
31 | #include <fcntl.h> | ||
32 | #include <string.h> | ||
33 | #include <sys/file.h> | ||
34 | 36 | ||
35 | typedef struct _Shmfile Shmfile; | 37 | typedef struct _Shmfile Shmfile; |
36 | 38 | ||
@@ -1102,6 +1104,13 @@ static const Ecore_Evas_Engine_Func _ecore_extn_plug_engine_func = | |||
1102 | NULL, | 1104 | NULL, |
1103 | NULL, //transparent | 1105 | NULL, //transparent |
1104 | 1106 | ||
1107 | NULL, | ||
1108 | NULL, | ||
1109 | NULL, | ||
1110 | NULL, | ||
1111 | NULL, | ||
1112 | NULL, | ||
1113 | |||
1105 | NULL, // render | 1114 | NULL, // render |
1106 | NULL // screen_geometry_get | 1115 | NULL // screen_geometry_get |
1107 | }; | 1116 | }; |
@@ -1286,12 +1295,13 @@ void | |||
1286 | _ecore_evas_extn_shutdown(void) | 1295 | _ecore_evas_extn_shutdown(void) |
1287 | { | 1296 | { |
1288 | } | 1297 | } |
1289 | #endif | 1298 | |
1299 | #endif /* BUILD_ECORE_EVAS_EXTN */ | ||
1290 | 1300 | ||
1291 | EAPI Evas_Object * | 1301 | EAPI Evas_Object * |
1292 | ecore_evas_extn_plug_new(Ecore_Evas *ee_target) | 1302 | ecore_evas_extn_plug_new(Ecore_Evas *ee_target) |
1293 | { | 1303 | { |
1294 | #ifdef EXTN_ENABLED | 1304 | #ifdef BUILD_ECORE_EVAS_EXTN |
1295 | Evas_Object *o; | 1305 | Evas_Object *o; |
1296 | Ecore_Evas *ee; | 1306 | Ecore_Evas *ee; |
1297 | int w = 1, h = 1; | 1307 | int w = 1, h = 1; |
@@ -1408,7 +1418,7 @@ ecore_evas_extn_plug_new(Ecore_Evas *ee_target) | |||
1408 | EAPI Eina_Bool | 1418 | EAPI Eina_Bool |
1409 | ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, Eina_Bool svcsys) | 1419 | ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, Eina_Bool svcsys) |
1410 | { | 1420 | { |
1411 | #ifdef EXTN_ENABLED | 1421 | #ifdef BUILD_ECORE_EVAS_EXTN |
1412 | Extn *extn; | 1422 | Extn *extn; |
1413 | Ecore_Evas *ee = NULL; | 1423 | Ecore_Evas *ee = NULL; |
1414 | 1424 | ||
@@ -1459,7 +1469,7 @@ ecore_evas_extn_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, | |||
1459 | EAPI void | 1469 | EAPI void |
1460 | ecore_evas_extn_plug_object_data_lock(Evas_Object *obj) | 1470 | ecore_evas_extn_plug_object_data_lock(Evas_Object *obj) |
1461 | { | 1471 | { |
1462 | #ifdef EXTN_ENABLED | 1472 | #ifdef BUILD_ECORE_EVAS_EXTN |
1463 | Ecore_Evas *ee; | 1473 | Ecore_Evas *ee; |
1464 | 1474 | ||
1465 | ee = ecore_evas_object_ecore_evas_get(obj); | 1475 | ee = ecore_evas_object_ecore_evas_get(obj); |
@@ -1471,7 +1481,7 @@ ecore_evas_extn_plug_object_data_lock(Evas_Object *obj) | |||
1471 | EAPI void | 1481 | EAPI void |
1472 | ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj) | 1482 | ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj) |
1473 | { | 1483 | { |
1474 | #ifdef EXTN_ENABLED | 1484 | #ifdef BUILD_ECORE_EVAS_EXTN |
1475 | Ecore_Evas *ee; | 1485 | Ecore_Evas *ee; |
1476 | 1486 | ||
1477 | ee = ecore_evas_object_ecore_evas_get(obj); | 1487 | ee = ecore_evas_object_ecore_evas_get(obj); |
@@ -1480,7 +1490,7 @@ ecore_evas_extn_plug_object_data_unlock(Evas_Object *obj) | |||
1480 | #endif | 1490 | #endif |
1481 | } | 1491 | } |
1482 | 1492 | ||
1483 | #ifdef EXTN_ENABLED | 1493 | #ifdef BUILD_ECORE_EVAS_EXTN |
1484 | static void | 1494 | static void |
1485 | _ecore_evas_socket_resize(Ecore_Evas *ee, int w, int h) | 1495 | _ecore_evas_socket_resize(Ecore_Evas *ee, int w, int h) |
1486 | { | 1496 | { |
@@ -1830,7 +1840,7 @@ _ipc_client_data(void *data, int type __UNUSED__, void *event) | |||
1830 | 1840 | ||
1831 | #define STRGET(val) \ | 1841 | #define STRGET(val) \ |
1832 | do { \ | 1842 | do { \ |
1833 | if ((ipc->val) && (ipc->val < (char *)(e->size - 1))) \ | 1843 | if ((ipc->val) && (ipc->val < (char *)(long)(e->size - 1))) \ |
1834 | ipc->val = ((char *)ipc) + (long)ipc->val; \ | 1844 | ipc->val = ((char *)ipc) + (long)ipc->val; \ |
1835 | else \ | 1845 | else \ |
1836 | ipc->val = NULL; \ | 1846 | ipc->val = NULL; \ |
@@ -1978,6 +1988,13 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func = | |||
1978 | _ecore_evas_extn_socket_alpha_set, | 1988 | _ecore_evas_extn_socket_alpha_set, |
1979 | NULL, //transparent | 1989 | NULL, //transparent |
1980 | 1990 | ||
1991 | NULL, | ||
1992 | NULL, | ||
1993 | NULL, | ||
1994 | NULL, | ||
1995 | NULL, | ||
1996 | NULL, | ||
1997 | |||
1981 | _ecore_evas_extn_socket_render, // render | 1998 | _ecore_evas_extn_socket_render, // render |
1982 | NULL // screen_geometry_get | 1999 | NULL // screen_geometry_get |
1983 | }; | 2000 | }; |
@@ -1987,7 +2004,7 @@ static const Ecore_Evas_Engine_Func _ecore_extn_socket_engine_func = | |||
1987 | EAPI Ecore_Evas * | 2004 | EAPI Ecore_Evas * |
1988 | ecore_evas_extn_socket_new(int w, int h) | 2005 | ecore_evas_extn_socket_new(int w, int h) |
1989 | { | 2006 | { |
1990 | #ifdef EXTN_ENABLED | 2007 | #ifdef BUILD_ECORE_EVAS_EXTN |
1991 | Evas_Engine_Info_Buffer *einfo; | 2008 | Evas_Engine_Info_Buffer *einfo; |
1992 | Ecore_Evas *ee; | 2009 | Ecore_Evas *ee; |
1993 | int rmethod; | 2010 | int rmethod; |
@@ -2077,7 +2094,7 @@ ecore_evas_extn_socket_new(int w, int h) | |||
2077 | EAPI Eina_Bool | 2094 | EAPI Eina_Bool |
2078 | ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname, int svcnum, Eina_Bool svcsys) | 2095 | ecore_evas_extn_socket_listen(Ecore_Evas *ee, const char *svcname, int svcnum, Eina_Bool svcsys) |
2079 | { | 2096 | { |
2080 | #ifdef EXTN_ENABLED | 2097 | #ifdef BUILD_ECORE_EVAS_EXTN |
2081 | Extn *extn; | 2098 | Extn *extn; |
2082 | 2099 | ||
2083 | extn = calloc(1, sizeof(Extn)); | 2100 | extn = calloc(1, sizeof(Extn)); |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c index 74caada..11e2ffd 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_fb.c | |||
@@ -541,6 +541,13 @@ static Ecore_Evas_Engine_Func _ecore_fb_engine_func = | |||
541 | NULL, | 541 | NULL, |
542 | NULL, //transparent | 542 | NULL, //transparent |
543 | 543 | ||
544 | NULL, | ||
545 | NULL, | ||
546 | NULL, | ||
547 | NULL, | ||
548 | NULL, | ||
549 | NULL, | ||
550 | |||
544 | NULL, // render | 551 | NULL, // render |
545 | NULL // screen_geometry_get | 552 | NULL // screen_geometry_get |
546 | }; | 553 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h b/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h index 9a88a7a..e31653a 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_private.h | |||
@@ -123,6 +123,7 @@ extern int _ecore_evas_log_dom; | |||
123 | #define IDLE_FLUSH_TIME 0.5 | 123 | #define IDLE_FLUSH_TIME 0.5 |
124 | #ifndef _ECORE_EVAS_H | 124 | #ifndef _ECORE_EVAS_H |
125 | typedef struct _Ecore_Evas Ecore_Evas; | 125 | typedef struct _Ecore_Evas Ecore_Evas; |
126 | typedef void (*Ecore_Evas_Event_Cb) (Ecore_Evas *ee); | ||
126 | #endif | 127 | #endif |
127 | 128 | ||
128 | typedef struct _Ecore_Evas_Engine Ecore_Evas_Engine; | 129 | typedef struct _Ecore_Evas_Engine Ecore_Evas_Engine; |
@@ -131,20 +132,20 @@ typedef struct _Ecore_Evas_Engine_Func Ecore_Evas_Engine_Func; | |||
131 | struct _Ecore_Evas_Engine_Func | 132 | struct _Ecore_Evas_Engine_Func |
132 | { | 133 | { |
133 | void (*fn_free) (Ecore_Evas *ee); | 134 | void (*fn_free) (Ecore_Evas *ee); |
134 | void (*fn_callback_resize_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 135 | void (*fn_callback_resize_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
135 | void (*fn_callback_move_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 136 | void (*fn_callback_move_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
136 | void (*fn_callback_show_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 137 | void (*fn_callback_show_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
137 | void (*fn_callback_hide_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 138 | void (*fn_callback_hide_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
138 | void (*fn_callback_delete_request_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 139 | void (*fn_callback_delete_request_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
139 | void (*fn_callback_destroy_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 140 | void (*fn_callback_destroy_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
140 | void (*fn_callback_focus_in_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 141 | void (*fn_callback_focus_in_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
141 | void (*fn_callback_focus_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 142 | void (*fn_callback_focus_out_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
142 | void (*fn_callback_mouse_in_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 143 | void (*fn_callback_mouse_in_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
143 | void (*fn_callback_mouse_out_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 144 | void (*fn_callback_mouse_out_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
144 | void (*fn_callback_sticky_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 145 | void (*fn_callback_sticky_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
145 | void (*fn_callback_unsticky_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 146 | void (*fn_callback_unsticky_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
146 | void (*fn_callback_pre_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 147 | void (*fn_callback_pre_render_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
147 | void (*fn_callback_post_render_set) (Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)); | 148 | void (*fn_callback_post_render_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb func); |
148 | void (*fn_move) (Ecore_Evas *ee, int x, int y); | 149 | void (*fn_move) (Ecore_Evas *ee, int x, int y); |
149 | void (*fn_managed_move) (Ecore_Evas *ee, int x, int y); | 150 | void (*fn_managed_move) (Ecore_Evas *ee, int x, int y); |
150 | void (*fn_resize) (Ecore_Evas *ee, int w, int h); | 151 | void (*fn_resize) (Ecore_Evas *ee, int w, int h); |
@@ -177,6 +178,13 @@ struct _Ecore_Evas_Engine_Func | |||
177 | void (*fn_alpha_set) (Ecore_Evas *ee, int alpha); | 178 | void (*fn_alpha_set) (Ecore_Evas *ee, int alpha); |
178 | void (*fn_transparent_set) (Ecore_Evas *ee, int transparent); | 179 | void (*fn_transparent_set) (Ecore_Evas *ee, int transparent); |
179 | 180 | ||
181 | void (*fn_window_group_set) (Ecore_Evas *ee, const Ecore_Evas *ee_group); | ||
182 | void (*fn_aspect_set) (Ecore_Evas *ee, double aspect); | ||
183 | void (*fn_urgent_set) (Ecore_Evas *ee, int urgent); | ||
184 | void (*fn_modal_set) (Ecore_Evas *ee, int modal); | ||
185 | void (*fn_demands_attention_set) (Ecore_Evas *ee, int demand); | ||
186 | void (*fn_focus_skip_set) (Ecore_Evas *ee, int skip); | ||
187 | |||
180 | int (*fn_render) (Ecore_Evas *ee); | 188 | int (*fn_render) (Ecore_Evas *ee); |
181 | void (*fn_screen_geometry_get) (const Ecore_Evas *ee, int *x, int *y, int *w, int *h); | 189 | void (*fn_screen_geometry_get) (const Ecore_Evas *ee, int *x, int *y, int *w, int *h); |
182 | }; | 190 | }; |
@@ -271,11 +279,13 @@ struct _Ecore_Evas_Engine | |||
271 | #if defined(BUILD_ECORE_EVAS_WAYLAND_SHM) || defined(BUILD_ECORE_EVAS_WAYLAND_EGL) | 279 | #if defined(BUILD_ECORE_EVAS_WAYLAND_SHM) || defined(BUILD_ECORE_EVAS_WAYLAND_EGL) |
272 | struct | 280 | struct |
273 | { | 281 | { |
282 | Ecore_Wl_Window *parent, *win; | ||
274 | Evas_Object *frame; | 283 | Evas_Object *frame; |
275 | 284 | ||
276 | struct wl_shell_surface *shell_surface; | 285 | # if defined(BUILD_ECORE_EVAS_WAYLAND_SHM) |
277 | struct wl_surface *surface; | ||
278 | struct wl_buffer *buffer; | 286 | struct wl_buffer *buffer; |
287 | # endif | ||
288 | |||
279 | } wl; | 289 | } wl; |
280 | #endif | 290 | #endif |
281 | 291 | ||
@@ -333,6 +343,9 @@ struct _Ecore_Evas | |||
333 | int layer; | 343 | int layer; |
334 | Ecore_Window window; | 344 | Ecore_Window window; |
335 | unsigned char avoid_damage; | 345 | unsigned char avoid_damage; |
346 | Ecore_Evas *group_ee; | ||
347 | Ecore_Window group_ee_win; | ||
348 | double aspect; | ||
336 | char focused : 1; | 349 | char focused : 1; |
337 | char iconified : 1; | 350 | char iconified : 1; |
338 | char borderless : 1; | 351 | char borderless : 1; |
@@ -343,7 +356,12 @@ struct _Ecore_Evas | |||
343 | char sticky : 1; | 356 | char sticky : 1; |
344 | char request_pos : 1; | 357 | char request_pos : 1; |
345 | char draw_frame : 1; | 358 | char draw_frame : 1; |
346 | } prop; | 359 | char hwsurface : 1; |
360 | char urgent : 1; | ||
361 | char modal : 1; | ||
362 | char demand_attention : 1; | ||
363 | char focus_skip : 1; | ||
364 | } prop; | ||
347 | 365 | ||
348 | struct { | 366 | struct { |
349 | void (*fn_resize) (Ecore_Evas *ee); | 367 | void (*fn_resize) (Ecore_Evas *ee); |
@@ -361,6 +379,7 @@ struct _Ecore_Evas | |||
361 | void (*fn_pre_render) (Ecore_Evas *ee); | 379 | void (*fn_pre_render) (Ecore_Evas *ee); |
362 | void (*fn_post_render) (Ecore_Evas *ee); | 380 | void (*fn_post_render) (Ecore_Evas *ee); |
363 | void (*fn_pre_free) (Ecore_Evas *ee); | 381 | void (*fn_pre_free) (Ecore_Evas *ee); |
382 | void (*fn_state_change) (Ecore_Evas *ee); | ||
364 | } func; | 383 | } func; |
365 | 384 | ||
366 | Ecore_Evas_Engine engine; | 385 | Ecore_Evas_Engine engine; |
@@ -406,11 +425,15 @@ int _ecore_evas_ews_shutdown(void); | |||
406 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM | 425 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM |
407 | void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location); | 426 | void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location); |
408 | void _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); | 427 | void _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); |
428 | void _ecore_evas_wayland_shm_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); | ||
429 | void _ecore_evas_wayland_shm_type_set(Ecore_Evas *ee, int type); | ||
409 | #endif | 430 | #endif |
410 | 431 | ||
411 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL | 432 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL |
412 | void _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location); | 433 | void _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location); |
413 | void _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); | 434 | void _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source); |
435 | void _ecore_evas_wayland_egl_pointer_set(Ecore_Evas *ee, int hot_x, int hot_y); | ||
436 | void _ecore_evas_wayland_egl_type_set(Ecore_Evas *ee, int type); | ||
414 | #endif | 437 | #endif |
415 | 438 | ||
416 | void _ecore_evas_fps_debug_init(void); | 439 | void _ecore_evas_fps_debug_init(void); |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c index be130ad..038654a 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_psl1ght.c | |||
@@ -233,7 +233,7 @@ _ecore_evas_psl1ght_free(Ecore_Evas *ee) | |||
233 | } | 233 | } |
234 | 234 | ||
235 | static void | 235 | static void |
236 | _ecore_evas_psl1ght_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 236 | _ecore_evas_psl1ght_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
237 | { | 237 | { |
238 | ee->func.fn_delete_request = func; | 238 | ee->func.fn_delete_request = func; |
239 | } | 239 | } |
@@ -396,6 +396,13 @@ static Ecore_Evas_Engine_Func _ecore_psl1ght_engine_func = | |||
396 | NULL, | 396 | NULL, |
397 | NULL, //transparent | 397 | NULL, //transparent |
398 | 398 | ||
399 | NULL, | ||
400 | NULL, | ||
401 | NULL, | ||
402 | NULL, | ||
403 | NULL, | ||
404 | NULL, | ||
405 | |||
399 | NULL, // render | 406 | NULL, // render |
400 | _ecore_evas_screen_geometry_get // screen_geometry_get | 407 | _ecore_evas_screen_geometry_get // screen_geometry_get |
401 | }; | 408 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c index a3be2c7..b246a26 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_sdl.c | |||
@@ -7,9 +7,6 @@ | |||
7 | #include <Ecore_Input_Evas.h> | 7 | #include <Ecore_Input_Evas.h> |
8 | #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) | 8 | #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) |
9 | # include <Ecore_Sdl.h> | 9 | # include <Ecore_Sdl.h> |
10 | # ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL | ||
11 | # include <Evas_Engine_SDL.h> | ||
12 | # endif | ||
13 | # ifdef BUILD_ECORE_EVAS_OPENGL_SDL | 10 | # ifdef BUILD_ECORE_EVAS_OPENGL_SDL |
14 | # include <Evas_Engine_GL_SDL.h> | 11 | # include <Evas_Engine_GL_SDL.h> |
15 | # endif | 12 | # endif |
@@ -18,10 +15,17 @@ | |||
18 | #include <stdlib.h> | 15 | #include <stdlib.h> |
19 | #include <string.h> | 16 | #include <string.h> |
20 | 17 | ||
18 | #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) | ||
19 | #include <SDL/SDL.h> | ||
20 | #endif | ||
21 | |||
21 | #include "ecore_evas_private.h" | 22 | #include "ecore_evas_private.h" |
22 | #include "Ecore_Evas.h" | 23 | #include "Ecore_Evas.h" |
23 | 24 | ||
24 | // fixme: 1 sdl window only at a time? seems wrong | 25 | /** |
26 | ** SDL only handle one window at a time. That's by definition, there is nothing wrong here. | ||
27 | ** | ||
28 | **/ | ||
25 | 29 | ||
26 | #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) | 30 | #if defined(BUILD_ECORE_EVAS_SOFTWARE_SDL) || defined(BUILD_ECORE_EVAS_OPENGL_SDL) |
27 | 31 | ||
@@ -45,6 +49,13 @@ _ecore_evas_sdl_match(void) | |||
45 | return sdl_ee; | 49 | return sdl_ee; |
46 | } | 50 | } |
47 | 51 | ||
52 | static void * | ||
53 | _ecore_evas_sdl_switch_buffer(void *data, void *dest __UNUSED__) | ||
54 | { | ||
55 | SDL_Flip(data); | ||
56 | return ((SDL_Surface*)data)->pixels; | ||
57 | } | ||
58 | |||
48 | static Eina_Bool | 59 | static Eina_Bool |
49 | _ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) | 60 | _ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__) |
50 | { | 61 | { |
@@ -80,12 +91,54 @@ _ecore_evas_sdl_event_video_resize(void *data __UNUSED__, int type __UNUSED__, v | |||
80 | { | 91 | { |
81 | Ecore_Sdl_Event_Video_Resize *e; | 92 | Ecore_Sdl_Event_Video_Resize *e; |
82 | Ecore_Evas *ee; | 93 | Ecore_Evas *ee; |
94 | int rmethod; | ||
83 | 95 | ||
84 | e = event; | 96 | e = event; |
85 | ee = _ecore_evas_sdl_match(); | 97 | ee = _ecore_evas_sdl_match(); |
86 | 98 | ||
87 | if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */ | 99 | if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */ |
100 | |||
101 | rmethod = evas_output_method_get(ee->evas); | ||
102 | if (rmethod == evas_render_method_lookup("buffer")) | ||
103 | { | ||
104 | Evas_Engine_Info_Buffer *einfo; | ||
105 | |||
106 | einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); | ||
107 | if (einfo) | ||
108 | { | ||
109 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; | ||
110 | einfo->info.switch_data = SDL_SetVideoMode(e->w, e->h, 32, | ||
111 | (ee->prop.hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) | ||
112 | | (ee->prop.fullscreen ? SDL_FULLSCREEN : 0) | ||
113 | | (ee->alpha ? SDL_SRCALPHA : 0) | ||
114 | | SDL_DOUBLEBUF); | ||
115 | if (!einfo->info.switch_data) | ||
116 | { | ||
117 | return EINA_FALSE; | ||
118 | } | ||
119 | |||
120 | SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); | ||
121 | SDL_FillRect(einfo->info.switch_data, NULL, 0); | ||
122 | |||
123 | einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; | ||
124 | einfo->info.dest_buffer_row_bytes = e->w * sizeof (int); | ||
125 | einfo->info.use_color_key = 0; | ||
126 | einfo->info.alpha_threshold = 0; | ||
127 | einfo->info.func.new_update_region = NULL; | ||
128 | einfo->info.func.free_update_region = NULL; | ||
129 | einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; | ||
130 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) | ||
131 | { | ||
132 | return EINA_FALSE; | ||
133 | } | ||
134 | } | ||
135 | } | ||
136 | |||
137 | ee->w = e->w; | ||
138 | ee->h = e->h; | ||
139 | |||
88 | evas_output_size_set(ee->evas, e->w, e->h); | 140 | evas_output_size_set(ee->evas, e->w, e->h); |
141 | evas_output_viewport_set(ee->evas, 0, 0, e->w, e->h); | ||
89 | 142 | ||
90 | return ECORE_CALLBACK_PASS_ON; | 143 | return ECORE_CALLBACK_PASS_ON; |
91 | } | 144 | } |
@@ -191,7 +244,7 @@ _ecore_evas_sdl_shutdown(void) | |||
191 | _ecore_evas_init_count--; | 244 | _ecore_evas_init_count--; |
192 | if (_ecore_evas_init_count == 0) | 245 | if (_ecore_evas_init_count == 0) |
193 | { | 246 | { |
194 | int i; | 247 | unsigned int i; |
195 | 248 | ||
196 | for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++) | 249 | for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++) |
197 | ecore_event_handler_del(ecore_evas_event_handlers[i]); | 250 | ecore_event_handler_del(ecore_evas_event_handlers[i]); |
@@ -219,10 +272,48 @@ _ecore_evas_sdl_free(Ecore_Evas *ee) | |||
219 | static void | 272 | static void |
220 | _ecore_evas_resize(Ecore_Evas *ee, int w, int h) | 273 | _ecore_evas_resize(Ecore_Evas *ee, int w, int h) |
221 | { | 274 | { |
275 | int rmethod; | ||
276 | |||
222 | if ((w == ee->w) && (h == ee->h)) return; | 277 | if ((w == ee->w) && (h == ee->h)) return; |
223 | ee->w = w; | 278 | ee->w = w; |
224 | ee->h = h; | 279 | ee->h = h; |
225 | 280 | ||
281 | rmethod = evas_output_method_get(ee->evas); | ||
282 | if (rmethod == evas_render_method_lookup("buffer")) | ||
283 | { | ||
284 | Evas_Engine_Info_Buffer *einfo; | ||
285 | |||
286 | einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); | ||
287 | if (einfo) | ||
288 | { | ||
289 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; | ||
290 | einfo->info.switch_data = SDL_SetVideoMode(w, h, 32, | ||
291 | (ee->prop.hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) | ||
292 | | (ee->prop.fullscreen ? SDL_FULLSCREEN : 0) | ||
293 | | (ee->alpha ? SDL_SRCALPHA : 0) | ||
294 | | SDL_DOUBLEBUF); | ||
295 | if (!einfo->info.switch_data) | ||
296 | { | ||
297 | return ; | ||
298 | } | ||
299 | |||
300 | SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); | ||
301 | SDL_FillRect(einfo->info.switch_data, NULL, 0); | ||
302 | |||
303 | einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; | ||
304 | einfo->info.dest_buffer_row_bytes = w * sizeof (int); | ||
305 | einfo->info.use_color_key = 0; | ||
306 | einfo->info.alpha_threshold = 0; | ||
307 | einfo->info.func.new_update_region = NULL; | ||
308 | einfo->info.func.free_update_region = NULL; | ||
309 | einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; | ||
310 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) | ||
311 | { | ||
312 | return ; | ||
313 | } | ||
314 | } | ||
315 | } | ||
316 | |||
226 | evas_output_size_set(ee->evas, ee->w, ee->h); | 317 | evas_output_size_set(ee->evas, ee->w, ee->h); |
227 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); | 318 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); |
228 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | 319 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); |
@@ -342,6 +433,13 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func = | |||
342 | NULL, | 433 | NULL, |
343 | NULL, //transparent | 434 | NULL, //transparent |
344 | 435 | ||
436 | NULL, | ||
437 | NULL, | ||
438 | NULL, | ||
439 | NULL, | ||
440 | NULL, | ||
441 | NULL, | ||
442 | |||
345 | NULL, // render | 443 | NULL, // render |
346 | NULL // screen_geometry_get | 444 | NULL // screen_geometry_get |
347 | }; | 445 | }; |
@@ -349,7 +447,6 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func = | |||
349 | static Ecore_Evas* | 447 | static Ecore_Evas* |
350 | _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha) | 448 | _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha) |
351 | { | 449 | { |
352 | void *einfo; | ||
353 | Ecore_Evas *ee; | 450 | Ecore_Evas *ee; |
354 | 451 | ||
355 | if (!name) | 452 | if (!name) |
@@ -382,6 +479,8 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu | |||
382 | ee->prop.withdrawn = 0; | 479 | ee->prop.withdrawn = 0; |
383 | ee->prop.sticky = 0; | 480 | ee->prop.sticky = 0; |
384 | ee->prop.window = 0; | 481 | ee->prop.window = 0; |
482 | ee->alpha = alpha; | ||
483 | ee->prop.hwsurface = hwsurface; | ||
385 | 484 | ||
386 | /* init evas here */ | 485 | /* init evas here */ |
387 | ee->evas = evas_new(); | 486 | ee->evas = evas_new(); |
@@ -391,19 +490,47 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu | |||
391 | evas_output_size_set(ee->evas, w, h); | 490 | evas_output_size_set(ee->evas, w, h); |
392 | evas_output_viewport_set(ee->evas, 0, 0, w, h); | 491 | evas_output_viewport_set(ee->evas, 0, 0, w, h); |
393 | 492 | ||
394 | if (rmethod == evas_render_method_lookup("software_sdl") || | 493 | if (rmethod == evas_render_method_lookup("buffer")) |
395 | rmethod == evas_render_method_lookup("software_16_sdl") ) | ||
396 | { | 494 | { |
397 | #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL | 495 | Evas_Engine_Info_Buffer *einfo; |
398 | einfo = evas_engine_info_get(ee->evas); | 496 | |
497 | einfo = (Evas_Engine_Info_Buffer *) evas_engine_info_get(ee->evas); | ||
399 | if (einfo) | 498 | if (einfo) |
400 | { | 499 | { |
401 | ((Evas_Engine_Info_SDL *)einfo)->info.rotation = 0; | 500 | SDL_Init(SDL_INIT_NOPARACHUTE); |
402 | ((Evas_Engine_Info_SDL *)einfo)->info.fullscreen = fullscreen; | 501 | |
403 | ((Evas_Engine_Info_SDL *)einfo)->info.hwsurface = hwsurface; | 502 | if (SDL_InitSubSystem(SDL_INIT_VIDEO) < 0) |
404 | ((Evas_Engine_Info_SDL *)einfo)->info.noframe = noframe; | 503 | { |
405 | ((Evas_Engine_Info_SDL *)einfo)->info.alpha = alpha; | 504 | ERR("SDL_Init failed with %s", SDL_GetError()); |
406 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | 505 | SDL_Quit(); |
506 | return NULL; | ||
507 | } | ||
508 | |||
509 | einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32; | ||
510 | einfo->info.switch_data = SDL_SetVideoMode(w, h, 32, | ||
511 | (hwsurface ? SDL_HWSURFACE : SDL_SWSURFACE) | ||
512 | | (fullscreen ? SDL_FULLSCREEN : 0) | ||
513 | | (noframe ? SDL_NOFRAME : 0) | ||
514 | | (alpha ? SDL_SRCALPHA : 0) | ||
515 | | SDL_DOUBLEBUF); | ||
516 | if (!einfo->info.switch_data) | ||
517 | { | ||
518 | ERR("SDL_SetVideoMode failed !"); | ||
519 | ecore_evas_free(ee); | ||
520 | return NULL; | ||
521 | } | ||
522 | |||
523 | SDL_SetAlpha(einfo->info.switch_data, SDL_SRCALPHA, 0); | ||
524 | SDL_FillRect(einfo->info.switch_data, NULL, 0); | ||
525 | |||
526 | einfo->info.dest_buffer = ((SDL_Surface*)einfo->info.switch_data)->pixels; | ||
527 | einfo->info.dest_buffer_row_bytes = w * sizeof (int); | ||
528 | einfo->info.use_color_key = 0; | ||
529 | einfo->info.alpha_threshold = 0; | ||
530 | einfo->info.func.new_update_region = NULL; | ||
531 | einfo->info.func.free_update_region = NULL; | ||
532 | einfo->info.func.switch_buffer = _ecore_evas_sdl_switch_buffer; | ||
533 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *) einfo)) | ||
407 | { | 534 | { |
408 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | 535 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); |
409 | ecore_evas_free(ee); | 536 | ecore_evas_free(ee); |
@@ -416,16 +543,17 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu | |||
416 | ecore_evas_free(ee); | 543 | ecore_evas_free(ee); |
417 | return NULL; | 544 | return NULL; |
418 | } | 545 | } |
419 | #endif | ||
420 | } | 546 | } |
421 | else if (rmethod == evas_render_method_lookup("gl_sdl")) | 547 | else if (rmethod == evas_render_method_lookup("gl_sdl")) |
422 | { | 548 | { |
423 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL | 549 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL |
424 | einfo = evas_engine_info_get(ee->evas); | 550 | Evas_Engine_Info_GL_SDL *einfo; |
551 | |||
552 | einfo = (Evas_Engine_Info_GL_SDL *) evas_engine_info_get(ee->evas); | ||
425 | if (einfo) | 553 | if (einfo) |
426 | { | 554 | { |
427 | ((Evas_Engine_Info_GL_SDL *)einfo)->flags.fullscreen = fullscreen; | 555 | einfo->flags.fullscreen = fullscreen; |
428 | ((Evas_Engine_Info_GL_SDL *)einfo)->flags.noframe = noframe; | 556 | einfo->flags.noframe = noframe; |
429 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | 557 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) |
430 | { | 558 | { |
431 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | 559 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); |
@@ -464,7 +592,7 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu | |||
464 | (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, | 592 | (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, |
465 | (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); | 593 | (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); |
466 | 594 | ||
467 | SDL_ShowCursor(SDL_DISABLE); | 595 | SDL_ShowCursor(SDL_ENABLE); |
468 | 596 | ||
469 | ee->engine.func->fn_render = _ecore_evas_sdl_render; | 597 | ee->engine.func->fn_render = _ecore_evas_sdl_render; |
470 | _ecore_evas_register(ee); | 598 | _ecore_evas_register(ee); |
@@ -481,11 +609,10 @@ ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface | |||
481 | Ecore_Evas *ee; | 609 | Ecore_Evas *ee; |
482 | int rmethod; | 610 | int rmethod; |
483 | 611 | ||
484 | rmethod = evas_render_method_lookup("software_sdl"); | 612 | rmethod = evas_render_method_lookup("buffer"); |
485 | if (!rmethod) return NULL; | 613 | if (!rmethod) return NULL; |
486 | 614 | ||
487 | ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha); | 615 | ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha); |
488 | ee->driver = "sdl"; | ||
489 | return ee; | 616 | return ee; |
490 | } | 617 | } |
491 | #else | 618 | #else |
@@ -497,28 +624,12 @@ ecore_evas_sdl_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED | |||
497 | } | 624 | } |
498 | #endif | 625 | #endif |
499 | 626 | ||
500 | #ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL | ||
501 | EAPI Ecore_Evas* | ||
502 | ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha) | ||
503 | { | ||
504 | Ecore_Evas *ee; | ||
505 | int rmethod; | ||
506 | |||
507 | rmethod = evas_render_method_lookup("software_16_sdl"); | ||
508 | if (!rmethod) return NULL; | ||
509 | |||
510 | ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha); | ||
511 | ee->driver = "software_16_sdl"; | ||
512 | return ee; | ||
513 | } | ||
514 | #else | ||
515 | EAPI Ecore_Evas* | 627 | EAPI Ecore_Evas* |
516 | ecore_evas_sdl16_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED__, int fullscreen __UNUSED__, int hwsurface __UNUSED__, int noframe __UNUSED__, int alpha __UNUSED__) | 628 | ecore_evas_sdl16_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED__, int fullscreen __UNUSED__, int hwsurface __UNUSED__, int noframe __UNUSED__, int alpha __UNUSED__) |
517 | { | 629 | { |
518 | ERR("OUTCH !"); | 630 | ERR("OUTCH !"); |
519 | return NULL; | 631 | return NULL; |
520 | } | 632 | } |
521 | #endif | ||
522 | 633 | ||
523 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL | 634 | #ifdef BUILD_ECORE_EVAS_OPENGL_SDL |
524 | EAPI Ecore_Evas* | 635 | EAPI Ecore_Evas* |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c index 72e8555..e88fc35 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_egl.c | |||
@@ -1,8 +1,8 @@ | |||
1 | #ifdef HAVE_CONFIG_H | 1 | #ifdef HAVE_CONFIG_H |
2 | # include <config.h> | 2 | # include "config.h" |
3 | #endif | 3 | #endif |
4 | 4 | ||
5 | #define LOGFNS 1 | 5 | //#define LOGFNS 1 |
6 | 6 | ||
7 | #ifdef LOGFNS | 7 | #ifdef LOGFNS |
8 | # include <stdio.h> | 8 | # include <stdio.h> |
@@ -28,15 +28,15 @@ | |||
28 | #include "Ecore_Evas.h" | 28 | #include "Ecore_Evas.h" |
29 | 29 | ||
30 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL | 30 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL |
31 | # include <wayland-egl.h> | ||
32 | # include <Evas_Engine_Wayland_Egl.h> | 31 | # include <Evas_Engine_Wayland_Egl.h> |
33 | # include <Ecore_Wayland.h> | 32 | # include <Ecore_Wayland.h> |
34 | 33 | ||
35 | /* local structures */ | 34 | /* local structures */ |
36 | typedef struct _EE_Wl_Smart_Data EE_Wl_Smart_Data; | 35 | typedef struct _EE_Wl_Smart_Data EE_Wl_Smart_Data; |
37 | struct _EE_Wl_Smart_Data | 36 | struct _EE_Wl_Smart_Data |
38 | { | 37 | { |
39 | Evas_Object *frame, *text; | 38 | Evas_Object *frame; |
39 | Evas_Object *text; | ||
40 | Evas_Coord x, y, w, h; | 40 | Evas_Coord x, y, w, h; |
41 | }; | 41 | }; |
42 | 42 | ||
@@ -51,40 +51,33 @@ static void _ecore_evas_wl_callback_delete_request_set(Ecore_Evas *ee, void (*fu | |||
51 | static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 51 | static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
52 | static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 52 | static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
53 | static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 53 | static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
54 | static void _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | ||
54 | static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); | 55 | static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); |
55 | static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); | 56 | static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); |
56 | static void _ecore_evas_wl_show(Ecore_Evas *ee); | 57 | static void _ecore_evas_wl_show(Ecore_Evas *ee); |
57 | static void _ecore_evas_wl_hide(Ecore_Evas *ee); | 58 | static void _ecore_evas_wl_hide(Ecore_Evas *ee); |
58 | static void _ecore_evas_wl_raise(Ecore_Evas *ee); | 59 | static void _ecore_evas_wl_raise(Ecore_Evas *ee); |
59 | static void _ecore_evas_wl_lower(Ecore_Evas *ee); | 60 | static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title); |
60 | static void _ecore_evas_wl_activate(Ecore_Evas *ee); | ||
61 | static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t); | ||
62 | static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); | 61 | static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); |
63 | static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); | 62 | static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); |
64 | static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); | 63 | static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); |
65 | static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); | 64 | static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); |
66 | static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); | 65 | static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); |
67 | static void _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); | ||
68 | static void _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__); | ||
69 | static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); | 66 | static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); |
70 | static void _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__); | ||
71 | static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); | 67 | static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); |
72 | static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); | 68 | static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); |
73 | static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__); | 69 | static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full); |
70 | static void _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore); | ||
71 | static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha); | ||
72 | static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent); | ||
74 | static int _ecore_evas_wl_render(Ecore_Evas *ee); | 73 | static int _ecore_evas_wl_render(Ecore_Evas *ee); |
75 | static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); | 74 | static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); |
76 | 75 | ||
77 | static Eina_Bool _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event); | 76 | static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); |
78 | static Eina_Bool _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event); | 77 | static Eina_Bool _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); |
79 | static Eina_Bool _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event); | 78 | static Eina_Bool _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); |
80 | static Eina_Bool _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event); | 79 | static Eina_Bool _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); |
81 | static Eina_Bool _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); | 80 | static Eina_Bool _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event); |
82 | static Eina_Bool _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
83 | static Eina_Bool _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
84 | static Eina_Bool _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
85 | |||
86 | static void _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface __UNUSED__, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height); | ||
87 | static void _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__); | ||
88 | 81 | ||
89 | /* SMART stuff for frame */ | 82 | /* SMART stuff for frame */ |
90 | static Evas_Smart *_ecore_evas_wl_smart = NULL; | 83 | static Evas_Smart *_ecore_evas_wl_smart = NULL; |
@@ -100,94 +93,94 @@ static Evas_Object *_ecore_evas_wl_frame_add(Evas *evas); | |||
100 | 93 | ||
101 | /* local variables */ | 94 | /* local variables */ |
102 | static int _ecore_evas_wl_init_count = 0; | 95 | static int _ecore_evas_wl_init_count = 0; |
103 | static Ecore_Event_Handler *_ecore_evas_wl_event_handlers[8]; | 96 | static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5]; |
104 | static uint32_t _ecore_evas_wl_btn_timestamp; | ||
105 | static const struct wl_shell_surface_listener _ecore_evas_wl_shell_surface_listener = | ||
106 | { | ||
107 | _ecore_evas_wl_handle_configure, | ||
108 | _ecore_evas_wl_handle_popup_done | ||
109 | }; | ||
110 | 97 | ||
111 | static Ecore_Evas_Engine_Func _ecore_wl_engine_func = | 98 | static Ecore_Evas_Engine_Func _ecore_wl_engine_func = |
112 | { | 99 | { |
113 | _ecore_evas_wl_free, | 100 | _ecore_evas_wl_free, |
114 | _ecore_evas_wl_callback_resize_set, | 101 | _ecore_evas_wl_callback_resize_set, |
115 | _ecore_evas_wl_callback_move_set, | 102 | _ecore_evas_wl_callback_move_set, |
116 | NULL, // callback show set | 103 | NULL, |
117 | NULL, // callback hide set | 104 | NULL, |
118 | _ecore_evas_wl_callback_delete_request_set, | 105 | _ecore_evas_wl_callback_delete_request_set, |
119 | NULL, // callback destroy set | 106 | NULL, |
120 | _ecore_evas_wl_callback_focus_in_set, | 107 | _ecore_evas_wl_callback_focus_in_set, |
121 | _ecore_evas_wl_callback_focus_out_set, | 108 | _ecore_evas_wl_callback_focus_out_set, |
122 | _ecore_evas_wl_callback_mouse_in_set, | 109 | _ecore_evas_wl_callback_mouse_in_set, |
123 | NULL, // callback mouse out set | 110 | _ecore_evas_wl_callback_mouse_out_set, |
124 | NULL, // callback sticky set | 111 | NULL, // sticky_set |
125 | NULL, // callback unsticky set | 112 | NULL, // unsticky_set |
126 | NULL, // callback pre render set | 113 | NULL, // pre_render_set |
127 | NULL, // callback post render set | 114 | NULL, // post_render_set |
128 | _ecore_evas_wl_move, | 115 | _ecore_evas_wl_move, |
129 | NULL, // func managed move | 116 | NULL, // managed_move |
130 | _ecore_evas_wl_resize, | 117 | _ecore_evas_wl_resize, |
131 | NULL, // _ecore_evas_wl_move_resize, | 118 | NULL, // move_resize |
132 | NULL, // func rotation set | 119 | NULL, // rotation_set |
133 | NULL, // func shaped set | 120 | NULL, // shaped_set |
134 | _ecore_evas_wl_show, | 121 | _ecore_evas_wl_show, |
135 | _ecore_evas_wl_hide, | 122 | _ecore_evas_wl_hide, |
136 | _ecore_evas_wl_raise, | 123 | _ecore_evas_wl_raise, |
137 | _ecore_evas_wl_lower, | 124 | NULL, // lower |
138 | _ecore_evas_wl_activate, | 125 | NULL, // activate |
139 | _ecore_evas_wl_title_set, | 126 | _ecore_evas_wl_title_set, |
140 | _ecore_evas_wl_name_class_set, | 127 | _ecore_evas_wl_name_class_set, |
141 | _ecore_evas_wl_size_min_set, | 128 | _ecore_evas_wl_size_min_set, |
142 | _ecore_evas_wl_size_max_set, | 129 | _ecore_evas_wl_size_max_set, |
143 | _ecore_evas_wl_size_base_set, | 130 | _ecore_evas_wl_size_base_set, |
144 | _ecore_evas_wl_size_step_set, | 131 | _ecore_evas_wl_size_step_set, |
145 | _ecore_evas_wl_object_cursor_set, | 132 | NULL, // object_cursor_set |
146 | _ecore_evas_wl_layer_set, | 133 | _ecore_evas_wl_layer_set, |
147 | _ecore_evas_wl_focus_set, | 134 | NULL, // focus set |
148 | _ecore_evas_wl_iconified_set, | 135 | _ecore_evas_wl_iconified_set, |
149 | NULL, // func borderless set | 136 | NULL, // borderless set |
150 | NULL, // func override set | 137 | NULL, // override set |
151 | _ecore_evas_wl_maximized_set, | 138 | _ecore_evas_wl_maximized_set, |
152 | _ecore_evas_wl_fullscreen_set, | 139 | _ecore_evas_wl_fullscreen_set, |
153 | NULL, // _ecore_evas_wl_avoid_damage_set, | 140 | NULL, // func avoid_damage set |
154 | NULL, // func withdrawn set | 141 | NULL, // func withdrawn set |
155 | NULL, // func sticky set | 142 | NULL, // func sticky set |
156 | NULL, // func ignore events set | 143 | _ecore_evas_wl_ignore_events_set, |
157 | NULL, // func alpha set | 144 | _ecore_evas_wl_alpha_set, |
158 | NULL, // func transparent set | 145 | _ecore_evas_wl_transparent_set, |
146 | NULL, | ||
147 | NULL, | ||
148 | NULL, | ||
149 | NULL, | ||
150 | NULL, | ||
151 | NULL, | ||
159 | _ecore_evas_wl_render, | 152 | _ecore_evas_wl_render, |
160 | _ecore_evas_wl_screen_geometry_get | 153 | _ecore_evas_wl_screen_geometry_get |
161 | }; | 154 | }; |
162 | 155 | ||
163 | #endif | 156 | /* external variables */ |
164 | 157 | ||
165 | #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL | 158 | /* external functions */ |
166 | EAPI Ecore_Evas * | 159 | EAPI Ecore_Evas * |
167 | ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame) | 160 | ecore_evas_wayland_egl_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame) |
168 | { | 161 | { |
162 | Ecore_Wl_Window *p = NULL; | ||
169 | Evas_Engine_Info_Wayland_Egl *einfo; | 163 | Evas_Engine_Info_Wayland_Egl *einfo; |
170 | Ecore_Evas *ee; | 164 | Ecore_Evas *ee; |
171 | int method = 0; | 165 | int method = 0; |
172 | static int _win_id = 1; | ||
173 | 166 | ||
174 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 167 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
175 | 168 | ||
176 | if (!(method = evas_render_method_lookup("wayland_egl"))) | 169 | if (!(method = evas_render_method_lookup("wayland_egl"))) |
177 | { | 170 | { |
178 | printf("Render method lookup failed for Wayland Egl"); | 171 | ERR("Render method lookup failed for Wayland_Egl"); |
179 | return NULL; | 172 | return NULL; |
180 | } | 173 | } |
181 | 174 | ||
182 | if (!ecore_wl_init(disp_name)) | 175 | if (!ecore_wl_init(disp_name)) |
183 | { | 176 | { |
184 | printf("Failed to initialize Ecore Wayland"); | 177 | ERR("Failed to initialize Ecore_Wayland"); |
185 | return NULL; | 178 | return NULL; |
186 | } | 179 | } |
187 | 180 | ||
188 | if (!(ee = calloc(1, sizeof(Ecore_Evas)))) | 181 | if (!(ee = calloc(1, sizeof(Ecore_Evas)))) |
189 | { | 182 | { |
190 | printf("Failed to allocate Ecore_Evas."); | 183 | ERR("Failed to allocate Ecore_Evas"); |
191 | ecore_wl_shutdown(); | 184 | ecore_wl_shutdown(); |
192 | return NULL; | 185 | return NULL; |
193 | } | 186 | } |
@@ -204,17 +197,22 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in | |||
204 | if (w < 1) w = 1; | 197 | if (w < 1) w = 1; |
205 | if (h < 1) h = 1; | 198 | if (h < 1) h = 1; |
206 | 199 | ||
207 | ee->req.x = ee->x = x; | 200 | ee->x = x; |
208 | ee->req.y = ee->y = y; | 201 | ee->y = y; |
209 | ee->req.w = ee->w = w; | 202 | ee->w = w; |
210 | ee->req.h = ee->h = h; | 203 | ee->h = h; |
204 | ee->req.x = ee->x; | ||
205 | ee->req.y = ee->y; | ||
206 | ee->req.w = ee->w; | ||
207 | ee->req.h = ee->h; | ||
211 | ee->rotation = 0; | 208 | ee->rotation = 0; |
212 | ee->prop.max.w = ee->prop.max.h = 32767; | 209 | ee->prop.max.w = 32767; |
210 | ee->prop.max.h = 32767; | ||
213 | ee->prop.layer = 4; | 211 | ee->prop.layer = 4; |
214 | ee->prop.request_pos = 0; | 212 | ee->prop.request_pos = 0; |
215 | ee->prop.sticky = 0; | 213 | ee->prop.sticky = 0; |
216 | ee->prop.draw_frame = frame; | 214 | ee->prop.draw_frame = frame; |
217 | ee->prop.window = _win_id++; | 215 | ee->alpha = EINA_FALSE; |
218 | 216 | ||
219 | ee->evas = evas_new(); | 217 | ee->evas = evas_new(); |
220 | evas_data_attach_set(ee->evas, ee); | 218 | evas_data_attach_set(ee->evas, ee); |
@@ -222,29 +220,43 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in | |||
222 | evas_output_size_set(ee->evas, ee->w, ee->h); | 220 | evas_output_size_set(ee->evas, ee->w, ee->h); |
223 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); | 221 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); |
224 | 222 | ||
225 | if (ee->prop.draw_frame) | 223 | /* FIXME: This needs to be set based on theme & scale */ |
224 | if (ee->prop.draw_frame) | ||
226 | evas_output_framespace_set(ee->evas, 4, 18, 8, 22); | 225 | evas_output_framespace_set(ee->evas, 4, 18, 8, 22); |
227 | 226 | ||
228 | if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) | 227 | if (parent) |
228 | p = ecore_wl_window_find(parent); | ||
229 | |||
230 | /* FIXME: Get if parent is alpha, and set */ | ||
231 | |||
232 | ee->engine.wl.parent = p; | ||
233 | ee->engine.wl.win = | ||
234 | ecore_wl_window_new(p, x, y, w, h, ECORE_WL_WINDOW_BUFFER_TYPE_EGL_WINDOW); | ||
235 | ee->prop.window = ee->engine.wl.win->id; | ||
236 | |||
237 | if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) | ||
229 | { | 238 | { |
230 | einfo->info.display = ecore_wl_display_get(); | 239 | einfo->info.display = ecore_wl_display_get(); |
240 | einfo->info.destination_alpha = EINA_FALSE; | ||
231 | einfo->info.rotation = ee->rotation; | 241 | einfo->info.rotation = ee->rotation; |
232 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | 242 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) |
233 | { | 243 | { |
234 | printf("Failed to set Evas Engine Info for '%s'.", ee->driver); | 244 | ERR("Failed to set Evas Engine Info for '%s'", ee->driver); |
235 | ecore_evas_free(ee); | 245 | ecore_evas_free(ee); |
246 | _ecore_evas_wl_shutdown(); | ||
247 | ecore_wl_shutdown(); | ||
236 | return NULL; | 248 | return NULL; |
237 | } | 249 | } |
238 | } | 250 | } |
239 | else | 251 | else |
240 | { | 252 | { |
241 | printf("Failed to get Evas Engine Info for '%s'.", ee->driver); | 253 | ERR("Failed to get Evas Engine Info for '%s'", ee->driver); |
242 | ecore_evas_free(ee); | 254 | ecore_evas_free(ee); |
255 | _ecore_evas_wl_shutdown(); | ||
256 | ecore_wl_shutdown(); | ||
243 | return NULL; | 257 | return NULL; |
244 | } | 258 | } |
245 | 259 | ||
246 | /* NB: we need to be notified before 'free' so we can munmap the evas | ||
247 | * engine destination */ | ||
248 | ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); | 260 | ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); |
249 | 261 | ||
250 | if (ee->prop.draw_frame) | 262 | if (ee->prop.draw_frame) |
@@ -270,37 +282,28 @@ ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, in | |||
270 | 282 | ||
271 | /* local functions */ | 283 | /* local functions */ |
272 | static int | 284 | static int |
273 | _ecore_evas_wl_init(void) | 285 | _ecore_evas_wl_init(void) |
274 | { | 286 | { |
275 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 287 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
276 | 288 | ||
277 | if (++_ecore_evas_wl_init_count != 1) | 289 | if (++_ecore_evas_wl_init_count != 1) |
278 | return _ecore_evas_wl_init_count; | 290 | return _ecore_evas_wl_init_count; |
279 | 291 | ||
280 | _ecore_evas_wl_event_handlers[0] = | 292 | _ecore_evas_wl_event_hdls[0] = |
281 | ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, | ||
282 | _ecore_evas_wl_event_mouse_down, NULL); | ||
283 | _ecore_evas_wl_event_handlers[1] = | ||
284 | ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, | ||
285 | _ecore_evas_wl_event_mouse_up, NULL); | ||
286 | _ecore_evas_wl_event_handlers[2] = | ||
287 | ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, | ||
288 | _ecore_evas_wl_event_mouse_move, NULL); | ||
289 | _ecore_evas_wl_event_handlers[3] = | ||
290 | ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, | ||
291 | _ecore_evas_wl_event_mouse_wheel, NULL); | ||
292 | _ecore_evas_wl_event_handlers[4] = | ||
293 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, | 293 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, |
294 | _ecore_evas_wl_event_mouse_in, NULL); | 294 | _ecore_evas_wl_cb_mouse_in, NULL); |
295 | _ecore_evas_wl_event_handlers[5] = | 295 | _ecore_evas_wl_event_hdls[1] = |
296 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, | 296 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, |
297 | _ecore_evas_wl_event_mouse_out, NULL); | 297 | _ecore_evas_wl_cb_mouse_out, NULL); |
298 | _ecore_evas_wl_event_handlers[6] = | 298 | _ecore_evas_wl_event_hdls[2] = |
299 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, | 299 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, |
300 | _ecore_evas_wl_event_focus_in, NULL); | 300 | _ecore_evas_wl_cb_focus_in, NULL); |
301 | _ecore_evas_wl_event_handlers[7] = | 301 | _ecore_evas_wl_event_hdls[3] = |
302 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, | 302 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, |
303 | _ecore_evas_wl_event_focus_out, NULL); | 303 | _ecore_evas_wl_cb_focus_out, NULL); |
304 | _ecore_evas_wl_event_hdls[4] = | ||
305 | ecore_event_handler_add(ECORE_WL_EVENT_WINDOW_CONFIGURE, | ||
306 | _ecore_evas_wl_cb_window_configure, NULL); | ||
304 | 307 | ||
305 | ecore_event_evas_init(); | 308 | ecore_event_evas_init(); |
306 | 309 | ||
@@ -308,7 +311,7 @@ _ecore_evas_wl_init(void) | |||
308 | } | 311 | } |
309 | 312 | ||
310 | static int | 313 | static int |
311 | _ecore_evas_wl_shutdown(void) | 314 | _ecore_evas_wl_shutdown(void) |
312 | { | 315 | { |
313 | unsigned int i = 0; | 316 | unsigned int i = 0; |
314 | 317 | ||
@@ -317,10 +320,10 @@ _ecore_evas_wl_shutdown(void) | |||
317 | if (--_ecore_evas_wl_init_count != 0) | 320 | if (--_ecore_evas_wl_init_count != 0) |
318 | return _ecore_evas_wl_init_count; | 321 | return _ecore_evas_wl_init_count; |
319 | 322 | ||
320 | for (i = 0; i < sizeof(_ecore_evas_wl_event_handlers) / sizeof(Ecore_Event_Handler *); i++) | 323 | for (i = 0; i < sizeof(_ecore_evas_wl_event_hdls) / sizeof(Ecore_Event_Handler *); i++) |
321 | { | 324 | { |
322 | if (_ecore_evas_wl_event_handlers[i]) | 325 | if (_ecore_evas_wl_event_hdls[i]) |
323 | ecore_event_handler_del(_ecore_evas_wl_event_handlers[i]); | 326 | ecore_event_handler_del(_ecore_evas_wl_event_hdls[i]); |
324 | } | 327 | } |
325 | 328 | ||
326 | ecore_event_evas_shutdown(); | 329 | ecore_event_evas_shutdown(); |
@@ -338,24 +341,16 @@ _ecore_evas_wl_pre_free(Ecore_Evas *ee) | |||
338 | } | 341 | } |
339 | 342 | ||
340 | static void | 343 | static void |
341 | _ecore_evas_wl_free(Ecore_Evas *ee) | 344 | _ecore_evas_wl_free(Ecore_Evas *ee) |
342 | { | 345 | { |
343 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 346 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
344 | 347 | ||
345 | if (ee) | 348 | if (ee->engine.wl.win) ecore_wl_window_free(ee->engine.wl.win); |
346 | { | 349 | ee->engine.wl.win = NULL; |
347 | /* destroy shell surface */ | ||
348 | if (ee->engine.wl.shell_surface) | ||
349 | wl_shell_surface_destroy(ee->engine.wl.shell_surface); | ||
350 | ee->engine.wl.shell_surface = NULL; | ||
351 | 350 | ||
352 | /* destroy surface */ | 351 | ecore_event_window_unregister(ee->prop.window); |
353 | if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); | 352 | ecore_evas_input_event_unregister(ee); |
354 | ee->engine.wl.surface = NULL; | ||
355 | 353 | ||
356 | ecore_event_window_unregister(ee->prop.window); | ||
357 | ecore_evas_input_event_unregister(ee); | ||
358 | } | ||
359 | _ecore_evas_wl_shutdown(); | 354 | _ecore_evas_wl_shutdown(); |
360 | ecore_wl_shutdown(); | 355 | ecore_wl_shutdown(); |
361 | } | 356 | } |
@@ -415,138 +410,131 @@ _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee | |||
415 | } | 410 | } |
416 | 411 | ||
417 | static void | 412 | static void |
418 | _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) | 413 | _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)) |
414 | { | ||
415 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
416 | |||
417 | if (!ee) return; | ||
418 | ee->func.fn_mouse_out = func; | ||
419 | } | ||
420 | |||
421 | static void | ||
422 | _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) | ||
419 | { | 423 | { |
420 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 424 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
421 | 425 | ||
422 | if (!ee) return; | 426 | if (!ee) return; |
423 | // if ((ee->x == x) && (ee->y == y)) return; | ||
424 | ee->req.x = x; | 427 | ee->req.x = x; |
425 | ee->req.y = y; | 428 | ee->req.y = y; |
426 | |||
427 | ee->x = x; | 429 | ee->x = x; |
428 | ee->y = y; | 430 | ee->y = y; |
429 | if (ee->engine.wl.shell_surface) | 431 | if (ee->engine.wl.win) ecore_wl_window_move(ee->engine.wl.win, x, y); |
430 | { | ||
431 | wl_shell_surface_move(ee->engine.wl.shell_surface, | ||
432 | ecore_wl_input_device_get(), | ||
433 | _ecore_evas_wl_btn_timestamp); | ||
434 | } | ||
435 | if (ee->func.fn_move) ee->func.fn_move(ee); | 432 | if (ee->func.fn_move) ee->func.fn_move(ee); |
436 | } | 433 | } |
437 | 434 | ||
438 | static void | 435 | static void |
439 | _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) | 436 | _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) |
440 | { | 437 | { |
441 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 438 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
442 | 439 | ||
443 | if (!ee) return; | 440 | if (!ee) return; |
444 | if (w < 1) w = 1; | 441 | if (w < 1) w = 1; |
445 | if (h < 1) h = 1; | 442 | if (h < 1) h = 1; |
446 | if ((ee->w == w) && (ee->h == h)) return; | 443 | // if ((ee->w == w) && (ee->h == h)) return; |
444 | |||
445 | if (ee->prop.min.w > w) w = ee->prop.min.w; | ||
446 | else if (w > ee->prop.max.w) w = ee->prop.max.w; | ||
447 | if (ee->prop.min.h > h) h = ee->prop.min.h; | ||
448 | else if (h > ee->prop.max.h) h = ee->prop.max.h; | ||
447 | 449 | ||
448 | ee->req.w = w; | 450 | ee->req.w = w; |
449 | ee->req.h = h; | 451 | ee->req.h = h; |
450 | 452 | ||
451 | /* if (ee->visible) */ | 453 | // ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); |
452 | /* { */ | ||
453 | /* damage old surface, if it exists */ | ||
454 | |||
455 | /* NB: This removes any lingering screen artifacts in the compositor. | ||
456 | * This may be a 'HACK' if the issue is actually in the wayland | ||
457 | * compositor, but for now lets implement this so we don't have screen | ||
458 | * artifacts laying around during a resize */ | ||
459 | /* if (ee->engine.wl.surface) */ | ||
460 | /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ | ||
461 | /* } */ | ||
462 | 454 | ||
463 | ee->w = w; | 455 | ee->w = w; |
464 | ee->h = h; | 456 | ee->h = h; |
465 | 457 | ||
466 | // ecore_wl_flush(); | 458 | /* change evas output & viewport sizes */ |
467 | |||
468 | evas_output_size_set(ee->evas, ee->w, ee->h); | 459 | evas_output_size_set(ee->evas, ee->w, ee->h); |
469 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); | 460 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); |
470 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | 461 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); |
471 | if (ee->engine.wl.frame) | 462 | if (ee->engine.wl.frame) |
472 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); | 463 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); |
473 | 464 | ||
474 | /* if ((ee->visible) && (ee->engine.wl.surface)) */ | 465 | /* set new engine destination */ |
475 | /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ | 466 | /* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */ |
467 | |||
468 | /* ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); */ | ||
469 | ecore_wl_flush(); | ||
470 | |||
471 | ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h); | ||
476 | 472 | ||
477 | if (ee->func.fn_resize) ee->func.fn_resize(ee); | 473 | if (ee->func.fn_resize) ee->func.fn_resize(ee); |
478 | } | 474 | } |
479 | 475 | ||
480 | static void | 476 | static void |
481 | _ecore_evas_wl_show(Ecore_Evas *ee) | 477 | _ecore_evas_wl_show(Ecore_Evas *ee) |
482 | { | 478 | { |
483 | Evas_Engine_Info_Wayland_Egl *einfo; | 479 | Evas_Engine_Info_Wayland_Egl *einfo; |
484 | 480 | ||
485 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 481 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
486 | 482 | ||
487 | if (!ee) return; | 483 | if ((!ee) || (ee->visible)) return; |
488 | if (ee->visible) return; | ||
489 | |||
490 | einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); | ||
491 | 484 | ||
492 | /* create new surface */ | 485 | if (ee->engine.wl.win) |
493 | ee->engine.wl.surface = | 486 | { |
494 | wl_compositor_create_surface(ecore_wl_compositor_get()); | 487 | ecore_wl_window_show(ee->engine.wl.win); |
495 | wl_surface_set_user_data(ee->engine.wl.surface, (void *)ee->prop.window); | 488 | ecore_wl_flush(); |
489 | } | ||
496 | 490 | ||
497 | /* create new shell surface */ | 491 | einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); |
498 | ee->engine.wl.shell_surface = | 492 | if (!einfo) |
499 | wl_shell_get_shell_surface(ecore_wl_shell_get(), ee->engine.wl.surface); | 493 | { |
494 | ERR("Failed to get Evas Engine Info for '%s'", ee->driver); | ||
495 | return; | ||
496 | } | ||
500 | 497 | ||
501 | /* set the engine surface here. This should trigger an egl window create */ | 498 | einfo->info.surface = ecore_wl_window_surface_get(ee->engine.wl.win); |
502 | einfo->info.surface = ee->engine.wl.surface; | ||
503 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | 499 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); |
504 | 500 | ||
505 | /* add listener for configure events (happen on shell surface resize) */ | ||
506 | wl_shell_surface_add_listener(ee->engine.wl.shell_surface, | ||
507 | &_ecore_evas_wl_shell_surface_listener, ee); | ||
508 | |||
509 | /* Raise this surface to the top */ | ||
510 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | ||
511 | |||
512 | if (ee->engine.wl.frame) | 501 | if (ee->engine.wl.frame) |
513 | { | 502 | { |
514 | evas_object_show(ee->engine.wl.frame); | 503 | evas_object_show(ee->engine.wl.frame); |
515 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); | 504 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); |
516 | } | 505 | } |
517 | 506 | ||
518 | ecore_wl_flush(); | 507 | /* ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); */ |
519 | 508 | ||
520 | ee->visible = 1; | 509 | ee->visible = 1; |
521 | if (ee->func.fn_show) ee->func.fn_show(ee); | 510 | if (ee->func.fn_show) ee->func.fn_show(ee); |
522 | } | 511 | } |
523 | 512 | ||
524 | static void | 513 | static void |
525 | _ecore_evas_wl_hide(Ecore_Evas *ee) | 514 | _ecore_evas_wl_hide(Ecore_Evas *ee) |
526 | { | 515 | { |
527 | Evas_Engine_Info_Wayland_Egl *einfo; | 516 | Evas_Engine_Info_Wayland_Egl *einfo; |
528 | 517 | ||
529 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 518 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
530 | 519 | ||
531 | if (!ee) return; | 520 | if ((!ee) || (!ee->visible)) return; |
532 | if (!ee->visible) return; | ||
533 | |||
534 | /* get engine info */ | ||
535 | einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); | ||
536 | einfo->info.surface = NULL; | ||
537 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | ||
538 | 521 | ||
539 | /* destroy shell surface */ | 522 | if (ee->engine.wl.win) |
540 | if (ee->engine.wl.shell_surface) | 523 | { |
541 | wl_shell_surface_destroy(ee->engine.wl.shell_surface); | 524 | ecore_wl_window_hide(ee->engine.wl.win); |
542 | ee->engine.wl.shell_surface = NULL; | 525 | ecore_wl_flush(); |
526 | } | ||
543 | 527 | ||
544 | /* destroy surface */ | 528 | einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); |
545 | if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); | 529 | if (einfo) |
546 | ee->engine.wl.surface = NULL; | 530 | { |
531 | einfo->info.surface = NULL; | ||
532 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | ||
533 | } | ||
547 | 534 | ||
548 | ee->visible = 0; | 535 | ee->visible = 0; |
549 | ee->should_be_visible = 0; | 536 | ee->should_be_visible = 0; |
537 | |||
550 | if (ee->func.fn_hide) ee->func.fn_hide(ee); | 538 | if (ee->func.fn_hide) ee->func.fn_hide(ee); |
551 | } | 539 | } |
552 | 540 | ||
@@ -556,39 +544,18 @@ _ecore_evas_wl_raise(Ecore_Evas *ee) | |||
556 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 544 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
557 | 545 | ||
558 | if ((!ee) || (!ee->visible)) return; | 546 | if ((!ee) || (!ee->visible)) return; |
559 | if (!ee->engine.wl.shell_surface) return; | 547 | ecore_wl_window_raise(ee->engine.wl.win); |
560 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | ||
561 | } | ||
562 | |||
563 | static void | ||
564 | _ecore_evas_wl_lower(Ecore_Evas *ee) | ||
565 | { | ||
566 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
567 | |||
568 | if ((!ee) || (!ee->visible)) return; | ||
569 | /* FIXME: Need a way to tell Wayland to lower */ | ||
570 | } | ||
571 | |||
572 | static void | ||
573 | _ecore_evas_wl_activate(Ecore_Evas *ee) | ||
574 | { | ||
575 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
576 | |||
577 | if ((!ee) || (!ee->visible)) return; | ||
578 | if (!ee->engine.wl.shell_surface) return; | ||
579 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | ||
580 | } | 548 | } |
581 | 549 | ||
582 | static void | 550 | static void |
583 | _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t) | 551 | _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title) |
584 | { | 552 | { |
585 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 553 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
586 | 554 | ||
587 | if (!ee) return; | 555 | if (!ee) return; |
588 | if (ee->prop.title) free(ee->prop.title); | 556 | if (ee->prop.title) free(ee->prop.title); |
589 | ee->prop.title = NULL; | 557 | ee->prop.title = NULL; |
590 | if (t) ee->prop.title = strdup(t); | 558 | if (title) ee->prop.title = strdup(title); |
591 | |||
592 | if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) | 559 | if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) |
593 | { | 560 | { |
594 | EE_Wl_Smart_Data *sd; | 561 | EE_Wl_Smart_Data *sd; |
@@ -666,106 +633,101 @@ _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h) | |||
666 | } | 633 | } |
667 | 634 | ||
668 | static void | 635 | static void |
669 | _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y) | 636 | _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) |
670 | { | 637 | { |
671 | int x = 0, y = 0; | ||
672 | |||
673 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 638 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
674 | 639 | ||
675 | if (!ee) return; | 640 | if (!ee) return; |
676 | if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); | 641 | if (ee->prop.layer == layer) return; |
677 | ee->prop.cursor.object = NULL; | 642 | if (layer < 1) layer = 1; |
678 | 643 | else if (layer > 255) layer = 255; | |
679 | if (!obj) | 644 | ee->prop.layer = layer; |
680 | { | ||
681 | ee->prop.cursor.layer = 0; | ||
682 | ee->prop.cursor.hot.x = 0; | ||
683 | ee->prop.cursor.hot.y = 0; | ||
684 | return; | ||
685 | } | ||
686 | |||
687 | ee->prop.cursor.object = obj; | ||
688 | ee->prop.cursor.layer = layer; | ||
689 | ee->prop.cursor.hot.x = hot_x; | ||
690 | ee->prop.cursor.hot.y = hot_y; | ||
691 | |||
692 | evas_pointer_output_xy_get(ee->evas, &x, &y); | ||
693 | evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); | ||
694 | evas_object_move(ee->prop.cursor.object, | ||
695 | x - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.y); | ||
696 | evas_object_pass_events_set(ee->prop.cursor.object, 1); | ||
697 | if (evas_pointer_inside_get(ee->evas)) | ||
698 | evas_object_show(ee->prop.cursor.object); | ||
699 | |||
700 | evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, | ||
701 | _ecore_evas_wl_object_cursor_del, ee); | ||
702 | } | 645 | } |
703 | 646 | ||
704 | static void | 647 | static void |
705 | _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) | 648 | _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) |
706 | { | 649 | { |
707 | Ecore_Evas *ee; | 650 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
708 | 651 | ||
709 | if (!(ee = data)) return; | 652 | if (!ee) return; |
710 | ee->prop.cursor.object = NULL; | 653 | if (ee->prop.iconified == iconify) return; |
654 | ee->prop.iconified = iconify; | ||
655 | /* FIXME: Implement this in Wayland someshow */ | ||
711 | } | 656 | } |
712 | 657 | ||
713 | static void | 658 | static void |
714 | _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) | 659 | _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) |
715 | { | 660 | { |
716 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 661 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
717 | 662 | ||
718 | if (!ee) return; | 663 | if (!ee) return; |
719 | if (ee->prop.layer == layer) return; | 664 | if (ee->prop.maximized == max) return; |
720 | if (layer < 1) layer = 1; | 665 | ee->prop.maximized = max; |
721 | else if (layer > 255) layer = 255; | 666 | ecore_wl_window_maximized_set(ee->engine.wl.win, max); |
722 | ee->prop.layer = layer; | ||
723 | } | 667 | } |
724 | 668 | ||
725 | static void | 669 | static void |
726 | _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__) | 670 | _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full) |
727 | { | 671 | { |
728 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 672 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
729 | 673 | ||
730 | if ((!ee) || (!ee->visible)) return; | 674 | if ((!ee) || (!ee->visible)) return; |
731 | if (!ee->engine.wl.shell_surface) return; | 675 | if (ee->prop.fullscreen == full) return; |
732 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | 676 | ee->prop.fullscreen = full; |
677 | ecore_wl_window_fullscreen_set(ee->engine.wl.win, full); | ||
733 | } | 678 | } |
734 | 679 | ||
735 | static void | 680 | static void |
736 | _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) | 681 | _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore) |
737 | { | 682 | { |
738 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 683 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
739 | 684 | ||
740 | if (!ee) return; | 685 | if (!ee) return; |
741 | if (ee->prop.iconified == iconify) return; | 686 | ee->ignore_events = ignore; |
742 | ee->prop.iconified = iconify; | 687 | /* NB: Hmmm, may need to pass this to ecore_wl_window in the future */ |
743 | /* FIXME: Implement this in Wayland someshow */ | ||
744 | } | 688 | } |
745 | 689 | ||
746 | static void | 690 | static void |
747 | _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) | 691 | _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha) |
748 | { | 692 | { |
693 | Evas_Engine_Info_Wayland_Egl *einfo; | ||
694 | |||
749 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 695 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
750 | 696 | ||
751 | if (!ee) return; | 697 | if (!ee) return; |
752 | if (ee->prop.maximized == max) return; | 698 | if ((ee->alpha == alpha)) return; |
753 | ee->prop.maximized = max; | 699 | ee->alpha = alpha; |
754 | /* FIXME: Implement this in Wayland someshow */ | 700 | if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) |
701 | { | ||
702 | einfo->info.destination_alpha = alpha; | ||
703 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | ||
704 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | ||
705 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | ||
706 | } | ||
755 | } | 707 | } |
756 | 708 | ||
757 | static void | 709 | static void |
758 | _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__) | 710 | _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent) |
759 | { | 711 | { |
712 | Evas_Engine_Info_Wayland_Egl *einfo; | ||
713 | |||
760 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 714 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
761 | 715 | ||
762 | if ((!ee) || (!ee->visible)) return; | 716 | if (!ee) return; |
763 | if (!ee->engine.wl.shell_surface) return; | 717 | if ((ee->transparent == transparent)) return; |
764 | wl_shell_surface_set_fullscreen(ee->engine.wl.shell_surface); | 718 | ee->transparent = transparent; |
719 | if (!ee->visible) return; | ||
720 | if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas))) | ||
721 | { | ||
722 | einfo->info.destination_alpha = transparent; | ||
723 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | ||
724 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | ||
725 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | ||
726 | } | ||
765 | } | 727 | } |
766 | 728 | ||
767 | static int | 729 | static int |
768 | _ecore_evas_wl_render(Ecore_Evas *ee) | 730 | _ecore_evas_wl_render(Ecore_Evas *ee) |
769 | { | 731 | { |
770 | int rend = 0; | 732 | int rend = 0; |
771 | 733 | ||
@@ -789,26 +751,24 @@ _ecore_evas_wl_render(Ecore_Evas *ee) | |||
789 | 751 | ||
790 | if ((updates = evas_render_updates(ee->evas))) | 752 | if ((updates = evas_render_updates(ee->evas))) |
791 | { | 753 | { |
792 | /* if (ee->engine.wl.surface) */ | 754 | Eina_List *l = NULL; |
793 | /* { */ | 755 | Eina_Rectangle *r; |
794 | /* Eina_List *l = NULL; */ | 756 | |
795 | /* Eina_Rectangle *r; */ | 757 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
796 | 758 | ||
797 | /* EINA_LIST_FOREACH(updates, l, r) */ | 759 | EINA_LIST_FOREACH(updates, l, r) |
798 | /* wl_surface_damage(ee->engine.wl.surface, */ | 760 | ecore_wl_window_damage(ee->engine.wl.win, |
799 | /* r->x, r->y, r->w, r->h); */ | 761 | r->x, r->y, r->w, r->h); |
800 | /* } */ | 762 | |
763 | ecore_wl_flush(); | ||
801 | 764 | ||
802 | evas_render_updates_free(updates); | 765 | evas_render_updates_free(updates); |
803 | _ecore_evas_idle_timeout_update(ee); | 766 | _ecore_evas_idle_timeout_update(ee); |
804 | rend = 1; | 767 | rend = 1; |
805 | |||
806 | ecore_wl_flush(); | ||
807 | } | 768 | } |
808 | 769 | ||
809 | if (ee->func.fn_post_render) ee->func.fn_post_render(ee); | 770 | if (ee->func.fn_post_render) ee->func.fn_post_render(ee); |
810 | } | 771 | } |
811 | |||
812 | return rend; | 772 | return rend; |
813 | } | 773 | } |
814 | 774 | ||
@@ -822,77 +782,18 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int | |||
822 | ecore_wl_screen_size_get(w, h); | 782 | ecore_wl_screen_size_get(w, h); |
823 | } | 783 | } |
824 | 784 | ||
825 | static Eina_Bool | 785 | void |
826 | _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event) | 786 | _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location) |
827 | { | ||
828 | Ecore_Evas *ee; | ||
829 | Ecore_Event_Mouse_Button *ev; | ||
830 | |||
831 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
832 | |||
833 | ev = event; | ||
834 | _ecore_evas_wl_btn_timestamp = ev->timestamp; | ||
835 | ee = ecore_event_window_match(ev->window); | ||
836 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | ||
837 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
838 | evas_event_feed_mouse_down(ee->evas, ev->buttons, ev->modifiers, | ||
839 | ev->timestamp, NULL); | ||
840 | return ECORE_CALLBACK_PASS_ON; | ||
841 | } | ||
842 | |||
843 | static Eina_Bool | ||
844 | _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event) | ||
845 | { | ||
846 | Ecore_Evas *ee; | ||
847 | Ecore_Event_Mouse_Button *ev; | ||
848 | |||
849 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
850 | |||
851 | ev = event; | ||
852 | ee = ecore_event_window_match(ev->window); | ||
853 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | ||
854 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
855 | evas_event_feed_mouse_up(ee->evas, ev->buttons, ev->modifiers, | ||
856 | ev->timestamp, NULL); | ||
857 | return ECORE_CALLBACK_PASS_ON; | ||
858 | } | ||
859 | |||
860 | static Eina_Bool | ||
861 | _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event) | ||
862 | { | ||
863 | Ecore_Evas *ee; | ||
864 | Ecore_Event_Mouse_Move *ev; | ||
865 | |||
866 | ev = event; | ||
867 | ee = ecore_event_window_match(ev->window); | ||
868 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | ||
869 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
870 | ee->mouse.x = ev->x; | ||
871 | ee->mouse.y = ev->y; | ||
872 | evas_event_feed_mouse_move(ee->evas, ev->x, ev->y, ev->timestamp, NULL); | ||
873 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); | ||
874 | return ECORE_CALLBACK_PASS_ON; | ||
875 | } | ||
876 | |||
877 | static Eina_Bool | ||
878 | _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event) | ||
879 | { | 787 | { |
880 | Ecore_Evas *ee; | ||
881 | Ecore_Event_Mouse_Wheel *ev; | ||
882 | |||
883 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 788 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
884 | 789 | ||
885 | ev = event; | 790 | if (!ee) return; |
886 | ee = ecore_event_window_match(ev->window); | 791 | if (ee->engine.wl.win) |
887 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 792 | ecore_wl_window_resize(ee->engine.wl.win, ee->w, ee->h, location); |
888 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
889 | evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, | ||
890 | ev->timestamp, NULL); | ||
891 | return ECORE_CALLBACK_PASS_ON; | ||
892 | } | 793 | } |
893 | 794 | ||
894 | static Eina_Bool | 795 | static Eina_Bool |
895 | _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) | 796 | _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) |
896 | { | 797 | { |
897 | Ecore_Evas *ee; | 798 | Ecore_Evas *ee; |
898 | Ecore_Wl_Event_Mouse_In *ev; | 799 | Ecore_Wl_Event_Mouse_In *ev; |
@@ -900,18 +801,18 @@ _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
900 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 801 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
901 | 802 | ||
902 | ev = event; | 803 | ev = event; |
903 | ee = ecore_event_window_match(ev->window); | 804 | ee = ecore_event_window_match(ev->win); |
904 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 805 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
905 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 806 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
906 | if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); | 807 | if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); |
907 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); | 808 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); |
908 | evas_event_feed_mouse_in(ee->evas, ev->time, NULL); | 809 | evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); |
909 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); | 810 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); |
910 | return ECORE_CALLBACK_PASS_ON; | 811 | return ECORE_CALLBACK_PASS_ON; |
911 | } | 812 | } |
912 | 813 | ||
913 | static Eina_Bool | 814 | static Eina_Bool |
914 | _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) | 815 | _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) |
915 | { | 816 | { |
916 | Ecore_Evas *ee; | 817 | Ecore_Evas *ee; |
917 | Ecore_Wl_Event_Mouse_Out *ev; | 818 | Ecore_Wl_Event_Mouse_Out *ev; |
@@ -919,19 +820,19 @@ _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void | |||
919 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 820 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
920 | 821 | ||
921 | ev = event; | 822 | ev = event; |
922 | ee = ecore_event_window_match(ev->window); | 823 | ee = ecore_event_window_match(ev->win); |
923 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 824 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
924 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 825 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
925 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); | 826 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); |
926 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); | 827 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); |
927 | evas_event_feed_mouse_out(ee->evas, ev->time, NULL); | 828 | evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); |
928 | if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); | 829 | if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); |
929 | if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); | 830 | if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); |
930 | return ECORE_CALLBACK_PASS_ON; | 831 | return ECORE_CALLBACK_PASS_ON; |
931 | } | 832 | } |
932 | 833 | ||
933 | static Eina_Bool | 834 | static Eina_Bool |
934 | _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) | 835 | _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) |
935 | { | 836 | { |
936 | Ecore_Evas *ee; | 837 | Ecore_Evas *ee; |
937 | Ecore_Wl_Event_Focus_In *ev; | 838 | Ecore_Wl_Event_Focus_In *ev; |
@@ -939,9 +840,9 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
939 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 840 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
940 | 841 | ||
941 | ev = event; | 842 | ev = event; |
942 | ee = ecore_event_window_match(ev->window); | 843 | ee = ecore_event_window_match(ev->win); |
943 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 844 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
944 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 845 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
945 | ee->prop.focused = 1; | 846 | ee->prop.focused = 1; |
946 | evas_focus_in(ee->evas); | 847 | evas_focus_in(ee->evas); |
947 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); | 848 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); |
@@ -949,45 +850,51 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
949 | } | 850 | } |
950 | 851 | ||
951 | static Eina_Bool | 852 | static Eina_Bool |
952 | _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) | 853 | _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) |
953 | { | 854 | { |
954 | Ecore_Evas *ee; | 855 | Ecore_Evas *ee; |
955 | Ecore_Wl_Event_Focus_Out *ev; | 856 | Ecore_Wl_Event_Focus_In *ev; |
956 | 857 | ||
957 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 858 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
958 | 859 | ||
959 | ev = event; | 860 | ev = event; |
960 | ee = ecore_event_window_match(ev->window); | 861 | ee = ecore_event_window_match(ev->win); |
961 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 862 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
962 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 863 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
963 | evas_focus_out(ee->evas); | 864 | evas_focus_out(ee->evas); |
964 | ee->prop.focused = 0; | 865 | ee->prop.focused = 0; |
965 | if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); | 866 | if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); |
966 | return ECORE_CALLBACK_PASS_ON; | 867 | return ECORE_CALLBACK_PASS_ON; |
967 | } | 868 | } |
968 | 869 | ||
969 | static void | 870 | static Eina_Bool |
970 | _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height) | 871 | _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event) |
971 | { | 872 | { |
972 | Ecore_Evas *ee; | 873 | Ecore_Evas *ee; |
874 | Ecore_Wl_Event_Window_Configure *ev; | ||
973 | 875 | ||
974 | /* NB: Trap to prevent compositor from crashing */ | 876 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
975 | if ((width <= 0) || (height <= 0)) return; | ||
976 | |||
977 | if (!(ee = data)) return; | ||
978 | 877 | ||
979 | printf("EGL Handle Configure Message\n"); | 878 | ev = event; |
980 | if ((shell_surface) && (ee->engine.wl.shell_surface)) | 879 | ee = ecore_event_window_match(ev->win); |
880 | if (!ee) return ECORE_CALLBACK_PASS_ON; | ||
881 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
882 | if ((ee->x != ev->x) || (ee->y != ev->y)) | ||
981 | { | 883 | { |
982 | if (ee->engine.wl.shell_surface != shell_surface) return; | 884 | ee->x = ev->x; |
983 | ecore_evas_resize(ee, width, height); | 885 | ee->y = ev->y; |
886 | ee->req.x = ee->x; | ||
887 | ee->req.y = ee->y; | ||
888 | if (ee->func.fn_move) ee->func.fn_move(ee); | ||
889 | } | ||
890 | if ((ee->req.w != ev->w) || (ee->req.h != ev->h)) | ||
891 | { | ||
892 | ee->req.w = ev->w; | ||
893 | ee->req.h = ev->h; | ||
894 | if (ee->func.fn_resize) ee->func.fn_resize(ee); | ||
984 | } | 895 | } |
985 | } | ||
986 | |||
987 | static void | ||
988 | _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__) | ||
989 | { | ||
990 | 896 | ||
897 | return ECORE_CALLBACK_PASS_ON; | ||
991 | } | 898 | } |
992 | 899 | ||
993 | static void | 900 | static void |
@@ -1101,30 +1008,9 @@ _ecore_evas_wl_frame_add(Evas *evas) | |||
1101 | return evas_object_smart_add(evas, _ecore_evas_wl_smart); | 1008 | return evas_object_smart_add(evas, _ecore_evas_wl_smart); |
1102 | } | 1009 | } |
1103 | 1010 | ||
1104 | void | ||
1105 | _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location) | ||
1106 | { | ||
1107 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1108 | |||
1109 | if ((!ee) || (!ee->engine.wl.shell_surface)) return; | ||
1110 | wl_shell_surface_resize(ee->engine.wl.shell_surface, | ||
1111 | ecore_wl_input_device_get(), | ||
1112 | _ecore_evas_wl_btn_timestamp, location); | ||
1113 | } | ||
1114 | |||
1115 | void | ||
1116 | _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) | ||
1117 | { | ||
1118 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1119 | |||
1120 | if ((!ee) || (!ee->engine.wl.surface)) return; | ||
1121 | if ((!source) || (!drag_ee)) return; | ||
1122 | ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer); | ||
1123 | } | ||
1124 | |||
1125 | #else | 1011 | #else |
1126 | EAPI Ecore_Evas * | 1012 | EAPI Ecore_Evas * |
1127 | ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__) | 1013 | ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, unsigned int parent __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, Eina_Bool frame __UNUSED__) |
1128 | { | 1014 | { |
1129 | return NULL; | 1015 | return NULL; |
1130 | } | 1016 | } |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c index e3b15c8..4c7ee2d 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wayland_shm.c | |||
@@ -2,7 +2,7 @@ | |||
2 | # include "config.h" | 2 | # include "config.h" |
3 | #endif | 3 | #endif |
4 | 4 | ||
5 | //#define LOGFNS 1 | 5 | #define LOGFNS 1 |
6 | 6 | ||
7 | #ifdef LOGFNS | 7 | #ifdef LOGFNS |
8 | # include <stdio.h> | 8 | # include <stdio.h> |
@@ -20,12 +20,12 @@ | |||
20 | # include <sys/mman.h> | 20 | # include <sys/mman.h> |
21 | #endif | 21 | #endif |
22 | 22 | ||
23 | # include <Eina.h> | 23 | #include <Eina.h> |
24 | # include <Evas.h> | 24 | #include <Evas.h> |
25 | # include <Ecore.h> | 25 | #include <Ecore.h> |
26 | 26 | ||
27 | # include "ecore_evas_private.h" | 27 | #include "ecore_evas_private.h" |
28 | # include "Ecore_Evas.h" | 28 | #include "Ecore_Evas.h" |
29 | 29 | ||
30 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM | 30 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM |
31 | # include <Evas_Engine_Wayland_Shm.h> | 31 | # include <Evas_Engine_Wayland_Shm.h> |
@@ -51,41 +51,34 @@ static void _ecore_evas_wl_callback_delete_request_set(Ecore_Evas *ee, void (*fu | |||
51 | static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 51 | static void _ecore_evas_wl_callback_focus_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
52 | static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 52 | static void _ecore_evas_wl_callback_focus_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
53 | static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | 53 | static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); |
54 | static void _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); | ||
54 | static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); | 55 | static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); |
55 | static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); | 56 | static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); |
56 | static void _ecore_evas_wl_show(Ecore_Evas *ee); | 57 | static void _ecore_evas_wl_show(Ecore_Evas *ee); |
57 | static void _ecore_evas_wl_hide(Ecore_Evas *ee); | 58 | static void _ecore_evas_wl_hide(Ecore_Evas *ee); |
58 | static void _ecore_evas_wl_raise(Ecore_Evas *ee); | 59 | static void _ecore_evas_wl_raise(Ecore_Evas *ee); |
59 | static void _ecore_evas_wl_lower(Ecore_Evas *ee); | 60 | static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title); |
60 | static void _ecore_evas_wl_activate(Ecore_Evas *ee); | ||
61 | static void _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t); | ||
62 | static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); | 61 | static void _ecore_evas_wl_name_class_set(Ecore_Evas *ee, const char *n, const char *c); |
63 | static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); | 62 | static void _ecore_evas_wl_size_min_set(Ecore_Evas *ee, int w, int h); |
64 | static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); | 63 | static void _ecore_evas_wl_size_max_set(Ecore_Evas *ee, int w, int h); |
65 | static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); | 64 | static void _ecore_evas_wl_size_base_set(Ecore_Evas *ee, int w, int h); |
66 | static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); | 65 | static void _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h); |
67 | static void _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); | ||
68 | static void _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__); | ||
69 | static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); | 66 | static void _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer); |
70 | static void _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__); | ||
71 | static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); | 67 | static void _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify); |
72 | static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); | 68 | static void _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max); |
73 | static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__); | 69 | static void _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full); |
70 | static void _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore); | ||
71 | static void _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha); | ||
72 | static void _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent); | ||
74 | static int _ecore_evas_wl_render(Ecore_Evas *ee); | 73 | static int _ecore_evas_wl_render(Ecore_Evas *ee); |
75 | static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); | 74 | static void _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int *y, int *w, int *h); |
76 | static void _ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest); | 75 | static void _ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest); |
77 | 76 | ||
78 | static Eina_Bool _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event); | 77 | static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); |
79 | static Eina_Bool _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event); | 78 | static Eina_Bool _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); |
80 | static Eina_Bool _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event); | 79 | static Eina_Bool _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); |
81 | static Eina_Bool _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event); | 80 | static Eina_Bool _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); |
82 | static Eina_Bool _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event); | 81 | static Eina_Bool _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event); |
83 | static Eina_Bool _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
84 | static Eina_Bool _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
85 | static Eina_Bool _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); | ||
86 | |||
87 | static void _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface __UNUSED__, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height); | ||
88 | static void _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__); | ||
89 | 82 | ||
90 | /* SMART stuff for frame */ | 83 | /* SMART stuff for frame */ |
91 | static Evas_Smart *_ecore_evas_wl_smart = NULL; | 84 | static Evas_Smart *_ecore_evas_wl_smart = NULL; |
@@ -101,95 +94,94 @@ static Evas_Object *_ecore_evas_wl_frame_add(Evas *evas); | |||
101 | 94 | ||
102 | /* local variables */ | 95 | /* local variables */ |
103 | static int _ecore_evas_wl_init_count = 0; | 96 | static int _ecore_evas_wl_init_count = 0; |
104 | static Ecore_Event_Handler *_ecore_evas_wl_event_handlers[8]; | 97 | static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5]; |
105 | static uint32_t _ecore_evas_wl_btn_timestamp; | ||
106 | static const struct wl_shell_surface_listener _ecore_evas_wl_shell_surface_listener = | ||
107 | { | ||
108 | _ecore_evas_wl_handle_configure, | ||
109 | _ecore_evas_wl_handle_popup_done | ||
110 | }; | ||
111 | 98 | ||
112 | static Ecore_Evas_Engine_Func _ecore_wl_engine_func = | 99 | static Ecore_Evas_Engine_Func _ecore_wl_engine_func = |
113 | { | 100 | { |
114 | _ecore_evas_wl_free, | 101 | _ecore_evas_wl_free, |
115 | _ecore_evas_wl_callback_resize_set, | 102 | _ecore_evas_wl_callback_resize_set, |
116 | _ecore_evas_wl_callback_move_set, | 103 | _ecore_evas_wl_callback_move_set, |
117 | NULL, // callback show set | 104 | NULL, |
118 | NULL, // callback hide set | 105 | NULL, |
119 | _ecore_evas_wl_callback_delete_request_set, | 106 | _ecore_evas_wl_callback_delete_request_set, |
120 | NULL, // callback destroy set | 107 | NULL, |
121 | _ecore_evas_wl_callback_focus_in_set, | 108 | _ecore_evas_wl_callback_focus_in_set, |
122 | _ecore_evas_wl_callback_focus_out_set, | 109 | _ecore_evas_wl_callback_focus_out_set, |
123 | _ecore_evas_wl_callback_mouse_in_set, | 110 | _ecore_evas_wl_callback_mouse_in_set, |
124 | NULL, // callback mouse out set | 111 | _ecore_evas_wl_callback_mouse_out_set, |
125 | NULL, // callback sticky set | 112 | NULL, // sticky_set |
126 | NULL, // callback unsticky set | 113 | NULL, // unsticky_set |
127 | NULL, // callback pre render set | 114 | NULL, // pre_render_set |
128 | NULL, // callback post render set | 115 | NULL, // post_render_set |
129 | _ecore_evas_wl_move, | 116 | _ecore_evas_wl_move, |
130 | NULL, // func managed move | 117 | NULL, // managed_move |
131 | _ecore_evas_wl_resize, | 118 | _ecore_evas_wl_resize, |
132 | NULL, // func move_resize | 119 | NULL, // move_resize |
133 | NULL, // func rotation set | 120 | NULL, // rotation_set |
134 | NULL, // func shaped set | 121 | NULL, // shaped_set |
135 | _ecore_evas_wl_show, | 122 | _ecore_evas_wl_show, |
136 | _ecore_evas_wl_hide, | 123 | _ecore_evas_wl_hide, |
137 | _ecore_evas_wl_raise, | 124 | _ecore_evas_wl_raise, |
138 | _ecore_evas_wl_lower, | 125 | NULL, // lower |
139 | _ecore_evas_wl_activate, | 126 | NULL, // activate |
140 | _ecore_evas_wl_title_set, | 127 | _ecore_evas_wl_title_set, |
141 | _ecore_evas_wl_name_class_set, | 128 | _ecore_evas_wl_name_class_set, |
142 | _ecore_evas_wl_size_min_set, | 129 | _ecore_evas_wl_size_min_set, |
143 | _ecore_evas_wl_size_max_set, | 130 | _ecore_evas_wl_size_max_set, |
144 | _ecore_evas_wl_size_base_set, | 131 | _ecore_evas_wl_size_base_set, |
145 | _ecore_evas_wl_size_step_set, | 132 | _ecore_evas_wl_size_step_set, |
146 | _ecore_evas_wl_object_cursor_set, | 133 | NULL, // object_cursor_set |
147 | _ecore_evas_wl_layer_set, | 134 | _ecore_evas_wl_layer_set, |
148 | _ecore_evas_wl_focus_set, | 135 | NULL, // focus set |
149 | _ecore_evas_wl_iconified_set, | 136 | _ecore_evas_wl_iconified_set, |
150 | NULL, // func borderless set | 137 | NULL, // borderless set |
151 | NULL, // func override set | 138 | NULL, // override set |
152 | _ecore_evas_wl_maximized_set, | 139 | _ecore_evas_wl_maximized_set, |
153 | _ecore_evas_wl_fullscreen_set, | 140 | _ecore_evas_wl_fullscreen_set, |
154 | NULL, // func avoid_damage set | 141 | NULL, // func avoid_damage set |
155 | NULL, // func withdrawn set | 142 | NULL, // func withdrawn set |
156 | NULL, // func sticky set | 143 | NULL, // func sticky set |
157 | NULL, // func ignore_events set | 144 | _ecore_evas_wl_ignore_events_set, |
158 | NULL, // func alpha set | 145 | _ecore_evas_wl_alpha_set, |
159 | NULL, // func transparent set | 146 | _ecore_evas_wl_transparent_set, |
147 | NULL, | ||
148 | NULL, | ||
149 | NULL, | ||
150 | NULL, | ||
151 | NULL, | ||
152 | NULL, | ||
160 | _ecore_evas_wl_render, | 153 | _ecore_evas_wl_render, |
161 | _ecore_evas_wl_screen_geometry_get | 154 | _ecore_evas_wl_screen_geometry_get |
162 | }; | 155 | }; |
163 | 156 | ||
164 | /* external variables */ | 157 | /* external variables */ |
165 | #endif | ||
166 | 158 | ||
167 | #ifdef BUILD_ECORE_EVAS_WAYLAND_SHM | 159 | /* external functions */ |
168 | EAPI Ecore_Evas * | 160 | EAPI Ecore_Evas * |
169 | ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, int frame) | 161 | ecore_evas_wayland_shm_new(const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame) |
170 | { | 162 | { |
163 | Ecore_Wl_Window *p = NULL; | ||
171 | Evas_Engine_Info_Wayland_Shm *einfo; | 164 | Evas_Engine_Info_Wayland_Shm *einfo; |
172 | Ecore_Evas *ee; | 165 | Ecore_Evas *ee; |
173 | int method = 0; | 166 | int method = 0; |
174 | static int _win_id = 1; | ||
175 | 167 | ||
176 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 168 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
177 | 169 | ||
178 | if (!(method = evas_render_method_lookup("wayland_shm"))) | 170 | if (!(method = evas_render_method_lookup("wayland_shm"))) |
179 | { | 171 | { |
180 | ERR("Render method lookup failed."); | 172 | ERR("Render method lookup failed for Wayland_Shm"); |
181 | return NULL; | 173 | return NULL; |
182 | } | 174 | } |
183 | 175 | ||
184 | if (!(ecore_wl_init(disp_name))) | 176 | if (!ecore_wl_init(disp_name)) |
185 | { | 177 | { |
186 | ERR("Failed to initialize Ecore Wayland."); | 178 | ERR("Failed to initialize Ecore_Wayland"); |
187 | return NULL; | 179 | return NULL; |
188 | } | 180 | } |
189 | 181 | ||
190 | if (!(ee = calloc(1, sizeof(Ecore_Evas)))) | 182 | if (!(ee = calloc(1, sizeof(Ecore_Evas)))) |
191 | { | 183 | { |
192 | ERR("Failed to allocate Ecore_Evas."); | 184 | ERR("Failed to allocate Ecore_Evas"); |
193 | ecore_wl_shutdown(); | 185 | ecore_wl_shutdown(); |
194 | return NULL; | 186 | return NULL; |
195 | } | 187 | } |
@@ -206,17 +198,21 @@ ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, in | |||
206 | if (w < 1) w = 1; | 198 | if (w < 1) w = 1; |
207 | if (h < 1) h = 1; | 199 | if (h < 1) h = 1; |
208 | 200 | ||
209 | ee->req.x = ee->x = x; | 201 | ee->x = x; |
210 | ee->req.y = ee->y = y; | 202 | ee->y = y; |
211 | ee->req.w = ee->w = w; | 203 | ee->w = w; |
212 | ee->req.h = ee->h = h; | 204 | ee->h = h; |
205 | ee->req.x = ee->x; | ||
206 | ee->req.y = ee->y; | ||
207 | ee->req.w = ee->w; | ||
208 | ee->req.h = ee->h; | ||
213 | ee->rotation = 0; | 209 | ee->rotation = 0; |
214 | ee->prop.max.w = ee->prop.max.h = 32767; | 210 | ee->prop.max.w = 32767; |
211 | ee->prop.max.h = 32767; | ||
215 | ee->prop.layer = 4; | 212 | ee->prop.layer = 4; |
216 | ee->prop.request_pos = 0; | 213 | ee->prop.request_pos = 0; |
217 | ee->prop.sticky = 0; | 214 | ee->prop.sticky = 0; |
218 | ee->prop.draw_frame = frame; | 215 | ee->prop.draw_frame = frame; |
219 | ee->prop.window = _win_id++; | ||
220 | 216 | ||
221 | ee->evas = evas_new(); | 217 | ee->evas = evas_new(); |
222 | evas_data_attach_set(ee->evas, ee); | 218 | evas_data_attach_set(ee->evas, ee); |
@@ -224,29 +220,42 @@ ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, in | |||
224 | evas_output_size_set(ee->evas, ee->w, ee->h); | 220 | evas_output_size_set(ee->evas, ee->w, ee->h); |
225 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); | 221 | evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); |
226 | 222 | ||
227 | if (ee->prop.draw_frame) | 223 | /* FIXME: This needs to be set based on theme & scale */ |
224 | if (ee->prop.draw_frame) | ||
228 | evas_output_framespace_set(ee->evas, 4, 18, 8, 22); | 225 | evas_output_framespace_set(ee->evas, 4, 18, 8, 22); |
229 | 226 | ||
230 | if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) | 227 | if (parent) |
228 | p = ecore_wl_window_find(parent); | ||
229 | |||
230 | /* FIXME: Get if parent is alpha, and set */ | ||
231 | |||
232 | ee->engine.wl.parent = p; | ||
233 | ee->engine.wl.win = | ||
234 | ecore_wl_window_new(p, x, y, w, h, ECORE_WL_WINDOW_BUFFER_TYPE_SHM); | ||
235 | ee->prop.window = ee->engine.wl.win->id; | ||
236 | |||
237 | if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) | ||
231 | { | 238 | { |
232 | einfo->info.rotation = ee->rotation; | 239 | einfo->info.rotation = ee->rotation; |
233 | einfo->info.debug = EINA_FALSE; | 240 | einfo->info.debug = EINA_FALSE; |
234 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | 241 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) |
235 | { | 242 | { |
236 | ERR("Failed to set Evas Engine Info for '%s'.", ee->driver); | 243 | ERR("Failed to set Evas Engine Info for '%s'", ee->driver); |
237 | ecore_evas_free(ee); | 244 | ecore_evas_free(ee); |
245 | _ecore_evas_wl_shutdown(); | ||
246 | ecore_wl_shutdown(); | ||
238 | return NULL; | 247 | return NULL; |
239 | } | 248 | } |
240 | } | 249 | } |
241 | else | 250 | else |
242 | { | 251 | { |
243 | ERR("Failed to get Evas Engine Info for '%s'.", ee->driver); | 252 | ERR("Failed to get Evas Engine Info for '%s'", ee->driver); |
244 | ecore_evas_free(ee); | 253 | ecore_evas_free(ee); |
254 | _ecore_evas_wl_shutdown(); | ||
255 | ecore_wl_shutdown(); | ||
245 | return NULL; | 256 | return NULL; |
246 | } | 257 | } |
247 | 258 | ||
248 | /* NB: we need to be notified before 'free' so we can munmap the evas | ||
249 | * engine destination */ | ||
250 | ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); | 259 | ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_pre_free); |
251 | 260 | ||
252 | if (ee->prop.draw_frame) | 261 | if (ee->prop.draw_frame) |
@@ -279,30 +288,21 @@ _ecore_evas_wl_init(void) | |||
279 | if (++_ecore_evas_wl_init_count != 1) | 288 | if (++_ecore_evas_wl_init_count != 1) |
280 | return _ecore_evas_wl_init_count; | 289 | return _ecore_evas_wl_init_count; |
281 | 290 | ||
282 | _ecore_evas_wl_event_handlers[0] = | 291 | _ecore_evas_wl_event_hdls[0] = |
283 | ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, | ||
284 | _ecore_evas_wl_event_mouse_down, NULL); | ||
285 | _ecore_evas_wl_event_handlers[1] = | ||
286 | ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, | ||
287 | _ecore_evas_wl_event_mouse_up, NULL); | ||
288 | _ecore_evas_wl_event_handlers[2] = | ||
289 | ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, | ||
290 | _ecore_evas_wl_event_mouse_move, NULL); | ||
291 | _ecore_evas_wl_event_handlers[3] = | ||
292 | ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, | ||
293 | _ecore_evas_wl_event_mouse_wheel, NULL); | ||
294 | _ecore_evas_wl_event_handlers[4] = | ||
295 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, | 292 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_IN, |
296 | _ecore_evas_wl_event_mouse_in, NULL); | 293 | _ecore_evas_wl_cb_mouse_in, NULL); |
297 | _ecore_evas_wl_event_handlers[5] = | 294 | _ecore_evas_wl_event_hdls[1] = |
298 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, | 295 | ecore_event_handler_add(ECORE_WL_EVENT_MOUSE_OUT, |
299 | _ecore_evas_wl_event_mouse_out, NULL); | 296 | _ecore_evas_wl_cb_mouse_out, NULL); |
300 | _ecore_evas_wl_event_handlers[6] = | 297 | _ecore_evas_wl_event_hdls[2] = |
301 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, | 298 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_IN, |
302 | _ecore_evas_wl_event_focus_in, NULL); | 299 | _ecore_evas_wl_cb_focus_in, NULL); |
303 | _ecore_evas_wl_event_handlers[7] = | 300 | _ecore_evas_wl_event_hdls[3] = |
304 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, | 301 | ecore_event_handler_add(ECORE_WL_EVENT_FOCUS_OUT, |
305 | _ecore_evas_wl_event_focus_out, NULL); | 302 | _ecore_evas_wl_cb_focus_out, NULL); |
303 | _ecore_evas_wl_event_hdls[4] = | ||
304 | ecore_event_handler_add(ECORE_WL_EVENT_WINDOW_CONFIGURE, | ||
305 | _ecore_evas_wl_cb_window_configure, NULL); | ||
306 | 306 | ||
307 | ecore_event_evas_init(); | 307 | ecore_event_evas_init(); |
308 | 308 | ||
@@ -319,10 +319,10 @@ _ecore_evas_wl_shutdown(void) | |||
319 | if (--_ecore_evas_wl_init_count != 0) | 319 | if (--_ecore_evas_wl_init_count != 0) |
320 | return _ecore_evas_wl_init_count; | 320 | return _ecore_evas_wl_init_count; |
321 | 321 | ||
322 | for (i = 0; i < sizeof(_ecore_evas_wl_event_handlers) / sizeof(Ecore_Event_Handler *); i++) | 322 | for (i = 0; i < sizeof(_ecore_evas_wl_event_hdls) / sizeof(Ecore_Event_Handler *); i++) |
323 | { | 323 | { |
324 | if (_ecore_evas_wl_event_handlers[i]) | 324 | if (_ecore_evas_wl_event_hdls[i]) |
325 | ecore_event_handler_del(_ecore_evas_wl_event_handlers[i]); | 325 | ecore_event_handler_del(_ecore_evas_wl_event_hdls[i]); |
326 | } | 326 | } |
327 | 327 | ||
328 | ecore_event_evas_shutdown(); | 328 | ecore_event_evas_shutdown(); |
@@ -337,17 +337,15 @@ _ecore_evas_wl_pre_free(Ecore_Evas *ee) | |||
337 | 337 | ||
338 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 338 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
339 | 339 | ||
340 | /* destroy frame */ | ||
341 | if (ee->engine.wl.frame) evas_object_del(ee->engine.wl.frame); | 340 | if (ee->engine.wl.frame) evas_object_del(ee->engine.wl.frame); |
342 | 341 | ||
343 | /* get engine info */ | ||
344 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); | 342 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); |
345 | if ((einfo) && (einfo->info.dest)) | 343 | if ((einfo) && (einfo->info.dest)) |
346 | { | 344 | { |
347 | int ret = 0; | 345 | int ret = 0; |
348 | 346 | ||
349 | /* munmap previous engine destination */ | ||
350 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); | 347 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); |
348 | if (!ret) ERR("Failed to unmap engine destination: %m"); | ||
351 | } | 349 | } |
352 | } | 350 | } |
353 | 351 | ||
@@ -356,18 +354,11 @@ _ecore_evas_wl_free(Ecore_Evas *ee) | |||
356 | { | 354 | { |
357 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 355 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
358 | 356 | ||
359 | /* destroy buffer */ | ||
360 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); | 357 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); |
361 | ee->engine.wl.buffer = NULL; | 358 | ee->engine.wl.buffer = NULL; |
362 | 359 | ||
363 | /* destroy shell surface */ | 360 | if (ee->engine.wl.win) ecore_wl_window_free(ee->engine.wl.win); |
364 | if (ee->engine.wl.shell_surface) | 361 | ee->engine.wl.win = NULL; |
365 | wl_shell_surface_destroy(ee->engine.wl.shell_surface); | ||
366 | ee->engine.wl.shell_surface = NULL; | ||
367 | |||
368 | /* destroy surface */ | ||
369 | if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); | ||
370 | ee->engine.wl.surface = NULL; | ||
371 | 362 | ||
372 | ecore_event_window_unregister(ee->prop.window); | 363 | ecore_event_window_unregister(ee->prop.window); |
373 | ecore_evas_input_event_unregister(ee); | 364 | ecore_evas_input_event_unregister(ee); |
@@ -431,25 +422,25 @@ _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee | |||
431 | } | 422 | } |
432 | 423 | ||
433 | static void | 424 | static void |
434 | _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) | 425 | _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)) |
426 | { | ||
427 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
428 | |||
429 | if (!ee) return; | ||
430 | ee->func.fn_mouse_out = func; | ||
431 | } | ||
432 | |||
433 | static void | ||
434 | _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y) | ||
435 | { | 435 | { |
436 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 436 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
437 | 437 | ||
438 | if (!ee) return; | 438 | if (!ee) return; |
439 | // if ((ee->x == x) && (ee->y == y)) return; | ||
440 | ee->req.x = x; | 439 | ee->req.x = x; |
441 | ee->req.y = y; | 440 | ee->req.y = y; |
442 | |||
443 | ee->x = x; | 441 | ee->x = x; |
444 | ee->y = y; | 442 | ee->y = y; |
445 | 443 | if (ee->engine.wl.win) ecore_wl_window_move(ee->engine.wl.win, x, y); | |
446 | if (ee->engine.wl.shell_surface) | ||
447 | { | ||
448 | wl_shell_surface_move(ee->engine.wl.shell_surface, | ||
449 | ecore_wl_input_device_get(), | ||
450 | _ecore_evas_wl_btn_timestamp); | ||
451 | } | ||
452 | |||
453 | if (ee->func.fn_move) ee->func.fn_move(ee); | 444 | if (ee->func.fn_move) ee->func.fn_move(ee); |
454 | } | 445 | } |
455 | 446 | ||
@@ -458,49 +449,44 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) | |||
458 | { | 449 | { |
459 | Evas_Engine_Info_Wayland_Shm *einfo; | 450 | Evas_Engine_Info_Wayland_Shm *einfo; |
460 | 451 | ||
461 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
462 | |||
463 | if (!ee) return; | 452 | if (!ee) return; |
464 | if (w < 1) w = 1; | 453 | if (w < 1) w = 1; |
465 | if (h < 1) h = 1; | 454 | if (h < 1) h = 1; |
466 | if ((ee->w == w) && (ee->h == h)) return; | 455 | // if ((ee->w == w) && (ee->h == h)) return; |
456 | |||
457 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
458 | |||
459 | if (ee->prop.min.w > w) w = ee->prop.min.w; | ||
460 | else if (w > ee->prop.max.w) w = ee->prop.max.w; | ||
461 | if (ee->prop.min.h > h) h = ee->prop.min.h; | ||
462 | else if (h > ee->prop.max.h) h = ee->prop.max.h; | ||
467 | 463 | ||
468 | ee->req.w = w; | 464 | ee->req.w = w; |
469 | ee->req.h = h; | 465 | ee->req.h = h; |
470 | 466 | ||
471 | if (ee->visible) | 467 | // ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); |
472 | { | ||
473 | /* damage old surface, if it exists */ | ||
474 | |||
475 | /* NB: This removes any lingering screen artifacts in the compositor. | ||
476 | * This may be a 'HACK' if the issue is actually in the wayland | ||
477 | * compositor, but for now lets implement this so we don't have screen | ||
478 | * artifacts laying around during a resize */ | ||
479 | if (ee->engine.wl.surface) | ||
480 | wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); | ||
481 | } | ||
482 | 468 | ||
483 | /* get engine info */ | ||
484 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); | 469 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); |
485 | if (einfo->info.dest) | 470 | if ((einfo) && (einfo->info.dest)) |
486 | { | 471 | { |
487 | int ret = 0; | 472 | int ret = 0; |
488 | 473 | ||
489 | /* munmap previous engine destination */ | ||
490 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); | 474 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); |
475 | if (!ret) ERR("Failed to unmap engine destination: %m"); | ||
476 | } | ||
477 | else if (!einfo) | ||
478 | { | ||
479 | ERR("Failed to get Evas Engine Info for '%s'", ee->driver); | ||
480 | return; | ||
491 | } | 481 | } |
492 | 482 | ||
493 | /* free old buffer */ | ||
494 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); | 483 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); |
495 | ee->engine.wl.buffer = NULL; | 484 | ee->engine.wl.buffer = NULL; |
496 | 485 | ||
497 | ee->w = w; | 486 | ee->w = w; |
498 | ee->h = h; | 487 | ee->h = h; |
499 | 488 | ||
500 | /* create buffer @ new size (also mmaps the new destination) */ | ||
501 | _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); | 489 | _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); |
502 | |||
503 | /* flush new buffer fd */ | ||
504 | ecore_wl_flush(); | 490 | ecore_wl_flush(); |
505 | 491 | ||
506 | /* change evas output & viewport sizes */ | 492 | /* change evas output & viewport sizes */ |
@@ -514,16 +500,13 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) | |||
514 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | 500 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); |
515 | 501 | ||
516 | /* damage buffer */ | 502 | /* damage buffer */ |
517 | wl_buffer_damage(ee->engine.wl.buffer, 0, 0, ee->w, ee->h); | 503 | // wl_buffer_damage(ee->engine.wl.buffer, 0, 0, ee->w, ee->h); |
518 | 504 | ||
519 | if (ee->visible) | 505 | ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); |
520 | { | 506 | /* ecore_wl_window_damage(ee->engine.wl.win, 0, 0, ee->w, ee->h); */ |
521 | /* damage surface */ | 507 | /* ecore_wl_flush(); */ |
522 | wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); | ||
523 | 508 | ||
524 | /* if visible, attach to surface */ | 509 | ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h); |
525 | wl_surface_attach(ee->engine.wl.surface, ee->engine.wl.buffer, 0, 0); | ||
526 | } | ||
527 | 510 | ||
528 | if (ee->func.fn_resize) ee->func.fn_resize(ee); | 511 | if (ee->func.fn_resize) ee->func.fn_resize(ee); |
529 | } | 512 | } |
@@ -535,93 +518,64 @@ _ecore_evas_wl_show(Ecore_Evas *ee) | |||
535 | 518 | ||
536 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 519 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
537 | 520 | ||
538 | if (!ee) return; | 521 | if ((!ee) || (ee->visible)) return; |
539 | if (ee->visible) return; | ||
540 | 522 | ||
541 | /* get engine info */ | 523 | if (ee->engine.wl.win) |
542 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); | 524 | ecore_wl_window_show(ee->engine.wl.win); |
543 | |||
544 | /* create new surface */ | ||
545 | ee->engine.wl.surface = | ||
546 | wl_compositor_create_surface(ecore_wl_compositor_get()); | ||
547 | wl_surface_set_user_data(ee->engine.wl.surface, (void *)ee->prop.window); | ||
548 | 525 | ||
549 | /* get new shell surface */ | 526 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); |
550 | ee->engine.wl.shell_surface = | 527 | if (!einfo) |
551 | wl_shell_get_shell_surface(ecore_wl_shell_get(), ee->engine.wl.surface); | 528 | { |
552 | 529 | ERR("Failed to get Evas Engine Info for '%s'", ee->driver); | |
553 | /* set toplevel */ | 530 | return; |
554 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | 531 | } |
555 | 532 | ||
556 | /* create buffer @ new size (also mmaps the new destination) */ | ||
557 | _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); | 533 | _ecore_evas_wl_buffer_new(ee, &einfo->info.dest); |
534 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | ||
558 | 535 | ||
559 | if (ee->engine.wl.frame) | 536 | if (ee->engine.wl.frame) |
560 | { | 537 | { |
561 | evas_object_show(ee->engine.wl.frame); | 538 | evas_object_show(ee->engine.wl.frame); |
562 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); | 539 | evas_object_resize(ee->engine.wl.frame, ee->w, ee->h); |
563 | } | 540 | } |
564 | 541 | ||
565 | /* set new engine destination */ | ||
566 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | ||
567 | |||
568 | /* add configure listener for wayland resize events */ | ||
569 | wl_shell_surface_add_listener(ee->engine.wl.shell_surface, | ||
570 | &_ecore_evas_wl_shell_surface_listener, ee); | ||
571 | |||
572 | /* flush new buffer fd */ | ||
573 | ecore_wl_flush(); | 542 | ecore_wl_flush(); |
574 | 543 | ||
575 | /* attach buffer to surface */ | 544 | if (ee->engine.wl.win) |
576 | wl_surface_attach(ee->engine.wl.surface, ee->engine.wl.buffer, 0, 0); | 545 | ecore_wl_window_buffer_attach(ee->engine.wl.win, ee->engine.wl.buffer, 0, 0); |
577 | |||
578 | /* NB: No need to do a damage here. If we do, we end up w/ screen | ||
579 | * artifacts in the compositor */ | ||
580 | /* wl_surface_damage(ee->engine.wl.surface, 0, 0, ee->w, ee->h); */ | ||
581 | 546 | ||
582 | ee->visible = 1; | 547 | ee->visible = 1; |
583 | if (ee->func.fn_show) ee->func.fn_show(ee); | 548 | if (ee->func.fn_show) ee->func.fn_show(ee); |
584 | } | 549 | } |
585 | 550 | ||
586 | static void | 551 | static void |
587 | _ecore_evas_wl_hide(Ecore_Evas *ee) | 552 | _ecore_evas_wl_hide(Ecore_Evas *ee) |
588 | { | 553 | { |
589 | Evas_Engine_Info_Wayland_Shm *einfo; | 554 | Evas_Engine_Info_Wayland_Shm *einfo; |
590 | 555 | ||
591 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 556 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
592 | 557 | ||
593 | if (!ee) return; | 558 | if ((!ee) || (!ee->visible)) return; |
594 | if (!ee->visible) return; | ||
595 | 559 | ||
596 | /* get engine info */ | ||
597 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); | 560 | einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas); |
598 | if (einfo->info.dest) | 561 | if ((einfo) && (einfo->info.dest)) |
599 | { | 562 | { |
600 | int ret = 0; | 563 | int ret = 0; |
601 | 564 | ||
602 | /* munmap previous engine destination */ | ||
603 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); | 565 | ret = munmap(einfo->info.dest, ((ee->w * sizeof(int)) * ee->h)); |
604 | einfo->info.dest = NULL; | 566 | if (!ret) ERR("Failed to unmap engine destination: %m"); |
605 | } | 567 | } |
606 | 568 | ||
607 | /* free old buffer */ | ||
608 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); | 569 | if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer); |
609 | ee->engine.wl.buffer = NULL; | 570 | ee->engine.wl.buffer = NULL; |
610 | 571 | ||
611 | /* set new engine destination */ | ||
612 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); | 572 | evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); |
613 | 573 | ||
614 | /* destroy shell surface */ | 574 | ecore_wl_window_hide(ee->engine.wl.win); |
615 | if (ee->engine.wl.shell_surface) | ||
616 | wl_shell_surface_destroy(ee->engine.wl.shell_surface); | ||
617 | ee->engine.wl.shell_surface = NULL; | ||
618 | |||
619 | /* destroy surface */ | ||
620 | if (ee->engine.wl.surface) wl_surface_destroy(ee->engine.wl.surface); | ||
621 | ee->engine.wl.surface = NULL; | ||
622 | 575 | ||
623 | ee->visible = 0; | 576 | ee->visible = 0; |
624 | ee->should_be_visible = 0; | 577 | ee->should_be_visible = 0; |
578 | |||
625 | if (ee->func.fn_hide) ee->func.fn_hide(ee); | 579 | if (ee->func.fn_hide) ee->func.fn_hide(ee); |
626 | } | 580 | } |
627 | 581 | ||
@@ -631,39 +585,18 @@ _ecore_evas_wl_raise(Ecore_Evas *ee) | |||
631 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 585 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
632 | 586 | ||
633 | if ((!ee) || (!ee->visible)) return; | 587 | if ((!ee) || (!ee->visible)) return; |
634 | if (!ee->engine.wl.shell_surface) return; | 588 | ecore_wl_window_raise(ee->engine.wl.win); |
635 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | ||
636 | } | 589 | } |
637 | 590 | ||
638 | static void | 591 | static void |
639 | _ecore_evas_wl_lower(Ecore_Evas *ee) | 592 | _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *title) |
640 | { | ||
641 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
642 | |||
643 | if ((!ee) || (!ee->visible)) return; | ||
644 | /* FIXME: Need a way to tell Wayland to lower */ | ||
645 | } | ||
646 | |||
647 | static void | ||
648 | _ecore_evas_wl_activate(Ecore_Evas *ee) | ||
649 | { | ||
650 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
651 | |||
652 | if ((!ee) || (!ee->visible)) return; | ||
653 | if (!ee->engine.wl.shell_surface) return; | ||
654 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | ||
655 | } | ||
656 | |||
657 | static void | ||
658 | _ecore_evas_wl_title_set(Ecore_Evas *ee, const char *t) | ||
659 | { | 593 | { |
660 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 594 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
661 | 595 | ||
662 | if (!ee) return; | 596 | if (!ee) return; |
663 | if (ee->prop.title) free(ee->prop.title); | 597 | if (ee->prop.title) free(ee->prop.title); |
664 | ee->prop.title = NULL; | 598 | ee->prop.title = NULL; |
665 | if (t) ee->prop.title = strdup(t); | 599 | if (title) ee->prop.title = strdup(title); |
666 | |||
667 | if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) | 600 | if ((ee->prop.draw_frame) && (ee->engine.wl.frame)) |
668 | { | 601 | { |
669 | EE_Wl_Smart_Data *sd; | 602 | EE_Wl_Smart_Data *sd; |
@@ -741,102 +674,96 @@ _ecore_evas_wl_size_step_set(Ecore_Evas *ee, int w, int h) | |||
741 | } | 674 | } |
742 | 675 | ||
743 | static void | 676 | static void |
744 | _ecore_evas_wl_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y) | 677 | _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) |
745 | { | 678 | { |
746 | int x = 0, y = 0; | ||
747 | |||
748 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 679 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
749 | 680 | ||
750 | if (!ee) return; | 681 | if (!ee) return; |
751 | if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object); | 682 | if (ee->prop.layer == layer) return; |
752 | ee->prop.cursor.object = NULL; | 683 | if (layer < 1) layer = 1; |
753 | 684 | else if (layer > 255) layer = 255; | |
754 | if (!obj) | 685 | ee->prop.layer = layer; |
755 | { | ||
756 | ee->prop.cursor.layer = 0; | ||
757 | ee->prop.cursor.hot.x = 0; | ||
758 | ee->prop.cursor.hot.y = 0; | ||
759 | return; | ||
760 | } | ||
761 | |||
762 | ee->prop.cursor.object = obj; | ||
763 | ee->prop.cursor.layer = layer; | ||
764 | ee->prop.cursor.hot.x = hot_x; | ||
765 | ee->prop.cursor.hot.y = hot_y; | ||
766 | |||
767 | evas_pointer_output_xy_get(ee->evas, &x, &y); | ||
768 | evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); | ||
769 | evas_object_move(ee->prop.cursor.object, | ||
770 | x - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.y); | ||
771 | evas_object_pass_events_set(ee->prop.cursor.object, 1); | ||
772 | if (evas_pointer_inside_get(ee->evas)) | ||
773 | evas_object_show(ee->prop.cursor.object); | ||
774 | |||
775 | evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, | ||
776 | _ecore_evas_wl_object_cursor_del, ee); | ||
777 | } | 686 | } |
778 | 687 | ||
779 | static void | 688 | static void |
780 | _ecore_evas_wl_object_cursor_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__) | 689 | _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) |
781 | { | 690 | { |
782 | Ecore_Evas *ee; | 691 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
783 | 692 | ||
784 | if (!(ee = data)) return; | 693 | if (!ee) return; |
785 | ee->prop.cursor.object = NULL; | 694 | if (ee->prop.iconified == iconify) return; |
695 | ee->prop.iconified = iconify; | ||
696 | /* FIXME: Implement this in Wayland someshow */ | ||
786 | } | 697 | } |
787 | 698 | ||
788 | static void | 699 | static void |
789 | _ecore_evas_wl_layer_set(Ecore_Evas *ee, int layer) | 700 | _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) |
790 | { | 701 | { |
791 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 702 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
792 | 703 | ||
793 | if (!ee) return; | 704 | if (!ee) return; |
794 | if (ee->prop.layer == layer) return; | 705 | if (ee->prop.maximized == max) return; |
795 | if (layer < 1) layer = 1; | 706 | ee->prop.maximized = max; |
796 | else if (layer > 255) layer = 255; | 707 | ecore_wl_window_maximized_set(ee->engine.wl.win, max); |
797 | ee->prop.layer = layer; | ||
798 | } | 708 | } |
799 | 709 | ||
800 | static void | 710 | static void |
801 | _ecore_evas_wl_focus_set(Ecore_Evas *ee, int focus __UNUSED__) | 711 | _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full) |
802 | { | 712 | { |
803 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 713 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
804 | 714 | ||
805 | if ((!ee) || (!ee->visible)) return; | 715 | if ((!ee) || (!ee->visible)) return; |
806 | if (!ee->engine.wl.shell_surface) return; | 716 | if (ee->prop.fullscreen == full) return; |
807 | wl_shell_surface_set_toplevel(ee->engine.wl.shell_surface); | 717 | ee->prop.fullscreen = full; |
718 | ecore_wl_window_fullscreen_set(ee->engine.wl.win, full); | ||
808 | } | 719 | } |
809 | 720 | ||
810 | static void | 721 | static void |
811 | _ecore_evas_wl_iconified_set(Ecore_Evas *ee, int iconify) | 722 | _ecore_evas_wl_ignore_events_set(Ecore_Evas *ee, int ignore) |
812 | { | 723 | { |
813 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 724 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
814 | 725 | ||
815 | if (!ee) return; | 726 | if (!ee) return; |
816 | if (ee->prop.iconified == iconify) return; | 727 | ee->ignore_events = ignore; |
817 | ee->prop.iconified = iconify; | 728 | /* NB: Hmmm, may need to pass this to ecore_wl_window in the future */ |
818 | /* FIXME: Implement this in Wayland someshow */ | ||
819 | } | 729 | } |
820 | 730 | ||
821 | static void | 731 | static void |
822 | _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max) | 732 | _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha) |
823 | { | 733 | { |
734 | Evas_Engine_Info_Wayland_Shm *einfo; | ||
735 | |||
824 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 736 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
825 | 737 | ||
826 | if (!ee) return; | 738 | if (!ee) return; |
827 | if (ee->prop.maximized == max) return; | 739 | if ((ee->alpha == alpha)) return; |
828 | ee->prop.maximized = max; | 740 | ee->alpha = alpha; |
829 | /* FIXME: Implement this in Wayland someshow */ | 741 | if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) |
742 | { | ||
743 | einfo->info.destination_alpha = alpha; | ||
744 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | ||
745 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | ||
746 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | ||
747 | } | ||
830 | } | 748 | } |
831 | 749 | ||
832 | static void | 750 | static void |
833 | _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full __UNUSED__) | 751 | _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent) |
834 | { | 752 | { |
753 | Evas_Engine_Info_Wayland_Shm *einfo; | ||
754 | |||
835 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 755 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
836 | 756 | ||
837 | if ((!ee) || (!ee->visible)) return; | 757 | if (!ee) return; |
838 | if (!ee->engine.wl.shell_surface) return; | 758 | if ((ee->transparent == transparent)) return; |
839 | wl_shell_surface_set_fullscreen(ee->engine.wl.shell_surface); | 759 | ee->transparent = transparent; |
760 | if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas))) | ||
761 | { | ||
762 | einfo->info.destination_alpha = transparent; | ||
763 | if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) | ||
764 | ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver); | ||
765 | evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); | ||
766 | } | ||
840 | } | 767 | } |
841 | 768 | ||
842 | static int | 769 | static int |
@@ -845,9 +772,9 @@ _ecore_evas_wl_render(Ecore_Evas *ee) | |||
845 | int rend = 0; | 772 | int rend = 0; |
846 | 773 | ||
847 | if (!ee) return 0; | 774 | if (!ee) return 0; |
848 | if (!ee->visible) | 775 | if (!ee->visible) |
849 | evas_norender(ee->evas); | 776 | evas_norender(ee->evas); |
850 | else | 777 | else |
851 | { | 778 | { |
852 | Eina_List *ll = NULL, *updates = NULL; | 779 | Eina_List *ll = NULL, *updates = NULL; |
853 | Ecore_Evas *ee2 = NULL; | 780 | Ecore_Evas *ee2 = NULL; |
@@ -867,27 +794,27 @@ _ecore_evas_wl_render(Ecore_Evas *ee) | |||
867 | Eina_List *l = NULL; | 794 | Eina_List *l = NULL; |
868 | Eina_Rectangle *r; | 795 | Eina_Rectangle *r; |
869 | 796 | ||
797 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
798 | |||
870 | EINA_LIST_FOREACH(updates, l, r) | 799 | EINA_LIST_FOREACH(updates, l, r) |
871 | { | 800 | { |
872 | if (ee->engine.wl.buffer) | 801 | if (ee->engine.wl.buffer) |
873 | wl_buffer_damage(ee->engine.wl.buffer, | 802 | wl_buffer_damage(ee->engine.wl.buffer, |
874 | r->x, r->y, r->w, r->h); | 803 | r->x, r->y, r->w, r->h); |
875 | 804 | ||
876 | if (ee->engine.wl.surface) | 805 | ecore_wl_window_damage(ee->engine.wl.win, |
877 | wl_surface_damage(ee->engine.wl.surface, | 806 | r->x, r->y, r->w, r->h); |
878 | r->x, r->y, r->w, r->h); | ||
879 | } | 807 | } |
880 | 808 | ||
809 | ecore_wl_flush(); | ||
810 | |||
881 | evas_render_updates_free(updates); | 811 | evas_render_updates_free(updates); |
882 | _ecore_evas_idle_timeout_update(ee); | 812 | _ecore_evas_idle_timeout_update(ee); |
883 | rend = 1; | 813 | rend = 1; |
884 | |||
885 | ecore_wl_flush(); | ||
886 | } | 814 | } |
887 | 815 | ||
888 | if (ee->func.fn_post_render) ee->func.fn_post_render(ee); | 816 | if (ee->func.fn_post_render) ee->func.fn_post_render(ee); |
889 | } | 817 | } |
890 | |||
891 | return rend; | 818 | return rend; |
892 | } | 819 | } |
893 | 820 | ||
@@ -901,77 +828,67 @@ _ecore_evas_wl_screen_geometry_get(const Ecore_Evas *ee __UNUSED__, int *x, int | |||
901 | ecore_wl_screen_size_get(w, h); | 828 | ecore_wl_screen_size_get(w, h); |
902 | } | 829 | } |
903 | 830 | ||
904 | static Eina_Bool | 831 | static void |
905 | _ecore_evas_wl_event_mouse_down(void *data __UNUSED__, int type __UNUSED__, void *event) | 832 | _ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest) |
906 | { | 833 | { |
907 | Ecore_Evas *ee; | 834 | struct wl_shm *shm; |
908 | Ecore_Event_Mouse_Button *ev; | 835 | static unsigned int format; |
836 | char tmp[PATH_MAX]; | ||
837 | int fd = -1, stride = 0, size = 0; | ||
838 | void *ret; | ||
909 | 839 | ||
910 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 840 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
911 | 841 | ||
912 | ev = event; | 842 | if (dest) *dest = NULL; |
913 | _ecore_evas_wl_btn_timestamp = ev->timestamp; | 843 | if (!(shm = ecore_wl_shm_get())) return; |
914 | ee = ecore_event_window_match(ev->window); | 844 | if (!format) format = WL_SHM_FORMAT_ARGB8888; //ecore_wl_format_get(); |
915 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | ||
916 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
917 | evas_event_feed_mouse_down(ee->evas, ev->buttons, ev->modifiers, | ||
918 | ev->timestamp, NULL); | ||
919 | return ECORE_CALLBACK_PASS_ON; | ||
920 | } | ||
921 | 845 | ||
922 | static Eina_Bool | 846 | strcpy(tmp, "/tmp/ecore-wayland_shm-XXXXXX"); |
923 | _ecore_evas_wl_event_mouse_up(void *data __UNUSED__, int type __UNUSED__, void *event) | 847 | if ((fd = mkstemp(tmp)) < 0) |
924 | { | 848 | { |
925 | Ecore_Evas *ee; | 849 | ERR("Could not create temporary file."); |
926 | Ecore_Event_Mouse_Button *ev; | 850 | return; |
851 | } | ||
927 | 852 | ||
928 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 853 | stride = (ee->w * sizeof(int)); |
854 | size = (stride * ee->h); | ||
855 | if (ftruncate(fd, size) < 0) | ||
856 | { | ||
857 | ERR("Could not truncate temporary file."); | ||
858 | close(fd); | ||
859 | return; | ||
860 | } | ||
929 | 861 | ||
930 | ev = event; | 862 | ret = mmap(NULL, size, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0); |
931 | ee = ecore_event_window_match(ev->window); | 863 | unlink(tmp); |
932 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | ||
933 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
934 | evas_event_feed_mouse_up(ee->evas, ev->buttons, ev->modifiers, | ||
935 | ev->timestamp, NULL); | ||
936 | return ECORE_CALLBACK_PASS_ON; | ||
937 | } | ||
938 | 864 | ||
939 | static Eina_Bool | 865 | if (ret == MAP_FAILED) |
940 | _ecore_evas_wl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event) | 866 | { |
941 | { | 867 | ERR("mmap of temporary file failed."); |
942 | Ecore_Evas *ee; | 868 | close(fd); |
943 | Ecore_Event_Mouse_Move *ev; | 869 | return; |
870 | } | ||
944 | 871 | ||
945 | ev = event; | 872 | if (dest) *dest = ret; |
946 | ee = ecore_event_window_match(ev->window); | 873 | |
947 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 874 | ee->engine.wl.buffer = |
948 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 875 | wl_shm_create_buffer(ecore_wl_shm_get(), fd, ee->w, ee->h, stride, format); |
949 | ee->mouse.x = ev->x; | 876 | |
950 | ee->mouse.y = ev->y; | 877 | close(fd); |
951 | evas_event_feed_mouse_move(ee->evas, ev->x, ev->y, ev->timestamp, NULL); | ||
952 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); | ||
953 | return ECORE_CALLBACK_PASS_ON; | ||
954 | } | 878 | } |
955 | 879 | ||
956 | static Eina_Bool | 880 | void |
957 | _ecore_evas_wl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event) | 881 | _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location) |
958 | { | 882 | { |
959 | Ecore_Evas *ee; | ||
960 | Ecore_Event_Mouse_Wheel *ev; | ||
961 | |||
962 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 883 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
963 | 884 | ||
964 | ev = event; | 885 | if (!ee) return; |
965 | ee = ecore_event_window_match(ev->window); | 886 | if (ee->engine.wl.win) |
966 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 887 | ecore_wl_window_resize(ee->engine.wl.win, ee->w, ee->h, location); |
967 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | ||
968 | evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, | ||
969 | ev->timestamp, NULL); | ||
970 | return ECORE_CALLBACK_PASS_ON; | ||
971 | } | 888 | } |
972 | 889 | ||
973 | static Eina_Bool | 890 | static Eina_Bool |
974 | _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) | 891 | _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event) |
975 | { | 892 | { |
976 | Ecore_Evas *ee; | 893 | Ecore_Evas *ee; |
977 | Ecore_Wl_Event_Mouse_In *ev; | 894 | Ecore_Wl_Event_Mouse_In *ev; |
@@ -979,18 +896,18 @@ _ecore_evas_wl_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
979 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 896 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
980 | 897 | ||
981 | ev = event; | 898 | ev = event; |
982 | ee = ecore_event_window_match(ev->window); | 899 | ee = ecore_event_window_match(ev->win); |
983 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 900 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
984 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 901 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
985 | if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); | 902 | if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee); |
986 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); | 903 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); |
987 | evas_event_feed_mouse_in(ee->evas, ev->time, NULL); | 904 | evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL); |
988 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); | 905 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); |
989 | return ECORE_CALLBACK_PASS_ON; | 906 | return ECORE_CALLBACK_PASS_ON; |
990 | } | 907 | } |
991 | 908 | ||
992 | static Eina_Bool | 909 | static Eina_Bool |
993 | _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) | 910 | _ecore_evas_wl_cb_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event) |
994 | { | 911 | { |
995 | Ecore_Evas *ee; | 912 | Ecore_Evas *ee; |
996 | Ecore_Wl_Event_Mouse_Out *ev; | 913 | Ecore_Wl_Event_Mouse_Out *ev; |
@@ -998,19 +915,19 @@ _ecore_evas_wl_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void | |||
998 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 915 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
999 | 916 | ||
1000 | ev = event; | 917 | ev = event; |
1001 | ee = ecore_event_window_match(ev->window); | 918 | ee = ecore_event_window_match(ev->win); |
1002 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 919 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
1003 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 920 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
1004 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); | 921 | ecore_event_evas_modifier_lock_update(ee->evas, ev->modifiers); |
1005 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->time); | 922 | _ecore_evas_mouse_move_process(ee, ev->x, ev->y, ev->timestamp); |
1006 | evas_event_feed_mouse_out(ee->evas, ev->time, NULL); | 923 | evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL); |
1007 | if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); | 924 | if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); |
1008 | if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); | 925 | if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); |
1009 | return ECORE_CALLBACK_PASS_ON; | 926 | return ECORE_CALLBACK_PASS_ON; |
1010 | } | 927 | } |
1011 | 928 | ||
1012 | static Eina_Bool | 929 | static Eina_Bool |
1013 | _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) | 930 | _ecore_evas_wl_cb_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) |
1014 | { | 931 | { |
1015 | Ecore_Evas *ee; | 932 | Ecore_Evas *ee; |
1016 | Ecore_Wl_Event_Focus_In *ev; | 933 | Ecore_Wl_Event_Focus_In *ev; |
@@ -1018,9 +935,9 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
1018 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 935 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1019 | 936 | ||
1020 | ev = event; | 937 | ev = event; |
1021 | ee = ecore_event_window_match(ev->window); | 938 | ee = ecore_event_window_match(ev->win); |
1022 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 939 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
1023 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 940 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
1024 | ee->prop.focused = 1; | 941 | ee->prop.focused = 1; |
1025 | evas_focus_in(ee->evas); | 942 | evas_focus_in(ee->evas); |
1026 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); | 943 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); |
@@ -1028,92 +945,53 @@ _ecore_evas_wl_event_focus_in(void *data __UNUSED__, int type __UNUSED__, void * | |||
1028 | } | 945 | } |
1029 | 946 | ||
1030 | static Eina_Bool | 947 | static Eina_Bool |
1031 | _ecore_evas_wl_event_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) | 948 | _ecore_evas_wl_cb_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) |
1032 | { | 949 | { |
1033 | Ecore_Evas *ee; | 950 | Ecore_Evas *ee; |
1034 | Ecore_Wl_Event_Focus_Out *ev; | 951 | Ecore_Wl_Event_Focus_In *ev; |
1035 | 952 | ||
1036 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 953 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1037 | 954 | ||
1038 | ev = event; | 955 | ev = event; |
1039 | ee = ecore_event_window_match(ev->window); | 956 | ee = ecore_event_window_match(ev->win); |
1040 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; | 957 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; |
1041 | if (ev->window != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 958 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
1042 | evas_focus_out(ee->evas); | 959 | evas_focus_out(ee->evas); |
1043 | ee->prop.focused = 0; | 960 | ee->prop.focused = 0; |
1044 | if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); | 961 | if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee); |
1045 | return ECORE_CALLBACK_PASS_ON; | 962 | return ECORE_CALLBACK_PASS_ON; |
1046 | } | 963 | } |
1047 | 964 | ||
1048 | static void | 965 | static Eina_Bool |
1049 | _ecore_evas_wl_handle_configure(void *data, struct wl_shell_surface *shell_surface, uint32_t timestamp __UNUSED__, uint32_t edges __UNUSED__, int32_t width, int32_t height) | 966 | _ecore_evas_wl_cb_window_configure(void *data __UNUSED__, int type __UNUSED__, void *event) |
1050 | { | 967 | { |
1051 | Ecore_Evas *ee; | 968 | Ecore_Evas *ee; |
1052 | 969 | Ecore_Wl_Event_Window_Configure *ev; | |
1053 | /* NB: Trap to prevent compositor from crashing */ | ||
1054 | if ((width <= 0) || (height <= 0)) return; | ||
1055 | |||
1056 | if (!(ee = data)) return; | ||
1057 | |||
1058 | if ((shell_surface) && (ee->engine.wl.shell_surface)) | ||
1059 | { | ||
1060 | if (ee->engine.wl.shell_surface != shell_surface) return; | ||
1061 | ecore_evas_resize(ee, width, height); | ||
1062 | } | ||
1063 | } | ||
1064 | |||
1065 | static void | ||
1066 | _ecore_evas_wl_handle_popup_done(void *data __UNUSED__, struct wl_shell_surface *shell_surface __UNUSED__) | ||
1067 | { | ||
1068 | |||
1069 | } | ||
1070 | |||
1071 | static void | ||
1072 | _ecore_evas_wl_buffer_new(Ecore_Evas *ee, void **dest) | ||
1073 | { | ||
1074 | static unsigned int format; | ||
1075 | char tmp[PATH_MAX]; | ||
1076 | int fd = -1, stride = 0, size = 0; | ||
1077 | void *ret; | ||
1078 | 970 | ||
1079 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 971 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1080 | 972 | ||
1081 | if (dest) *dest = NULL; | 973 | ev = event; |
1082 | 974 | ee = ecore_event_window_match(ev->win); | |
1083 | if (!format) format = ecore_wl_format_get(); | 975 | if (!ee) return ECORE_CALLBACK_PASS_ON; |
1084 | 976 | if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | |
1085 | strcpy(tmp, "/tmp/ecore-wayland_shm-XXXXXX"); | 977 | if ((ee->x != ev->x) || (ee->y != ev->y)) |
1086 | if ((fd = mkstemp(tmp)) < 0) | ||
1087 | { | ||
1088 | ERR("Could not create temporary file."); | ||
1089 | return; | ||
1090 | } | ||
1091 | |||
1092 | stride = (ee->w * sizeof(int)); | ||
1093 | size = (stride * ee->h); | ||
1094 | if (ftruncate(fd, size) < 0) | ||
1095 | { | 978 | { |
1096 | ERR("Could not truncate temporary file."); | 979 | ee->x = ev->x; |
1097 | close(fd); | 980 | ee->y = ev->y; |
1098 | return; | 981 | ee->req.x = ee->x; |
982 | ee->req.y = ee->y; | ||
983 | if (ee->func.fn_move) ee->func.fn_move(ee); | ||
1099 | } | 984 | } |
1100 | 985 | if ((ee->req.w != ev->w) || (ee->req.h != ev->h)) | |
1101 | ret = mmap(NULL, size, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0); | ||
1102 | unlink(tmp); | ||
1103 | |||
1104 | if (ret == MAP_FAILED) | ||
1105 | { | 986 | { |
1106 | ERR("mmap of temporary file failed."); | 987 | /* ee->w = ev->w; */ |
1107 | close(fd); | 988 | /* ee->h = ev->h; */ |
1108 | return; | 989 | ee->req.w = ev->w; |
990 | ee->req.h = ev->h; | ||
991 | if (ee->func.fn_resize) ee->func.fn_resize(ee); | ||
1109 | } | 992 | } |
1110 | 993 | ||
1111 | if (dest) *dest = ret; | 994 | return ECORE_CALLBACK_PASS_ON; |
1112 | |||
1113 | ee->engine.wl.buffer = | ||
1114 | wl_shm_create_buffer(ecore_wl_shm_get(), fd, ee->w, ee->h, stride, format); | ||
1115 | |||
1116 | close(fd); | ||
1117 | } | 995 | } |
1118 | 996 | ||
1119 | static void | 997 | static void |
@@ -1227,30 +1105,9 @@ _ecore_evas_wl_frame_add(Evas *evas) | |||
1227 | return evas_object_smart_add(evas, _ecore_evas_wl_smart); | 1105 | return evas_object_smart_add(evas, _ecore_evas_wl_smart); |
1228 | } | 1106 | } |
1229 | 1107 | ||
1230 | void | ||
1231 | _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location) | ||
1232 | { | ||
1233 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1234 | |||
1235 | if ((!ee) || (!ee->engine.wl.shell_surface)) return; | ||
1236 | wl_shell_surface_resize(ee->engine.wl.shell_surface, | ||
1237 | ecore_wl_input_device_get(), | ||
1238 | _ecore_evas_wl_btn_timestamp, location); | ||
1239 | } | ||
1240 | |||
1241 | void | ||
1242 | _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source) | ||
1243 | { | ||
1244 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1245 | |||
1246 | if ((!ee) || (!ee->engine.wl.surface)) return; | ||
1247 | if ((!source) || (!drag_ee)) return; | ||
1248 | ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer); | ||
1249 | } | ||
1250 | |||
1251 | #else | 1108 | #else |
1252 | EAPI Ecore_Evas * | 1109 | EAPI Ecore_Evas * |
1253 | ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__) | 1110 | ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, unsigned int parent __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, Eina_Bool frame __UNUSED__) |
1254 | { | 1111 | { |
1255 | return NULL; | 1112 | return NULL; |
1256 | } | 1113 | } |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c index cfec528..32132b3 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_win32.c | |||
@@ -420,7 +420,7 @@ _ecore_evas_win32_free(Ecore_Evas *ee) | |||
420 | 420 | ||
421 | static void | 421 | static void |
422 | _ecore_evas_win32_callback_delete_request_set(Ecore_Evas *ee, | 422 | _ecore_evas_win32_callback_delete_request_set(Ecore_Evas *ee, |
423 | void (*func) (Ecore_Evas *ee)) | 423 | Ecore_Evas_Event_Cb func) |
424 | { | 424 | { |
425 | ee->func.fn_delete_request = func; | 425 | ee->func.fn_delete_request = func; |
426 | } | 426 | } |
@@ -717,7 +717,7 @@ _ecore_evas_win32_activate(Ecore_Evas *ee) | |||
717 | { | 717 | { |
718 | INF("ecore evas activate"); | 718 | INF("ecore evas activate"); |
719 | 719 | ||
720 | ecore_win32_window_focus_set((struct _Ecore_Win32_Window *)ee->prop.window); | 720 | ecore_win32_window_focus((struct _Ecore_Win32_Window *)ee->prop.window); |
721 | } | 721 | } |
722 | 722 | ||
723 | static void | 723 | static void |
@@ -819,7 +819,7 @@ _ecore_evas_win32_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho | |||
819 | static void | 819 | static void |
820 | _ecore_evas_win32_focus_set(Ecore_Evas *ee, int on __UNUSED__) | 820 | _ecore_evas_win32_focus_set(Ecore_Evas *ee, int on __UNUSED__) |
821 | { | 821 | { |
822 | ecore_win32_window_focus_set((struct _Ecore_Win32_Window *)ee->prop.window); | 822 | ecore_win32_window_focus((struct _Ecore_Win32_Window *)ee->prop.window); |
823 | } | 823 | } |
824 | 824 | ||
825 | static void | 825 | static void |
@@ -879,18 +879,12 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on) | |||
879 | 879 | ||
880 | if (on != 0) | 880 | if (on != 0) |
881 | { | 881 | { |
882 | ecore_win32_window_shape_set((struct _Ecore_Win32_Window *)ee->prop.window, | ||
883 | 0, 0, NULL); | ||
884 | ecore_win32_window_fullscreen_set((struct _Ecore_Win32_Window *)ee->prop.window, | 882 | ecore_win32_window_fullscreen_set((struct _Ecore_Win32_Window *)ee->prop.window, |
885 | on); | 883 | on); |
886 | } | 884 | } |
887 | else | 885 | else |
888 | { | 886 | { |
889 | ecore_win32_window_fullscreen_set(window, on); | 887 | ecore_win32_window_fullscreen_set(window, on); |
890 | ecore_win32_window_shape_set(window, | ||
891 | window->shape.width, | ||
892 | window->shape.height, | ||
893 | window->shape.mask); | ||
894 | } | 888 | } |
895 | 889 | ||
896 | /* Nothing to be done for the GDI backend at the evas level */ | 890 | /* Nothing to be done for the GDI backend at the evas level */ |
@@ -982,6 +976,13 @@ static Ecore_Evas_Engine_Func _ecore_win32_engine_func = | |||
982 | NULL, /* _ecore_evas_x_alpha_set */ | 976 | NULL, /* _ecore_evas_x_alpha_set */ |
983 | NULL, //transparent | 977 | NULL, //transparent |
984 | 978 | ||
979 | NULL, | ||
980 | NULL, | ||
981 | NULL, | ||
982 | NULL, | ||
983 | NULL, | ||
984 | NULL, | ||
985 | |||
985 | NULL, // render | 986 | NULL, // render |
986 | NULL //screen_geometry_get | 987 | NULL //screen_geometry_get |
987 | }; | 988 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c index e102cb7..fecf26b 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_wince.c | |||
@@ -345,7 +345,7 @@ _ecore_evas_wince_free(Ecore_Evas *ee) | |||
345 | 345 | ||
346 | static void | 346 | static void |
347 | _ecore_evas_wince_callback_delete_request_set(Ecore_Evas *ee, | 347 | _ecore_evas_wince_callback_delete_request_set(Ecore_Evas *ee, |
348 | void (*func) (Ecore_Evas *ee)) | 348 | Ecore_Evas_Event_Cb func) |
349 | { | 349 | { |
350 | ee->func.fn_delete_request = func; | 350 | ee->func.fn_delete_request = func; |
351 | } | 351 | } |
@@ -641,11 +641,11 @@ _ecore_evas_wince_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho | |||
641 | #endif | 641 | #endif |
642 | } | 642 | } |
643 | 643 | ||
644 | /* static void */ | 644 | static void |
645 | /* _ecore_evas_wince_focus_set(Ecore_Evas *ee, int on __UNUSED__) */ | 645 | _ecore_evas_wince_focus_set(Ecore_Evas *ee, int on __UNUSED__) |
646 | /* { */ | 646 | { |
647 | /* ecore_wince_window_focus_set(ee->prop.window); */ | 647 | ecore_wince_window_focus(ee->prop.window); |
648 | /* } */ | 648 | } |
649 | 649 | ||
650 | /* static void */ | 650 | /* static void */ |
651 | /* _ecore_evas_wince_iconified_set(Ecore_Evas *ee, int on) */ | 651 | /* _ecore_evas_wince_iconified_set(Ecore_Evas *ee, int on) */ |
@@ -760,7 +760,7 @@ static Ecore_Evas_Engine_Func _ecore_wince_engine_func = | |||
760 | NULL, //_ecore_evas_wince_size_step_set, | 760 | NULL, //_ecore_evas_wince_size_step_set, |
761 | _ecore_evas_wince_cursor_set, | 761 | _ecore_evas_wince_cursor_set, |
762 | NULL, /* _ecore_evas_x_layer_set */ | 762 | NULL, /* _ecore_evas_x_layer_set */ |
763 | NULL, //_ecore_evas_wince_focus_set, | 763 | _ecore_evas_wince_focus_set, |
764 | NULL, //_ecore_evas_wince_iconified_set, | 764 | NULL, //_ecore_evas_wince_iconified_set, |
765 | NULL, //_ecore_evas_wince_borderless_set, | 765 | NULL, //_ecore_evas_wince_borderless_set, |
766 | NULL, /* _ecore_evas_x_override_set */ | 766 | NULL, /* _ecore_evas_x_override_set */ |
@@ -773,6 +773,13 @@ static Ecore_Evas_Engine_Func _ecore_wince_engine_func = | |||
773 | NULL, /* _ecore_evas_x_alpha_set */ | 773 | NULL, /* _ecore_evas_x_alpha_set */ |
774 | NULL, //transparent | 774 | NULL, //transparent |
775 | 775 | ||
776 | NULL, | ||
777 | NULL, | ||
778 | NULL, | ||
779 | NULL, | ||
780 | NULL, | ||
781 | NULL, | ||
782 | |||
776 | NULL, // render | 783 | NULL, // render |
777 | NULL // screen_geometry_get | 784 | NULL // screen_geometry_get |
778 | }; | 785 | }; |
diff --git a/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c b/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c index 7d3af12..6dd13de 100644 --- a/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c +++ b/libraries/ecore/src/lib/ecore_evas/ecore_evas_x.c | |||
@@ -20,6 +20,22 @@ static int leader_ref = 0; | |||
20 | static Ecore_X_Window leader_win = 0; | 20 | static Ecore_X_Window leader_win = 0; |
21 | 21 | ||
22 | static void | 22 | static void |
23 | _ecore_evas_x_hints_update(Ecore_Evas *ee) | ||
24 | { | ||
25 | ecore_x_icccm_hints_set | ||
26 | (ee->prop.window, | ||
27 | !ee->prop.focus_skip /* accepts_focus */, | ||
28 | ee->prop.iconified ? ECORE_X_WINDOW_STATE_HINT_ICONIC : | ||
29 | ee->prop.withdrawn ? ECORE_X_WINDOW_STATE_HINT_WITHDRAWN : | ||
30 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
31 | 0 /* icon_pixmap */, | ||
32 | 0 /* icon_mask */, | ||
33 | 0 /* icon_window */, | ||
34 | ee->prop.group_ee_win /* window_group */, | ||
35 | ee->prop.urgent /* is_urgent */); | ||
36 | } | ||
37 | |||
38 | static void | ||
23 | _ecore_evas_x_group_leader_set(Ecore_Evas *ee) | 39 | _ecore_evas_x_group_leader_set(Ecore_Evas *ee) |
24 | { | 40 | { |
25 | leader_ref++; | 41 | leader_ref++; |
@@ -537,6 +553,7 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, | |||
537 | { | 553 | { |
538 | Ecore_Evas *ee; | 554 | Ecore_Evas *ee; |
539 | Ecore_X_Event_Window_Property *e; | 555 | Ecore_X_Event_Window_Property *e; |
556 | int state_change = 0; | ||
540 | 557 | ||
541 | e = event; | 558 | e = event; |
542 | ee = ecore_event_window_match(e->win); | 559 | ee = ecore_event_window_match(e->win); |
@@ -546,20 +563,62 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, | |||
546 | { | 563 | { |
547 | unsigned int i, num; | 564 | unsigned int i, num; |
548 | Ecore_X_Window_State *state; | 565 | Ecore_X_Window_State *state; |
549 | int sticky = 0; | 566 | struct { |
550 | 567 | struct { | |
551 | /* TODO: we need to move those to the end, with if statements */ | 568 | unsigned char modal : 1; |
552 | ee->engine.x.state.modal = 0; | 569 | unsigned char sticky : 1; |
553 | ee->engine.x.state.maximized_v = 0; | 570 | unsigned char maximized_v : 1; |
554 | ee->engine.x.state.maximized_h = 0; | 571 | unsigned char maximized_h : 1; |
555 | ee->engine.x.state.shaded = 0; | 572 | unsigned char shaded : 1; |
573 | unsigned char skip_taskbar : 1; | ||
574 | unsigned char skip_pager : 1; | ||
575 | unsigned char fullscreen : 1; | ||
576 | unsigned char above : 1; | ||
577 | unsigned char below : 1; | ||
578 | } x; | ||
579 | struct { | ||
580 | char modal : 1; | ||
581 | char maximized : 1; | ||
582 | char sticky : 1; | ||
583 | char fullscreen : 1; | ||
584 | char focus_skip : 1; | ||
585 | } prop; | ||
586 | } prev; | ||
587 | |||
588 | prev.x.modal = ee->engine.x.state.modal; | ||
589 | prev.x.sticky = ee->engine.x.state.sticky; | ||
590 | prev.x.maximized_v = ee->engine.x.state.maximized_v; | ||
591 | prev.x.maximized_h = ee->engine.x.state.maximized_h; | ||
592 | prev.x.shaded = ee->engine.x.state.shaded; | ||
593 | prev.x.skip_taskbar = ee->engine.x.state.skip_taskbar; | ||
594 | prev.x.skip_pager = ee->engine.x.state.skip_pager; | ||
595 | prev.x.fullscreen = ee->engine.x.state.fullscreen; | ||
596 | prev.x.above = ee->engine.x.state.above; | ||
597 | prev.x.below = ee->engine.x.state.below; | ||
598 | |||
599 | prev.prop.modal = ee->prop.modal; | ||
600 | prev.prop.maximized = ee->prop.maximized; | ||
601 | prev.prop.sticky = ee->prop.sticky; | ||
602 | prev.prop.fullscreen = ee->prop.fullscreen; | ||
603 | prev.prop.focus_skip = ee->prop.focus_skip; | ||
604 | |||
605 | ee->engine.x.state.modal = 0; | ||
606 | ee->engine.x.state.sticky = 0; | ||
607 | ee->engine.x.state.maximized_v = 0; | ||
608 | ee->engine.x.state.maximized_h = 0; | ||
609 | ee->engine.x.state.shaded = 0; | ||
556 | ee->engine.x.state.skip_taskbar = 0; | 610 | ee->engine.x.state.skip_taskbar = 0; |
557 | ee->engine.x.state.skip_pager = 0; | 611 | ee->engine.x.state.skip_pager = 0; |
612 | ee->engine.x.state.fullscreen = 0; | ||
613 | ee->engine.x.state.above = 0; | ||
614 | ee->engine.x.state.below = 0; | ||
615 | |||
616 | ee->prop.modal = 0; | ||
617 | ee->prop.maximized = 0; | ||
618 | ee->prop.sticky = 0; | ||
558 | ee->prop.fullscreen = 0; | 619 | ee->prop.fullscreen = 0; |
559 | ee->engine.x.state.fullscreen = 0; | 620 | ee->prop.focus_skip = 0; |
560 | ee->engine.x.state.above = 0; | 621 | |
561 | ee->engine.x.state.below = 0; | ||
562 | |||
563 | ecore_x_netwm_window_state_get(e->win, &state, &num); | 622 | ecore_x_netwm_window_state_get(e->win, &state, &num); |
564 | if (state) | 623 | if (state) |
565 | { | 624 | { |
@@ -568,56 +627,106 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, | |||
568 | switch (state[i]) | 627 | switch (state[i]) |
569 | { | 628 | { |
570 | case ECORE_X_WINDOW_STATE_MODAL: | 629 | case ECORE_X_WINDOW_STATE_MODAL: |
571 | ee->engine.x.state.modal = 1; | 630 | ee->engine.x.state.modal = 1; |
572 | break; | 631 | ee->prop.modal = 1; |
632 | break; | ||
573 | case ECORE_X_WINDOW_STATE_STICKY: | 633 | case ECORE_X_WINDOW_STATE_STICKY: |
574 | if (ee->prop.sticky && ee->engine.x.state.sticky) | 634 | ee->prop.sticky = 1; |
575 | break; | 635 | ee->engine.x.state.sticky = 1; |
576 | 636 | break; | |
577 | sticky = 1; | ||
578 | ee->prop.sticky = 1; | ||
579 | ee->engine.x.state.sticky = 1; | ||
580 | if (ee->func.fn_sticky) ee->func.fn_sticky(ee); | ||
581 | break; | ||
582 | case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT: | 637 | case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT: |
583 | ee->engine.x.state.maximized_v = 1; | 638 | ee->engine.x.state.maximized_v = 1; |
584 | break; | 639 | ee->prop.maximized = 1; |
640 | break; | ||
585 | case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ: | 641 | case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ: |
586 | ee->engine.x.state.maximized_h = 1; | 642 | ee->engine.x.state.maximized_h = 1; |
587 | break; | 643 | ee->prop.maximized = 1; |
644 | break; | ||
588 | case ECORE_X_WINDOW_STATE_SHADED: | 645 | case ECORE_X_WINDOW_STATE_SHADED: |
589 | ee->engine.x.state.shaded = 1; | 646 | ee->engine.x.state.shaded = 1; |
590 | break; | 647 | break; |
591 | case ECORE_X_WINDOW_STATE_SKIP_TASKBAR: | 648 | case ECORE_X_WINDOW_STATE_SKIP_TASKBAR: |
592 | ee->engine.x.state.skip_taskbar = 1; | 649 | ee->engine.x.state.skip_taskbar = 1; |
593 | break; | 650 | ee->prop.focus_skip = 1; |
651 | break; | ||
594 | case ECORE_X_WINDOW_STATE_SKIP_PAGER: | 652 | case ECORE_X_WINDOW_STATE_SKIP_PAGER: |
595 | ee->engine.x.state.skip_pager = 1; | 653 | ee->engine.x.state.skip_pager = 1; |
596 | break; | 654 | ee->prop.focus_skip = 1; |
655 | break; | ||
597 | case ECORE_X_WINDOW_STATE_FULLSCREEN: | 656 | case ECORE_X_WINDOW_STATE_FULLSCREEN: |
598 | ee->prop.fullscreen = 1; | 657 | ee->prop.fullscreen = 1; |
599 | ee->engine.x.state.fullscreen = 1; | 658 | ee->engine.x.state.fullscreen = 1; |
600 | break; | 659 | break; |
601 | case ECORE_X_WINDOW_STATE_ABOVE: | 660 | case ECORE_X_WINDOW_STATE_ABOVE: |
602 | ee->engine.x.state.above = 1; | 661 | ee->engine.x.state.above = 1; |
603 | break; | 662 | break; |
604 | case ECORE_X_WINDOW_STATE_BELOW: | 663 | case ECORE_X_WINDOW_STATE_BELOW: |
605 | ee->engine.x.state.below = 1; | 664 | ee->engine.x.state.below = 1; |
606 | break; | 665 | break; |
607 | default: | 666 | default: |
608 | break; | 667 | break; |
609 | } | 668 | } |
610 | } | 669 | } |
611 | free(state); | 670 | free(state); |
612 | } | 671 | } |
613 | 672 | if ( | |
614 | if ((ee->prop.sticky) && (!sticky)) | 673 | // (prev.x.modal != ee->engine.x.state.modal) || |
674 | (prev.x.sticky != ee->engine.x.state.sticky) || | ||
675 | (prev.x.maximized_v != ee->engine.x.state.maximized_v) || | ||
676 | (prev.x.maximized_h != ee->engine.x.state.maximized_h) || | ||
677 | // (prev.x.shaded != ee->engine.x.state.shaded) || | ||
678 | // (prev.x.skip_taskbar != ee->engine.x.state.skip_taskbar) || | ||
679 | // (prev.x.skip_pager != ee->engine.x.state.skip_pager) || | ||
680 | (prev.x.fullscreen != ee->engine.x.state.fullscreen) || | ||
681 | // (prev.x.above != ee->engine.x.state.above) || | ||
682 | // (prev.x.below != ee->engine.x.state.below) || | ||
683 | // (prev.prop.modal != ee->prop.modal) || | ||
684 | (prev.prop.maximized != ee->prop.maximized) || | ||
685 | (prev.prop.sticky != ee->prop.sticky) || | ||
686 | (prev.prop.fullscreen != ee->prop.fullscreen) || | ||
687 | (prev.prop.focus_skip != ee->prop.focus_skip)) | ||
688 | state_change = 1; | ||
689 | } | ||
690 | else if (e->atom == ECORE_X_ATOM_WM_STATE) | ||
691 | { | ||
692 | Ecore_X_Window_State_Hint state; | ||
693 | |||
694 | // handle WM_STATE changes | ||
695 | state = ecore_x_icccm_state_get(e->win); | ||
696 | switch (state) | ||
615 | { | 697 | { |
616 | ee->prop.sticky = 0; | 698 | case ECORE_X_WINDOW_STATE_HINT_WITHDRAWN: |
617 | ee->engine.x.state.sticky = 0; | 699 | if ((!ee->prop.withdrawn) || (ee->prop.iconified)) |
618 | if (ee->func.fn_unsticky) ee->func.fn_unsticky(ee); | 700 | { |
701 | state_change = 1; | ||
702 | ee->prop.withdrawn = 1; | ||
703 | ee->prop.iconified = 0; | ||
704 | } | ||
705 | break; | ||
706 | case ECORE_X_WINDOW_STATE_HINT_ICONIC: | ||
707 | if ((!ee->prop.iconified) || (ee->prop.withdrawn)) | ||
708 | { | ||
709 | state_change = 1; | ||
710 | ee->prop.iconified = 1; | ||
711 | ee->prop.withdrawn = 0; | ||
712 | } | ||
713 | break; | ||
714 | case ECORE_X_WINDOW_STATE_HINT_NORMAL: | ||
715 | if ((ee->prop.iconified) || (ee->prop.withdrawn)) | ||
716 | { | ||
717 | state_change = 1; | ||
718 | ee->prop.iconified = 0; | ||
719 | ee->prop.withdrawn = 0; | ||
720 | } | ||
721 | break; | ||
722 | default: | ||
723 | break; | ||
619 | } | 724 | } |
620 | } | 725 | } |
726 | if (state_change) | ||
727 | { | ||
728 | if (ee->func.fn_state_change) ee->func.fn_state_change(ee); | ||
729 | } | ||
621 | 730 | ||
622 | return ECORE_CALLBACK_PASS_ON; | 731 | return ECORE_CALLBACK_PASS_ON; |
623 | } | 732 | } |
@@ -826,7 +935,8 @@ _ecore_evas_x_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, | |||
826 | ee = ecore_event_window_match(e->win); | 935 | ee = ecore_event_window_match(e->win); |
827 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ | 936 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ |
828 | if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 937 | if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
829 | if (e->mode == ECORE_X_EVENT_MODE_UNGRAB) return ECORE_CALLBACK_PASS_ON; | 938 | //xx// filtering with these doesnt help |
939 | //xx// if (e->mode == ECORE_X_EVENT_MODE_UNGRAB) return ECORE_CALLBACK_PASS_ON; | ||
830 | ee->prop.focused = 1; | 940 | ee->prop.focused = 1; |
831 | evas_focus_in(ee->evas); | 941 | evas_focus_in(ee->evas); |
832 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); | 942 | if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee); |
@@ -843,7 +953,9 @@ _ecore_evas_x_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, | |||
843 | ee = ecore_event_window_match(e->win); | 953 | ee = ecore_event_window_match(e->win); |
844 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ | 954 | if ((!ee) || (ee->ignore_events)) return ECORE_CALLBACK_PASS_ON; /* pass on event */ |
845 | if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; | 955 | if (e->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON; |
846 | if (e->mode == ECORE_X_EVENT_MODE_GRAB) return ECORE_CALLBACK_PASS_ON; | 956 | //xx// filtering with these doesnt help |
957 | //xx// if (e->mode == ECORE_X_EVENT_MODE_GRAB) return ECORE_CALLBACK_PASS_ON; | ||
958 | |||
847 | // if (ee->prop.fullscreen) | 959 | // if (ee->prop.fullscreen) |
848 | // ecore_x_window_focus(ee->prop.window); | 960 | // ecore_x_window_focus(ee->prop.window); |
849 | evas_focus_out(ee->evas); | 961 | evas_focus_out(ee->evas); |
@@ -1078,8 +1190,8 @@ _ecore_evas_x_size_pos_hints_update(Ecore_Evas *ee) | |||
1078 | ee->prop.base.h /* base_h */, | 1190 | ee->prop.base.h /* base_h */, |
1079 | ee->prop.step.w /* step_x */, | 1191 | ee->prop.step.w /* step_x */, |
1080 | ee->prop.step.h /* step_y */, | 1192 | ee->prop.step.h /* step_y */, |
1081 | 0 /* min_aspect */, | 1193 | ee->prop.aspect /* min_aspect */, |
1082 | 0 /* max_aspect */); | 1194 | ee->prop.aspect /* max_aspect */); |
1083 | } | 1195 | } |
1084 | 1196 | ||
1085 | /* FIXME, should be in idler */ | 1197 | /* FIXME, should be in idler */ |
@@ -1089,32 +1201,30 @@ _ecore_evas_x_state_update(Ecore_Evas *ee) | |||
1089 | Ecore_X_Window_State state[10]; | 1201 | Ecore_X_Window_State state[10]; |
1090 | int num = 0; | 1202 | int num = 0; |
1091 | 1203 | ||
1092 | /* | 1204 | if (ee->prop.modal) |
1093 | if (bd->client.netwm.state.modal) | ||
1094 | state[num++] = ECORE_X_WINDOW_STATE_MODAL; | 1205 | state[num++] = ECORE_X_WINDOW_STATE_MODAL; |
1095 | */ | 1206 | if (ee->prop.sticky) |
1096 | if (ee->engine.x.state.sticky) | ||
1097 | state[num++] = ECORE_X_WINDOW_STATE_STICKY; | 1207 | state[num++] = ECORE_X_WINDOW_STATE_STICKY; |
1098 | /* | 1208 | if (ee->prop.maximized) |
1099 | if (bd->client.netwm.state.maximized_v) | ||
1100 | state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_VERT; | 1209 | state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_VERT; |
1101 | if (bd->client.netwm.state.maximized_h) | 1210 | if (ee->prop.maximized) |
1102 | state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ; | 1211 | state[num++] = ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ; |
1103 | if (bd->client.netwm.state.shaded) | 1212 | // if (bd->client.netwm.state.shaded) |
1104 | state[num++] = ECORE_X_WINDOW_STATE_SHADED; | 1213 | // state[num++] = ECORE_X_WINDOW_STATE_SHADED; |
1105 | if (bd->client.netwm.state.skip_taskbar) | 1214 | if (ee->prop.focus_skip) |
1106 | state[num++] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; | 1215 | state[num++] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; |
1107 | if (bd->client.netwm.state.skip_pager) | 1216 | if (ee->prop.focus_skip) |
1108 | state[num++] = ECORE_X_WINDOW_STATE_SKIP_PAGER; | 1217 | state[num++] = ECORE_X_WINDOW_STATE_SKIP_PAGER; |
1109 | if (bd->client.netwm.state.hidden) | 1218 | // if (bd->client.netwm.state.hidden) |
1110 | state[num++] = ECORE_X_WINDOW_STATE_HIDDEN; | 1219 | // state[num++] = ECORE_X_WINDOW_STATE_HIDDEN; |
1111 | */ | ||
1112 | if (ee->engine.x.state.fullscreen) | 1220 | if (ee->engine.x.state.fullscreen) |
1113 | state[num++] = ECORE_X_WINDOW_STATE_FULLSCREEN; | 1221 | state[num++] = ECORE_X_WINDOW_STATE_FULLSCREEN; |
1114 | if (ee->engine.x.state.above) | 1222 | if (ee->engine.x.state.above) |
1115 | state[num++] = ECORE_X_WINDOW_STATE_ABOVE; | 1223 | state[num++] = ECORE_X_WINDOW_STATE_ABOVE; |
1116 | if (ee->engine.x.state.below) | 1224 | if (ee->engine.x.state.below) |
1117 | state[num++] = ECORE_X_WINDOW_STATE_BELOW; | 1225 | state[num++] = ECORE_X_WINDOW_STATE_BELOW; |
1226 | if (ee->prop.demand_attention) | ||
1227 | state[num++] = ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION; | ||
1118 | 1228 | ||
1119 | ecore_x_netwm_window_state_set(ee->prop.window, state, num); | 1229 | ecore_x_netwm_window_state_set(ee->prop.window, state, num); |
1120 | } | 1230 | } |
@@ -1292,7 +1402,7 @@ _ecore_evas_x_free(Ecore_Evas *ee) | |||
1292 | } | 1402 | } |
1293 | 1403 | ||
1294 | static void | 1404 | static void |
1295 | _ecore_evas_x_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee)) | 1405 | _ecore_evas_x_callback_delete_request_set(Ecore_Evas *ee, Ecore_Evas_Event_Cb func) |
1296 | { | 1406 | { |
1297 | ee->func.fn_delete_request = func; | 1407 | ee->func.fn_delete_request = func; |
1298 | _ecore_evas_x_protocols_set(ee); | 1408 | _ecore_evas_x_protocols_set(ee); |
@@ -1578,6 +1688,10 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation, int resize, | |||
1578 | static void | 1688 | static void |
1579 | _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) | 1689 | _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) |
1580 | { | 1690 | { |
1691 | int angles[2]; | ||
1692 | angles[0] = rotation; | ||
1693 | angles[1] = ee->rotation; | ||
1694 | |||
1581 | if (ee->rotation == rotation) return; | 1695 | if (ee->rotation == rotation) return; |
1582 | if (!strcmp(ee->driver, "opengl_x11")) | 1696 | if (!strcmp(ee->driver, "opengl_x11")) |
1583 | { | 1697 | { |
@@ -1589,6 +1703,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) | |||
1589 | einfo->info.rotation = rotation; | 1703 | einfo->info.rotation = rotation; |
1590 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, | 1704 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, |
1591 | (Evas_Engine_Info *)einfo); | 1705 | (Evas_Engine_Info *)einfo); |
1706 | ecore_x_window_prop_property_set(ee->prop.window, | ||
1707 | ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, | ||
1708 | ECORE_X_ATOM_CARDINAL, 32, &angles, 2); | ||
1592 | #endif /* BUILD_ECORE_EVAS_OPENGL_X11 */ | 1709 | #endif /* BUILD_ECORE_EVAS_OPENGL_X11 */ |
1593 | } | 1710 | } |
1594 | else if (!strcmp(ee->driver, "software_x11")) | 1711 | else if (!strcmp(ee->driver, "software_x11")) |
@@ -1601,6 +1718,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) | |||
1601 | einfo->info.rotation = rotation; | 1718 | einfo->info.rotation = rotation; |
1602 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, | 1719 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, |
1603 | (Evas_Engine_Info *)einfo); | 1720 | (Evas_Engine_Info *)einfo); |
1721 | ecore_x_window_prop_property_set(ee->prop.window, | ||
1722 | ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, | ||
1723 | ECORE_X_ATOM_CARDINAL, 32, &angles, 2); | ||
1604 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */ | 1724 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 */ |
1605 | } | 1725 | } |
1606 | else if (!strcmp(ee->driver, "software_16_x11")) | 1726 | else if (!strcmp(ee->driver, "software_16_x11")) |
@@ -1613,6 +1733,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) | |||
1613 | einfo->info.rotation = rotation; | 1733 | einfo->info.rotation = rotation; |
1614 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, | 1734 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, |
1615 | (Evas_Engine_Info *)einfo); | 1735 | (Evas_Engine_Info *)einfo); |
1736 | ecore_x_window_prop_property_set(ee->prop.window, | ||
1737 | ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, | ||
1738 | ECORE_X_ATOM_CARDINAL, 32, &angles, 2); | ||
1616 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */ | 1739 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */ |
1617 | } | 1740 | } |
1618 | else if (!strcmp(ee->driver, "software_8_x11")) | 1741 | else if (!strcmp(ee->driver, "software_8_x11")) |
@@ -1625,6 +1748,9 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize) | |||
1625 | einfo->info.rotation = rotation; | 1748 | einfo->info.rotation = rotation; |
1626 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, | 1749 | _ecore_evas_x_rotation_set_internal(ee, rotation, resize, |
1627 | (Evas_Engine_Info *)einfo); | 1750 | (Evas_Engine_Info *)einfo); |
1751 | ecore_x_window_prop_property_set(ee->prop.window, | ||
1752 | ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE, | ||
1753 | ECORE_X_ATOM_CARDINAL, 32, &angles, 2); | ||
1628 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */ | 1754 | #endif /* BUILD_ECORE_EVAS_SOFTWARE_8_X11 */ |
1629 | } | 1755 | } |
1630 | } | 1756 | } |
@@ -1839,14 +1965,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) | |||
1839 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); | 1965 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); |
1840 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); | 1966 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); |
1841 | } | 1967 | } |
1842 | ecore_x_icccm_hints_set(ee->prop.window, | 1968 | _ecore_evas_x_hints_update(ee); |
1843 | 1 /* accepts_focus */, | ||
1844 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
1845 | 0 /* icon_pixmap */, | ||
1846 | 0 /* icon_mask */, | ||
1847 | 0 /* icon_window */, | ||
1848 | 0 /* window_group */, | ||
1849 | 0 /* is_urgent */); | ||
1850 | _ecore_evas_x_group_leader_update(ee); | 1969 | _ecore_evas_x_group_leader_update(ee); |
1851 | ecore_x_window_defaults_set(ee->prop.window); | 1970 | ecore_x_window_defaults_set(ee->prop.window); |
1852 | _ecore_evas_x_protocols_set(ee); | 1971 | _ecore_evas_x_protocols_set(ee); |
@@ -1962,14 +2081,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) | |||
1962 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); | 2081 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); |
1963 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); | 2082 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); |
1964 | } | 2083 | } |
1965 | ecore_x_icccm_hints_set(ee->prop.window, | 2084 | _ecore_evas_x_hints_update(ee); |
1966 | 1 /* accepts_focus */, | ||
1967 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
1968 | 0 /* icon_pixmap */, | ||
1969 | 0 /* icon_mask */, | ||
1970 | 0 /* icon_window */, | ||
1971 | 0 /* window_group */, | ||
1972 | 0 /* is_urgent */); | ||
1973 | _ecore_evas_x_group_leader_update(ee); | 2085 | _ecore_evas_x_group_leader_update(ee); |
1974 | ecore_x_window_defaults_set(ee->prop.window); | 2086 | ecore_x_window_defaults_set(ee->prop.window); |
1975 | _ecore_evas_x_protocols_set(ee); | 2087 | _ecore_evas_x_protocols_set(ee); |
@@ -2048,14 +2160,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) | |||
2048 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); | 2160 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); |
2049 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); | 2161 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); |
2050 | } | 2162 | } |
2051 | ecore_x_icccm_hints_set(ee->prop.window, | 2163 | _ecore_evas_x_hints_update(ee); |
2052 | 1 /* accepts_focus */, | ||
2053 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
2054 | 0 /* icon_pixmap */, | ||
2055 | 0 /* icon_mask */, | ||
2056 | 0 /* icon_window */, | ||
2057 | 0 /* window_group */, | ||
2058 | 0 /* is_urgent */); | ||
2059 | _ecore_evas_x_group_leader_update(ee); | 2164 | _ecore_evas_x_group_leader_update(ee); |
2060 | ecore_x_window_defaults_set(ee->prop.window); | 2165 | ecore_x_window_defaults_set(ee->prop.window); |
2061 | _ecore_evas_x_protocols_set(ee); | 2166 | _ecore_evas_x_protocols_set(ee); |
@@ -2134,14 +2239,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha) | |||
2134 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); | 2239 | ecore_x_icccm_title_set(ee->prop.window, ee->prop.title); |
2135 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); | 2240 | ecore_x_netwm_name_set(ee->prop.window, ee->prop.title); |
2136 | } | 2241 | } |
2137 | ecore_x_icccm_hints_set(ee->prop.window, | 2242 | _ecore_evas_x_hints_update(ee); |
2138 | 1 /* accepts_focus */, | ||
2139 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
2140 | 0 /* icon_pixmap */, | ||
2141 | 0 /* icon_mask */, | ||
2142 | 0 /* icon_window */, | ||
2143 | 0 /* window_group */, | ||
2144 | 0 /* is_urgent */); | ||
2145 | _ecore_evas_x_group_leader_update(ee); | 2243 | _ecore_evas_x_group_leader_update(ee); |
2146 | ecore_x_window_defaults_set(ee->prop.window); | 2244 | ecore_x_window_defaults_set(ee->prop.window); |
2147 | _ecore_evas_x_protocols_set(ee); | 2245 | _ecore_evas_x_protocols_set(ee); |
@@ -2182,6 +2280,88 @@ _ecore_evas_x_transparent_set(Ecore_Evas *ee, int transparent) | |||
2182 | #endif | 2280 | #endif |
2183 | } | 2281 | } |
2184 | } | 2282 | } |
2283 | |||
2284 | static void | ||
2285 | _ecore_evas_x_window_group_set(Ecore_Evas *ee, const Ecore_Evas *group_ee) | ||
2286 | { | ||
2287 | if (ee->prop.group_ee == group_ee) return; | ||
2288 | |||
2289 | ee->prop.group_ee = (Ecore_Evas *)group_ee; | ||
2290 | if (ee->prop.group_ee) | ||
2291 | ee->prop.group_ee_win = group_ee->prop.window; | ||
2292 | else | ||
2293 | ee->prop.group_ee_win = 0; | ||
2294 | _ecore_evas_x_hints_update(ee); | ||
2295 | } | ||
2296 | |||
2297 | static void | ||
2298 | _ecore_evas_x_aspect_set(Ecore_Evas *ee, double aspect) | ||
2299 | { | ||
2300 | if (ee->prop.aspect == aspect) return; | ||
2301 | |||
2302 | ee->prop.aspect = aspect; | ||
2303 | _ecore_evas_x_size_pos_hints_update(ee); | ||
2304 | // netwm state | ||
2305 | // if (ee->should_be_visible) | ||
2306 | // ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, | ||
2307 | // ECORE_X_WINDOW_STATE_STICKY, -1, sticky); | ||
2308 | // else | ||
2309 | // _ecore_evas_x_state_update(ee); | ||
2310 | } | ||
2311 | |||
2312 | static void | ||
2313 | _ecore_evas_x_urgent_set(Ecore_Evas *ee, int urgent) | ||
2314 | { | ||
2315 | if (ee->prop.urgent == urgent) return; | ||
2316 | |||
2317 | ee->prop.urgent = urgent; | ||
2318 | _ecore_evas_x_hints_update(ee); | ||
2319 | } | ||
2320 | |||
2321 | static void | ||
2322 | _ecore_evas_x_modal_set(Ecore_Evas *ee, int modal) | ||
2323 | { | ||
2324 | if (ee->prop.modal == modal) return; | ||
2325 | |||
2326 | ee->prop.modal = modal; | ||
2327 | if (ee->should_be_visible) | ||
2328 | ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, | ||
2329 | ECORE_X_WINDOW_STATE_MODAL, -1, modal); | ||
2330 | else | ||
2331 | _ecore_evas_x_state_update(ee); | ||
2332 | } | ||
2333 | |||
2334 | static void | ||
2335 | _ecore_evas_x_demand_attention_set(Ecore_Evas *ee, int demand) | ||
2336 | { | ||
2337 | if (ee->prop.demand_attention == demand) return; | ||
2338 | |||
2339 | ee->prop.demand_attention = demand; | ||
2340 | if (ee->should_be_visible) | ||
2341 | ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, | ||
2342 | ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION, -1, demand); | ||
2343 | else | ||
2344 | _ecore_evas_x_state_update(ee); | ||
2345 | } | ||
2346 | |||
2347 | static void | ||
2348 | _ecore_evas_x_focus_skip_set(Ecore_Evas *ee, int skip) | ||
2349 | { | ||
2350 | if (ee->prop.focus_skip == skip) return; | ||
2351 | |||
2352 | ee->prop.focus_skip = skip; | ||
2353 | if (ee->should_be_visible) | ||
2354 | { | ||
2355 | ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, | ||
2356 | ECORE_X_WINDOW_STATE_SKIP_TASKBAR, -1, skip); | ||
2357 | ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root, | ||
2358 | ECORE_X_WINDOW_STATE_SKIP_PAGER, -1, skip); | ||
2359 | } | ||
2360 | else | ||
2361 | _ecore_evas_x_state_update(ee); | ||
2362 | _ecore_evas_x_hints_update(ee); | ||
2363 | } | ||
2364 | |||
2185 | #endif /* BUILD_ECORE_EVAS_X11 */ | 2365 | #endif /* BUILD_ECORE_EVAS_X11 */ |
2186 | 2366 | ||
2187 | #ifdef BUILD_ECORE_EVAS_X11 | 2367 | #ifdef BUILD_ECORE_EVAS_X11 |
@@ -2369,30 +2549,11 @@ _ecore_evas_x_iconified_set(Ecore_Evas *ee, int on) | |||
2369 | { | 2549 | { |
2370 | if (ee->prop.iconified == on) return; | 2550 | if (ee->prop.iconified == on) return; |
2371 | ee->prop.iconified = on; | 2551 | ee->prop.iconified = on; |
2552 | _ecore_evas_x_hints_update(ee); | ||
2372 | if (on) | 2553 | if (on) |
2373 | { | 2554 | ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root); |
2374 | ecore_x_icccm_hints_set(ee->prop.window, | ||
2375 | 1 /* accepts_focus */, | ||
2376 | ECORE_X_WINDOW_STATE_HINT_ICONIC /* initial_state */, | ||
2377 | 0 /* icon_pixmap */, | ||
2378 | 0 /* icon_mask */, | ||
2379 | 0 /* icon_window */, | ||
2380 | 0 /* window_group */, | ||
2381 | 0 /* is_urgent */); | ||
2382 | ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root); | ||
2383 | } | ||
2384 | else | 2555 | else |
2385 | { | 2556 | ecore_evas_show(ee); |
2386 | ecore_x_icccm_hints_set(ee->prop.window, | ||
2387 | 1 /* accepts_focus */, | ||
2388 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
2389 | 0 /* icon_pixmap */, | ||
2390 | 0 /* icon_mask */, | ||
2391 | 0 /* icon_window */, | ||
2392 | 0 /* window_group */, | ||
2393 | 0 /* is_urgent */); | ||
2394 | ecore_evas_show(ee); | ||
2395 | } | ||
2396 | } | 2557 | } |
2397 | 2558 | ||
2398 | static void | 2559 | static void |
@@ -2408,24 +2569,9 @@ _ecore_evas_x_borderless_set(Ecore_Evas *ee, int on) | |||
2408 | static void | 2569 | static void |
2409 | _ecore_evas_x_withdrawn_set(Ecore_Evas *ee, int withdrawn) | 2570 | _ecore_evas_x_withdrawn_set(Ecore_Evas *ee, int withdrawn) |
2410 | { | 2571 | { |
2411 | Ecore_X_Window_State_Hint hint; | ||
2412 | |||
2413 | if (ee->prop.withdrawn == withdrawn) return; | 2572 | if (ee->prop.withdrawn == withdrawn) return; |
2414 | |||
2415 | ee->prop.withdrawn = withdrawn; | 2573 | ee->prop.withdrawn = withdrawn; |
2416 | if (withdrawn) | 2574 | _ecore_evas_x_hints_update(ee); |
2417 | hint = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN; | ||
2418 | else | ||
2419 | hint = ECORE_X_WINDOW_STATE_HINT_NORMAL; | ||
2420 | |||
2421 | ecore_x_icccm_hints_set(ee->prop.window, | ||
2422 | 1 /* accepts_focus */, | ||
2423 | hint /* initial_state */, | ||
2424 | 0 /* icon_pixmap */, | ||
2425 | 0 /* icon_mask */, | ||
2426 | 0 /* icon_window */, | ||
2427 | 0 /* window_group */, | ||
2428 | 0 /* is_urgent */); | ||
2429 | } | 2575 | } |
2430 | 2576 | ||
2431 | static void | 2577 | static void |
@@ -2762,6 +2908,13 @@ static Ecore_Evas_Engine_Func _ecore_x_engine_func = | |||
2762 | _ecore_evas_x_ignore_events_set, | 2908 | _ecore_evas_x_ignore_events_set, |
2763 | _ecore_evas_x_alpha_set, | 2909 | _ecore_evas_x_alpha_set, |
2764 | _ecore_evas_x_transparent_set, | 2910 | _ecore_evas_x_transparent_set, |
2911 | |||
2912 | _ecore_evas_x_window_group_set, | ||
2913 | _ecore_evas_x_aspect_set, | ||
2914 | _ecore_evas_x_urgent_set, | ||
2915 | _ecore_evas_x_modal_set, | ||
2916 | _ecore_evas_x_demand_attention_set, | ||
2917 | _ecore_evas_x_focus_skip_set, | ||
2765 | 2918 | ||
2766 | NULL, // render | 2919 | NULL, // render |
2767 | _ecore_evas_x_screen_geometry_get | 2920 | _ecore_evas_x_screen_geometry_get |
@@ -3003,14 +3156,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, | |||
3003 | } | 3156 | } |
3004 | } | 3157 | } |
3005 | 3158 | ||
3006 | ecore_x_icccm_hints_set(ee->prop.window, | 3159 | _ecore_evas_x_hints_update(ee); |
3007 | 1 /* accepts_focus */, | ||
3008 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
3009 | 0 /* icon_pixmap */, | ||
3010 | 0 /* icon_mask */, | ||
3011 | 0 /* icon_window */, | ||
3012 | 0 /* window_group */, | ||
3013 | 0 /* is_urgent */); | ||
3014 | _ecore_evas_x_group_leader_set(ee); | 3160 | _ecore_evas_x_group_leader_set(ee); |
3015 | ecore_x_window_defaults_set(ee->prop.window); | 3161 | ecore_x_window_defaults_set(ee->prop.window); |
3016 | _ecore_evas_x_protocols_set(ee); | 3162 | _ecore_evas_x_protocols_set(ee); |
@@ -3240,14 +3386,7 @@ ecore_evas_gl_x11_options_new(const char *disp_name, Ecore_X_Window parent, | |||
3240 | // putenv((char*)"DESKTOP_STARTUP_ID="); | 3386 | // putenv((char*)"DESKTOP_STARTUP_ID="); |
3241 | } | 3387 | } |
3242 | 3388 | ||
3243 | ecore_x_icccm_hints_set(ee->prop.window, | 3389 | _ecore_evas_x_hints_update(ee); |
3244 | 1 /* accepts_focus */, | ||
3245 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
3246 | 0 /* icon_pixmap */, | ||
3247 | 0 /* icon_mask */, | ||
3248 | 0 /* icon_window */, | ||
3249 | 0 /* window_group */, | ||
3250 | 0 /* is_urgent */); | ||
3251 | _ecore_evas_x_group_leader_set(ee); | 3390 | _ecore_evas_x_group_leader_set(ee); |
3252 | ecore_x_window_defaults_set(ee->prop.window); | 3391 | ecore_x_window_defaults_set(ee->prop.window); |
3253 | _ecore_evas_x_protocols_set(ee); | 3392 | _ecore_evas_x_protocols_set(ee); |
@@ -3571,14 +3710,7 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent, | |||
3571 | return NULL; | 3710 | return NULL; |
3572 | } | 3711 | } |
3573 | 3712 | ||
3574 | ecore_x_icccm_hints_set(ee->prop.window, | 3713 | _ecore_evas_x_hints_update(ee); |
3575 | 1 /* accepts_focus */, | ||
3576 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
3577 | 0 /* icon_pixmap */, | ||
3578 | 0 /* icon_mask */, | ||
3579 | 0 /* icon_window */, | ||
3580 | 0 /* window_group */, | ||
3581 | 0 /* is_urgent */); | ||
3582 | _ecore_evas_x_group_leader_set(ee); | 3714 | _ecore_evas_x_group_leader_set(ee); |
3583 | ecore_x_window_defaults_set(ee->prop.window); | 3715 | ecore_x_window_defaults_set(ee->prop.window); |
3584 | _ecore_evas_x_protocols_set(ee); | 3716 | _ecore_evas_x_protocols_set(ee); |
@@ -3895,14 +4027,7 @@ ecore_evas_software_x11_8_new(const char *disp_name, Ecore_X_Window parent, | |||
3895 | return NULL; | 4027 | return NULL; |
3896 | } | 4028 | } |
3897 | 4029 | ||
3898 | ecore_x_icccm_hints_set(ee->prop.window, | 4030 | _ecore_evas_x_hints_update(ee); |
3899 | 1 /* accepts_focus */, | ||
3900 | ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */, | ||
3901 | 0 /* icon_pixmap */, | ||
3902 | 0 /* icon_mask */, | ||
3903 | 0 /* icon_window */, | ||
3904 | 0 /* window_group */, | ||
3905 | 0 /* is_urgent */); | ||
3906 | _ecore_evas_x_group_leader_set(ee); | 4031 | _ecore_evas_x_group_leader_set(ee); |
3907 | ecore_x_window_defaults_set(ee->prop.window); | 4032 | ecore_x_window_defaults_set(ee->prop.window); |
3908 | _ecore_evas_x_protocols_set(ee); | 4033 | _ecore_evas_x_protocols_set(ee); |
diff --git a/libraries/ecore/src/lib/ecore_fb/Makefile.in b/libraries/ecore/src/lib/ecore_fb/Makefile.in index c0c30a5..e8030b1 100644 --- a/libraries/ecore/src/lib/ecore_fb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_fb/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
194 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 193 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
195 | EVIL_LIBS = @EVIL_LIBS@ | 194 | EVIL_LIBS = @EVIL_LIBS@ |
196 | EXEEXT = @EXEEXT@ | 195 | EXEEXT = @EXEEXT@ |
196 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
197 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
197 | FGREP = @FGREP@ | 198 | FGREP = @FGREP@ |
198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 199 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
199 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 200 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 250 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
250 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 251 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
251 | PKG_CONFIG = @PKG_CONFIG@ | 252 | PKG_CONFIG = @PKG_CONFIG@ |
253 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
254 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
252 | POSUB = @POSUB@ | 255 | POSUB = @POSUB@ |
253 | RANLIB = @RANLIB@ | 256 | RANLIB = @RANLIB@ |
254 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 257 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
259 | SED = @SED@ | 262 | SED = @SED@ |
260 | SET_MAKE = @SET_MAKE@ | 263 | SET_MAKE = @SET_MAKE@ |
261 | SHELL = @SHELL@ | 264 | SHELL = @SHELL@ |
265 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
262 | SSL_CFLAGS = @SSL_CFLAGS@ | 266 | SSL_CFLAGS = @SSL_CFLAGS@ |
263 | SSL_LIBS = @SSL_LIBS@ | 267 | SSL_LIBS = @SSL_LIBS@ |
264 | STRIP = @STRIP@ | 268 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_fb/ecore_fb.c b/libraries/ecore/src/lib/ecore_fb/ecore_fb.c index ca7d73d..daeea0f 100644 --- a/libraries/ecore/src/lib/ecore_fb/ecore_fb.c +++ b/libraries/ecore/src/lib/ecore_fb/ecore_fb.c | |||
@@ -92,21 +92,18 @@ _ecore_fb_size_get(int *w, int *h) | |||
92 | 92 | ||
93 | fb = open("/dev/fb0", O_RDWR); | 93 | fb = open("/dev/fb0", O_RDWR); |
94 | if (fb < 0) | 94 | if (fb < 0) |
95 | { | 95 | goto exit; |
96 | if (w) *w = 0; | 96 | |
97 | if (h) *h = 0; | ||
98 | return; | ||
99 | } | ||
100 | if (ioctl(fb, FBIOGET_VSCREENINFO, &fb_var) == -1) | 97 | if (ioctl(fb, FBIOGET_VSCREENINFO, &fb_var) == -1) |
101 | { | 98 | goto err_ioctl; |
102 | if (w) *w = 0; | 99 | |
103 | if (h) *h = 0; | 100 | *w = fb_var.xres; |
104 | close(fb); | 101 | *h = fb_var.yres; |
105 | return; | 102 | |
106 | } | 103 | err_ioctl: |
107 | close(fb); | 104 | close(fb); |
108 | if (w) *w = fb_var.xres; | 105 | exit: |
109 | if (h) *h = fb_var.yres; | 106 | return; |
110 | } | 107 | } |
111 | 108 | ||
112 | /** | 109 | /** |
diff --git a/libraries/ecore/src/lib/ecore_file/Makefile.in b/libraries/ecore/src/lib/ecore_file/Makefile.in index 04e0bf1..a80ece3 100644 --- a/libraries/ecore/src/lib/ecore_file/Makefile.in +++ b/libraries/ecore/src/lib/ecore_file/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -195,6 +194,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
195 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 194 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
196 | EVIL_LIBS = @EVIL_LIBS@ | 195 | EVIL_LIBS = @EVIL_LIBS@ |
197 | EXEEXT = @EXEEXT@ | 196 | EXEEXT = @EXEEXT@ |
197 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
198 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
198 | FGREP = @FGREP@ | 199 | FGREP = @FGREP@ |
199 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 200 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
200 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 201 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -250,6 +251,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
250 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 251 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
251 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 252 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
252 | PKG_CONFIG = @PKG_CONFIG@ | 253 | PKG_CONFIG = @PKG_CONFIG@ |
254 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
255 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
253 | POSUB = @POSUB@ | 256 | POSUB = @POSUB@ |
254 | RANLIB = @RANLIB@ | 257 | RANLIB = @RANLIB@ |
255 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 258 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -260,6 +263,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
260 | SED = @SED@ | 263 | SED = @SED@ |
261 | SET_MAKE = @SET_MAKE@ | 264 | SET_MAKE = @SET_MAKE@ |
262 | SHELL = @SHELL@ | 265 | SHELL = @SHELL@ |
266 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
263 | SSL_CFLAGS = @SSL_CFLAGS@ | 267 | SSL_CFLAGS = @SSL_CFLAGS@ |
264 | SSL_LIBS = @SSL_LIBS@ | 268 | SSL_LIBS = @SSL_LIBS@ |
265 | STRIP = @STRIP@ | 269 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file.c b/libraries/ecore/src/lib/ecore_file/ecore_file.c index cfbf2b5..cb03717 100644 --- a/libraries/ecore/src/lib/ecore_file/ecore_file.c +++ b/libraries/ecore/src/lib/ecore_file/ecore_file.c | |||
@@ -821,6 +821,8 @@ ecore_file_ls(const char *dir) | |||
821 | Eina_List *list = NULL; | 821 | Eina_List *list = NULL; |
822 | 822 | ||
823 | ls = eina_file_direct_ls(dir); | 823 | ls = eina_file_direct_ls(dir); |
824 | if (!ls) return NULL; | ||
825 | |||
824 | EINA_ITERATOR_FOREACH(ls, info) | 826 | EINA_ITERATOR_FOREACH(ls, info) |
825 | { | 827 | { |
826 | char *f; | 828 | char *f; |
diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c index c5e56bd..971493e 100644 --- a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c +++ b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c | |||
@@ -45,22 +45,27 @@ static Ecore_Event_Handler *_url_complete_handler = NULL; | |||
45 | static Ecore_Event_Handler *_url_progress_download = NULL; | 45 | static Ecore_Event_Handler *_url_progress_download = NULL; |
46 | static Eina_List *_job_list; | 46 | static Eina_List *_job_list; |
47 | 47 | ||
48 | static int download_init = 0; | ||
49 | |||
48 | #endif /* BUILD_ECORE_CON */ | 50 | #endif /* BUILD_ECORE_CON */ |
49 | 51 | ||
50 | int | 52 | int |
51 | ecore_file_download_init(void) | 53 | ecore_file_download_init(void) |
52 | { | 54 | { |
53 | #ifdef BUILD_ECORE_CON | 55 | #ifdef BUILD_ECORE_CON |
54 | if (!ecore_con_url_init()) | 56 | download_init++; |
55 | return 0; | 57 | if (download_init > 1) return 1; |
56 | 58 | if (!ecore_con_init()) return 0; | |
59 | if (!ecore_con_url_init()) | ||
60 | { | ||
61 | ecore_con_shutdown(); | ||
62 | return 0; | ||
63 | } | ||
57 | # ifdef HAVE_CURL | 64 | # ifdef HAVE_CURL |
58 | _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL); | 65 | _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL); |
59 | _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL); | 66 | _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL); |
60 | # endif | 67 | # endif |
61 | |||
62 | #endif /* BUILD_ECORE_CON */ | 68 | #endif /* BUILD_ECORE_CON */ |
63 | |||
64 | return 1; | 69 | return 1; |
65 | } | 70 | } |
66 | 71 | ||
@@ -68,15 +73,17 @@ void | |||
68 | ecore_file_download_shutdown(void) | 73 | ecore_file_download_shutdown(void) |
69 | { | 74 | { |
70 | #ifdef BUILD_ECORE_CON | 75 | #ifdef BUILD_ECORE_CON |
71 | if (_url_complete_handler) | 76 | download_init--; |
72 | ecore_event_handler_del(_url_complete_handler); | 77 | if (download_init > 0) return; |
73 | if (_url_progress_download) | 78 | if (_url_complete_handler) |
74 | ecore_event_handler_del(_url_progress_download); | 79 | ecore_event_handler_del(_url_complete_handler); |
75 | _url_complete_handler = NULL; | 80 | if (_url_progress_download) |
76 | _url_progress_download = NULL; | 81 | ecore_event_handler_del(_url_progress_download); |
77 | ecore_file_download_abort_all(); | 82 | _url_complete_handler = NULL; |
78 | 83 | _url_progress_download = NULL; | |
79 | ecore_con_url_shutdown(); | 84 | ecore_file_download_abort_all(); |
85 | ecore_con_url_shutdown(); | ||
86 | ecore_con_shutdown(); | ||
80 | #endif /* BUILD_ECORE_CON */ | 87 | #endif /* BUILD_ECORE_CON */ |
81 | } | 88 | } |
82 | 89 | ||
@@ -362,7 +369,6 @@ _ecore_file_download_curl(const char *url, const char *dst, | |||
362 | } | 369 | } |
363 | 370 | ||
364 | if (headers) eina_hash_foreach(headers, _ecore_file_download_headers_foreach_cb, job); | 371 | if (headers) eina_hash_foreach(headers, _ecore_file_download_headers_foreach_cb, job); |
365 | ecore_con_url_timeout_set(job->url_con, ECORE_FILE_DOWNLOAD_TIMEOUT); | ||
366 | ecore_con_url_fd_set(job->url_con, fileno(job->file)); | 372 | ecore_con_url_fd_set(job->url_con, fileno(job->file)); |
367 | ecore_con_url_data_set(job->url_con, data); | 373 | ecore_con_url_data_set(job->url_con, data); |
368 | 374 | ||
diff --git a/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h index adea35d..1757d79 100644 --- a/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h +++ b/libraries/ecore/src/lib/ecore_imf/Ecore_IMF.h | |||
@@ -33,6 +33,12 @@ | |||
33 | extern "C" { | 33 | extern "C" { |
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | /** | ||
37 | * @addtogroup Ecore_IMF_Context_Group | ||
38 | * | ||
39 | * @{ | ||
40 | */ | ||
41 | |||
36 | /* Events sent by the Input Method */ | 42 | /* Events sent by the Input Method */ |
37 | typedef struct _Ecore_IMF_Event_Preedit_Start Ecore_IMF_Event_Preedit_Start; | 43 | typedef struct _Ecore_IMF_Event_Preedit_Start Ecore_IMF_Event_Preedit_Start; |
38 | typedef struct _Ecore_IMF_Event_Preedit_End Ecore_IMF_Event_Preedit_End; | 44 | typedef struct _Ecore_IMF_Event_Preedit_End Ecore_IMF_Event_Preedit_End; |
@@ -66,25 +72,41 @@ EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING; | |||
66 | 72 | ||
67 | typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info); | 73 | typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info); |
68 | 74 | ||
75 | /** | ||
76 | * @enum _Ecore_IMF_Callback_Type | ||
77 | * @typedef Ecore_IMF_Callback_Type | ||
78 | * | ||
79 | * Ecore IMF Event callback types. | ||
80 | * | ||
81 | * @see ecore_imf_context_event_callback_add() | ||
82 | */ | ||
69 | typedef enum | 83 | typedef enum |
70 | { | 84 | { |
71 | ECORE_IMF_CALLBACK_PREEDIT_START, | 85 | ECORE_IMF_CALLBACK_PREEDIT_START, /**< "PREEDIT_START" is called when a new preediting sequence starts. */ |
72 | ECORE_IMF_CALLBACK_PREEDIT_END, | 86 | ECORE_IMF_CALLBACK_PREEDIT_END, /**< "PREEDIT_END" is called when a preediting sequence has been completed or canceled. */ |
73 | ECORE_IMF_CALLBACK_PREEDIT_CHANGED, | 87 | ECORE_IMF_CALLBACK_PREEDIT_CHANGED, /**< "PREEDIT_CHANGED" is called whenever the preedit sequence currently being entered has changed. */ |
74 | ECORE_IMF_CALLBACK_COMMIT, | 88 | ECORE_IMF_CALLBACK_COMMIT, /**< "COMMIT" is called when a complete input sequence has been entered by the user */ |
75 | ECORE_IMF_CALLBACK_DELETE_SURROUNDING | 89 | 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 */ |
76 | } Ecore_IMF_Callback_Type; | 90 | } Ecore_IMF_Callback_Type; |
77 | 91 | ||
92 | /** | ||
93 | * @enum _Ecore_IMF_Event_Type | ||
94 | * @typedef Ecore_IMF_Event_Type | ||
95 | * | ||
96 | * Ecore IMF event types. | ||
97 | * | ||
98 | * @see ecore_imf_context_filter_event() | ||
99 | */ | ||
78 | typedef enum | 100 | typedef enum |
79 | { | 101 | { |
80 | ECORE_IMF_EVENT_MOUSE_DOWN, | 102 | ECORE_IMF_EVENT_MOUSE_DOWN, /**< Mouse Down event */ |
81 | ECORE_IMF_EVENT_MOUSE_UP, | 103 | ECORE_IMF_EVENT_MOUSE_UP, /**< Mouse Up event */ |
82 | ECORE_IMF_EVENT_MOUSE_IN, | 104 | ECORE_IMF_EVENT_MOUSE_IN, /**< Mouse In event */ |
83 | ECORE_IMF_EVENT_MOUSE_OUT, | 105 | ECORE_IMF_EVENT_MOUSE_OUT, /**< Mouse Out event */ |
84 | ECORE_IMF_EVENT_MOUSE_MOVE, | 106 | ECORE_IMF_EVENT_MOUSE_MOVE, /**< Mouse Move event */ |
85 | ECORE_IMF_EVENT_MOUSE_WHEEL, | 107 | ECORE_IMF_EVENT_MOUSE_WHEEL, /**< Mouse Wheel event */ |
86 | ECORE_IMF_EVENT_KEY_DOWN, | 108 | ECORE_IMF_EVENT_KEY_DOWN, /**< Key Down event */ |
87 | ECORE_IMF_EVENT_KEY_UP | 109 | ECORE_IMF_EVENT_KEY_UP /**< Key Up event */ |
88 | } Ecore_IMF_Event_Type; | 110 | } Ecore_IMF_Event_Type; |
89 | 111 | ||
90 | typedef enum | 112 | typedef enum |
@@ -123,22 +145,46 @@ typedef enum | |||
123 | ECORE_IMF_INPUT_MODE_AUTOCAP = 1 << 30 | 145 | ECORE_IMF_INPUT_MODE_AUTOCAP = 1 << 30 |
124 | } Ecore_IMF_Input_Mode; | 146 | } Ecore_IMF_Input_Mode; |
125 | 147 | ||
148 | /** | ||
149 | * @enum _Ecore_IMF_Preedit_Type | ||
150 | * @typedef Ecore_IMF_Preedit_Type | ||
151 | * | ||
152 | * Ecore IMF Preedit style types | ||
153 | * | ||
154 | * @see ecore_imf_context_preedit_string_with_attributes_get() | ||
155 | */ | ||
126 | typedef enum | 156 | typedef enum |
127 | { | 157 | { |
128 | ECORE_IMF_PREEDIT_TYPE_NONE, | 158 | ECORE_IMF_PREEDIT_TYPE_NONE, /**< None style */ |
129 | ECORE_IMF_PREEDIT_TYPE_SUB1, | 159 | ECORE_IMF_PREEDIT_TYPE_SUB1, /**< Substring style 1 */ |
130 | ECORE_IMF_PREEDIT_TYPE_SUB2, | 160 | ECORE_IMF_PREEDIT_TYPE_SUB2, /**< Substring style 2 */ |
131 | ECORE_IMF_PREEDIT_TYPE_SUB3 | 161 | ECORE_IMF_PREEDIT_TYPE_SUB3 /**< Substring style 3 */ |
132 | } Ecore_IMF_Preedit_Type; | 162 | } Ecore_IMF_Preedit_Type; |
133 | 163 | ||
164 | /** | ||
165 | * @enum _Ecore_IMF_Autocapital_Type | ||
166 | * @typedef Ecore_IMF_Autocapital_Type | ||
167 | * | ||
168 | * Autocapitalization Types. | ||
169 | * | ||
170 | * @see ecore_imf_context_autocapital_type_set() | ||
171 | */ | ||
134 | typedef enum | 172 | typedef enum |
135 | { | 173 | { |
136 | ECORE_IMF_AUTOCAPITAL_TYPE_NONE, | 174 | ECORE_IMF_AUTOCAPITAL_TYPE_NONE, /**< No auto-capitalization when typing */ |
137 | ECORE_IMF_AUTOCAPITAL_TYPE_WORD, | 175 | ECORE_IMF_AUTOCAPITAL_TYPE_WORD, /**< Autocapitalize each word typed */ |
138 | ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, | 176 | ECORE_IMF_AUTOCAPITAL_TYPE_SENTENCE, /**< Autocapitalize the start of each sentence */ |
139 | ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER | 177 | ECORE_IMF_AUTOCAPITAL_TYPE_ALLCHARACTER, /**< Autocapitalize all letters */ |
140 | } Ecore_IMF_Autocapital_Type; | 178 | } Ecore_IMF_Autocapital_Type; |
141 | 179 | ||
180 | /** | ||
181 | * @enum _Ecore_IMF_Input_Panel_Layout | ||
182 | * @typedef Ecore_IMF_Input_Panel_Layout | ||
183 | * | ||
184 | * Input panel (virtual keyboard) layout types. | ||
185 | * | ||
186 | * @see ecore_imf_context_input_panel_layout_set() | ||
187 | */ | ||
142 | typedef enum | 188 | typedef enum |
143 | { | 189 | { |
144 | ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, /**< Default layout */ | 190 | ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL, /**< Default layout */ |
@@ -155,12 +201,40 @@ typedef enum | |||
155 | ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ | 201 | ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no auto-correct, no auto-capitalization etc. @since 1.2 */ |
156 | } Ecore_IMF_Input_Panel_Layout; | 202 | } Ecore_IMF_Input_Panel_Layout; |
157 | 203 | ||
204 | /** | ||
205 | * @enum _Ecore_IMF_Input_Panel_Lang | ||
206 | * @typedef Ecore_IMF_Input_Panel_Lang | ||
207 | * | ||
208 | * Input panel (virtual keyboard) language modes. | ||
209 | * | ||
210 | * @see ecore_imf_context_input_panel_language_set() | ||
211 | */ | ||
158 | typedef enum | 212 | typedef enum |
159 | { | 213 | { |
160 | ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic */ | 214 | ECORE_IMF_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic @since 1.2 */ |
161 | ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet */ | 215 | ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet @since 1.2 */ |
162 | } Ecore_IMF_Input_Panel_Lang; | 216 | } Ecore_IMF_Input_Panel_Lang; |
163 | 217 | ||
218 | /** | ||
219 | * @enum _Ecore_IMF_Input_Panel_Return_Key_Type | ||
220 | * @typedef Ecore_IMF_Input_Panel_Return_Key_Type | ||
221 | * | ||
222 | * "Return" Key types on the input panel (virtual keyboard). | ||
223 | * | ||
224 | * @see ecore_imf_context_input_panel_return_key_type_set() | ||
225 | */ | ||
226 | typedef enum | ||
227 | { | ||
228 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, /**< Default @since 1.2 */ | ||
229 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE, /**< Done @since 1.2 */ | ||
230 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO, /**< Go @since 1.2 */ | ||
231 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, /**< Join @since 1.2 */ | ||
232 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, /**< Login @since 1.2 */ | ||
233 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, /**< Next @since 1.2 */ | ||
234 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, /**< Search or magnifier icon @since 1.2 */ | ||
235 | ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND /**< Send @since 1.2 */ | ||
236 | } Ecore_IMF_Input_Panel_Return_Key_Type; | ||
237 | |||
164 | struct _Ecore_IMF_Event_Preedit_Start | 238 | struct _Ecore_IMF_Event_Preedit_Start |
165 | { | 239 | { |
166 | Ecore_IMF_Context *ctx; | 240 | Ecore_IMF_Context *ctx; |
@@ -314,9 +388,9 @@ union _Ecore_IMF_Event | |||
314 | 388 | ||
315 | struct _Ecore_IMF_Preedit_Attr | 389 | struct _Ecore_IMF_Preedit_Attr |
316 | { | 390 | { |
317 | Ecore_IMF_Preedit_Type preedit_type; | 391 | Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */ |
318 | unsigned int start_index; | 392 | unsigned int start_index; /**< start index of the range (in bytes) */ |
319 | unsigned int end_index; | 393 | unsigned int end_index; /**< end index of the range (in bytes) */ |
320 | }; | 394 | }; |
321 | 395 | ||
322 | struct _Ecore_IMF_Context_Class | 396 | struct _Ecore_IMF_Context_Class |
@@ -345,6 +419,11 @@ struct _Ecore_IMF_Context_Class | |||
345 | void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); | 419 | void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); |
346 | Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); | 420 | Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); |
347 | void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); | 421 | void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); |
422 | void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); | ||
423 | void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); | ||
424 | void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); | ||
425 | void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); | ||
426 | void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); | ||
348 | }; | 427 | }; |
349 | 428 | ||
350 | struct _Ecore_IMF_Context_Info | 429 | struct _Ecore_IMF_Context_Info |
@@ -418,6 +497,14 @@ EAPI void ecore_imf_context_input_panel_language_set(Ec | |||
418 | EAPI Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx); | 497 | EAPI Ecore_IMF_Input_Panel_Lang ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx); |
419 | EAPI void ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, Eina_Bool enable); | 498 | EAPI void ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, Eina_Bool enable); |
420 | EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx); | 499 | EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx); |
500 | EAPI void ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *data, int len); | ||
501 | EAPI void ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, int *len); | ||
502 | EAPI void ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); | ||
503 | EAPI Ecore_IMF_Input_Panel_Return_Key_Type ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx); | ||
504 | EAPI void ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Eina_Bool disabled); | ||
505 | EAPI Eina_Bool ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx); | ||
506 | EAPI void ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode); | ||
507 | EAPI Eina_Bool ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx); | ||
421 | 508 | ||
422 | /* The following entry points must be exported by each input method module | 509 | /* The following entry points must be exported by each input method module |
423 | */ | 510 | */ |
@@ -433,3 +520,7 @@ EAPI Eina_Bool ecore_imf_context_input_panel_enabled_get(Eco | |||
433 | #endif | 520 | #endif |
434 | 521 | ||
435 | #endif | 522 | #endif |
523 | |||
524 | /** | ||
525 | * @} | ||
526 | */ | ||
diff --git a/libraries/ecore/src/lib/ecore_imf/Makefile.in b/libraries/ecore/src/lib/ecore_imf/Makefile.in index 9f91360..4d71b5d 100644 --- a/libraries/ecore/src/lib/ecore_imf/Makefile.in +++ b/libraries/ecore/src/lib/ecore_imf/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
193 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 192 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
194 | EVIL_LIBS = @EVIL_LIBS@ | 193 | EVIL_LIBS = @EVIL_LIBS@ |
195 | EXEEXT = @EXEEXT@ | 194 | EXEEXT = @EXEEXT@ |
195 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
196 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
196 | FGREP = @FGREP@ | 197 | FGREP = @FGREP@ |
197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
198 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 199 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
249 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 250 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
250 | PKG_CONFIG = @PKG_CONFIG@ | 251 | PKG_CONFIG = @PKG_CONFIG@ |
252 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
253 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
251 | POSUB = @POSUB@ | 254 | POSUB = @POSUB@ |
252 | RANLIB = @RANLIB@ | 255 | RANLIB = @RANLIB@ |
253 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 256 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
258 | SED = @SED@ | 261 | SED = @SED@ |
259 | SET_MAKE = @SET_MAKE@ | 262 | SET_MAKE = @SET_MAKE@ |
260 | SHELL = @SHELL@ | 263 | SHELL = @SHELL@ |
264 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
261 | SSL_CFLAGS = @SSL_CFLAGS@ | 265 | SSL_CFLAGS = @SSL_CFLAGS@ |
262 | SSL_LIBS = @SSL_LIBS@ | 266 | SSL_LIBS = @SSL_LIBS@ |
263 | STRIP = @STRIP@ | 267 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c b/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c index b65ee26..423c461 100644 --- a/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c +++ b/libraries/ecore/src/lib/ecore_imf/ecore_imf_context.c | |||
@@ -143,6 +143,32 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type) | |||
143 | * @return Return a #Ecore_IMF_Context_Info for the Input Method Context with @p id; | 143 | * @return Return a #Ecore_IMF_Context_Info for the Input Method Context with @p id; |
144 | * on failure it returns NULL. | 144 | * on failure it returns NULL. |
145 | * @ingroup Ecore_IMF_Context_Group | 145 | * @ingroup Ecore_IMF_Context_Group |
146 | * | ||
147 | * Example | ||
148 | * @code | ||
149 | * | ||
150 | * const char *ctx_id; | ||
151 | * const Ecore_IMF_Context_Info *ctx_info; | ||
152 | * Ecore_IMF_Context *imf_context; | ||
153 | * ctx_id = ecore_imf_context_default_id_get(); | ||
154 | * if (ctx_id) | ||
155 | * { | ||
156 | * ctx_info = ecore_imf_context_info_by_id_get(ctx_id); | ||
157 | * if (!ctx_info->canvas_type || | ||
158 | * strcmp(ctx_info->canvas_type, "evas") == 0) | ||
159 | * { | ||
160 | * imf_context = ecore_imf_context_add(ctx_id); | ||
161 | * } | ||
162 | * else | ||
163 | * { | ||
164 | * ctx_id = ecore_imf_context_default_id_by_canvas_type_get("evas"); | ||
165 | * if (ctx_id) | ||
166 | * { | ||
167 | * imf_context = ecore_imf_context_add(ctx_id); | ||
168 | * } | ||
169 | * } | ||
170 | * } | ||
171 | * @endcode | ||
146 | */ | 172 | */ |
147 | EAPI const Ecore_IMF_Context_Info * | 173 | EAPI const Ecore_IMF_Context_Info * |
148 | ecore_imf_context_info_by_id_get(const char *id) | 174 | ecore_imf_context_info_by_id_get(const char *id) |
@@ -188,6 +214,10 @@ ecore_imf_context_add(const char *id) | |||
188 | * set on the immodule */ | 214 | * set on the immodule */ |
189 | ecore_imf_context_input_panel_enabled_set(ctx, EINA_TRUE); | 215 | ecore_imf_context_input_panel_enabled_set(ctx, EINA_TRUE); |
190 | 216 | ||
217 | /* default input panel layout type is NORMAL type, so let's make sure it's | ||
218 | * set on the immodule */ | ||
219 | ecore_imf_context_input_panel_layout_set(ctx, ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL); | ||
220 | |||
191 | /* default input_mode is ECORE_IMF_INPUT_MODE_FULL, so let's make sure it's | 221 | /* default input_mode is ECORE_IMF_INPUT_MODE_FULL, so let's make sure it's |
192 | * set on the immodule */ | 222 | * set on the immodule */ |
193 | ecore_imf_context_input_mode_set(ctx, ECORE_IMF_INPUT_MODE_FULL); | 223 | ecore_imf_context_input_mode_set(ctx, ECORE_IMF_INPUT_MODE_FULL); |
@@ -403,7 +433,7 @@ ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cu | |||
403 | } | 433 | } |
404 | 434 | ||
405 | /** | 435 | /** |
406 | * Retrieve the current preedit string, atrributes and | 436 | * Retrieve the current preedit string, attributes and |
407 | * cursor position for the Input Method Context. | 437 | * cursor position for the Input Method Context. |
408 | * | 438 | * |
409 | * @param ctx An #Ecore_IMF_Context. | 439 | * @param ctx An #Ecore_IMF_Context. |
@@ -413,6 +443,49 @@ ecore_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char **str, int *cu | |||
413 | * @param cursor_pos Location to store position of cursor (in characters) | 443 | * @param cursor_pos Location to store position of cursor (in characters) |
414 | * within the preedit string. | 444 | * within the preedit string. |
415 | * @ingroup Ecore_IMF_Context_Group | 445 | * @ingroup Ecore_IMF_Context_Group |
446 | * | ||
447 | * Example | ||
448 | * @code | ||
449 | * char *preedit_string; | ||
450 | * int cursor_pos; | ||
451 | * Eina_List *attrs = NULL, *l = NULL; | ||
452 | * Ecore_IMF_Preedit_Attr *attr; | ||
453 | * | ||
454 | * ecore_imf_context_preedit_string_with_attributes_get(imf_context, | ||
455 | * &preedit_string, | ||
456 | * &attrs, &cursor_pos); | ||
457 | * if (!preedit_string) return; | ||
458 | * | ||
459 | * if (strlen(preedit_string) > 0) | ||
460 | * { | ||
461 | * if (attrs) | ||
462 | * { | ||
463 | * EINA_LIST_FOREACH(attrs, l, attr) | ||
464 | * { | ||
465 | * if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB1) | ||
466 | * { | ||
467 | * // Something to do | ||
468 | * } | ||
469 | * else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB2) | ||
470 | * { | ||
471 | * // Something to do | ||
472 | * } | ||
473 | * else if (attr->preedit_type == ECORE_IMF_PREEDIT_TYPE_SUB3) | ||
474 | * { | ||
475 | * // Something to do | ||
476 | * } | ||
477 | * } | ||
478 | * } | ||
479 | * } | ||
480 | * | ||
481 | * // delete attribute list | ||
482 | * if (attrs) | ||
483 | * { | ||
484 | * EINA_LIST_FREE(attrs, attr) free(attr); | ||
485 | * } | ||
486 | * | ||
487 | * free(preedit_string); | ||
488 | * @endcode | ||
416 | * @since 1.1.0 | 489 | * @since 1.1.0 |
417 | */ | 490 | */ |
418 | EAPI void | 491 | EAPI void |
@@ -440,6 +513,18 @@ ecore_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, cha | |||
440 | * | 513 | * |
441 | * @param ctx An #Ecore_IMF_Context. | 514 | * @param ctx An #Ecore_IMF_Context. |
442 | * @ingroup Ecore_IMF_Context_Group | 515 | * @ingroup Ecore_IMF_Context_Group |
516 | * | ||
517 | * Example | ||
518 | * @code | ||
519 | * static void | ||
520 | * _focus_in_cb(void *data, Evas_Object *o, const char *emission, const char *source) | ||
521 | * { | ||
522 | * ecore_imf_context_reset(imf_context); | ||
523 | * ecore_imf_context_focus_in(imf_context); | ||
524 | * } | ||
525 | * | ||
526 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_IN, _focus_in_cb, ed); | ||
527 | * @endcode | ||
443 | */ | 528 | */ |
444 | EAPI void | 529 | EAPI void |
445 | ecore_imf_context_focus_in(Ecore_IMF_Context *ctx) | 530 | ecore_imf_context_focus_in(Ecore_IMF_Context *ctx) |
@@ -459,6 +544,18 @@ ecore_imf_context_focus_in(Ecore_IMF_Context *ctx) | |||
459 | * | 544 | * |
460 | * @param ctx An #Ecore_IMF_Context. | 545 | * @param ctx An #Ecore_IMF_Context. |
461 | * @ingroup Ecore_IMF_Context_Group | 546 | * @ingroup Ecore_IMF_Context_Group |
547 | * | ||
548 | * Example | ||
549 | * @code | ||
550 | * static void | ||
551 | * _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) | ||
552 | * { | ||
553 | * ecore_imf_context_reset(imf_context); | ||
554 | * ecore_imf_context_focus_out(imf_context); | ||
555 | * } | ||
556 | * | ||
557 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed); | ||
558 | * @endcode | ||
462 | */ | 559 | */ |
463 | EAPI void | 560 | EAPI void |
464 | ecore_imf_context_focus_out(Ecore_IMF_Context *ctx) | 561 | ecore_imf_context_focus_out(Ecore_IMF_Context *ctx) |
@@ -479,6 +576,18 @@ ecore_imf_context_focus_out(Ecore_IMF_Context *ctx) | |||
479 | * | 576 | * |
480 | * @param ctx An #Ecore_IMF_Context. | 577 | * @param ctx An #Ecore_IMF_Context. |
481 | * @ingroup Ecore_IMF_Context_Group | 578 | * @ingroup Ecore_IMF_Context_Group |
579 | * | ||
580 | * Example | ||
581 | * @code | ||
582 | * static void | ||
583 | * _focus_out_cb(void *data, Evas_Object *o, const char *emission, const char *source) | ||
584 | * { | ||
585 | * ecore_imf_context_reset(imf_context); | ||
586 | * ecore_imf_context_focus_out(imf_context); | ||
587 | * } | ||
588 | * | ||
589 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_FOCUS_OUT, _focus_out_cb, ed); | ||
590 | * @endcode | ||
482 | */ | 591 | */ |
483 | EAPI void | 592 | EAPI void |
484 | ecore_imf_context_reset(Ecore_IMF_Context *ctx) | 593 | ecore_imf_context_reset(Ecore_IMF_Context *ctx) |
@@ -515,10 +624,12 @@ ecore_imf_context_cursor_position_set(Ecore_IMF_Context *ctx, int cursor_pos) | |||
515 | /** | 624 | /** |
516 | * Notify the Input Method Context that a change in the cursor | 625 | * Notify the Input Method Context that a change in the cursor |
517 | * location has been made. The location is relative to the canvas. | 626 | * location has been made. The location is relative to the canvas. |
627 | * The cursor location can be used to determine the position of | ||
628 | * candidate word window in the immodule. | ||
518 | * | 629 | * |
519 | * @param ctx An #Ecore_IMF_Context. | 630 | * @param ctx An #Ecore_IMF_Context. |
520 | * @param x cursor x position. | 631 | * @param x cursor x position. |
521 | * @param x cursor y position. | 632 | * @param y cursor y position. |
522 | * @param w cursor width. | 633 | * @param w cursor width. |
523 | * @param h cursor height. | 634 | * @param h cursor height. |
524 | * @ingroup Ecore_IMF_Context_Group | 635 | * @ingroup Ecore_IMF_Context_Group |
@@ -605,7 +716,7 @@ ecore_imf_context_prediction_allow_get(Ecore_IMF_Context *ctx) | |||
605 | } | 716 | } |
606 | 717 | ||
607 | /** | 718 | /** |
608 | * Set the autocapitalization type on the immodule. | 719 | * Set the autocapitalization type on the immodule. |
609 | * | 720 | * |
610 | * @param ctx An #Ecore_IMF_Context. | 721 | * @param ctx An #Ecore_IMF_Context. |
611 | * @param autocapital_type the autocapitalization type. | 722 | * @param autocapital_type the autocapitalization type. |
@@ -732,6 +843,28 @@ ecore_imf_context_input_mode_get(Ecore_IMF_Context *ctx) | |||
732 | * @param event The event itself. | 843 | * @param event The event itself. |
733 | * @return EINA_TRUE if the event was handled; otherwise EINA_FALSE. | 844 | * @return EINA_TRUE if the event was handled; otherwise EINA_FALSE. |
734 | * @ingroup Ecore_IMF_Context_Group | 845 | * @ingroup Ecore_IMF_Context_Group |
846 | * | ||
847 | * Example | ||
848 | * @code | ||
849 | * static void | ||
850 | * _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) | ||
851 | * { | ||
852 | * Evas_Event_Key_Down *ev = event_info; | ||
853 | * if (!ev->keyname) return; | ||
854 | * | ||
855 | * if (imf_context) | ||
856 | * { | ||
857 | * Ecore_IMF_Event_Key_Down ecore_ev; | ||
858 | * ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev); | ||
859 | * if (ecore_imf_context_filter_event(imf_context, | ||
860 | * ECORE_IMF_EVENT_KEY_DOWN, | ||
861 | * (Ecore_IMF_Event *)&ecore_ev)) | ||
862 | * return; | ||
863 | * } | ||
864 | * } | ||
865 | * | ||
866 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data); | ||
867 | * @endcode | ||
735 | */ | 868 | */ |
736 | EAPI Eina_Bool | 869 | EAPI Eina_Bool |
737 | ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) | 870 | ecore_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) |
@@ -839,7 +972,7 @@ EAPI void *ecore_imf_context_data_get(Ecore_IMF_Context *ctx) | |||
839 | * If the function returns EINA_TRUE, then you must free | 972 | * If the function returns EINA_TRUE, then you must free |
840 | * the result stored in this location with free(). | 973 | * the result stored in this location with free(). |
841 | * @param cursor_pos Location to store the position in characters of | 974 | * @param cursor_pos Location to store the position in characters of |
842 | * the insertion cursor within @text. | 975 | * the insertion cursor within @p text. |
843 | * @return EINA_TRUE if surrounding text was provided; otherwise EINA_FALSE. | 976 | * @return EINA_TRUE if surrounding text was provided; otherwise EINA_FALSE. |
844 | * @ingroup Ecore_IMF_Context_Module_Group | 977 | * @ingroup Ecore_IMF_Context_Module_Group |
845 | */ | 978 | */ |
@@ -877,6 +1010,8 @@ _ecore_imf_event_free_preedit(void *data __UNUSED__, void *event) | |||
877 | * Adds ECORE_IMF_EVENT_PREEDIT_START to the event queue. | 1010 | * Adds ECORE_IMF_EVENT_PREEDIT_START to the event queue. |
878 | * | 1011 | * |
879 | * ECORE_IMF_EVENT_PREEDIT_START should be added when a new preedit sequence starts. | 1012 | * ECORE_IMF_EVENT_PREEDIT_START should be added when a new preedit sequence starts. |
1013 | * It's asynchronous method to put event to the event queue. | ||
1014 | * ecore_imf_context_event_callback_call() can be used as synchronous method. | ||
880 | * | 1015 | * |
881 | * @param ctx An #Ecore_IMF_Context. | 1016 | * @param ctx An #Ecore_IMF_Context. |
882 | * @ingroup Ecore_IMF_Context_Module_Group | 1017 | * @ingroup Ecore_IMF_Context_Module_Group |
@@ -903,6 +1038,8 @@ ecore_imf_context_preedit_start_event_add(Ecore_IMF_Context *ctx) | |||
903 | * Adds ECORE_IMF_EVENT_PREEDIT_END to the event queue. | 1038 | * Adds ECORE_IMF_EVENT_PREEDIT_END to the event queue. |
904 | * | 1039 | * |
905 | * ECORE_IMF_EVENT_PREEDIT_END should be added when a new preedit sequence has been completed or canceled. | 1040 | * ECORE_IMF_EVENT_PREEDIT_END should be added when a new preedit sequence has been completed or canceled. |
1041 | * It's asynchronous method to put event to the event queue. | ||
1042 | * ecore_imf_context_event_callback_call() can be used as synchronous method. | ||
906 | * | 1043 | * |
907 | * @param ctx An #Ecore_IMF_Context. | 1044 | * @param ctx An #Ecore_IMF_Context. |
908 | * @ingroup Ecore_IMF_Context_Module_Group | 1045 | * @ingroup Ecore_IMF_Context_Module_Group |
@@ -928,6 +1065,9 @@ ecore_imf_context_preedit_end_event_add(Ecore_IMF_Context *ctx) | |||
928 | /** | 1065 | /** |
929 | * Adds ECORE_IMF_EVENT_PREEDIT_CHANGED to the event queue. | 1066 | * Adds ECORE_IMF_EVENT_PREEDIT_CHANGED to the event queue. |
930 | * | 1067 | * |
1068 | * It's asynchronous method to put event to the event queue. | ||
1069 | * ecore_imf_context_event_callback_call() can be used as synchronous method. | ||
1070 | * | ||
931 | * @param ctx An #Ecore_IMF_Context. | 1071 | * @param ctx An #Ecore_IMF_Context. |
932 | * @ingroup Ecore_IMF_Context_Module_Group | 1072 | * @ingroup Ecore_IMF_Context_Module_Group |
933 | */ | 1073 | */ |
@@ -962,6 +1102,9 @@ _ecore_imf_event_free_commit(void *data __UNUSED__, void *event) | |||
962 | /** | 1102 | /** |
963 | * Adds ECORE_IMF_EVENT_COMMIT to the event queue. | 1103 | * Adds ECORE_IMF_EVENT_COMMIT to the event queue. |
964 | * | 1104 | * |
1105 | * It's asynchronous method to put event to the event queue. | ||
1106 | * ecore_imf_context_event_callback_call() can be used as synchronous method. | ||
1107 | * | ||
965 | * @param ctx An #Ecore_IMF_Context. | 1108 | * @param ctx An #Ecore_IMF_Context. |
966 | * @param str The committed string. | 1109 | * @param str The committed string. |
967 | * @ingroup Ecore_IMF_Context_Module_Group | 1110 | * @ingroup Ecore_IMF_Context_Module_Group |
@@ -999,6 +1142,9 @@ _ecore_imf_event_free_delete_surrounding(void *data __UNUSED__, void *event) | |||
999 | * by adding the ECORE_IMF_EVENT_DELETE_SURROUNDING to the event queue. | 1142 | * by adding the ECORE_IMF_EVENT_DELETE_SURROUNDING to the event queue. |
1000 | * Note that offset and n_chars are in characters not in bytes. | 1143 | * Note that offset and n_chars are in characters not in bytes. |
1001 | * | 1144 | * |
1145 | * It's asynchronous method to put ECORE_IMF_EVENT_DELETE_SURROUNDING event to the event queue. | ||
1146 | * ecore_imf_context_event_callback_call() can be used as synchronous method. | ||
1147 | * | ||
1002 | * @param ctx An #Ecore_IMF_Context. | 1148 | * @param ctx An #Ecore_IMF_Context. |
1003 | * @param offset The start offset of surrounding to be deleted. | 1149 | * @param offset The start offset of surrounding to be deleted. |
1004 | * @param n_chars The number of characters to be deleted. | 1150 | * @param n_chars The number of characters to be deleted. |
@@ -1041,8 +1187,20 @@ ecore_imf_context_delete_surrounding_event_add(Ecore_IMF_Context *ctx, int offse | |||
1041 | * @param func The (callback) function to be called when the event is | 1187 | * @param func The (callback) function to be called when the event is |
1042 | * triggered | 1188 | * triggered |
1043 | * @param data The data pointer to be passed to @p func | 1189 | * @param data The data pointer to be passed to @p func |
1044 | * @ingroup Ecore_IMF_Context_Module_Group | 1190 | * @ingroup Ecore_IMF_Context_Group |
1045 | * @since 1.2.0 | 1191 | * @since 1.2.0 |
1192 | * | ||
1193 | * Example | ||
1194 | * @code | ||
1195 | * static void | ||
1196 | * _imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx, void *event_info) | ||
1197 | * { | ||
1198 | * char *commit_str = event_info; | ||
1199 | * // something to do | ||
1200 | * } | ||
1201 | * | ||
1202 | * ecore_imf_context_event_callback_add(en->imf_context, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, data); | ||
1203 | * @endcode | ||
1046 | */ | 1204 | */ |
1047 | EAPI void | 1205 | EAPI void |
1048 | ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data) | 1206 | ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_Type type, Ecore_IMF_Event_Cb func, const void *data) |
@@ -1079,10 +1237,10 @@ ecore_imf_context_event_callback_add(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ | |||
1079 | * @see ecore_imf_context_event_callback_add() for more details | 1237 | * @see ecore_imf_context_event_callback_add() for more details |
1080 | * | 1238 | * |
1081 | * @param ctx Ecore_IMF_Context to remove a callback from. | 1239 | * @param ctx Ecore_IMF_Context to remove a callback from. |
1082 | * @param type The type of event that was trigerring the callback | 1240 | * @param type The type of event that was triggering the callback |
1083 | * @param func The (callback) function that was to be called when the event was triggered | 1241 | * @param func The (callback) function that was to be called when the event was triggered |
1084 | * @return the data pointer | 1242 | * @return the data pointer |
1085 | * @ingroup Ecore_IMF_Context_Module_Group | 1243 | * @ingroup Ecore_IMF_Context_Group |
1086 | * @since 1.2.0 | 1244 | * @since 1.2.0 |
1087 | */ | 1245 | */ |
1088 | EAPI void * | 1246 | EAPI void * |
@@ -1096,7 +1254,7 @@ ecore_imf_context_event_callback_del(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ | |||
1096 | { | 1254 | { |
1097 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | 1255 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, |
1098 | "ecore_imf_context_event_callback_del"); | 1256 | "ecore_imf_context_event_callback_del"); |
1099 | return; | 1257 | return NULL; |
1100 | } | 1258 | } |
1101 | 1259 | ||
1102 | if (!func) return NULL; | 1260 | if (!func) return NULL; |
@@ -1106,7 +1264,7 @@ ecore_imf_context_event_callback_del(Ecore_IMF_Context *ctx, Ecore_IMF_Callback_ | |||
1106 | { | 1264 | { |
1107 | if ((fn) && (fn->func == func) && (fn->type == type)) | 1265 | if ((fn) && (fn->func == func) && (fn->type == type)) |
1108 | { | 1266 | { |
1109 | void *tmp = fn->data; | 1267 | void *tmp = (void *)fn->data; |
1110 | free(fn); | 1268 | free(fn); |
1111 | ctx->callbacks = eina_list_remove_list(ctx->callbacks, l); | 1269 | ctx->callbacks = eina_list_remove_list(ctx->callbacks, l); |
1112 | return tmp; | 1270 | return tmp; |
@@ -1156,11 +1314,11 @@ ecore_imf_context_event_callback_call(Ecore_IMF_Context *ctx, Ecore_IMF_Callback | |||
1156 | * Ask the Input Method Context to show the control panel of using Input Method. | 1314 | * Ask the Input Method Context to show the control panel of using Input Method. |
1157 | * | 1315 | * |
1158 | * @param ctx An #Ecore_IMF_Context. | 1316 | * @param ctx An #Ecore_IMF_Context. |
1159 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1317 | * @ingroup Ecore_IMF_Context_Group |
1160 | * @since 1.1.0 | 1318 | * @since 1.1.0 |
1161 | */ | 1319 | */ |
1162 | EAPI void | 1320 | EAPI void |
1163 | ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx) | 1321 | ecore_imf_context_control_panel_show(Ecore_IMF_Context *ctx) |
1164 | { | 1322 | { |
1165 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1323 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1166 | { | 1324 | { |
@@ -1176,11 +1334,11 @@ ecore_imf_context_control_panel_show (Ecore_IMF_Context *ctx) | |||
1176 | * Ask the Input Method Context to hide the control panel of using Input Method. | 1334 | * Ask the Input Method Context to hide the control panel of using Input Method. |
1177 | * | 1335 | * |
1178 | * @param ctx An #Ecore_IMF_Context. | 1336 | * @param ctx An #Ecore_IMF_Context. |
1179 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1337 | * @ingroup Ecore_IMF_Context_Group |
1180 | * @since 1.1.0 | 1338 | * @since 1.1.0 |
1181 | */ | 1339 | */ |
1182 | EAPI void | 1340 | EAPI void |
1183 | ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) | 1341 | ecore_imf_context_control_panel_hide(Ecore_IMF_Context *ctx) |
1184 | { | 1342 | { |
1185 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1343 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1186 | { | 1344 | { |
@@ -1196,7 +1354,7 @@ ecore_imf_context_control_panel_hide (Ecore_IMF_Context *ctx) | |||
1196 | * Ask the Input Method Context to show the input panel (virtual keyboard). | 1354 | * Ask the Input Method Context to show the input panel (virtual keyboard). |
1197 | * | 1355 | * |
1198 | * @param ctx An #Ecore_IMF_Context. | 1356 | * @param ctx An #Ecore_IMF_Context. |
1199 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1357 | * @ingroup Ecore_IMF_Context_Group |
1200 | * @since 1.1.0 | 1358 | * @since 1.1.0 |
1201 | */ | 1359 | */ |
1202 | EAPI void | 1360 | EAPI void |
@@ -1216,7 +1374,7 @@ ecore_imf_context_input_panel_show(Ecore_IMF_Context *ctx) | |||
1216 | * Ask the Input Method Context to hide the input panel. | 1374 | * Ask the Input Method Context to hide the input panel. |
1217 | * | 1375 | * |
1218 | * @param ctx An #Ecore_IMF_Context. | 1376 | * @param ctx An #Ecore_IMF_Context. |
1219 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1377 | * @ingroup Ecore_IMF_Context_Group |
1220 | * @since 1.1.0 | 1378 | * @since 1.1.0 |
1221 | */ | 1379 | */ |
1222 | EAPI void | 1380 | EAPI void |
@@ -1236,12 +1394,12 @@ ecore_imf_context_input_panel_hide(Ecore_IMF_Context *ctx) | |||
1236 | * Set the layout of the input panel. | 1394 | * Set the layout of the input panel. |
1237 | * | 1395 | * |
1238 | * @param ctx An #Ecore_IMF_Context. | 1396 | * @param ctx An #Ecore_IMF_Context. |
1239 | * @param layout see #ECORE_IMF_INPUT_PANEL_LAYOUT | 1397 | * @param layout see #Ecore_IMF_Input_Panel_Layout |
1240 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1398 | * @ingroup Ecore_IMF_Context_Group |
1241 | * @since 1.1.0 | 1399 | * @since 1.1.0 |
1242 | */ | 1400 | */ |
1243 | EAPI void | 1401 | EAPI void |
1244 | ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) | 1402 | ecore_imf_context_input_panel_layout_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout) |
1245 | { | 1403 | { |
1246 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1404 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1247 | { | 1405 | { |
@@ -1261,11 +1419,11 @@ ecore_imf_context_input_panel_layout_set (Ecore_IMF_Context *ctx, Ecore_IMF_Inpu | |||
1261 | * | 1419 | * |
1262 | * @param ctx An #Ecore_IMF_Context. | 1420 | * @param ctx An #Ecore_IMF_Context. |
1263 | * @return layout see #Ecore_IMF_Input_Panel_Layout | 1421 | * @return layout see #Ecore_IMF_Input_Panel_Layout |
1264 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1422 | * @ingroup Ecore_IMF_Context_Group |
1265 | * @since 1.1.0 | 1423 | * @since 1.1.0 |
1266 | */ | 1424 | */ |
1267 | EAPI Ecore_IMF_Input_Panel_Layout | 1425 | EAPI Ecore_IMF_Input_Panel_Layout |
1268 | ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) | 1426 | ecore_imf_context_input_panel_layout_get(Ecore_IMF_Context *ctx) |
1269 | { | 1427 | { |
1270 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1428 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1271 | { | 1429 | { |
@@ -1275,9 +1433,7 @@ ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) | |||
1275 | } | 1433 | } |
1276 | 1434 | ||
1277 | if (ctx->klass->input_panel_layout_get) | 1435 | if (ctx->klass->input_panel_layout_get) |
1278 | { | 1436 | return ctx->input_panel_layout; |
1279 | return ctx->input_panel_layout; | ||
1280 | } | ||
1281 | else | 1437 | else |
1282 | return ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID; | 1438 | return ECORE_IMF_INPUT_PANEL_LAYOUT_INVALID; |
1283 | } | 1439 | } |
@@ -1288,11 +1444,11 @@ ecore_imf_context_input_panel_layout_get (Ecore_IMF_Context *ctx) | |||
1288 | * | 1444 | * |
1289 | * @param ctx An #Ecore_IMF_Context. | 1445 | * @param ctx An #Ecore_IMF_Context. |
1290 | * @param lang the language to be set to the input panel. | 1446 | * @param lang the language to be set to the input panel. |
1291 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1447 | * @ingroup Ecore_IMF_Context_Group |
1292 | * @since 1.1.0 | 1448 | * @since 1.1.0 |
1293 | */ | 1449 | */ |
1294 | EAPI void | 1450 | EAPI void |
1295 | ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang) | 1451 | ecore_imf_context_input_panel_language_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang) |
1296 | { | 1452 | { |
1297 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1453 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1298 | { | 1454 | { |
@@ -1312,11 +1468,11 @@ ecore_imf_context_input_panel_language_set (Ecore_IMF_Context *ctx, Ecore_IMF_In | |||
1312 | * | 1468 | * |
1313 | * @param ctx An #Ecore_IMF_Context. | 1469 | * @param ctx An #Ecore_IMF_Context. |
1314 | * @return Ecore_IMF_Input_Panel_Lang | 1470 | * @return Ecore_IMF_Input_Panel_Lang |
1315 | * @ingroup Ecore_IMF_Context_IMControl_Group | 1471 | * @ingroup Ecore_IMF_Context_Group |
1316 | * @since 1.1.0 | 1472 | * @since 1.1.0 |
1317 | */ | 1473 | */ |
1318 | EAPI Ecore_IMF_Input_Panel_Lang | 1474 | EAPI Ecore_IMF_Input_Panel_Lang |
1319 | ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) | 1475 | ecore_imf_context_input_panel_language_get(Ecore_IMF_Context *ctx) |
1320 | { | 1476 | { |
1321 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1477 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1322 | { | 1478 | { |
@@ -1338,7 +1494,7 @@ ecore_imf_context_input_panel_language_get (Ecore_IMF_Context *ctx) | |||
1338 | * @since 1.1.0 | 1494 | * @since 1.1.0 |
1339 | */ | 1495 | */ |
1340 | EAPI void | 1496 | EAPI void |
1341 | ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, | 1497 | ecore_imf_context_input_panel_enabled_set(Ecore_IMF_Context *ctx, |
1342 | Eina_Bool enabled) | 1498 | Eina_Bool enabled) |
1343 | { | 1499 | { |
1344 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1500 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
@@ -1360,7 +1516,7 @@ ecore_imf_context_input_panel_enabled_set (Ecore_IMF_Context *ctx, | |||
1360 | * @since 1.1.0 | 1516 | * @since 1.1.0 |
1361 | */ | 1517 | */ |
1362 | EAPI Eina_Bool | 1518 | EAPI Eina_Bool |
1363 | ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx) | 1519 | ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx) |
1364 | { | 1520 | { |
1365 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | 1521 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) |
1366 | { | 1522 | { |
@@ -1372,3 +1528,191 @@ ecore_imf_context_input_panel_enabled_get (Ecore_IMF_Context *ctx) | |||
1372 | return ctx->input_panel_enabled; | 1528 | return ctx->input_panel_enabled; |
1373 | } | 1529 | } |
1374 | 1530 | ||
1531 | /** | ||
1532 | * Set the input panel-specific data to deliver to the input panel. | ||
1533 | * This API is used by applications to deliver specific data to the input panel. | ||
1534 | * The data format MUST be negotiated by both application and the input panel. | ||
1535 | * The size and format of data are defined by the input panel. | ||
1536 | * | ||
1537 | * @param ctx An #Ecore_IMF_Context. | ||
1538 | * @param data The specific data to be set to the input panel. | ||
1539 | * @param len the length of data, in bytes, to send to the input panel | ||
1540 | * @ingroup Ecore_IMF_Context_Group | ||
1541 | * @since 1.2.0 | ||
1542 | */ | ||
1543 | EAPI void | ||
1544 | ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void *data, int len) | ||
1545 | { | ||
1546 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1547 | { | ||
1548 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1549 | "ecore_imf_context_input_panel_imdata_set"); | ||
1550 | return; | ||
1551 | } | ||
1552 | |||
1553 | if (!data) return; | ||
1554 | |||
1555 | if (ctx->klass->input_panel_imdata_set) | ||
1556 | ctx->klass->input_panel_imdata_set(ctx, data, len); | ||
1557 | } | ||
1558 | |||
1559 | /** | ||
1560 | * Get the specific data of the current active input panel. | ||
1561 | * | ||
1562 | * @param ctx An #Ecore_IMF_Context. | ||
1563 | * @param data The specific data to be got from the input panel | ||
1564 | * @param len The length of data | ||
1565 | * @ingroup Ecore_IMF_Context_Group | ||
1566 | * @since 1.2.0 | ||
1567 | */ | ||
1568 | EAPI void | ||
1569 | ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, int *len) | ||
1570 | { | ||
1571 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1572 | { | ||
1573 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1574 | "ecore_imf_context_input_panel_imdata_get"); | ||
1575 | return; | ||
1576 | } | ||
1577 | |||
1578 | if (!data) return; | ||
1579 | |||
1580 | if (ctx->klass->input_panel_imdata_get) | ||
1581 | ctx->klass->input_panel_imdata_get(ctx, data, len); | ||
1582 | } | ||
1583 | |||
1584 | /** | ||
1585 | * Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel. | ||
1586 | * | ||
1587 | * An input panel displays the string or icon associated with this type | ||
1588 | * | ||
1589 | * @param ctx An #Ecore_IMF_Context. | ||
1590 | * @param return_key_type The type of "return" key on the input panel | ||
1591 | * @ingroup Ecore_IMF_Context_Group | ||
1592 | * @since 1.2.0 | ||
1593 | */ | ||
1594 | EAPI void | ||
1595 | ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type) | ||
1596 | { | ||
1597 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1598 | { | ||
1599 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1600 | "ecore_imf_context_input_panel_return_key_type_set"); | ||
1601 | return; | ||
1602 | } | ||
1603 | |||
1604 | ctx->input_panel_return_key_type = return_key_type; | ||
1605 | if (ctx->klass->input_panel_return_key_type_set) ctx->klass->input_panel_return_key_type_set(ctx, return_key_type); | ||
1606 | } | ||
1607 | |||
1608 | /** | ||
1609 | * Get the "return" key type. | ||
1610 | * | ||
1611 | * @see ecore_imf_context_input_panel_return_key_type_set() for more details | ||
1612 | * | ||
1613 | * @param ctx An #Ecore_IMF_Context. | ||
1614 | * @return The type of "return" key on the input panel | ||
1615 | * @ingroup Ecore_IMF_Context_Group | ||
1616 | * @since 1.2.0 | ||
1617 | */ | ||
1618 | EAPI Ecore_IMF_Input_Panel_Return_Key_Type | ||
1619 | ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx) | ||
1620 | { | ||
1621 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1622 | { | ||
1623 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1624 | "ecore_imf_context_input_panel_return_key_type_get"); | ||
1625 | return EINA_FALSE; | ||
1626 | } | ||
1627 | |||
1628 | return ctx->input_panel_return_key_type; | ||
1629 | } | ||
1630 | |||
1631 | /** | ||
1632 | * Set the return key on the input panel to be disabled. | ||
1633 | * | ||
1634 | * @param ctx An #Ecore_IMF_Context. | ||
1635 | * @param disabled The state | ||
1636 | * @ingroup Ecore_IMF_Context_Group | ||
1637 | * @since 1.2.0 | ||
1638 | */ | ||
1639 | EAPI void | ||
1640 | ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, Eina_Bool disabled) | ||
1641 | { | ||
1642 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1643 | { | ||
1644 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1645 | "ecore_imf_context_input_panel_return_key_disabled_set"); | ||
1646 | return; | ||
1647 | } | ||
1648 | |||
1649 | ctx->input_panel_return_key_disabled = disabled; | ||
1650 | if (ctx->klass->input_panel_return_key_disabled_set) ctx->klass->input_panel_return_key_disabled_set(ctx, disabled); | ||
1651 | } | ||
1652 | |||
1653 | /** | ||
1654 | * Get whether the return key on the input panel should be disabled or not. | ||
1655 | * | ||
1656 | * @param ctx An #Ecore_IMF_Context. | ||
1657 | * @return EINA_TRUE if it should be disabled | ||
1658 | * @ingroup Ecore_IMF_Context_Group | ||
1659 | * @since 1.2.0 | ||
1660 | */ | ||
1661 | EAPI Eina_Bool | ||
1662 | ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx) | ||
1663 | { | ||
1664 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1665 | { | ||
1666 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1667 | "ecore_imf_context_input_panel_return_key_disabled_get"); | ||
1668 | return EINA_FALSE; | ||
1669 | } | ||
1670 | |||
1671 | return ctx->input_panel_return_key_disabled; | ||
1672 | } | ||
1673 | |||
1674 | /** | ||
1675 | * Set the caps lock mode on the input panel. | ||
1676 | * | ||
1677 | * @param ctx An #Ecore_IMF_Context. | ||
1678 | * @param mode Turn on caps lock on the input panel if EINA_TRUE | ||
1679 | * @ingroup Ecore_IMF_Context_Group | ||
1680 | * @since 1.2.0 | ||
1681 | */ | ||
1682 | EAPI void | ||
1683 | ecore_imf_context_input_panel_caps_lock_mode_set(Ecore_IMF_Context *ctx, Eina_Bool mode) | ||
1684 | { | ||
1685 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1686 | { | ||
1687 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1688 | "ecore_imf_context_input_panel_caps_lock_mode_set"); | ||
1689 | return; | ||
1690 | } | ||
1691 | |||
1692 | if (ctx->klass->input_panel_caps_lock_mode_set) | ||
1693 | ctx->klass->input_panel_caps_lock_mode_set(ctx, mode); | ||
1694 | |||
1695 | ctx->input_panel_caps_lock_mode = mode; | ||
1696 | } | ||
1697 | |||
1698 | /** | ||
1699 | * Get the caps lock mode on the input panel. | ||
1700 | * | ||
1701 | * @param ctx An #Ecore_IMF_Context. | ||
1702 | * @return EINA_TRUE if the caps lock is turned on. | ||
1703 | * @ingroup Ecore_IMF_Context_Group | ||
1704 | * @since 1.2.0 | ||
1705 | */ | ||
1706 | EAPI Eina_Bool | ||
1707 | ecore_imf_context_input_panel_caps_lock_mode_get(Ecore_IMF_Context *ctx) | ||
1708 | { | ||
1709 | if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) | ||
1710 | { | ||
1711 | ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, | ||
1712 | "ecore_imf_context_input_panel_caps_lock_mode_get"); | ||
1713 | return EINA_FALSE; | ||
1714 | } | ||
1715 | |||
1716 | return ctx->input_panel_caps_lock_mode; | ||
1717 | } | ||
1718 | |||
diff --git a/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h b/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h index d9dae80..b4ff0f2 100644 --- a/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h +++ b/libraries/ecore/src/lib/ecore_imf/ecore_imf_private.h | |||
@@ -52,8 +52,11 @@ struct _Ecore_IMF_Context | |||
52 | Ecore_IMF_Autocapital_Type autocapital_type; | 52 | Ecore_IMF_Autocapital_Type autocapital_type; |
53 | Ecore_IMF_Input_Panel_Layout input_panel_layout; | 53 | Ecore_IMF_Input_Panel_Layout input_panel_layout; |
54 | Ecore_IMF_Input_Panel_Lang input_panel_lang; | 54 | Ecore_IMF_Input_Panel_Lang input_panel_lang; |
55 | Ecore_IMF_Input_Panel_Return_Key_Type input_panel_return_key_type; | ||
55 | Eina_Bool allow_prediction : 1; | 56 | Eina_Bool allow_prediction : 1; |
56 | Eina_Bool input_panel_enabled : 1; | 57 | Eina_Bool input_panel_enabled : 1; |
58 | Eina_Bool input_panel_return_key_disabled : 1; | ||
59 | Eina_Bool input_panel_caps_lock_mode : 1; | ||
57 | }; | 60 | }; |
58 | 61 | ||
59 | struct _Ecore_IMF_Module | 62 | struct _Ecore_IMF_Module |
diff --git a/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in b/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in index ab6503b..1542919 100644 --- a/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_imf_evas/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
192 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 191 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
193 | EVIL_LIBS = @EVIL_LIBS@ | 192 | EVIL_LIBS = @EVIL_LIBS@ |
194 | EXEEXT = @EXEEXT@ | 193 | EXEEXT = @EXEEXT@ |
194 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
195 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
195 | FGREP = @FGREP@ | 196 | FGREP = @FGREP@ |
196 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
197 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 198 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
247 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
248 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 249 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
249 | PKG_CONFIG = @PKG_CONFIG@ | 250 | PKG_CONFIG = @PKG_CONFIG@ |
251 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
252 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
250 | POSUB = @POSUB@ | 253 | POSUB = @POSUB@ |
251 | RANLIB = @RANLIB@ | 254 | RANLIB = @RANLIB@ |
252 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 255 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
257 | SED = @SED@ | 260 | SED = @SED@ |
258 | SET_MAKE = @SET_MAKE@ | 261 | SET_MAKE = @SET_MAKE@ |
259 | SHELL = @SHELL@ | 262 | SHELL = @SHELL@ |
263 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
260 | SSL_CFLAGS = @SSL_CFLAGS@ | 264 | SSL_CFLAGS = @SSL_CFLAGS@ |
261 | SSL_LIBS = @SSL_LIBS@ | 265 | SSL_LIBS = @SSL_LIBS@ |
262 | STRIP = @STRIP@ | 266 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c b/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c index 86badf5..62ba4c8 100644 --- a/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c +++ b/libraries/ecore/src/lib/ecore_imf_evas/ecore_imf_evas.c | |||
@@ -221,6 +221,28 @@ ecore_imf_evas_event_mouse_wheel_wrap(Evas_Event_Mouse_Wheel *evas_event, | |||
221 | * @param evas_event The received Evas event. | 221 | * @param evas_event The received Evas event. |
222 | * @param imf_event The location to store the converted Ecore_IMF event. | 222 | * @param imf_event The location to store the converted Ecore_IMF event. |
223 | * @ingroup Ecore_IMF_Evas_Group | 223 | * @ingroup Ecore_IMF_Evas_Group |
224 | * | ||
225 | * Example | ||
226 | * @code | ||
227 | * static void | ||
228 | * _key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) | ||
229 | * { | ||
230 | * Evas_Event_Key_Down *ev = event_info; | ||
231 | * if (!ev->keyname) return; | ||
232 | * | ||
233 | * if (imf_context) | ||
234 | * { | ||
235 | * Ecore_IMF_Event_Key_Down ecore_ev; | ||
236 | * ecore_imf_evas_event_key_down_wrap(ev, &ecore_ev); | ||
237 | * if (ecore_imf_context_filter_event(imf_context, | ||
238 | * ECORE_IMF_EVENT_KEY_DOWN, | ||
239 | * (Ecore_IMF_Event *)&ecore_ev)) | ||
240 | * return; | ||
241 | * } | ||
242 | * } | ||
243 | * | ||
244 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, data); | ||
245 | * @endcode | ||
224 | */ | 246 | */ |
225 | EAPI void | 247 | EAPI void |
226 | ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, | 248 | ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, |
@@ -244,6 +266,28 @@ ecore_imf_evas_event_key_down_wrap(Evas_Event_Key_Down *evas_event, | |||
244 | * @param evas_event The received Evas event. | 266 | * @param evas_event The received Evas event. |
245 | * @param imf_event The location to store the converted Ecore_IMF event. | 267 | * @param imf_event The location to store the converted Ecore_IMF event. |
246 | * @ingroup Ecore_IMF_Evas_Group | 268 | * @ingroup Ecore_IMF_Evas_Group |
269 | * | ||
270 | * Example | ||
271 | * @code | ||
272 | * static void | ||
273 | * _key_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) | ||
274 | * { | ||
275 | * Evas_Event_Key_Up *ev = event_info; | ||
276 | * if (!ev->keyname) return; | ||
277 | * | ||
278 | * if (imf_context) | ||
279 | * { | ||
280 | * Ecore_IMF_Event_Key_Up ecore_ev; | ||
281 | * ecore_imf_evas_event_key_up_wrap(ev, &ecore_ev); | ||
282 | * if (ecore_imf_context_filter_event(imf_context, | ||
283 | * ECORE_IMF_EVENT_KEY_UP, | ||
284 | * (Ecore_IMF_Event *)&ecore_ev)) | ||
285 | * return; | ||
286 | * } | ||
287 | * } | ||
288 | * | ||
289 | * evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_UP, _key_up_cb, data); | ||
290 | * @endcode | ||
247 | */ | 291 | */ |
248 | EAPI void | 292 | EAPI void |
249 | ecore_imf_evas_event_key_up_wrap(Evas_Event_Key_Up *evas_event, | 293 | ecore_imf_evas_event_key_up_wrap(Evas_Event_Key_Up *evas_event, |
diff --git a/libraries/ecore/src/lib/ecore_input/Makefile.in b/libraries/ecore/src/lib/ecore_input/Makefile.in index f9fc99a..a3eeb2e 100644 --- a/libraries/ecore/src/lib/ecore_input/Makefile.in +++ b/libraries/ecore/src/lib/ecore_input/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -192,6 +191,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
192 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 191 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
193 | EVIL_LIBS = @EVIL_LIBS@ | 192 | EVIL_LIBS = @EVIL_LIBS@ |
194 | EXEEXT = @EXEEXT@ | 193 | EXEEXT = @EXEEXT@ |
194 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
195 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
195 | FGREP = @FGREP@ | 196 | FGREP = @FGREP@ |
196 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
197 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 198 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -247,6 +248,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
247 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
248 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 249 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
249 | PKG_CONFIG = @PKG_CONFIG@ | 250 | PKG_CONFIG = @PKG_CONFIG@ |
251 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
252 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
250 | POSUB = @POSUB@ | 253 | POSUB = @POSUB@ |
251 | RANLIB = @RANLIB@ | 254 | RANLIB = @RANLIB@ |
252 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 255 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -257,6 +260,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
257 | SED = @SED@ | 260 | SED = @SED@ |
258 | SET_MAKE = @SET_MAKE@ | 261 | SET_MAKE = @SET_MAKE@ |
259 | SHELL = @SHELL@ | 262 | SHELL = @SHELL@ |
263 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
260 | SSL_CFLAGS = @SSL_CFLAGS@ | 264 | SSL_CFLAGS = @SSL_CFLAGS@ |
261 | SSL_LIBS = @SSL_LIBS@ | 265 | SSL_LIBS = @SSL_LIBS@ |
262 | STRIP = @STRIP@ | 266 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_input_evas/Makefile.in b/libraries/ecore/src/lib/ecore_input_evas/Makefile.in index d0ac95e..d3937d9 100644 --- a/libraries/ecore/src/lib/ecore_input_evas/Makefile.in +++ b/libraries/ecore/src/lib/ecore_input_evas/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
193 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 192 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
194 | EVIL_LIBS = @EVIL_LIBS@ | 193 | EVIL_LIBS = @EVIL_LIBS@ |
195 | EXEEXT = @EXEEXT@ | 194 | EXEEXT = @EXEEXT@ |
195 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
196 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
196 | FGREP = @FGREP@ | 197 | FGREP = @FGREP@ |
197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
198 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 199 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
249 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 250 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
250 | PKG_CONFIG = @PKG_CONFIG@ | 251 | PKG_CONFIG = @PKG_CONFIG@ |
252 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
253 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
251 | POSUB = @POSUB@ | 254 | POSUB = @POSUB@ |
252 | RANLIB = @RANLIB@ | 255 | RANLIB = @RANLIB@ |
253 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 256 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
258 | SED = @SED@ | 261 | SED = @SED@ |
259 | SET_MAKE = @SET_MAKE@ | 262 | SET_MAKE = @SET_MAKE@ |
260 | SHELL = @SHELL@ | 263 | SHELL = @SHELL@ |
264 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
261 | SSL_CFLAGS = @SSL_CFLAGS@ | 265 | SSL_CFLAGS = @SSL_CFLAGS@ |
262 | SSL_LIBS = @SSL_LIBS@ | 266 | SSL_LIBS = @SSL_LIBS@ |
263 | STRIP = @STRIP@ | 267 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_ipc/Makefile.in b/libraries/ecore/src/lib/ecore_ipc/Makefile.in index ac2cf6f..e339ffc 100644 --- a/libraries/ecore/src/lib/ecore_ipc/Makefile.in +++ b/libraries/ecore/src/lib/ecore_ipc/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
193 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 192 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
194 | EVIL_LIBS = @EVIL_LIBS@ | 193 | EVIL_LIBS = @EVIL_LIBS@ |
195 | EXEEXT = @EXEEXT@ | 194 | EXEEXT = @EXEEXT@ |
195 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
196 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
196 | FGREP = @FGREP@ | 197 | FGREP = @FGREP@ |
197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
198 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 199 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
249 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 250 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
250 | PKG_CONFIG = @PKG_CONFIG@ | 251 | PKG_CONFIG = @PKG_CONFIG@ |
252 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
253 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
251 | POSUB = @POSUB@ | 254 | POSUB = @POSUB@ |
252 | RANLIB = @RANLIB@ | 255 | RANLIB = @RANLIB@ |
253 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 256 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
258 | SED = @SED@ | 261 | SED = @SED@ |
259 | SET_MAKE = @SET_MAKE@ | 262 | SET_MAKE = @SET_MAKE@ |
260 | SHELL = @SHELL@ | 263 | SHELL = @SHELL@ |
264 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
261 | SSL_CFLAGS = @SSL_CFLAGS@ | 265 | SSL_CFLAGS = @SSL_CFLAGS@ |
262 | SSL_LIBS = @SSL_LIBS@ | 266 | SSL_LIBS = @SSL_LIBS@ |
263 | STRIP = @STRIP@ | 267 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c b/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c index e27134d..0210f1d 100644 --- a/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c +++ b/libraries/ecore/src/lib/ecore_ipc/ecore_ipc.c | |||
@@ -316,7 +316,10 @@ ecore_ipc_shutdown(void) | |||
316 | if (--_ecore_ipc_init_count != 0) | 316 | if (--_ecore_ipc_init_count != 0) |
317 | return _ecore_ipc_init_count; | 317 | return _ecore_ipc_init_count; |
318 | 318 | ||
319 | while (servers) ecore_ipc_server_del(eina_list_data_get(servers)); | 319 | Eina_List *l, *l2; |
320 | Ecore_Ipc_Server *svr; | ||
321 | EINA_LIST_FOREACH_SAFE(servers, l, l2, svr) | ||
322 | ecore_ipc_server_del(svr); | ||
320 | 323 | ||
321 | for (i = 0; i < 6; i++) | 324 | for (i = 0; i < 6; i++) |
322 | ecore_event_handler_del(handler[i]); | 325 | ecore_event_handler_del(handler[i]); |
diff --git a/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in b/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in index 487231b..54a0435 100644 --- a/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in +++ b/libraries/ecore/src/lib/ecore_psl1ght/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
194 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 193 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
195 | EVIL_LIBS = @EVIL_LIBS@ | 194 | EVIL_LIBS = @EVIL_LIBS@ |
196 | EXEEXT = @EXEEXT@ | 195 | EXEEXT = @EXEEXT@ |
196 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
197 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
197 | FGREP = @FGREP@ | 198 | FGREP = @FGREP@ |
198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 199 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
199 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 200 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 250 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
250 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 251 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
251 | PKG_CONFIG = @PKG_CONFIG@ | 252 | PKG_CONFIG = @PKG_CONFIG@ |
253 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
254 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
252 | POSUB = @POSUB@ | 255 | POSUB = @POSUB@ |
253 | RANLIB = @RANLIB@ | 256 | RANLIB = @RANLIB@ |
254 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 257 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
259 | SED = @SED@ | 262 | SED = @SED@ |
260 | SET_MAKE = @SET_MAKE@ | 263 | SET_MAKE = @SET_MAKE@ |
261 | SHELL = @SHELL@ | 264 | SHELL = @SHELL@ |
265 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
262 | SSL_CFLAGS = @SSL_CFLAGS@ | 266 | SSL_CFLAGS = @SSL_CFLAGS@ |
263 | SSL_LIBS = @SSL_LIBS@ | 267 | SSL_LIBS = @SSL_LIBS@ |
264 | STRIP = @STRIP@ | 268 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_sdl/Makefile.in b/libraries/ecore/src/lib/ecore_sdl/Makefile.in index c0312b0..50003ab 100644 --- a/libraries/ecore/src/lib/ecore_sdl/Makefile.in +++ b/libraries/ecore/src/lib/ecore_sdl/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -193,6 +192,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
193 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 192 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
194 | EVIL_LIBS = @EVIL_LIBS@ | 193 | EVIL_LIBS = @EVIL_LIBS@ |
195 | EXEEXT = @EXEEXT@ | 194 | EXEEXT = @EXEEXT@ |
195 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
196 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
196 | FGREP = @FGREP@ | 197 | FGREP = @FGREP@ |
197 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
198 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 199 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -248,6 +249,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
248 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
249 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 250 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
250 | PKG_CONFIG = @PKG_CONFIG@ | 251 | PKG_CONFIG = @PKG_CONFIG@ |
252 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
253 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
251 | POSUB = @POSUB@ | 254 | POSUB = @POSUB@ |
252 | RANLIB = @RANLIB@ | 255 | RANLIB = @RANLIB@ |
253 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 256 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -258,6 +261,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
258 | SED = @SED@ | 261 | SED = @SED@ |
259 | SET_MAKE = @SET_MAKE@ | 262 | SET_MAKE = @SET_MAKE@ |
260 | SHELL = @SHELL@ | 263 | SHELL = @SHELL@ |
264 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
261 | SSL_CFLAGS = @SSL_CFLAGS@ | 265 | SSL_CFLAGS = @SSL_CFLAGS@ |
262 | SSL_LIBS = @SSL_LIBS@ | 266 | SSL_LIBS = @SSL_LIBS@ |
263 | STRIP = @STRIP@ | 267 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h b/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h index fdf6314..7dab37c 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/libraries/ecore/src/lib/ecore_wayland/Ecore_Wayland.h | |||
@@ -1,8 +1,13 @@ | |||
1 | #ifndef _ECORE_WAYLAND_H_ | 1 | #ifndef _ECORE_WAYLAND_H_ |
2 | # define _ECORE_WAYLAND_H_ | 2 | # define _ECORE_WAYLAND_H_ |
3 | 3 | ||
4 | # define GL_GLEXT_PROTOTYPES | ||
5 | |||
4 | # include <Eina.h> | 6 | # include <Eina.h> |
5 | # include <wayland-client.h> | 7 | # include <wayland-client.h> |
8 | # include <wayland-egl.h> // NB: already includes wayland-client.h | ||
9 | # include <EGL/egl.h> | ||
10 | # include <EGL/eglext.h> | ||
6 | 11 | ||
7 | # ifdef EAPI | 12 | # ifdef EAPI |
8 | # undef EAPI | 13 | # undef EAPI |
@@ -18,71 +23,233 @@ | |||
18 | # define EAPI | 23 | # define EAPI |
19 | # endif | 24 | # endif |
20 | 25 | ||
26 | typedef enum _Ecore_Wl_Window_Type Ecore_Wl_Window_Type; | ||
27 | typedef enum _Ecore_Wl_Window_Buffer_Type Ecore_Wl_Window_Buffer_Type; | ||
28 | |||
29 | typedef struct _Ecore_Wl_Display Ecore_Wl_Display; | ||
30 | typedef struct _Ecore_Wl_Output Ecore_Wl_Output; | ||
31 | typedef struct _Ecore_Wl_Input Ecore_Wl_Input; | ||
32 | # ifndef _ECORE_WAYLAND_WINDOW_PREDEF | ||
33 | typedef struct _Ecore_Wl_Window Ecore_Wl_Window; | ||
34 | # endif | ||
35 | typedef struct _Ecore_Wl_Dnd_Source Ecore_Wl_Dnd_Source; | ||
36 | typedef struct _Ecore_Wl_Dnd_Target Ecore_Wl_Dnd_Target; | ||
37 | |||
21 | typedef struct _Ecore_Wl_Event_Mouse_In Ecore_Wl_Event_Mouse_In; | 38 | typedef struct _Ecore_Wl_Event_Mouse_In Ecore_Wl_Event_Mouse_In; |
22 | typedef struct _Ecore_Wl_Event_Mouse_Out Ecore_Wl_Event_Mouse_Out; | 39 | typedef struct _Ecore_Wl_Event_Mouse_Out Ecore_Wl_Event_Mouse_Out; |
23 | typedef struct _Ecore_Wl_Event_Focus_In Ecore_Wl_Event_Focus_In; | 40 | typedef struct _Ecore_Wl_Event_Focus_In Ecore_Wl_Event_Focus_In; |
24 | typedef struct _Ecore_Wl_Event_Focus_Out Ecore_Wl_Event_Focus_Out; | 41 | typedef struct _Ecore_Wl_Event_Focus_Out Ecore_Wl_Event_Focus_Out; |
42 | typedef struct _Ecore_Wl_Event_Window_Configure Ecore_Wl_Event_Window_Configure; | ||
43 | typedef struct _Ecore_Wl_Event_Dnd_Enter Ecore_Wl_Event_Dnd_Enter; | ||
44 | typedef struct _Ecore_Wl_Event_Dnd_Position Ecore_Wl_Event_Dnd_Position; | ||
45 | typedef struct _Ecore_Wl_Event_Dnd_Leave Ecore_Wl_Event_Dnd_Leave; | ||
46 | typedef struct _Ecore_Wl_Event_Dnd_Drop Ecore_Wl_Event_Dnd_Drop; | ||
47 | typedef struct _Ecore_Wl_Event_Interfaces_Bound Ecore_Wl_Event_Interfaces_Bound; | ||
25 | 48 | ||
26 | typedef struct _Ecore_Wl_Drag_Source Ecore_Wl_Drag_Source; | 49 | enum _Ecore_Wl_Window_Type |
50 | { | ||
51 | ECORE_WL_WINDOW_TYPE_TOPLEVEL, | ||
52 | ECORE_WL_WINDOW_TYPE_FULLSCREEN, | ||
53 | ECORE_WL_WINDOW_TYPE_MAXIMIZED, | ||
54 | ECORE_WL_WINDOW_TYPE_TRANSIENT, | ||
55 | ECORE_WL_WINDOW_TYPE_MENU, | ||
56 | ECORE_WL_WINDOW_TYPE_CUSTOM | ||
57 | }; | ||
27 | 58 | ||
28 | typedef struct _Ecore_Wl_Event_Drag_Start Ecore_Wl_Event_Drag_Start; | 59 | enum _Ecore_Wl_Window_Buffer_Type |
29 | typedef struct _Ecore_Wl_Event_Drag_Stop Ecore_Wl_Event_Drag_Stop; | 60 | { |
61 | ECORE_WL_WINDOW_BUFFER_TYPE_EGL_WINDOW, | ||
62 | ECORE_WL_WINDOW_BUFFER_TYPE_EGL_IMAGE, | ||
63 | ECORE_WL_WINDOW_BUFFER_TYPE_SHM | ||
64 | }; | ||
30 | 65 | ||
31 | struct _Ecore_Wl_Event_Mouse_In | 66 | struct _Ecore_Wl_Display |
32 | { | 67 | { |
33 | int modifiers; | 68 | struct |
34 | int x, y; | 69 | { |
70 | struct wl_display *display; | ||
71 | struct wl_compositor *compositor; | ||
72 | struct wl_shell *shell; | ||
73 | struct wl_shm *shm; | ||
74 | struct wl_data_device_manager *data_device_manager; | ||
75 | } wl; | ||
35 | 76 | ||
36 | struct | 77 | struct |
37 | { | 78 | { |
38 | int x, y; | 79 | EGLDisplay display; |
39 | } root; | 80 | EGLConfig rgb_config; |
81 | EGLConfig argb_config; | ||
82 | EGLContext rgb_context; | ||
83 | EGLContext argb_context; | ||
84 | } egl; | ||
85 | |||
86 | int fd; | ||
87 | unsigned int mask; | ||
88 | Ecore_Fd_Handler *fd_hdl; | ||
89 | |||
90 | struct wl_list inputs; | ||
91 | struct wl_list outputs; | ||
92 | |||
93 | struct xkb_desc *xkb; | ||
94 | |||
95 | Ecore_Wl_Output *output; | ||
96 | |||
97 | PFNEGLCREATEIMAGEKHRPROC create_image; | ||
98 | PFNEGLDESTROYIMAGEKHRPROC destroy_image; | ||
99 | |||
100 | void (*output_configure)(Ecore_Wl_Output *output, void *data); | ||
101 | void *data; | ||
102 | }; | ||
103 | |||
104 | struct _Ecore_Wl_Output | ||
105 | { | ||
106 | Ecore_Wl_Display *display; | ||
107 | struct wl_output *output; | ||
108 | Eina_Rectangle allocation; | ||
109 | struct wl_list link; | ||
110 | |||
111 | void (*destroy) (Ecore_Wl_Output *output, void *data); | ||
112 | void *data; | ||
113 | }; | ||
114 | |||
115 | struct _Ecore_Wl_Input | ||
116 | { | ||
117 | Ecore_Wl_Display *display; | ||
118 | struct wl_input_device *input_device; | ||
119 | struct wl_data_device *data_device; | ||
120 | |||
121 | Ecore_Wl_Window *pointer_focus; | ||
122 | Ecore_Wl_Window *keyboard_focus; | ||
123 | |||
124 | unsigned int button; | ||
125 | unsigned int timestamp; | ||
126 | unsigned int modifiers; | ||
127 | int sx, sy; | ||
128 | |||
129 | struct wl_list link; | ||
130 | |||
131 | /* TODO: grab */ | ||
132 | unsigned int grab_button; | ||
133 | |||
134 | Ecore_Wl_Dnd_Source *drag_source; | ||
135 | Ecore_Wl_Dnd_Source *selection_source; | ||
136 | }; | ||
40 | 137 | ||
41 | unsigned int window; | 138 | struct _Ecore_Wl_Window |
139 | { | ||
140 | Ecore_Wl_Display *display; | ||
141 | Ecore_Wl_Window *parent; | ||
142 | |||
143 | struct wl_surface *surface; | ||
144 | struct wl_shell_surface *shell_surface; | ||
145 | |||
146 | int id; | ||
147 | int x, y; | ||
148 | int edges; | ||
149 | |||
150 | Eina_Rectangle allocation, pending_allocation; | ||
151 | Eina_Rectangle saved_allocation, server_allocation; | ||
42 | 152 | ||
43 | unsigned int time; | 153 | /* Eina_Bool redraw_scheduled : 1; */ |
154 | /* Eina_Bool resize_scheduled : 1; */ | ||
155 | Eina_Bool transparent : 1; | ||
156 | |||
157 | Ecore_Wl_Window_Type type; | ||
158 | Ecore_Wl_Window_Buffer_Type buffer_type; | ||
159 | |||
160 | Ecore_Wl_Input *pointer_device; | ||
161 | Ecore_Wl_Input *keyboard_device; | ||
162 | |||
163 | void *data; | ||
44 | }; | 164 | }; |
45 | 165 | ||
46 | struct _Ecore_Wl_Event_Mouse_Out | 166 | struct _Ecore_Wl_Event_Mouse_In |
47 | { | 167 | { |
48 | int modifiers; | 168 | int modifiers; |
49 | int x, y; | 169 | int x, y; |
170 | struct | ||
171 | { | ||
172 | int x, y; | ||
173 | } root; | ||
174 | unsigned int win; | ||
175 | unsigned int event_win; | ||
176 | unsigned int root_win; | ||
177 | unsigned int timestamp; | ||
178 | }; | ||
50 | 179 | ||
180 | struct _Ecore_Wl_Event_Mouse_Out | ||
181 | { | ||
182 | int modifiers; | ||
183 | int x, y; | ||
51 | struct | 184 | struct |
52 | { | 185 | { |
53 | int x, y; | 186 | int x, y; |
54 | } root; | 187 | } root; |
188 | unsigned int win; | ||
189 | unsigned int event_win; | ||
190 | unsigned int root_win; | ||
191 | unsigned int timestamp; | ||
192 | }; | ||
55 | 193 | ||
56 | unsigned int window; | 194 | struct _Ecore_Wl_Event_Focus_In |
195 | { | ||
196 | unsigned int win; | ||
197 | unsigned int timestamp; | ||
198 | }; | ||
57 | 199 | ||
58 | unsigned int time; | 200 | struct _Ecore_Wl_Event_Focus_Out |
201 | { | ||
202 | unsigned int win; | ||
203 | unsigned int timestamp; | ||
59 | }; | 204 | }; |
60 | 205 | ||
61 | struct _Ecore_Wl_Event_Focus_In | 206 | struct _Ecore_Wl_Event_Window_Configure |
62 | { | 207 | { |
63 | unsigned int window; | 208 | unsigned int win; |
64 | /* TODO: mode & detail */ | 209 | unsigned int event_win; |
65 | unsigned int time; | 210 | int x, y, w, h; |
211 | unsigned int timestamp; | ||
66 | }; | 212 | }; |
67 | 213 | ||
68 | struct _Ecore_Wl_Event_Focus_Out | 214 | struct _Ecore_Wl_Event_Dnd_Enter |
69 | { | 215 | { |
70 | unsigned int window; | 216 | unsigned int win, source; |
71 | /* TODO: mode & detail */ | 217 | char **types; |
72 | unsigned int time; | 218 | int num_types; |
219 | struct | ||
220 | { | ||
221 | int x, y; | ||
222 | } position; | ||
73 | }; | 223 | }; |
74 | 224 | ||
75 | struct _Ecore_Wl_Event_Drag_Start | 225 | struct _Ecore_Wl_Event_Dnd_Position |
76 | { | 226 | { |
77 | struct wl_data_device *device; | 227 | unsigned int win, source; |
78 | struct wl_surface *surface; | 228 | struct |
79 | const char *mime_type; | 229 | { |
80 | uint32_t timestamp; | 230 | int x, y; |
231 | } position; | ||
81 | }; | 232 | }; |
82 | 233 | ||
83 | struct _Ecore_Wl_Event_Drag_Stop | 234 | struct _Ecore_Wl_Event_Dnd_Leave |
84 | { | 235 | { |
236 | unsigned int win, source; | ||
237 | }; | ||
85 | 238 | ||
239 | struct _Ecore_Wl_Event_Dnd_Drop | ||
240 | { | ||
241 | unsigned int win, source; | ||
242 | struct | ||
243 | { | ||
244 | int x, y; | ||
245 | } position; | ||
246 | }; | ||
247 | |||
248 | struct _Ecore_Wl_Event_Interfaces_Bound | ||
249 | { | ||
250 | Eina_Bool compositor : 1; | ||
251 | Eina_Bool shm : 1; | ||
252 | Eina_Bool shell : 1; | ||
86 | }; | 253 | }; |
87 | 254 | ||
88 | /** | 255 | /** |
@@ -92,32 +259,46 @@ struct _Ecore_Wl_Event_Drag_Stop | |||
92 | * Ecore_Wl provides a wrapper and convenience functions for using the | 259 | * Ecore_Wl provides a wrapper and convenience functions for using the |
93 | * Wayland window system. Function groups for this part of the library | 260 | * Wayland window system. Function groups for this part of the library |
94 | * include the following: | 261 | * include the following: |
262 | * | ||
95 | * @li @ref Ecore_Wl_Init_Group | 263 | * @li @ref Ecore_Wl_Init_Group |
264 | * @li @ref Ecore_Wl_Display_Group | ||
265 | * @li @ref Ecore_Wl_Flush_Group | ||
266 | * @li @ref Ecore_Wl_Window_Group | ||
96 | */ | 267 | */ |
97 | 268 | ||
269 | EAPI extern int ECORE_WL_EVENT_MOUSE_IN; | ||
270 | EAPI extern int ECORE_WL_EVENT_MOUSE_OUT; | ||
271 | EAPI extern int ECORE_WL_EVENT_FOCUS_IN; | ||
272 | EAPI extern int ECORE_WL_EVENT_FOCUS_OUT; | ||
273 | EAPI extern int ECORE_WL_EVENT_WINDOW_CONFIGURE; | ||
274 | EAPI extern int ECORE_WL_EVENT_DND_ENTER; | ||
275 | EAPI extern int ECORE_WL_EVENT_DND_POSITION; | ||
276 | EAPI extern int ECORE_WL_EVENT_DND_LEAVE; | ||
277 | EAPI extern int ECORE_WL_EVENT_DND_DROP; | ||
278 | EAPI extern int ECORE_WL_EVENT_INTERFACES_BOUND; | ||
279 | |||
98 | EAPI int ecore_wl_init(const char *name); | 280 | EAPI int ecore_wl_init(const char *name); |
99 | EAPI int ecore_wl_shutdown(void); | 281 | EAPI int ecore_wl_shutdown(void); |
100 | |||
101 | EAPI struct wl_display *ecore_wl_display_get(void); | ||
102 | EAPI struct wl_shm *ecore_wl_shm_get(void); | ||
103 | EAPI struct wl_compositor *ecore_wl_compositor_get(void); | ||
104 | EAPI struct wl_shell *ecore_wl_shell_get(void); | ||
105 | EAPI struct wl_input_device *ecore_wl_input_device_get(void); | ||
106 | EAPI void ecore_wl_screen_size_get(int *w, int *h); | ||
107 | EAPI unsigned int ecore_wl_format_get(void); | ||
108 | EAPI void ecore_wl_flush(void); | 282 | EAPI void ecore_wl_flush(void); |
109 | EAPI void ecore_wl_sync(void); | 283 | EAPI void ecore_wl_sync(void); |
284 | EAPI struct wl_shm *ecore_wl_shm_get(void); | ||
285 | EAPI struct wl_display *ecore_wl_display_get(void); | ||
286 | EAPI void ecore_wl_screen_size_get(int *w, int *h); | ||
110 | EAPI void ecore_wl_pointer_xy_get(int *x, int *y); | 287 | EAPI void ecore_wl_pointer_xy_get(int *x, int *y); |
111 | 288 | ||
112 | EAPI Ecore_Wl_Drag_Source *ecore_wl_drag_source_create(int hotspot_x, int hotspot_y, int offset_x, int offset_y, const char *mimetype, unsigned int timestamp, void *data); | 289 | EAPI Ecore_Wl_Window *ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buffer_type); |
113 | EAPI void ecore_wl_drag_start(Ecore_Wl_Drag_Source *source, struct wl_surface *surface, struct wl_buffer *buffer); | 290 | EAPI void ecore_wl_window_free(Ecore_Wl_Window *win); |
114 | EAPI void ecore_wl_drag_stop(void); | 291 | EAPI void ecore_wl_window_move(Ecore_Wl_Window *win, int x, int y); |
115 | 292 | EAPI void ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location); | |
116 | EAPI extern int ECORE_WL_EVENT_MOUSE_IN; | 293 | EAPI void ecore_wl_window_damage(Ecore_Wl_Window *win, int x, int y, int w, int h); |
117 | EAPI extern int ECORE_WL_EVENT_MOUSE_OUT; | 294 | EAPI void ecore_wl_window_buffer_attach(Ecore_Wl_Window *win, struct wl_buffer *buffer, int x, int y); |
118 | EAPI extern int ECORE_WL_EVENT_FOCUS_IN; | 295 | EAPI void ecore_wl_window_show(Ecore_Wl_Window *win); |
119 | EAPI extern int ECORE_WL_EVENT_FOCUS_OUT; | 296 | EAPI void ecore_wl_window_hide(Ecore_Wl_Window *win); |
120 | EAPI extern int ECORE_WL_EVENT_DRAG_START; | 297 | EAPI void ecore_wl_window_raise(Ecore_Wl_Window *win); |
121 | EAPI extern int ECORE_WL_EVENT_DRAG_STOP; | 298 | EAPI void ecore_wl_window_maximized_set(Ecore_Wl_Window *win, Eina_Bool maximized); |
299 | EAPI void ecore_wl_window_fullscreen_set(Ecore_Wl_Window *win, Eina_Bool fullscreen); | ||
300 | EAPI void ecore_wl_window_update_size(Ecore_Wl_Window *win, int w, int h); | ||
301 | EAPI struct wl_surface *ecore_wl_window_surface_get(Ecore_Wl_Window *win); | ||
302 | EAPI Ecore_Wl_Window *ecore_wl_window_find(unsigned int id); | ||
122 | 303 | ||
123 | #endif | 304 | #endif |
diff --git a/libraries/ecore/src/lib/ecore_wayland/Makefile.am b/libraries/ecore/src/lib/ecore_wayland/Makefile.am index ea005b2..f6b801d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Makefile.am +++ b/libraries/ecore/src/lib/ecore_wayland/Makefile.am | |||
@@ -14,9 +14,11 @@ includes_HEADERS = Ecore_Wayland.h | |||
14 | includesdir = $(includedir)/ecore-@VMAJ@ | 14 | includesdir = $(includedir)/ecore-@VMAJ@ |
15 | 15 | ||
16 | libecore_wayland_la_SOURCES = \ | 16 | libecore_wayland_la_SOURCES = \ |
17 | ecore_wl.c | 17 | ecore_wl.c \ |
18 | 18 | ecore_wl_output.c \ | |
19 | ## ecore_wl_window.c | 19 | ecore_wl_input.c \ |
20 | ecore_wl_window.c \ | ||
21 | ecore_wl_dnd.c | ||
20 | 22 | ||
21 | libecore_wayland_la_LIBADD = \ | 23 | libecore_wayland_la_LIBADD = \ |
22 | $(top_builddir)/src/lib/ecore/libecore.la \ | 24 | $(top_builddir)/src/lib/ecore/libecore.la \ |
diff --git a/libraries/ecore/src/lib/ecore_wayland/Makefile.in b/libraries/ecore/src/lib/ecore_wayland/Makefile.in index 411da19..39c633d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/Makefile.in +++ b/libraries/ecore/src/lib/ecore_wayland/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -86,7 +85,8 @@ am__base_list = \ | |||
86 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | 85 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' |
87 | am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)" | 86 | am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includesdir)" |
88 | LTLIBRARIES = $(lib_LTLIBRARIES) | 87 | LTLIBRARIES = $(lib_LTLIBRARIES) |
89 | am_libecore_wayland_la_OBJECTS = ecore_wl.lo | 88 | am_libecore_wayland_la_OBJECTS = ecore_wl.lo ecore_wl_output.lo \ |
89 | ecore_wl_input.lo ecore_wl_window.lo ecore_wl_dnd.lo | ||
90 | libecore_wayland_la_OBJECTS = $(am_libecore_wayland_la_OBJECTS) | 90 | libecore_wayland_la_OBJECTS = $(am_libecore_wayland_la_OBJECTS) |
91 | AM_V_lt = $(am__v_lt_$(V)) | 91 | AM_V_lt = $(am__v_lt_$(V)) |
92 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) | 92 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) |
@@ -190,6 +190,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
190 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 190 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
191 | EVIL_LIBS = @EVIL_LIBS@ | 191 | EVIL_LIBS = @EVIL_LIBS@ |
192 | EXEEXT = @EXEEXT@ | 192 | EXEEXT = @EXEEXT@ |
193 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
194 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
193 | FGREP = @FGREP@ | 195 | FGREP = @FGREP@ |
194 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 196 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
195 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 197 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -245,6 +247,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
245 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 247 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
246 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 248 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
247 | PKG_CONFIG = @PKG_CONFIG@ | 249 | PKG_CONFIG = @PKG_CONFIG@ |
250 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
251 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
248 | POSUB = @POSUB@ | 252 | POSUB = @POSUB@ |
249 | RANLIB = @RANLIB@ | 253 | RANLIB = @RANLIB@ |
250 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 254 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -255,6 +259,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
255 | SED = @SED@ | 259 | SED = @SED@ |
256 | SET_MAKE = @SET_MAKE@ | 260 | SET_MAKE = @SET_MAKE@ |
257 | SHELL = @SHELL@ | 261 | SHELL = @SHELL@ |
262 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
258 | SSL_CFLAGS = @SSL_CFLAGS@ | 263 | SSL_CFLAGS = @SSL_CFLAGS@ |
259 | SSL_LIBS = @SSL_LIBS@ | 264 | SSL_LIBS = @SSL_LIBS@ |
260 | STRIP = @STRIP@ | 265 | STRIP = @STRIP@ |
@@ -482,7 +487,11 @@ lib_LTLIBRARIES = libecore_wayland.la | |||
482 | includes_HEADERS = Ecore_Wayland.h | 487 | includes_HEADERS = Ecore_Wayland.h |
483 | includesdir = $(includedir)/ecore-@VMAJ@ | 488 | includesdir = $(includedir)/ecore-@VMAJ@ |
484 | libecore_wayland_la_SOURCES = \ | 489 | libecore_wayland_la_SOURCES = \ |
485 | ecore_wl.c | 490 | ecore_wl.c \ |
491 | ecore_wl_output.c \ | ||
492 | ecore_wl_input.c \ | ||
493 | ecore_wl_window.c \ | ||
494 | ecore_wl_dnd.c | ||
486 | 495 | ||
487 | libecore_wayland_la_LIBADD = \ | 496 | libecore_wayland_la_LIBADD = \ |
488 | $(top_builddir)/src/lib/ecore/libecore.la \ | 497 | $(top_builddir)/src/lib/ecore/libecore.la \ |
@@ -569,6 +578,10 @@ distclean-compile: | |||
569 | -rm -f *.tab.c | 578 | -rm -f *.tab.c |
570 | 579 | ||
571 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl.Plo@am__quote@ | 580 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl.Plo@am__quote@ |
581 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_dnd.Plo@am__quote@ | ||
582 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_input.Plo@am__quote@ | ||
583 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_output.Plo@am__quote@ | ||
584 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecore_wl_window.Plo@am__quote@ | ||
572 | 585 | ||
573 | .c.o: | 586 | .c.o: |
574 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | 587 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< |
diff --git a/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c b/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c index f62503b..5f1b20d 100644 --- a/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c +++ b/libraries/ecore/src/lib/ecore_wayland/ecore_wl.c | |||
@@ -1,16 +1,11 @@ | |||
1 | #ifdef HAVE_CONFIG_H | 1 | #ifdef HAVE_CONFIG_H |
2 | # include "config.h" | 2 | # include <config.h> |
3 | #endif | 3 | #endif |
4 | 4 | ||
5 | #include "Ecore.h" | 5 | #include <fcntl.h> |
6 | #include "ecore_private.h" | ||
7 | #include "Ecore_Input.h" | ||
8 | #include "ecore_wl_private.h" | ||
9 | #include "Ecore_Wayland.h" | ||
10 | 6 | ||
11 | /* FIXME: This gives BTN_LEFT/RIGHT/MIDDLE for linux systems ... | 7 | /* FIXME: This gives BTN_LEFT/RIGHT/MIDDLE for linux systems ... |
12 | * What about other OSs ?? */ | 8 | * What about other OSs ?? */ |
13 | #include <fcntl.h> | ||
14 | #ifdef __linux__ | 9 | #ifdef __linux__ |
15 | # include <linux/input.h> | 10 | # include <linux/input.h> |
16 | #else | 11 | #else |
@@ -23,150 +18,86 @@ | |||
23 | # define BTN_BACK 0x116 | 18 | # define BTN_BACK 0x116 |
24 | #endif | 19 | #endif |
25 | 20 | ||
26 | #include <X11/extensions/XKBcommon.h> | 21 | #include "Ecore.h" |
22 | #include "ecore_private.h" | ||
23 | #include "Ecore_Input.h" | ||
24 | #include "ecore_wl_private.h" | ||
25 | #include "Ecore_Wayland.h" | ||
27 | 26 | ||
28 | /* local function prototypes */ | 27 | /* local function prototypes */ |
29 | static Eina_Bool _ecore_wl_shutdown(Eina_Bool close_display); | 28 | static Eina_Bool _ecore_wl_shutdown(Eina_Bool close); |
30 | static void _ecore_wl_cb_disp_handle_global(struct wl_display *disp, uint32_t id, const char *interface, uint32_t version __UNUSED__, void *data __UNUSED__); | 29 | static int _ecore_wl_cb_event_mask_update(unsigned int mask, void *data); |
31 | static int _ecore_wl_cb_disp_event_mask_update(uint32_t mask, void *data __UNUSED__); | 30 | static Eina_Bool _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl __UNUSED__); |
32 | static void _ecore_wl_cb_disp_handle_geometry(void *data __UNUSED__, struct wl_output *output __UNUSED__, int x, int y, int pw __UNUSED__, int ph __UNUSED__, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__); | 31 | static void _ecore_wl_cb_handle_global(struct wl_display *disp, unsigned int id, const char *interface, unsigned int version __UNUSED__, void *data); |
33 | static void _ecore_wl_cb_disp_handle_mode(void *data __UNUSED__, struct wl_output *output __UNUSED__, uint32_t flags, int w, int h, int refresh __UNUSED__); | 32 | static Eina_Bool _ecore_wl_egl_init(Ecore_Wl_Display *ewd); |
34 | static Eina_Bool _ecore_wl_cb_fd_handle(void *data, Ecore_Fd_Handler *hdl __UNUSED__); | 33 | static Eina_Bool _ecore_wl_egl_shutdown(Ecore_Wl_Display *ewd); |
35 | static void _ecore_wl_cb_handle_motion(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, int32_t x, int32_t y, int32_t sx, int32_t sy); | 34 | static Eina_Bool _ecore_wl_xkb_init(Ecore_Wl_Display *ewd); |
36 | static void _ecore_wl_cb_handle_button(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, uint32_t btn, uint32_t state); | 35 | static Eina_Bool _ecore_wl_xkb_shutdown(Ecore_Wl_Display *ewd); |
37 | static void _ecore_wl_cb_handle_key(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, uint32_t key, uint32_t state); | ||
38 | static void _ecore_wl_cb_handle_pointer_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, int32_t x, int32_t y, int32_t sx, int32_t sy); | ||
39 | static void _ecore_wl_cb_handle_keyboard_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, struct wl_surface *surface, struct wl_array *keys); | ||
40 | static void _ecore_wl_cb_handle_touch_down(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, struct wl_surface *surface, int32_t id, int32_t x, int32_t y); | ||
41 | static void _ecore_wl_cb_handle_touch_up(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id); | ||
42 | static void _ecore_wl_cb_handle_touch_motion(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id, int32_t x, int32_t y); | ||
43 | static void _ecore_wl_cb_handle_touch_frame(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__); | ||
44 | static void _ecore_wl_cb_handle_touch_cancel(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__); | ||
45 | static void _ecore_wl_cb_source_target(void *data, struct wl_data_source *source __UNUSED__, const char *mime_type __UNUSED__); | ||
46 | static void _ecore_wl_cb_source_send(void *data, struct wl_data_source *source, const char *mime_type, int32_t fd); | ||
47 | static void _ecore_wl_cb_source_cancelled(void *data, struct wl_data_source *source __UNUSED__); | ||
48 | static void _ecore_wl_cb_source_offer(void *data, struct wl_data_offer *offer __UNUSED__, const char *type); | ||
49 | static void _ecore_wl_cb_data_offer(void *data, struct wl_data_device *data_dev, uint32_t id); | ||
50 | static void _ecore_wl_cb_data_enter(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, struct wl_surface *surface, int32_t x, int32_t y, struct wl_data_offer *offer); | ||
51 | static void _ecore_wl_cb_data_leave(void *data __UNUSED__, struct wl_data_device *data_dev); | ||
52 | static void _ecore_wl_cb_data_motion(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, int32_t x, int32_t y); | ||
53 | static void _ecore_wl_cb_data_drop(void *data __UNUSED__, struct wl_data_device *data_dev); | ||
54 | static void _ecore_wl_cb_data_selection(void *data, struct wl_data_device *data_dev, struct wl_data_offer *offer); | ||
55 | |||
56 | static void _ecore_wl_mouse_move_send(uint32_t timestamp); | ||
57 | static void _ecore_wl_mouse_out_send(struct wl_surface *surface, uint32_t timestamp); | ||
58 | static void _ecore_wl_mouse_in_send(struct wl_surface *surface, uint32_t timestamp); | ||
59 | static void _ecore_wl_mouse_up_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp); | ||
60 | static void _ecore_wl_mouse_down_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp); | ||
61 | static void _ecore_wl_focus_out_send(struct wl_surface *surface, uint32_t timestamp); | ||
62 | static void _ecore_wl_focus_in_send(struct wl_surface *surface, uint32_t timestamp); | ||
63 | 36 | ||
64 | /* local variables */ | 37 | /* local variables */ |
65 | static int _ecore_wl_init_count = 0; | 38 | static int _ecore_wl_init_count = 0; |
66 | static struct wl_display *_ecore_wl_disp = NULL; | ||
67 | static uint32_t _ecore_wl_disp_mask = 0; | ||
68 | static uint32_t _ecore_wl_disp_format = WL_SHM_FORMAT_ARGB8888; | ||
69 | static Eina_Rectangle _ecore_wl_screen; | ||
70 | static Ecore_Fd_Handler *_ecore_wl_fd_hdl = NULL; | ||
71 | static int _ecore_wl_screen_x = 0; | ||
72 | static int _ecore_wl_screen_y = 0; | ||
73 | static int _ecore_wl_surface_x = 0; | ||
74 | static int _ecore_wl_surface_y = 0; | ||
75 | static int _ecore_wl_touch_x = 0; | ||
76 | static int _ecore_wl_touch_y = 0; | ||
77 | static int _ecore_wl_input_modifiers = 0; | ||
78 | static struct xkb_desc *_ecore_wl_xkb; | ||
79 | static uint32_t _ecore_wl_input_button = 0; | ||
80 | |||
81 | static struct wl_compositor *_ecore_wl_comp; | ||
82 | static struct wl_shm *_ecore_wl_shm; | ||
83 | static struct wl_shell *_ecore_wl_shell; | ||
84 | static struct wl_output *_ecore_wl_output; | ||
85 | static struct wl_input_device *_ecore_wl_input_dev; | ||
86 | static struct wl_surface *_ecore_wl_input_surface; | ||
87 | static struct wl_surface *_ecore_wl_touch_surface; | ||
88 | static struct wl_data_device_manager *_ecore_wl_data_manager; | ||
89 | static struct wl_data_device *_ecore_wl_data_dev; | ||
90 | |||
91 | static const struct wl_output_listener _ecore_wl_output_listener = | ||
92 | { | ||
93 | _ecore_wl_cb_disp_handle_geometry, | ||
94 | _ecore_wl_cb_disp_handle_mode | ||
95 | }; | ||
96 | static const struct wl_input_device_listener _ecore_wl_input_listener = | ||
97 | { | ||
98 | _ecore_wl_cb_handle_motion, | ||
99 | _ecore_wl_cb_handle_button, | ||
100 | _ecore_wl_cb_handle_key, | ||
101 | _ecore_wl_cb_handle_pointer_focus, | ||
102 | _ecore_wl_cb_handle_keyboard_focus, | ||
103 | _ecore_wl_cb_handle_touch_down, | ||
104 | _ecore_wl_cb_handle_touch_up, | ||
105 | _ecore_wl_cb_handle_touch_motion, | ||
106 | _ecore_wl_cb_handle_touch_frame, | ||
107 | _ecore_wl_cb_handle_touch_cancel, | ||
108 | }; | ||
109 | static const struct wl_data_source_listener _ecore_wl_source_listener = | ||
110 | { | ||
111 | _ecore_wl_cb_source_target, | ||
112 | _ecore_wl_cb_source_send, | ||
113 | _ecore_wl_cb_source_cancelled | ||
114 | }; | ||
115 | static const struct wl_data_device_listener _ecore_wl_data_listener = | ||
116 | { | ||
117 | _ecore_wl_cb_data_offer, | ||
118 | _ecore_wl_cb_data_enter, | ||
119 | _ecore_wl_cb_data_leave, | ||
120 | _ecore_wl_cb_data_motion, | ||
121 | _ecore_wl_cb_data_drop, | ||
122 | _ecore_wl_cb_data_selection | ||
123 | }; | ||
124 | static const struct wl_data_offer_listener _ecore_wl_offer_listener = | ||
125 | { | ||
126 | _ecore_wl_cb_source_offer, | ||
127 | }; | ||
128 | 39 | ||
129 | /* external variables */ | 40 | /* external variables */ |
130 | int _ecore_wl_log_dom = -1; | 41 | int _ecore_wl_log_dom = -1; |
42 | Ecore_Wl_Display *_ecore_wl_disp = NULL; | ||
43 | |||
131 | EAPI int ECORE_WL_EVENT_MOUSE_IN = 0; | 44 | EAPI int ECORE_WL_EVENT_MOUSE_IN = 0; |
132 | EAPI int ECORE_WL_EVENT_MOUSE_OUT = 0; | 45 | EAPI int ECORE_WL_EVENT_MOUSE_OUT = 0; |
133 | EAPI int ECORE_WL_EVENT_FOCUS_IN = 0; | 46 | EAPI int ECORE_WL_EVENT_FOCUS_IN = 0; |
134 | EAPI int ECORE_WL_EVENT_FOCUS_OUT = 0; | 47 | EAPI int ECORE_WL_EVENT_FOCUS_OUT = 0; |
135 | EAPI int ECORE_WL_EVENT_DRAG_START = 0; | 48 | EAPI int ECORE_WL_EVENT_WINDOW_CONFIGURE = 0; |
136 | EAPI int ECORE_WL_EVENT_DRAG_STOP = 0; | 49 | EAPI int ECORE_WL_EVENT_DND_ENTER = 0; |
137 | 50 | EAPI int ECORE_WL_EVENT_DND_POSITION = 0; | |
51 | EAPI int ECORE_WL_EVENT_DND_LEAVE = 0; | ||
52 | EAPI int ECORE_WL_EVENT_DND_DROP = 0; | ||
53 | EAPI int ECORE_WL_EVENT_INTERFACES_BOUND = 0; | ||
54 | |||
55 | /** | ||
56 | * @defgroup Ecore_Wl_Init_Group Wayland Library Init and Shutdown Functions | ||
57 | * | ||
58 | * Functions that start and shutdown the Ecore Wayland Library. | ||
59 | */ | ||
60 | |||
61 | /** | ||
62 | * Initialize the Wayland display connection to the given display. | ||
63 | * | ||
64 | * @param name Display target name. if @c NULL, the default display is | ||
65 | * assumed. | ||
66 | * @return The number of times the library has been initialized without being | ||
67 | * shut down. 0 is returned if an error occurs. | ||
68 | * | ||
69 | * @ingroup Ecore_Wl_Init_Group | ||
70 | */ | ||
138 | EAPI int | 71 | EAPI int |
139 | ecore_wl_init(const char *name) | 72 | ecore_wl_init(const char *name) |
140 | { | 73 | { |
141 | struct xkb_rule_names xkb_names; | ||
142 | int fd = 0; | ||
143 | |||
144 | if (++_ecore_wl_init_count != 1) | ||
145 | return _ecore_wl_init_count; | ||
146 | |||
147 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 74 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
148 | 75 | ||
76 | if (++_ecore_wl_init_count != 1) return _ecore_wl_init_count; | ||
77 | |||
149 | if (!eina_init()) return --_ecore_wl_init_count; | 78 | if (!eina_init()) return --_ecore_wl_init_count; |
150 | 79 | ||
151 | _ecore_wl_log_dom = | 80 | _ecore_wl_log_dom = |
152 | eina_log_domain_register("ecore_wl", ECORE_WL_DEFAULT_LOG_COLOR); | 81 | eina_log_domain_register("ecore_wl", ECORE_WL_DEFAULT_LOG_COLOR); |
153 | if (_ecore_wl_log_dom < 0) | 82 | if (_ecore_wl_log_dom < 0) |
154 | { | 83 | { |
155 | EINA_LOG_ERR("Cannot create a log domain for Ecore Wayland."); | 84 | EINA_LOG_ERR("Cannot create a log domain for Ecore Wayland"); |
156 | eina_shutdown(); | 85 | eina_shutdown(); |
157 | return --_ecore_wl_init_count; | 86 | return --_ecore_wl_init_count; |
158 | } | 87 | } |
159 | 88 | ||
160 | if (!ecore_init()) | 89 | if (!ecore_init()) |
161 | { | 90 | { |
91 | ERR("Could not initialize ecore"); | ||
162 | eina_log_domain_unregister(_ecore_wl_log_dom); | 92 | eina_log_domain_unregister(_ecore_wl_log_dom); |
163 | _ecore_wl_log_dom = -1; | 93 | _ecore_wl_log_dom = -1; |
164 | eina_shutdown(); | 94 | eina_shutdown(); |
165 | return --_ecore_wl_init_count; | 95 | return --_ecore_wl_init_count; |
166 | } | 96 | } |
167 | 97 | ||
168 | if (!ecore_event_init()) | 98 | if (!ecore_event_init()) |
169 | { | 99 | { |
100 | ERR("Could not initialize ecore_event"); | ||
170 | eina_log_domain_unregister(_ecore_wl_log_dom); | 101 | eina_log_domain_unregister(_ecore_wl_log_dom); |
171 | _ecore_wl_log_dom = -1; | 102 | _ecore_wl_log_dom = -1; |
172 | ecore_shutdown(); | 103 | ecore_shutdown(); |
@@ -174,26 +105,23 @@ ecore_wl_init(const char *name) | |||
174 | return --_ecore_wl_init_count; | 105 | return --_ecore_wl_init_count; |
175 | } | 106 | } |
176 | 107 | ||
177 | if (!ECORE_WL_EVENT_MOUSE_IN) | 108 | if (!ECORE_WL_EVENT_MOUSE_IN) |
178 | { | 109 | { |
179 | ECORE_WL_EVENT_MOUSE_IN = ecore_event_type_new(); | 110 | ECORE_WL_EVENT_MOUSE_IN = ecore_event_type_new(); |
180 | ECORE_WL_EVENT_MOUSE_OUT = ecore_event_type_new(); | 111 | ECORE_WL_EVENT_MOUSE_OUT = ecore_event_type_new(); |
181 | ECORE_WL_EVENT_FOCUS_IN = ecore_event_type_new(); | 112 | ECORE_WL_EVENT_FOCUS_IN = ecore_event_type_new(); |
182 | ECORE_WL_EVENT_FOCUS_OUT = ecore_event_type_new(); | 113 | ECORE_WL_EVENT_FOCUS_OUT = ecore_event_type_new(); |
183 | ECORE_WL_EVENT_DRAG_START = ecore_event_type_new(); | 114 | ECORE_WL_EVENT_WINDOW_CONFIGURE = ecore_event_type_new(); |
184 | ECORE_WL_EVENT_DRAG_STOP = ecore_event_type_new(); | 115 | ECORE_WL_EVENT_DND_ENTER = ecore_event_type_new(); |
116 | ECORE_WL_EVENT_DND_POSITION = ecore_event_type_new(); | ||
117 | ECORE_WL_EVENT_DND_LEAVE = ecore_event_type_new(); | ||
118 | ECORE_WL_EVENT_DND_DROP = ecore_event_type_new(); | ||
119 | ECORE_WL_EVENT_INTERFACES_BOUND = ecore_event_type_new(); | ||
185 | } | 120 | } |
186 | 121 | ||
187 | /* init xkb */ | 122 | if (!(_ecore_wl_disp = malloc(sizeof(Ecore_Wl_Display)))) |
188 | /* FIXME: Somehow make this portable to other languages/countries */ | ||
189 | xkb_names.rules = "evdev"; | ||
190 | xkb_names.model = "evdev"; | ||
191 | xkb_names.layout = "us"; | ||
192 | xkb_names.variant = ""; | ||
193 | xkb_names.options = ""; | ||
194 | if (!(_ecore_wl_xkb = xkb_compile_keymap_from_rules(&xkb_names))) | ||
195 | { | 123 | { |
196 | ERR("Could not compile keymap"); | 124 | ERR("Could not allocate memory for Ecore_Wl_Display structure"); |
197 | eina_log_domain_unregister(_ecore_wl_log_dom); | 125 | eina_log_domain_unregister(_ecore_wl_log_dom); |
198 | _ecore_wl_log_dom = -1; | 126 | _ecore_wl_log_dom = -1; |
199 | ecore_event_shutdown(); | 127 | ecore_event_shutdown(); |
@@ -202,9 +130,11 @@ ecore_wl_init(const char *name) | |||
202 | return --_ecore_wl_init_count; | 130 | return --_ecore_wl_init_count; |
203 | } | 131 | } |
204 | 132 | ||
205 | /* connect to the wayland display */ | 133 | memset(_ecore_wl_disp, 0, sizeof(Ecore_Wl_Display)); |
206 | if (!(_ecore_wl_disp = wl_display_connect(name))) | 134 | |
135 | if (!(_ecore_wl_disp->wl.display = wl_display_connect(name))) | ||
207 | { | 136 | { |
137 | ERR("Could not connect to Wayland display"); | ||
208 | eina_log_domain_unregister(_ecore_wl_log_dom); | 138 | eina_log_domain_unregister(_ecore_wl_log_dom); |
209 | _ecore_wl_log_dom = -1; | 139 | _ecore_wl_log_dom = -1; |
210 | ecore_event_shutdown(); | 140 | ecore_event_shutdown(); |
@@ -213,23 +143,48 @@ ecore_wl_init(const char *name) | |||
213 | return --_ecore_wl_init_count; | 143 | return --_ecore_wl_init_count; |
214 | } | 144 | } |
215 | 145 | ||
216 | /* setup handler for wayland interfaces */ | 146 | _ecore_wl_disp->fd = |
217 | wl_display_add_global_listener(_ecore_wl_disp, | 147 | wl_display_get_fd(_ecore_wl_disp->wl.display, |
218 | _ecore_wl_cb_disp_handle_global, NULL); | 148 | _ecore_wl_cb_event_mask_update, _ecore_wl_disp); |
149 | |||
150 | _ecore_wl_disp->fd_hdl = | ||
151 | ecore_main_fd_handler_add(_ecore_wl_disp->fd, ECORE_FD_READ, | ||
152 | _ecore_wl_cb_handle_data, _ecore_wl_disp, | ||
153 | NULL, NULL); | ||
154 | |||
155 | wl_list_init(&_ecore_wl_disp->inputs); | ||
156 | wl_list_init(&_ecore_wl_disp->outputs); | ||
157 | |||
158 | wl_display_add_global_listener(_ecore_wl_disp->wl.display, | ||
159 | _ecore_wl_cb_handle_global, _ecore_wl_disp); | ||
160 | |||
161 | /* FIXME: Process connection events ?? */ | ||
162 | wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_READABLE); | ||
163 | |||
164 | /* if (!_ecore_wl_egl_init(_ecore_wl_disp)) */ | ||
165 | /* { */ | ||
166 | /* ERR("Could not initialize EGL"); */ | ||
167 | /* free(_ecore_wl_disp); */ | ||
168 | /* eina_log_domain_unregister(_ecore_wl_log_dom); */ | ||
169 | /* _ecore_wl_log_dom = -1; */ | ||
170 | /* ecore_event_shutdown(); */ | ||
171 | /* ecore_shutdown(); */ | ||
172 | /* eina_shutdown(); */ | ||
173 | /* return --_ecore_wl_init_count; */ | ||
174 | /* } */ | ||
219 | 175 | ||
220 | /* process connection events */ | 176 | /* _ecore_wl_disp->create_image = */ |
221 | wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); | 177 | /* (void *)eglGetProcAddress("eglCreateImageKHR"); */ |
178 | /* _ecore_wl_disp->destroy_image = */ | ||
179 | /* (void *)eglGetProcAddress("eglDestroyImageKHR"); */ | ||
222 | 180 | ||
223 | fd = wl_display_get_fd(_ecore_wl_disp, | 181 | /* TODO: create pointer surfaces */ |
224 | _ecore_wl_cb_disp_event_mask_update, NULL); | ||
225 | 182 | ||
226 | _ecore_wl_fd_hdl = | 183 | if (!_ecore_wl_xkb_init(_ecore_wl_disp)) |
227 | ecore_main_fd_handler_add(fd, ECORE_FD_READ, _ecore_wl_cb_fd_handle, | ||
228 | _ecore_wl_disp, NULL, NULL); | ||
229 | if (!_ecore_wl_fd_hdl) | ||
230 | { | 184 | { |
231 | wl_display_destroy(_ecore_wl_disp); | 185 | ERR("Could not initialize XKB"); |
232 | _ecore_wl_disp = NULL; | 186 | _ecore_wl_egl_shutdown(_ecore_wl_disp); |
187 | free(_ecore_wl_disp); | ||
233 | eina_log_domain_unregister(_ecore_wl_log_dom); | 188 | eina_log_domain_unregister(_ecore_wl_log_dom); |
234 | _ecore_wl_log_dom = -1; | 189 | _ecore_wl_log_dom = -1; |
235 | ecore_event_shutdown(); | 190 | ecore_event_shutdown(); |
@@ -238,976 +193,359 @@ ecore_wl_init(const char *name) | |||
238 | return --_ecore_wl_init_count; | 193 | return --_ecore_wl_init_count; |
239 | } | 194 | } |
240 | 195 | ||
196 | _ecore_wl_window_init(); | ||
197 | |||
241 | return _ecore_wl_init_count; | 198 | return _ecore_wl_init_count; |
242 | } | 199 | } |
243 | 200 | ||
201 | /** | ||
202 | * Shuts down the Ecore Wayland Library | ||
203 | * | ||
204 | * In shutting down the library, the Wayland display connection is terminated | ||
205 | * and any event handlers for it are removed. | ||
206 | * | ||
207 | * @return The number of times the library has been initialized without | ||
208 | * being shut down. | ||
209 | * | ||
210 | * @ingroup Ecore_Wl_Init_Group | ||
211 | */ | ||
244 | EAPI int | 212 | EAPI int |
245 | ecore_wl_shutdown(void) | 213 | ecore_wl_shutdown(void) |
246 | { | 214 | { |
247 | return _ecore_wl_shutdown(EINA_TRUE); | 215 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
248 | } | ||
249 | |||
250 | EAPI struct wl_display * | ||
251 | ecore_wl_display_get(void) | ||
252 | { | ||
253 | return _ecore_wl_disp; | ||
254 | } | ||
255 | |||
256 | EAPI struct wl_shm * | ||
257 | ecore_wl_shm_get(void) | ||
258 | { | ||
259 | return _ecore_wl_shm; | ||
260 | } | ||
261 | |||
262 | EAPI struct wl_compositor * | ||
263 | ecore_wl_compositor_get(void) | ||
264 | { | ||
265 | return _ecore_wl_comp; | ||
266 | } | ||
267 | 216 | ||
268 | EAPI struct wl_shell * | 217 | return _ecore_wl_shutdown(EINA_TRUE); |
269 | ecore_wl_shell_get(void) | ||
270 | { | ||
271 | return _ecore_wl_shell; | ||
272 | } | 218 | } |
273 | 219 | ||
274 | EAPI struct wl_input_device * | 220 | /** |
275 | ecore_wl_input_device_get(void) | 221 | * @defgroup Ecore_Wl_Flush_Group Wayland Synchronization Functions |
276 | { | 222 | * |
277 | return _ecore_wl_input_dev; | 223 | * Functions that ensure that all commands which have been issued by the |
278 | } | 224 | * Ecore Wayland library have been sent to the server. |
225 | */ | ||
279 | 226 | ||
227 | /** | ||
228 | * Sends all Wayland commands to the Wayland Display. | ||
229 | * | ||
230 | * @ingroup Ecore_Wl_Flush_Group | ||
231 | * @since 1.2 | ||
232 | */ | ||
280 | EAPI void | 233 | EAPI void |
281 | ecore_wl_screen_size_get(int *w, int *h) | 234 | ecore_wl_flush(void) |
282 | { | 235 | { |
283 | if (w) *w = _ecore_wl_screen.w; | 236 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
284 | if (h) *h = _ecore_wl_screen.h; | ||
285 | } | ||
286 | |||
287 | EAPI unsigned int | ||
288 | ecore_wl_format_get(void) | ||
289 | { | ||
290 | return _ecore_wl_disp_format; | ||
291 | } | ||
292 | 237 | ||
293 | EAPI void | 238 | while (_ecore_wl_disp->mask & WL_DISPLAY_WRITABLE) |
294 | ecore_wl_flush(void) | 239 | wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_WRITABLE); |
295 | { | 240 | // wl_display_flush(_ecore_wl_disp->wl.display); // old flush code |
296 | wl_display_flush(_ecore_wl_disp); | ||
297 | } | 241 | } |
298 | 242 | ||
243 | /** | ||
244 | * Flushes the command buffer and waits until all requests have been | ||
245 | * processed by the server. | ||
246 | * | ||
247 | * @ingroup Ecore_Wl_Flush_Group | ||
248 | * @since 1.2 | ||
249 | */ | ||
299 | EAPI void | 250 | EAPI void |
300 | ecore_wl_sync(void) | 251 | ecore_wl_sync(void) |
301 | { | 252 | { |
302 | wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); | 253 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
303 | } | ||
304 | 254 | ||
305 | EAPI void | 255 | wl_display_roundtrip(_ecore_wl_disp->wl.display); |
306 | ecore_wl_pointer_xy_get(int *x, int *y) | 256 | // old sync code |
257 | // wl_display_iterate(_ecore_wl_disp->wl.display, WL_DISPLAY_READABLE); | ||
258 | } | ||
259 | |||
260 | /** | ||
261 | * @defgroup Ecore_Wl_Display_Group Wayland Display Functions | ||
262 | * | ||
263 | * Functions that set and retrieve various information about the Wayland Display. | ||
264 | */ | ||
265 | |||
266 | /** | ||
267 | * Retrieves the Wayland Shm Interface used for the current Wayland connection. | ||
268 | * | ||
269 | * @return The current wayland shm interface | ||
270 | * | ||
271 | * @ingroup Ecore_Wl_Display_Group | ||
272 | * @since 1.2 | ||
273 | */ | ||
274 | EAPI struct wl_shm * | ||
275 | ecore_wl_shm_get(void) | ||
307 | { | 276 | { |
308 | if (x) *x = _ecore_wl_screen_x; | 277 | return _ecore_wl_disp->wl.shm; |
309 | if (y) *y = _ecore_wl_screen_y; | ||
310 | } | 278 | } |
311 | 279 | ||
312 | EAPI Ecore_Wl_Drag_Source * | 280 | /** |
313 | ecore_wl_drag_source_create(int hotspot_x, int hotspot_y, int offset_x, int offset_y, const char *mimetype, unsigned int timestamp, void *data) | 281 | * Retrieves the Wayland Display Interface used for the current Wayland connection. |
282 | * | ||
283 | * @return The current wayland display interface | ||
284 | * | ||
285 | * @ingroup Ecore_Wl_Display_Group | ||
286 | * @since 1.2 | ||
287 | */ | ||
288 | EAPI struct wl_display * | ||
289 | ecore_wl_display_get(void) | ||
314 | { | 290 | { |
315 | Ecore_Wl_Drag_Source *source; | 291 | return _ecore_wl_disp->wl.display; |
316 | |||
317 | if (!(source = calloc(1, sizeof(Ecore_Wl_Drag_Source)))) return NULL; | ||
318 | |||
319 | source->data_dev = _ecore_wl_data_dev; | ||
320 | source->hotspot_x = hotspot_x; | ||
321 | source->hotspot_y = hotspot_y; | ||
322 | source->offset_x = offset_x; | ||
323 | source->offset_y = offset_y; | ||
324 | source->mimetype = mimetype; | ||
325 | source->timestamp = timestamp; | ||
326 | source->data = data; | ||
327 | |||
328 | source->data_source = | ||
329 | wl_data_device_manager_create_data_source(_ecore_wl_data_manager); | ||
330 | |||
331 | wl_data_source_add_listener(source->data_source, | ||
332 | &_ecore_wl_source_listener, source); | ||
333 | |||
334 | wl_data_source_offer(source->data_source, source->mimetype); | ||
335 | |||
336 | /* NB: Do we add some default mimetypes here ?? */ | ||
337 | /* text/plain, etc */ | ||
338 | |||
339 | return source; | ||
340 | } | 292 | } |
341 | 293 | ||
294 | /** | ||
295 | * Retrieves the size of the current screen. | ||
296 | * | ||
297 | * @param w where to return the width. May be NULL. Returns 0 on error. | ||
298 | * @param h where to return the height. May be NULL. Returns 0 on error. | ||
299 | * | ||
300 | * @ingroup Ecore_Wl_Display_Group | ||
301 | * @since 1.2 | ||
302 | */ | ||
342 | EAPI void | 303 | EAPI void |
343 | ecore_wl_drag_start(Ecore_Wl_Drag_Source *source, struct wl_surface *surface, struct wl_buffer *buffer) | 304 | ecore_wl_screen_size_get(int *w, int *h) |
344 | { | 305 | { |
345 | source->buffer = buffer; | 306 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
346 | 307 | ||
347 | wl_data_device_start_drag(source->data_dev, source->data_source, | 308 | if (w) *w = _ecore_wl_disp->output->allocation.w; |
348 | surface, source->timestamp); | 309 | if (h) *h = _ecore_wl_disp->output->allocation.h; |
349 | } | 310 | } |
350 | 311 | ||
312 | /* @since 1.2 */ | ||
351 | EAPI void | 313 | EAPI void |
352 | ecore_wl_drag_stop(void) | 314 | ecore_wl_pointer_xy_get(int *x, int *y) |
353 | { | 315 | { |
316 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
354 | 317 | ||
318 | _ecore_wl_input_pointer_xy_get(x, y); | ||
355 | } | 319 | } |
356 | 320 | ||
357 | /* local functions */ | 321 | /* local functions */ |
358 | static Eina_Bool | 322 | static Eina_Bool |
359 | _ecore_wl_shutdown(Eina_Bool close_display) | 323 | _ecore_wl_shutdown(Eina_Bool close) |
360 | { | 324 | { |
361 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 325 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
362 | 326 | ||
363 | if (--_ecore_wl_init_count != 0) | 327 | if (--_ecore_wl_init_count != 0) return _ecore_wl_init_count; |
364 | return _ecore_wl_init_count; | ||
365 | |||
366 | if (!_ecore_wl_disp) return _ecore_wl_init_count; | 328 | if (!_ecore_wl_disp) return _ecore_wl_init_count; |
367 | 329 | ||
368 | if (_ecore_wl_xkb) free(_ecore_wl_xkb); | 330 | _ecore_wl_window_shutdown(); |
369 | 331 | ||
370 | if (_ecore_wl_fd_hdl) ecore_main_fd_handler_del(_ecore_wl_fd_hdl); | 332 | if (_ecore_wl_disp->fd_hdl) |
371 | _ecore_wl_fd_hdl = NULL; | 333 | ecore_main_fd_handler_del(_ecore_wl_disp->fd_hdl); |
372 | 334 | ||
373 | if (close_display) | 335 | if (close) |
374 | { | 336 | { |
375 | if (_ecore_wl_data_dev) wl_data_device_destroy(_ecore_wl_data_dev); | 337 | Ecore_Wl_Output *out, *tout; |
376 | if (_ecore_wl_input_dev) wl_input_device_destroy(_ecore_wl_input_dev); | 338 | Ecore_Wl_Input *in, *tin; |
377 | if (_ecore_wl_data_manager) | 339 | |
378 | wl_data_device_manager_destroy(_ecore_wl_data_manager); | 340 | wl_list_for_each_safe(out, tout, &_ecore_wl_disp->outputs, link) |
379 | if (_ecore_wl_shell) wl_shell_destroy(_ecore_wl_shell); | 341 | _ecore_wl_output_del(out); |
380 | if (_ecore_wl_shm) wl_shm_destroy(_ecore_wl_shm); | 342 | |
381 | if (_ecore_wl_comp) wl_compositor_destroy(_ecore_wl_comp); | 343 | wl_list_for_each_safe(in, tin, &_ecore_wl_disp->inputs, link) |
382 | if (_ecore_wl_disp) | 344 | _ecore_wl_input_del(in); |
345 | |||
346 | _ecore_wl_xkb_shutdown(_ecore_wl_disp); | ||
347 | /* _ecore_wl_egl_shutdown(_ecore_wl_disp); */ | ||
348 | |||
349 | if (_ecore_wl_disp->wl.shell) | ||
350 | wl_shell_destroy(_ecore_wl_disp->wl.shell); | ||
351 | if (_ecore_wl_disp->wl.shm) wl_shm_destroy(_ecore_wl_disp->wl.shm); | ||
352 | if (_ecore_wl_disp->wl.data_device_manager) | ||
353 | wl_data_device_manager_destroy(_ecore_wl_disp->wl.data_device_manager); | ||
354 | if (_ecore_wl_disp->wl.compositor) | ||
355 | wl_compositor_destroy(_ecore_wl_disp->wl.compositor); | ||
356 | if (_ecore_wl_disp->wl.display) | ||
383 | { | 357 | { |
384 | wl_display_flush(_ecore_wl_disp); | 358 | wl_display_flush(_ecore_wl_disp->wl.display); |
385 | wl_display_destroy(_ecore_wl_disp); | 359 | wl_display_disconnect(_ecore_wl_disp->wl.display); |
386 | } | 360 | } |
387 | _ecore_wl_disp = NULL; | 361 | free(_ecore_wl_disp); |
388 | } | 362 | } |
389 | 363 | ||
390 | eina_log_domain_unregister(_ecore_wl_log_dom); | ||
391 | _ecore_wl_log_dom = -1; | ||
392 | |||
393 | ecore_event_shutdown(); | 364 | ecore_event_shutdown(); |
394 | ecore_shutdown(); | 365 | ecore_shutdown(); |
366 | |||
367 | eina_log_domain_unregister(_ecore_wl_log_dom); | ||
368 | _ecore_wl_log_dom = -1; | ||
395 | eina_shutdown(); | 369 | eina_shutdown(); |
396 | 370 | ||
397 | return _ecore_wl_init_count; | 371 | return _ecore_wl_init_count; |
398 | } | 372 | } |
399 | 373 | ||
400 | static void | ||
401 | _ecore_wl_cb_disp_handle_global(struct wl_display *disp, uint32_t id, const char *interface, uint32_t version __UNUSED__, void *data __UNUSED__) | ||
402 | { | ||
403 | // LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
404 | |||
405 | if (disp != _ecore_wl_disp) return; | ||
406 | if (!strcmp(interface, "wl_compositor")) | ||
407 | { | ||
408 | _ecore_wl_comp = | ||
409 | wl_display_bind(_ecore_wl_disp, id, &wl_compositor_interface); | ||
410 | } | ||
411 | else if (!strcmp(interface, "wl_shm")) | ||
412 | { | ||
413 | _ecore_wl_shm = | ||
414 | wl_display_bind(_ecore_wl_disp, id, &wl_shm_interface); | ||
415 | } | ||
416 | else if (!strcmp(interface, "wl_output")) | ||
417 | { | ||
418 | _ecore_wl_output = | ||
419 | wl_display_bind(_ecore_wl_disp, id, &wl_output_interface); | ||
420 | wl_output_add_listener(_ecore_wl_output, | ||
421 | &_ecore_wl_output_listener, NULL); | ||
422 | } | ||
423 | else if (!strcmp(interface, "wl_shell")) | ||
424 | { | ||
425 | _ecore_wl_shell = | ||
426 | wl_display_bind(_ecore_wl_disp, id, &wl_shell_interface); | ||
427 | } | ||
428 | else if (!strcmp(interface, "wl_input_device")) | ||
429 | { | ||
430 | _ecore_wl_input_dev = | ||
431 | wl_display_bind(_ecore_wl_disp, id, &wl_input_device_interface); | ||
432 | wl_input_device_add_listener(_ecore_wl_input_dev, | ||
433 | &_ecore_wl_input_listener, NULL); | ||
434 | } | ||
435 | else if (!strcmp(interface, "wl_data_device_manager")) | ||
436 | { | ||
437 | _ecore_wl_data_manager = | ||
438 | wl_display_bind(_ecore_wl_disp, id, | ||
439 | &wl_data_device_manager_interface); | ||
440 | } | ||
441 | |||
442 | if ((_ecore_wl_input_dev) && (_ecore_wl_data_manager) && (!_ecore_wl_data_dev)) | ||
443 | { | ||
444 | _ecore_wl_data_dev = | ||
445 | wl_data_device_manager_get_data_device(_ecore_wl_data_manager, | ||
446 | _ecore_wl_input_dev); | ||
447 | wl_data_device_add_listener(_ecore_wl_data_dev, | ||
448 | &_ecore_wl_data_listener, NULL); | ||
449 | } | ||
450 | } | ||
451 | |||
452 | static int | 374 | static int |
453 | _ecore_wl_cb_disp_event_mask_update(uint32_t mask, void *data __UNUSED__) | 375 | _ecore_wl_cb_event_mask_update(unsigned int mask, void *data) |
454 | { | 376 | { |
455 | // LOGFN(__FILE__, __LINE__, __FUNCTION__); | 377 | Ecore_Wl_Display *ewd; |
456 | 378 | ||
457 | _ecore_wl_disp_mask = mask; | 379 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
458 | 380 | ||
381 | ewd = data; | ||
382 | ewd->mask = mask; | ||
459 | return 0; | 383 | return 0; |
460 | } | 384 | } |
461 | 385 | ||
462 | static void | ||
463 | _ecore_wl_cb_disp_handle_geometry(void *data __UNUSED__, struct wl_output *output __UNUSED__, int x, int y, int pw __UNUSED__, int ph __UNUSED__, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__) | ||
464 | { | ||
465 | _ecore_wl_screen.x = x; | ||
466 | _ecore_wl_screen.y = y; | ||
467 | } | ||
468 | |||
469 | static void | ||
470 | _ecore_wl_cb_disp_handle_mode(void *data __UNUSED__, struct wl_output *output __UNUSED__, uint32_t flags, int w, int h, int refresh __UNUSED__) | ||
471 | { | ||
472 | if (flags & WL_OUTPUT_MODE_CURRENT) | ||
473 | { | ||
474 | _ecore_wl_screen.w = w; | ||
475 | _ecore_wl_screen.h = h; | ||
476 | } | ||
477 | } | ||
478 | |||
479 | static Eina_Bool | 386 | static Eina_Bool |
480 | _ecore_wl_cb_fd_handle(void *data, Ecore_Fd_Handler *hdl __UNUSED__) | 387 | _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl __UNUSED__) |
481 | { | 388 | { |
482 | struct wl_display *disp; | 389 | Ecore_Wl_Display *ewd; |
483 | |||
484 | // LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
485 | |||
486 | if (!(disp = data)) return ECORE_CALLBACK_RENEW; | ||
487 | if (disp != _ecore_wl_disp) return ECORE_CALLBACK_RENEW; | ||
488 | 390 | ||
489 | if (_ecore_wl_disp_mask & WL_DISPLAY_WRITABLE) | 391 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
490 | wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_WRITABLE); | ||
491 | |||
492 | if (_ecore_wl_disp_mask & WL_DISPLAY_READABLE) | ||
493 | wl_display_iterate(_ecore_wl_disp, WL_DISPLAY_READABLE); | ||
494 | 392 | ||
393 | if (!(ewd = data)) return ECORE_CALLBACK_RENEW; | ||
394 | wl_display_iterate(ewd->wl.display, ewd->mask); | ||
495 | return ECORE_CALLBACK_RENEW; | 395 | return ECORE_CALLBACK_RENEW; |
496 | } | 396 | } |
497 | 397 | ||
498 | static void | 398 | static void |
499 | _ecore_wl_cb_handle_motion(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, int32_t x, int32_t y, int32_t sx, int32_t sy) | 399 | _ecore_wl_cb_handle_global(struct wl_display *disp, unsigned int id, const char *interface, unsigned int version __UNUSED__, void *data) |
500 | { | ||
501 | if (dev != _ecore_wl_input_dev) return; | ||
502 | |||
503 | _ecore_wl_screen_x = x; | ||
504 | _ecore_wl_screen_y = y; | ||
505 | _ecore_wl_surface_x = sx; | ||
506 | _ecore_wl_surface_y = sy; | ||
507 | |||
508 | _ecore_wl_mouse_move_send(t); | ||
509 | } | ||
510 | |||
511 | static void | ||
512 | _ecore_wl_cb_handle_button(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, uint32_t btn, uint32_t state) | ||
513 | { | ||
514 | if (dev != _ecore_wl_input_dev) return; | ||
515 | |||
516 | if ((btn >= BTN_SIDE) && (btn <= BTN_BACK)) | ||
517 | { | ||
518 | Ecore_Event_Mouse_Wheel *ev; | ||
519 | |||
520 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Wheel)))) return; | ||
521 | |||
522 | ev->timestamp = t; | ||
523 | ev->x = _ecore_wl_surface_x; | ||
524 | ev->y = _ecore_wl_surface_y; | ||
525 | ev->root.x = _ecore_wl_screen_x; | ||
526 | ev->root.y = _ecore_wl_screen_y; | ||
527 | ev->modifiers = _ecore_wl_input_modifiers; | ||
528 | ev->direction = 0; | ||
529 | |||
530 | if (_ecore_wl_input_surface) | ||
531 | { | ||
532 | unsigned int id = 0; | ||
533 | |||
534 | if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_input_surface))) | ||
535 | { | ||
536 | ev->window = id; | ||
537 | ev->event_window = id; | ||
538 | } | ||
539 | } | ||
540 | |||
541 | /* NB: (FIXME) Currently Wayland provides no measure of how much the | ||
542 | * wheel has scrolled (read: delta of movement). So for now, we will | ||
543 | * just assume that the amount scrolled is 1 */ | ||
544 | if ((btn == BTN_EXTRA) || (btn == BTN_FORWARD)) // down | ||
545 | ev->z = 1; | ||
546 | else if ((btn == BTN_SIDE) || (btn == BTN_BACK)) // up | ||
547 | ev->z = -1; | ||
548 | |||
549 | ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL); | ||
550 | } | ||
551 | else | ||
552 | { | ||
553 | if (state) | ||
554 | { | ||
555 | _ecore_wl_input_button = btn; | ||
556 | _ecore_wl_mouse_down_send(_ecore_wl_input_surface, btn, t); | ||
557 | /* NB: Ideally, this is not the place to check for drags. | ||
558 | * IMO, drags should be handled by the client. EG: we raise the | ||
559 | * mouse_down to the client, and the client can 'request' a | ||
560 | * drag_start from ecore_wl */ | ||
561 | if ((_ecore_wl_input_surface) || (_ecore_wl_touch_surface)) | ||
562 | { | ||
563 | /* record item which was grabbed. | ||
564 | * create drag source. start drag */ | ||
565 | } | ||
566 | } | ||
567 | else | ||
568 | { | ||
569 | if ((_ecore_wl_input_surface) || (_ecore_wl_touch_surface)) | ||
570 | { | ||
571 | /* release grabbed button and finish drag */ | ||
572 | if ((_ecore_wl_input_button) && | ||
573 | (_ecore_wl_input_button == btn)) | ||
574 | { | ||
575 | |||
576 | } | ||
577 | } | ||
578 | _ecore_wl_input_button = 0; | ||
579 | _ecore_wl_mouse_up_send(_ecore_wl_input_surface, btn, t); | ||
580 | } | ||
581 | } | ||
582 | } | ||
583 | |||
584 | static void | ||
585 | _ecore_wl_cb_handle_key(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t __UNUSED__, uint32_t key, uint32_t state) | ||
586 | { | 400 | { |
587 | unsigned int keycode = 0; | 401 | Ecore_Wl_Display *ewd; |
588 | 402 | ||
589 | if (dev != _ecore_wl_input_dev) return; | 403 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
590 | 404 | ||
591 | keycode = key + _ecore_wl_xkb->min_key_code; | 405 | if ((!strcmp(interface, "wl_display")) || |
406 | (!strcmp(interface, "wl_drm")) || | ||
407 | (!strcmp(interface, "desktop_shell"))) | ||
408 | return; | ||
592 | 409 | ||
593 | if (state) | 410 | ewd = data; |
594 | _ecore_wl_input_modifiers |= _ecore_wl_xkb->map->modmap[keycode]; | ||
595 | else | ||
596 | _ecore_wl_input_modifiers &= ~_ecore_wl_xkb->map->modmap[keycode]; | ||
597 | } | ||
598 | 411 | ||
599 | static void | 412 | if (!strcmp(interface, "wl_compositor")) |
600 | _ecore_wl_cb_handle_pointer_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, int32_t x, int32_t y, int32_t sx, int32_t sy) | 413 | ewd->wl.compositor = wl_display_bind(disp, id, &wl_compositor_interface); |
601 | { | 414 | else if (!strcmp(interface, "wl_output")) |
602 | if (dev != _ecore_wl_input_dev) return; | 415 | _ecore_wl_output_add(ewd, id); |
603 | 416 | else if (!strcmp(interface, "wl_input_device")) | |
604 | /* NB: Wayland pointer focus is weird. It's not pointer focus in the normal | 417 | _ecore_wl_input_add(ewd, id); |
605 | * sense...Wayland 'moving/resizing' (and maybe other stuff) has a habit | 418 | else if (!strcmp(interface, "wl_shell")) |
606 | * of stealing the pointer focus and thus this cannot be used to control | 419 | ewd->wl.shell = wl_display_bind(disp, id, &wl_shell_interface); |
607 | * normal pointer focus. On mouse down, the 'active' surface is stolen | 420 | else if (!strcmp(interface, "wl_shm")) |
608 | * by Wayland for the grab, so 'surface' here ends up being NULL. When a | 421 | ewd->wl.shm = wl_display_bind(disp, id, &wl_shm_interface); |
609 | * move or resize is finished, we get this event again, but this time | 422 | else if (!strcmp(interface, "wl_data_device_manager")) |
610 | * with an active surface */ | ||
611 | _ecore_wl_screen_x = x; | ||
612 | _ecore_wl_screen_y = y; | ||
613 | _ecore_wl_surface_x = sx; | ||
614 | _ecore_wl_surface_y = sy; | ||
615 | |||
616 | if ((_ecore_wl_input_surface) && (_ecore_wl_input_surface != surface)) | ||
617 | { | 423 | { |
618 | if (!_ecore_wl_input_button) | 424 | ewd->wl.data_device_manager = |
619 | _ecore_wl_mouse_out_send(_ecore_wl_input_surface, t); | 425 | wl_display_bind(disp, id, &wl_data_device_manager_interface); |
620 | } | 426 | } |
621 | 427 | ||
622 | if (surface) | 428 | if ((ewd->wl.compositor) && (ewd->wl.shm) && (ewd->wl.shell)) |
623 | { | 429 | { |
624 | if (_ecore_wl_input_button) | 430 | Ecore_Wl_Event_Interfaces_Bound *ev; |
625 | { | ||
626 | _ecore_wl_mouse_up_send(surface, _ecore_wl_input_button, t); | ||
627 | _ecore_wl_input_button = 0; | ||
628 | } | ||
629 | else | ||
630 | _ecore_wl_mouse_in_send(surface, t); | ||
631 | } | ||
632 | } | ||
633 | |||
634 | static void | ||
635 | _ecore_wl_cb_handle_keyboard_focus(void *data __UNUSED__, struct wl_input_device *dev, uint32_t t, struct wl_surface *surface, struct wl_array *keys) | ||
636 | { | ||
637 | unsigned int *keyend = 0, *i = 0; | ||
638 | |||
639 | if (dev != _ecore_wl_input_dev) return; | ||
640 | |||
641 | /* NB: Remove old keyboard focus */ | ||
642 | if ((_ecore_wl_input_surface) && (_ecore_wl_input_surface != surface)) | ||
643 | _ecore_wl_focus_out_send(_ecore_wl_input_surface, t); | ||
644 | 431 | ||
645 | _ecore_wl_input_surface = NULL; | 432 | if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Interfaces_Bound)))) |
433 | return; | ||
646 | 434 | ||
647 | keyend = keys->data + keys->size; | 435 | ev->compositor = (ewd->wl.compositor != NULL); |
648 | _ecore_wl_input_modifiers = 0; | 436 | ev->shm = (ewd->wl.shm != NULL); |
649 | for (i = keys->data; i < keyend; i++) | 437 | ev->shell = (ewd->wl.shell != NULL); |
650 | _ecore_wl_input_modifiers |= _ecore_wl_xkb->map->modmap[*i]; | ||
651 | 438 | ||
652 | if (surface) | 439 | ecore_event_add(ECORE_WL_EVENT_INTERFACES_BOUND, ev, NULL, NULL); |
653 | { | ||
654 | /* set new input surface */ | ||
655 | _ecore_wl_input_surface = surface; | ||
656 | |||
657 | /* send mouse in to new surface */ | ||
658 | /* _ecore_wl_mouse_in_send(surface, t); */ | ||
659 | |||
660 | /* send focus to new surface */ | ||
661 | _ecore_wl_focus_in_send(surface, t); | ||
662 | } | 440 | } |
663 | } | 441 | } |
664 | 442 | ||
665 | static void | 443 | static Eina_Bool |
666 | _ecore_wl_cb_handle_touch_down(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, struct wl_surface *surface, int32_t id, int32_t x, int32_t y) | 444 | _ecore_wl_egl_init(Ecore_Wl_Display *ewd) |
667 | { | 445 | { |
668 | Ecore_Event_Mouse_Button *ev; | 446 | EGLint major, minor, n; |
669 | 447 | static const EGLint context_attribs[] = | |
670 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
671 | |||
672 | _ecore_wl_touch_surface = surface; | ||
673 | _ecore_wl_touch_x = x; | ||
674 | _ecore_wl_touch_y = y; | ||
675 | |||
676 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; | ||
677 | |||
678 | ev->timestamp = timestamp; | ||
679 | |||
680 | /* NB: Need to verify using x,y for these */ | ||
681 | ev->x = x; | ||
682 | ev->y = y; | ||
683 | ev->root.x = x; | ||
684 | ev->root.y = y; | ||
685 | ev->modifiers = 0; | ||
686 | ev->buttons = 0; | ||
687 | ev->same_screen = 1; | ||
688 | |||
689 | /* FIXME: Need to get these from Wayland somehow */ | ||
690 | ev->double_click = 0; | ||
691 | ev->triple_click = 0; | ||
692 | |||
693 | ev->multi.device = id; | ||
694 | ev->multi.radius = 1; | ||
695 | ev->multi.radius_x = 1; | ||
696 | ev->multi.radius_y = 1; | ||
697 | ev->multi.pressure = 1.0; | ||
698 | ev->multi.angle = 0.0; | ||
699 | /* NB: Need to verify using x,y for these */ | ||
700 | ev->multi.x = x; | ||
701 | ev->multi.y = y; | ||
702 | ev->multi.root.x = x; | ||
703 | ev->multi.root.y = y; | ||
704 | |||
705 | { | 448 | { |
706 | unsigned int id = 0; | 449 | EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE |
707 | 450 | }; | |
708 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | 451 | static const EGLint argb_attribs[] = |
709 | { | 452 | { |
710 | ev->window = id; | 453 | EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, |
711 | ev->event_window = id; | 454 | EGL_ALPHA_SIZE, 1, EGL_DEPTH_SIZE, 0, EGL_STENCIL_SIZE, 0, |
712 | } | 455 | EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_SURFACE_TYPE, |
713 | } | 456 | EGL_WINDOW_BIT, EGL_NONE |
714 | 457 | }; | |
715 | ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL); | ||
716 | } | ||
717 | |||
718 | static void | ||
719 | _ecore_wl_cb_handle_touch_up(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id) | ||
720 | { | ||
721 | Ecore_Event_Mouse_Button *ev; | ||
722 | 458 | ||
723 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 459 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
724 | 460 | ||
725 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; | 461 | ewd->egl.display = eglGetDisplay(ewd->wl.display); |
726 | 462 | if (!eglInitialize(ewd->egl.display, &major, &minor)) | |
727 | ev->timestamp = timestamp; | ||
728 | |||
729 | /* TODO: Need to verify using x,y for these */ | ||
730 | ev->x = _ecore_wl_touch_x; | ||
731 | ev->y = _ecore_wl_touch_y; | ||
732 | ev->root.x = _ecore_wl_touch_x; | ||
733 | ev->root.y = _ecore_wl_touch_y; | ||
734 | ev->modifiers = 0; | ||
735 | ev->buttons = 0; | ||
736 | ev->same_screen = 1; | ||
737 | |||
738 | /* FIXME: Need to get these from Wayland somehow */ | ||
739 | ev->double_click = 0; | ||
740 | ev->triple_click = 0; | ||
741 | |||
742 | ev->multi.device = id; | ||
743 | ev->multi.radius = 1; | ||
744 | ev->multi.radius_x = 1; | ||
745 | ev->multi.radius_y = 1; | ||
746 | ev->multi.pressure = 1.0; | ||
747 | ev->multi.angle = 0.0; | ||
748 | |||
749 | /* TODO: Need to verify using x,y for these */ | ||
750 | ev->multi.x = _ecore_wl_touch_x; | ||
751 | ev->multi.y = _ecore_wl_touch_y; | ||
752 | ev->multi.root.x = _ecore_wl_touch_x; | ||
753 | ev->multi.root.y = _ecore_wl_touch_y; | ||
754 | |||
755 | { | 463 | { |
756 | unsigned int id = 0; | 464 | ERR("Failed to initialize EGL display"); |
757 | 465 | return EINA_FALSE; | |
758 | if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_touch_surface))) | ||
759 | { | ||
760 | ev->window = id; | ||
761 | ev->event_window = id; | ||
762 | } | ||
763 | } | 466 | } |
764 | 467 | ||
765 | _ecore_wl_touch_surface = NULL; | 468 | if (!eglBindAPI(EGL_OPENGL_ES_API)) |
766 | |||
767 | ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL); | ||
768 | } | ||
769 | |||
770 | static void | ||
771 | _ecore_wl_cb_handle_touch_motion(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__, uint32_t timestamp, int32_t id, int32_t x, int32_t y) | ||
772 | { | ||
773 | Ecore_Event_Mouse_Move *ev; | ||
774 | |||
775 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
776 | |||
777 | if (!_ecore_wl_touch_surface) return; | ||
778 | |||
779 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Move)))) return; | ||
780 | |||
781 | ev->timestamp = timestamp; | ||
782 | /* TODO: Need to verify using x,y for these */ | ||
783 | ev->x = x; | ||
784 | ev->y = y; | ||
785 | ev->root.x = x; | ||
786 | ev->root.y = y; | ||
787 | ev->modifiers = 0; //_ecore_wl_input_modifiers; | ||
788 | ev->same_screen = 1; | ||
789 | |||
790 | ev->multi.device = id; | ||
791 | ev->multi.radius = 1; | ||
792 | ev->multi.radius_x = 1; | ||
793 | ev->multi.radius_y = 1; | ||
794 | ev->multi.pressure = 1.0; | ||
795 | ev->multi.angle = 0.0; | ||
796 | |||
797 | /* TODO: Need to verify using x,y for these */ | ||
798 | ev->multi.x = x; | ||
799 | ev->multi.y = y; | ||
800 | ev->multi.root.x = x; | ||
801 | ev->multi.root.y = y; | ||
802 | |||
803 | { | 469 | { |
804 | unsigned int id = 0; | 470 | ERR("Failed to bind EGL Api"); |
805 | 471 | return EINA_FALSE; | |
806 | if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_touch_surface))) | ||
807 | { | ||
808 | ev->window = id; | ||
809 | ev->event_window = id; | ||
810 | } | ||
811 | } | 472 | } |
812 | 473 | ||
813 | ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL); | 474 | if ((!eglChooseConfig(ewd->egl.display, argb_attribs, &ewd->egl.argb_config, |
814 | } | 475 | 1, &n)) || (n == 0)) |
815 | |||
816 | static void | ||
817 | _ecore_wl_cb_handle_touch_frame(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__) | ||
818 | { | ||
819 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
820 | |||
821 | /* FIXME: Need to get a device and actually test what happens here */ | ||
822 | } | ||
823 | |||
824 | static void | ||
825 | _ecore_wl_cb_handle_touch_cancel(void *data __UNUSED__, struct wl_input_device *dev __UNUSED__) | ||
826 | { | ||
827 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
828 | |||
829 | /* FIXME: Need to get a device and actually test what happens here */ | ||
830 | _ecore_wl_touch_surface = NULL; | ||
831 | } | ||
832 | |||
833 | static void | ||
834 | _ecore_wl_cb_source_target(void *data, struct wl_data_source *source __UNUSED__, const char *mime_type __UNUSED__) | ||
835 | { | ||
836 | Ecore_Wl_Drag_Source *s; | ||
837 | |||
838 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
839 | |||
840 | printf("Ecore_Wl Source Target\n"); | ||
841 | if (!(s = data)) return; | ||
842 | printf("\tHave Drag Source\n"); | ||
843 | |||
844 | /* FIXME: buffer here should really be the mouse cursor buffer */ | ||
845 | wl_data_device_attach(s->data_dev, s->timestamp, s->buffer, | ||
846 | s->hotspot_x, s->hotspot_y); | ||
847 | } | ||
848 | |||
849 | static void | ||
850 | _ecore_wl_cb_source_send(void *data, struct wl_data_source *source, const char *mime_type, int32_t fd) | ||
851 | { | ||
852 | Ecore_Wl_Drag_Source *s; | ||
853 | |||
854 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
855 | |||
856 | printf("Ecore_Wl Source Send\n"); | ||
857 | if (!(s = data)) return; | ||
858 | printf("\tHave Drag Source\n"); | ||
859 | |||
860 | /* FIXME: write message to fd */ | ||
861 | |||
862 | /* NB: Wayland really sucks in this regard. Why should selection stuff | ||
863 | * require an 'fd' ?? */ | ||
864 | } | ||
865 | |||
866 | static void | ||
867 | _ecore_wl_cb_source_cancelled(void *data, struct wl_data_source *source __UNUSED__) | ||
868 | { | ||
869 | Ecore_Wl_Drag_Source *s; | ||
870 | |||
871 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
872 | |||
873 | /* The cancelled event usually means source is no longer in use by | ||
874 | * the drag (or selection). */ | ||
875 | |||
876 | printf("Ecore_Wl Source Cancel\n"); | ||
877 | if (!(s = data)) return; | ||
878 | printf("\tHave Drag Source\n"); | ||
879 | |||
880 | /* FIXME: raise this to ecore_evas so the surface/buffer | ||
881 | * of the drag can be destroyed */ | ||
882 | |||
883 | if (s->data_source) wl_data_source_destroy(s->data_source); | ||
884 | s->data_source = NULL; | ||
885 | |||
886 | free(s); | ||
887 | } | ||
888 | |||
889 | static void | ||
890 | _ecore_wl_cb_source_offer(void *data, struct wl_data_offer *offer __UNUSED__, const char *type) | ||
891 | { | ||
892 | Ecore_Wl_Dnd_Source *s; | ||
893 | |||
894 | if (!(s = data)) return; | ||
895 | eina_array_push(s->types, strdup(type)); | ||
896 | } | ||
897 | |||
898 | static void | ||
899 | _ecore_wl_cb_data_offer(void *data, struct wl_data_device *data_dev, uint32_t id) | ||
900 | { | ||
901 | Ecore_Wl_Dnd_Source *source; | ||
902 | |||
903 | /* create a new 'data offer' structure and setup a listener for it */ | ||
904 | if (!(source = calloc(1, sizeof(Ecore_Wl_Dnd_Source)))) return; | ||
905 | |||
906 | source->types = eina_array_new(1); | ||
907 | source->data = data; | ||
908 | source->refs = 1; | ||
909 | |||
910 | /* FIXME: This will need to change when Wayland has typesafe wrappers for this */ | ||
911 | source->offer = (struct wl_data_offer *) | ||
912 | wl_proxy_create_for_id((struct wl_proxy *)data_dev, | ||
913 | id, &wl_data_offer_interface); | ||
914 | |||
915 | wl_data_device_set_user_data(data_dev, source); | ||
916 | wl_data_offer_add_listener(source->offer, &_ecore_wl_offer_listener, source); | ||
917 | } | ||
918 | |||
919 | static void | ||
920 | _ecore_wl_cb_data_enter(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, struct wl_surface *surface, int32_t x, int32_t y, struct wl_data_offer *offer) | ||
921 | { | ||
922 | Ecore_Wl_Dnd_Source *source; | ||
923 | |||
924 | if (!(source = wl_data_device_get_user_data(data_dev))) return; | ||
925 | |||
926 | /* TODO: maybe set pointer focus here ?? */ | ||
927 | |||
928 | source->timestamp = timestamp; | ||
929 | } | ||
930 | |||
931 | static void | ||
932 | _ecore_wl_cb_data_leave(void *data __UNUSED__, struct wl_data_device *data_dev) | ||
933 | { | ||
934 | Ecore_Wl_Dnd_Source *source; | ||
935 | |||
936 | if (!(source = wl_data_device_get_user_data(data_dev))) return; | ||
937 | |||
938 | /* destroy drag offer */ | ||
939 | wl_data_offer_destroy(source->offer); | ||
940 | |||
941 | while (eina_array_count(source->types)) | ||
942 | free(eina_array_pop(source->types)); | ||
943 | |||
944 | eina_array_free(source->types); | ||
945 | free(source); | ||
946 | |||
947 | wl_data_device_set_user_data(data_dev, NULL); | ||
948 | } | ||
949 | |||
950 | static void | ||
951 | _ecore_wl_cb_data_motion(void *data __UNUSED__, struct wl_data_device *data_dev, uint32_t timestamp, int32_t x, int32_t y) | ||
952 | { | ||
953 | Ecore_Wl_Dnd_Source *source; | ||
954 | |||
955 | if (!(source = wl_data_device_get_user_data(data_dev))) return; | ||
956 | /* TODO: Here we should raise motion events for dragging */ | ||
957 | } | ||
958 | |||
959 | static void | ||
960 | _ecore_wl_cb_data_drop(void *data __UNUSED__, struct wl_data_device *data_dev) | ||
961 | { | ||
962 | Ecore_Wl_Dnd_Source *source; | ||
963 | |||
964 | if (!(source = wl_data_device_get_user_data(data_dev))) return; | ||
965 | |||
966 | /* TODO: Raise event for drop */ | ||
967 | |||
968 | wl_data_offer_accept(source->offer, source->timestamp, NULL); | ||
969 | // eina_array_data_get(source->types, 0)); | ||
970 | } | ||
971 | |||
972 | static void | ||
973 | _ecore_wl_cb_data_selection(void *data, struct wl_data_device *data_dev, struct wl_data_offer *offer) | ||
974 | { | ||
975 | Ecore_Wl_Dnd_Source *source; | ||
976 | |||
977 | printf("Ecore_Wl Data Selection\n"); | ||
978 | if ((source = wl_data_device_get_user_data(data_dev))) | ||
979 | { | 476 | { |
980 | /* destroy old source */ | 477 | ERR("Failed to choose ARGB config"); |
981 | wl_data_offer_destroy(source->offer); | 478 | return EINA_FALSE; |
982 | |||
983 | while (eina_array_count(source->types)) | ||
984 | free(eina_array_pop(source->types)); | ||
985 | |||
986 | eina_array_free(source->types); | ||
987 | free(source); | ||
988 | |||
989 | wl_data_device_set_user_data(data_dev, NULL); | ||
990 | } | 479 | } |
991 | } | ||
992 | |||
993 | static void | ||
994 | _ecore_wl_mouse_move_send(uint32_t timestamp) | ||
995 | { | ||
996 | Ecore_Event_Mouse_Move *ev; | ||
997 | |||
998 | // if (!_ecore_wl_input_surface) return; | ||
999 | |||
1000 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Move)))) return; | ||
1001 | |||
1002 | ev->timestamp = timestamp; | ||
1003 | ev->x = _ecore_wl_surface_x; | ||
1004 | ev->y = _ecore_wl_surface_y; | ||
1005 | ev->root.x = _ecore_wl_screen_x; | ||
1006 | ev->root.y = _ecore_wl_screen_y; | ||
1007 | ev->modifiers = _ecore_wl_input_modifiers; | ||
1008 | |||
1009 | ev->multi.device = 0; | ||
1010 | ev->multi.radius = 1; | ||
1011 | ev->multi.radius_x = 1; | ||
1012 | ev->multi.radius_y = 1; | ||
1013 | ev->multi.pressure = 1.0; | ||
1014 | ev->multi.angle = 0.0; | ||
1015 | ev->multi.x = _ecore_wl_surface_x; | ||
1016 | ev->multi.y = _ecore_wl_surface_y; | ||
1017 | ev->multi.root.x = _ecore_wl_screen_x; | ||
1018 | ev->multi.root.y = _ecore_wl_screen_y; | ||
1019 | 480 | ||
481 | ewd->egl.argb_context = | ||
482 | eglCreateContext(ewd->egl.display, ewd->egl.argb_config, | ||
483 | EGL_NO_CONTEXT, context_attribs); | ||
484 | if (!ewd->egl.argb_context) | ||
1020 | { | 485 | { |
1021 | unsigned int id = 0; | 486 | ERR("Failed to create ARGB context"); |
1022 | 487 | return EINA_FALSE; | |
1023 | if ((id = (unsigned int)wl_surface_get_user_data(_ecore_wl_input_surface))) | ||
1024 | { | ||
1025 | ev->window = id; | ||
1026 | ev->event_window = id; | ||
1027 | } | ||
1028 | } | 488 | } |
1029 | 489 | ||
1030 | ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL); | 490 | if (!eglMakeCurrent(ewd->egl.display, EGL_NO_SURFACE, |
1031 | } | 491 | EGL_NO_SURFACE, ewd->egl.argb_context)) |
1032 | |||
1033 | static void | ||
1034 | _ecore_wl_mouse_out_send(struct wl_surface *surface, uint32_t timestamp) | ||
1035 | { | ||
1036 | Ecore_Wl_Event_Mouse_Out *ev; | ||
1037 | |||
1038 | if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Mouse_Out)))) return; | ||
1039 | |||
1040 | ev->x = _ecore_wl_surface_x; | ||
1041 | ev->y = _ecore_wl_surface_y; | ||
1042 | ev->root.x = _ecore_wl_screen_x; | ||
1043 | ev->root.y = _ecore_wl_screen_y; | ||
1044 | ev->modifiers = _ecore_wl_input_modifiers; | ||
1045 | ev->time = timestamp; | ||
1046 | |||
1047 | if (surface) | ||
1048 | { | 492 | { |
1049 | unsigned int id = 0; | 493 | ERR("Failed to make ARGB context current"); |
1050 | 494 | return EINA_FALSE; | |
1051 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | ||
1052 | ev->window = id; | ||
1053 | } | 495 | } |
1054 | 496 | ||
1055 | ecore_event_add(ECORE_WL_EVENT_MOUSE_OUT, ev, NULL, NULL); | 497 | return EINA_TRUE; |
1056 | } | 498 | } |
1057 | 499 | ||
1058 | static void | 500 | static Eina_Bool |
1059 | _ecore_wl_mouse_in_send(struct wl_surface *surface, uint32_t timestamp) | 501 | _ecore_wl_egl_shutdown(Ecore_Wl_Display *ewd) |
1060 | { | 502 | { |
1061 | Ecore_Wl_Event_Mouse_In *ev; | 503 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1062 | |||
1063 | if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Mouse_In)))) return; | ||
1064 | |||
1065 | ev->x = _ecore_wl_surface_x; | ||
1066 | ev->y = _ecore_wl_surface_y; | ||
1067 | ev->root.x = _ecore_wl_screen_x; | ||
1068 | ev->root.y = _ecore_wl_screen_y; | ||
1069 | ev->modifiers = _ecore_wl_input_modifiers; | ||
1070 | ev->time = timestamp; | ||
1071 | 504 | ||
1072 | if (surface) | 505 | eglMakeCurrent(ewd->egl.display, |
1073 | { | 506 | EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); |
1074 | unsigned int id = 0; | ||
1075 | 507 | ||
1076 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | 508 | eglDestroyContext(ewd->egl.display, ewd->egl.argb_context); |
1077 | ev->window = id; | ||
1078 | } | ||
1079 | |||
1080 | ecore_event_add(ECORE_WL_EVENT_MOUSE_IN, ev, NULL, NULL); | ||
1081 | } | ||
1082 | 509 | ||
1083 | static void | 510 | /* NB: This is hanging when we run elm apps as wayland clients |
1084 | _ecore_wl_mouse_up_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp) | 511 | * inside the weston compositor */ |
1085 | { | ||
1086 | Ecore_Event_Mouse_Button *ev; | ||
1087 | |||
1088 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; | ||
1089 | |||
1090 | if (button == BTN_LEFT) | ||
1091 | ev->buttons = 1; | ||
1092 | else if (button == BTN_MIDDLE) | ||
1093 | ev->buttons = 2; | ||
1094 | else if (button == BTN_RIGHT) | ||
1095 | ev->buttons = 3; | ||
1096 | |||
1097 | ev->timestamp = timestamp; | ||
1098 | ev->x = _ecore_wl_surface_x; | ||
1099 | ev->y = _ecore_wl_surface_y; | ||
1100 | ev->root.x = _ecore_wl_screen_x; | ||
1101 | ev->root.y = _ecore_wl_screen_y; | ||
1102 | ev->modifiers = _ecore_wl_input_modifiers; | ||
1103 | |||
1104 | /* FIXME: Need to get these from Wayland somehow */ | ||
1105 | ev->double_click = 0; | ||
1106 | ev->triple_click = 0; | ||
1107 | |||
1108 | ev->multi.device = 0; | ||
1109 | ev->multi.radius = 1; | ||
1110 | ev->multi.radius_x = 1; | ||
1111 | ev->multi.radius_y = 1; | ||
1112 | ev->multi.pressure = 1.0; | ||
1113 | ev->multi.angle = 0.0; | ||
1114 | ev->multi.x = _ecore_wl_surface_x; | ||
1115 | ev->multi.y = _ecore_wl_surface_y; | ||
1116 | ev->multi.root.x = _ecore_wl_screen_x; | ||
1117 | ev->multi.root.y = _ecore_wl_screen_y; | ||
1118 | 512 | ||
1119 | { | 513 | /* printf("Egl Terminate\n"); */ |
1120 | unsigned int id = 0; | 514 | /* eglTerminate(ewd->egl.display); */ |
515 | /* printf("Egl Terminate Done\n"); */ | ||
1121 | 516 | ||
1122 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | 517 | eglReleaseThread(); |
1123 | { | ||
1124 | ev->window = id; | ||
1125 | ev->event_window = id; | ||
1126 | } | ||
1127 | } | ||
1128 | 518 | ||
1129 | ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL); | 519 | return EINA_TRUE; |
1130 | } | 520 | } |
1131 | 521 | ||
1132 | static void | 522 | static Eina_Bool |
1133 | _ecore_wl_mouse_down_send(struct wl_surface *surface, uint32_t button, uint32_t timestamp) | 523 | _ecore_wl_xkb_init(Ecore_Wl_Display *ewd) |
1134 | { | 524 | { |
1135 | Ecore_Event_Mouse_Button *ev; | 525 | struct xkb_rule_names names; |
1136 | |||
1137 | if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return; | ||
1138 | |||
1139 | if (button == BTN_LEFT) | ||
1140 | ev->buttons = 1; | ||
1141 | else if (button == BTN_MIDDLE) | ||
1142 | ev->buttons = 2; | ||
1143 | else if (button == BTN_RIGHT) | ||
1144 | ev->buttons = 3; | ||
1145 | |||
1146 | ev->timestamp = timestamp; | ||
1147 | ev->x = _ecore_wl_surface_x; | ||
1148 | ev->y = _ecore_wl_surface_y; | ||
1149 | ev->root.x = _ecore_wl_screen_x; | ||
1150 | ev->root.y = _ecore_wl_screen_y; | ||
1151 | ev->modifiers = _ecore_wl_input_modifiers; | ||
1152 | |||
1153 | /* FIXME: Need to get these from Wayland somehow */ | ||
1154 | ev->double_click = 0; | ||
1155 | ev->triple_click = 0; | ||
1156 | |||
1157 | ev->multi.device = 0; | ||
1158 | ev->multi.radius = 1; | ||
1159 | ev->multi.radius_x = 1; | ||
1160 | ev->multi.radius_y = 1; | ||
1161 | ev->multi.pressure = 1.0; | ||
1162 | ev->multi.angle = 0.0; | ||
1163 | ev->multi.x = _ecore_wl_surface_x; | ||
1164 | ev->multi.y = _ecore_wl_surface_y; | ||
1165 | ev->multi.root.x = _ecore_wl_screen_x; | ||
1166 | ev->multi.root.y = _ecore_wl_screen_y; | ||
1167 | 526 | ||
1168 | { | 527 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1169 | unsigned int id = 0; | ||
1170 | |||
1171 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | ||
1172 | { | ||
1173 | ev->window = id; | ||
1174 | ev->event_window = id; | ||
1175 | } | ||
1176 | } | ||
1177 | 528 | ||
1178 | ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL); | 529 | names.rules = "evdev"; |
1179 | } | 530 | names.model = "evdev"; |
531 | names.layout = "us"; | ||
532 | names.variant = ""; | ||
533 | names.options = ""; | ||
1180 | 534 | ||
1181 | static void | 535 | if (!(ewd->xkb = xkb_compile_keymap_from_rules(&names))) |
1182 | _ecore_wl_focus_out_send(struct wl_surface *surface, uint32_t timestamp) | ||
1183 | { | ||
1184 | Ecore_Wl_Event_Focus_Out *ev; | ||
1185 | |||
1186 | if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Focus_Out)))) return; | ||
1187 | ev->time = timestamp; | ||
1188 | if (surface) | ||
1189 | { | 536 | { |
1190 | unsigned int id = 0; | 537 | ERR("Failed to compile keymap"); |
1191 | 538 | return EINA_FALSE; | |
1192 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | ||
1193 | ev->window = id; | ||
1194 | } | 539 | } |
1195 | ecore_event_add(ECORE_WL_EVENT_FOCUS_OUT, ev, NULL, NULL); | 540 | |
541 | return EINA_TRUE; | ||
1196 | } | 542 | } |
1197 | 543 | ||
1198 | static void | 544 | static Eina_Bool |
1199 | _ecore_wl_focus_in_send(struct wl_surface *surface, uint32_t timestamp) | 545 | _ecore_wl_xkb_shutdown(Ecore_Wl_Display *ewd) |
1200 | { | 546 | { |
1201 | Ecore_Wl_Event_Focus_In *ev; | 547 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
1202 | |||
1203 | if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Focus_In)))) return; | ||
1204 | ev->time = timestamp; | ||
1205 | if (surface) | ||
1206 | { | ||
1207 | unsigned int id = 0; | ||
1208 | 548 | ||
1209 | if ((id = (unsigned int)wl_surface_get_user_data(surface))) | 549 | if (ewd->xkb) xkb_free_keymap(ewd->xkb); |
1210 | ev->window = id; | 550 | return EINA_TRUE; |
1211 | } | ||
1212 | ecore_event_add(ECORE_WL_EVENT_FOCUS_IN, ev, NULL, NULL); | ||
1213 | } | 551 | } |
diff --git a/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h b/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h index eec5ffe..31956a1 100644 --- a/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h +++ b/libraries/ecore/src/lib/ecore_wayland/ecore_wl_private.h | |||
@@ -2,6 +2,9 @@ | |||
2 | # define _ECORE_WAYLAND_PRIVATE_H | 2 | # define _ECORE_WAYLAND_PRIVATE_H |
3 | 3 | ||
4 | # include <limits.h> | 4 | # include <limits.h> |
5 | # include <xkbcommon/xkbcommon.h> | ||
6 | |||
7 | # include "Ecore_Wayland.h" | ||
5 | 8 | ||
6 | //# define LOGFNS 1 | 9 | //# define LOGFNS 1 |
7 | 10 | ||
@@ -13,6 +16,7 @@ | |||
13 | # endif | 16 | # endif |
14 | 17 | ||
15 | extern int _ecore_wl_log_dom; | 18 | extern int _ecore_wl_log_dom; |
19 | extern Ecore_Wl_Display *_ecore_wl_disp; | ||
16 | 20 | ||
17 | # ifdef ECORE_WL_DEFAULT_LOG_COLOR | 21 | # ifdef ECORE_WL_DEFAULT_LOG_COLOR |
18 | # undef ECORE_WL_DEFAULT_LOG_COLOR | 22 | # undef ECORE_WL_DEFAULT_LOG_COLOR |
@@ -44,42 +48,40 @@ extern int _ecore_wl_log_dom; | |||
44 | # endif | 48 | # endif |
45 | # define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_wl_log_dom, __VA_ARGS__) | 49 | # define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_wl_log_dom, __VA_ARGS__) |
46 | 50 | ||
47 | typedef struct _Ecore_Wl_Dnd_Source | 51 | struct _Ecore_Wl_Dnd_Source |
48 | { | 52 | { |
49 | struct wl_data_offer *offer; | 53 | struct wl_data_offer *offer; |
50 | int refs; | 54 | Ecore_Wl_Input *input; |
51 | 55 | struct wl_array types; | |
52 | Eina_Array *types; | 56 | int refcount; |
57 | int fd; | ||
58 | int x, y; | ||
53 | 59 | ||
54 | uint32_t timestamp; | 60 | /* TODO: task & data_func */ |
55 | void *data; | 61 | void *data; |
56 | } Ecore_Wl_Dnd_Source; | 62 | }; |
57 | 63 | ||
58 | typedef struct _Ecore_Wl_Dnd_Target | 64 | struct _Ecore_Wl_Dnd_Target |
59 | { | 65 | { |
60 | /* NB: These are not the real fields for this structure, | 66 | Ecore_Wl_Dnd_Source *source; |
61 | * and it is Bound to change....soon */ | 67 | }; |
62 | struct wl_data_offer *offer; | ||
63 | int refs; | ||
64 | |||
65 | Eina_Array *types; | ||
66 | 68 | ||
67 | uint32_t timestamp; | 69 | void _ecore_wl_window_init(void); |
68 | void *data; | 70 | void _ecore_wl_window_shutdown(void); |
69 | } Ecore_Wl_Dnd_Target; | ||
70 | 71 | ||
71 | struct _Ecore_Wl_Drag_Source | 72 | void _ecore_wl_output_add(Ecore_Wl_Display *ewd, unsigned int id); |
72 | { | 73 | void _ecore_wl_output_del(Ecore_Wl_Output *output); |
73 | struct wl_data_device *data_dev; | ||
74 | struct wl_buffer *buffer; | ||
75 | 74 | ||
76 | int32_t hotspot_x, hotspot_y; | 75 | void _ecore_wl_input_add(Ecore_Wl_Display *ewd, unsigned int id); |
77 | int32_t offset_x, offset_y; | 76 | void _ecore_wl_input_del(Ecore_Wl_Input *input); |
78 | const char *mimetype; | 77 | void _ecore_wl_input_pointer_xy_get(int *x, int *y); |
79 | uint32_t timestamp; | ||
80 | void *data; | ||
81 | 78 | ||
82 | struct wl_data_source *data_source; | 79 | void _ecore_wl_dnd_add(Ecore_Wl_Input *input, struct wl_data_device *data_device, unsigned int id); |
83 | }; | 80 | 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); |
81 | void _ecore_wl_dnd_leave(void *data, struct wl_data_device *data_device __UNUSED__); | ||
82 | void _ecore_wl_dnd_motion(void *data, struct wl_data_device *data_device __UNUSED__, unsigned int timestamp __UNUSED__, int x, int y); | ||
83 | void _ecore_wl_dnd_drop(void *data, struct wl_data_device *data_device __UNUSED__); | ||
84 | void _ecore_wl_dnd_selection(void *data, struct wl_data_device *data_device __UNUSED__, struct wl_data_offer *offer); | ||
85 | void _ecore_wl_dnd_del(Ecore_Wl_Dnd_Source *source); | ||
84 | 86 | ||
85 | #endif | 87 | #endif |
diff --git a/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h b/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h index 95e3749..5df3346 100644 --- a/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h +++ b/libraries/ecore/src/lib/ecore_win32/Ecore_Win32.h | |||
@@ -460,7 +460,9 @@ EAPI void ecore_win32_window_lower(Ecore_Win32_Window *window); | |||
460 | EAPI void ecore_win32_window_title_set(Ecore_Win32_Window *window, | 460 | EAPI void ecore_win32_window_title_set(Ecore_Win32_Window *window, |
461 | const char *title); | 461 | const char *title); |
462 | 462 | ||
463 | EAPI void ecore_win32_window_focus_set(Ecore_Win32_Window *window); | 463 | EAPI void ecore_win32_window_focus(Ecore_Win32_Window *window); |
464 | |||
465 | EAPI void *ecore_win32_window_focus_get(void); | ||
464 | 466 | ||
465 | EAPI void ecore_win32_window_iconified_set(Ecore_Win32_Window *window, | 467 | EAPI void ecore_win32_window_iconified_set(Ecore_Win32_Window *window, |
466 | Eina_Bool on); | 468 | Eina_Bool on); |
@@ -471,11 +473,6 @@ EAPI void ecore_win32_window_borderless_set(Ecore_Win32_Window *window, | |||
471 | EAPI void ecore_win32_window_fullscreen_set(Ecore_Win32_Window *window, | 473 | EAPI void ecore_win32_window_fullscreen_set(Ecore_Win32_Window *window, |
472 | Eina_Bool on); | 474 | Eina_Bool on); |
473 | 475 | ||
474 | EINA_DEPRECATED EAPI void ecore_win32_window_shape_set(Ecore_Win32_Window *window, | ||
475 | unsigned short width, | ||
476 | unsigned short height, | ||
477 | unsigned char *mask); | ||
478 | |||
479 | EAPI void ecore_win32_window_cursor_set(Ecore_Win32_Window *window, | 476 | EAPI void ecore_win32_window_cursor_set(Ecore_Win32_Window *window, |
480 | Ecore_Win32_Cursor *cursor); | 477 | Ecore_Win32_Cursor *cursor); |
481 | 478 | ||
diff --git a/libraries/ecore/src/lib/ecore_win32/Makefile.in b/libraries/ecore/src/lib/ecore_win32/Makefile.in index 9994ee7..b512021 100644 --- a/libraries/ecore/src/lib/ecore_win32/Makefile.in +++ b/libraries/ecore/src/lib/ecore_win32/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -213,6 +212,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
213 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 212 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
214 | EVIL_LIBS = @EVIL_LIBS@ | 213 | EVIL_LIBS = @EVIL_LIBS@ |
215 | EXEEXT = @EXEEXT@ | 214 | EXEEXT = @EXEEXT@ |
215 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
216 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
216 | FGREP = @FGREP@ | 217 | FGREP = @FGREP@ |
217 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 218 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
218 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 219 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -268,6 +269,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
268 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 269 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
269 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 270 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
270 | PKG_CONFIG = @PKG_CONFIG@ | 271 | PKG_CONFIG = @PKG_CONFIG@ |
272 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
273 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
271 | POSUB = @POSUB@ | 274 | POSUB = @POSUB@ |
272 | RANLIB = @RANLIB@ | 275 | RANLIB = @RANLIB@ |
273 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 276 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -278,6 +281,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
278 | SED = @SED@ | 281 | SED = @SED@ |
279 | SET_MAKE = @SET_MAKE@ | 282 | SET_MAKE = @SET_MAKE@ |
280 | SHELL = @SHELL@ | 283 | SHELL = @SHELL@ |
284 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
281 | SSL_CFLAGS = @SSL_CFLAGS@ | 285 | SSL_CFLAGS = @SSL_CFLAGS@ |
282 | SSL_LIBS = @SSL_LIBS@ | 286 | SSL_LIBS = @SSL_LIBS@ |
283 | STRIP = @STRIP@ | 287 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h b/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h index ab54763..e3e4426 100644 --- a/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h +++ b/libraries/ecore/src/lib/ecore_win32/ecore_win32_private.h | |||
@@ -71,8 +71,8 @@ struct _Ecore_Win32_Window | |||
71 | unsigned int min_height; | 71 | unsigned int min_height; |
72 | unsigned int max_width; | 72 | unsigned int max_width; |
73 | unsigned int max_height; | 73 | unsigned int max_height; |
74 | unsigned int base_width; | 74 | int base_width; |
75 | unsigned int base_height; | 75 | int base_height; |
76 | unsigned int step_width; | 76 | unsigned int step_width; |
77 | unsigned int step_height; | 77 | unsigned int step_height; |
78 | 78 | ||
diff --git a/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c b/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c index 459f051..058aef0 100644 --- a/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c +++ b/libraries/ecore/src/lib/ecore_win32/ecore_win32_window.c | |||
@@ -107,8 +107,8 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent, | |||
107 | w->min_height = 0; | 107 | w->min_height = 0; |
108 | w->max_width = 32767; | 108 | w->max_width = 32767; |
109 | w->max_height = 32767; | 109 | w->max_height = 32767; |
110 | w->base_width = 0; | 110 | w->base_width = -1; |
111 | w->base_height = 0; | 111 | w->base_height = -1; |
112 | w->step_width = 1; | 112 | w->step_width = 1; |
113 | w->step_height = 1; | 113 | w->step_height = 1; |
114 | 114 | ||
@@ -249,6 +249,8 @@ ecore_win32_window_free(Ecore_Win32_Window *window) | |||
249 | * | 249 | * |
250 | * This function returns the window HANDLE associated to @p window. If | 250 | * This function returns the window HANDLE associated to @p window. If |
251 | * @p window is @c NULL, this function returns @c NULL. | 251 | * @p window is @c NULL, this function returns @c NULL. |
252 | * | ||
253 | * @note The returned value is of type HWND. | ||
252 | */ | 254 | */ |
253 | EAPI void * | 255 | EAPI void * |
254 | ecore_win32_window_hwnd_get(Ecore_Win32_Window *window) | 256 | ecore_win32_window_hwnd_get(Ecore_Win32_Window *window) |
@@ -755,140 +757,6 @@ ecore_win32_window_size_step_get(Ecore_Win32_Window *window, | |||
755 | if (step_height) *step_height = window->step_height; | 757 | if (step_height) *step_height = window->step_height; |
756 | } | 758 | } |
757 | 759 | ||
758 | EAPI void | ||
759 | ecore_win32_window_shape_set(Ecore_Win32_Window *window, | ||
760 | unsigned short width, | ||
761 | unsigned short height, | ||
762 | unsigned char *mask) | ||
763 | { | ||
764 | HRGN rgn; | ||
765 | int x; | ||
766 | int y; | ||
767 | OSVERSIONINFO version_info; | ||
768 | |||
769 | if (!window) | ||
770 | return; | ||
771 | |||
772 | if (!mask) | ||
773 | { | ||
774 | window->shape.enabled = 0; | ||
775 | if (window->shape.layered != 0) | ||
776 | { | ||
777 | window->shape.layered = 0; | ||
778 | #if defined(WS_EX_LAYERED) | ||
779 | SetLastError(0); | ||
780 | if (!SetWindowLongPtr(window->window, GWL_EXSTYLE, | ||
781 | GetWindowLong(window->window, GWL_EXSTYLE) & (~WS_EX_LAYERED)) && | ||
782 | (GetLastError() != 0)) | ||
783 | { | ||
784 | ERR("SetWindowLongPtr() failed"); | ||
785 | return; | ||
786 | } | ||
787 | if (!RedrawWindow(window->window, NULL, NULL, | ||
788 | RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN)) | ||
789 | { | ||
790 | ERR("RedrawWindow() failed"); | ||
791 | return; | ||
792 | } | ||
793 | #endif | ||
794 | } | ||
795 | else | ||
796 | if (!SetWindowRgn(window->window, NULL, TRUE)) | ||
797 | { | ||
798 | ERR("SetWindowRgn() failed"); | ||
799 | } | ||
800 | return; | ||
801 | } | ||
802 | |||
803 | if (width == 0 || height == 0) | ||
804 | return; | ||
805 | |||
806 | window->shape.enabled = 1; | ||
807 | |||
808 | if (width != window->shape.width || height != window->shape.height) | ||
809 | { | ||
810 | window->shape.width = width; | ||
811 | window->shape.height = height; | ||
812 | if (window->shape.mask) | ||
813 | { | ||
814 | free(window->shape.mask); | ||
815 | window->shape.mask = NULL; | ||
816 | } | ||
817 | window->shape.mask = malloc(width * height); | ||
818 | } | ||
819 | memcpy(window->shape.mask, mask, width * height); | ||
820 | |||
821 | window->shape.layered = 0; | ||
822 | |||
823 | #if defined(WS_EX_LAYERED) | ||
824 | version_info.dwOSVersionInfoSize = sizeof(version_info); | ||
825 | if (GetVersionEx(&version_info) == TRUE && version_info.dwMajorVersion == 5) | ||
826 | { | ||
827 | SetLastError(0); | ||
828 | if (!SetWindowLongPtr(window->window, GWL_EXSTYLE, | ||
829 | GetWindowLong(window->window, GWL_EXSTYLE) | WS_EX_LAYERED) && | ||
830 | (GetLastError() != 0)) | ||
831 | { | ||
832 | ERR("SetWindowLongPtr() failed"); | ||
833 | return; | ||
834 | } | ||
835 | window->shape.layered = 1; | ||
836 | return; | ||
837 | } | ||
838 | #endif | ||
839 | |||
840 | if (!(rgn = CreateRectRgn(0, 0, 0, 0))) | ||
841 | { | ||
842 | ERR("CreateRectRgn() failed"); | ||
843 | return; | ||
844 | } | ||
845 | for (y = 0; y < height; y++) | ||
846 | { | ||
847 | HRGN rgnLine; | ||
848 | |||
849 | if (!(rgnLine = CreateRectRgn(0, 0, 0, 0))) | ||
850 | { | ||
851 | ERR("CreateRectRgn() failed"); | ||
852 | return; | ||
853 | } | ||
854 | for (x = 0; x < width; x++) | ||
855 | { | ||
856 | if (mask[y * width + x] > 0) | ||
857 | { | ||
858 | HRGN rgnDot; | ||
859 | |||
860 | if (!(rgnDot = CreateRectRgn(x, y, x + 1, y + 1))) | ||
861 | { | ||
862 | ERR("CreateRectRgn() failed"); | ||
863 | return; | ||
864 | } | ||
865 | if (CombineRgn(rgnLine, rgnLine, rgnDot, RGN_OR) == ERROR) | ||
866 | { | ||
867 | ERR("CombineRgn() has not created a new region"); | ||
868 | } | ||
869 | if (!DeleteObject(rgnDot)) | ||
870 | { | ||
871 | ERR("DeleteObject() failed"); | ||
872 | return; | ||
873 | } | ||
874 | } | ||
875 | } | ||
876 | if (CombineRgn(rgn, rgn, rgnLine, RGN_OR) == ERROR) | ||
877 | { | ||
878 | ERR("CombineRgn() has not created a new region"); | ||
879 | } | ||
880 | if (!DeleteObject(rgnLine)) | ||
881 | { | ||
882 | ERR("DeleteObject() failed"); | ||
883 | return; | ||
884 | } | ||
885 | } | ||
886 | if (!SetWindowRgn(window->window, rgn, TRUE)) | ||
887 | { | ||
888 | ERR("SetWindowRgn() failed"); | ||
889 | } | ||
890 | } | ||
891 | |||
892 | /** | 760 | /** |
893 | * @brief Show the given window. | 761 | * @brief Show the given window. |
894 | * | 762 | * |
@@ -1011,7 +879,7 @@ ecore_win32_window_title_set(Ecore_Win32_Window *window, | |||
1011 | * @c NULL, this function does nothing. | 879 | * @c NULL, this function does nothing. |
1012 | */ | 880 | */ |
1013 | EAPI void | 881 | EAPI void |
1014 | ecore_win32_window_focus_set(Ecore_Win32_Window *window) | 882 | ecore_win32_window_focus(Ecore_Win32_Window *window) |
1015 | { | 883 | { |
1016 | if (!window) return; | 884 | if (!window) return; |
1017 | 885 | ||
@@ -1024,6 +892,37 @@ ecore_win32_window_focus_set(Ecore_Win32_Window *window) | |||
1024 | } | 892 | } |
1025 | 893 | ||
1026 | /** | 894 | /** |
895 | * @brief Get the current focused window. | ||
896 | * | ||
897 | * @return The window that has focus. | ||
898 | * | ||
899 | * This function returns the window that has focus. If the calling | ||
900 | * thread's message queue does not have an associated window with the | ||
901 | * keyboard focus, the return value is @c NULL. | ||
902 | * | ||
903 | * @note Even if the returned value is @c NULL, another thread's queue | ||
904 | * may be associated with a window that has the keyboard focus. | ||
905 | * | ||
906 | * @note The returned value is of type HWND. | ||
907 | */ | ||
908 | EAPI void * | ||
909 | ecore_win32_window_focus_get(void) | ||
910 | { | ||
911 | HWND focused; | ||
912 | |||
913 | INF("getting focused window"); | ||
914 | |||
915 | focused = GetFocus(); | ||
916 | if (!focused) | ||
917 | { | ||
918 | ERR("GetFocus() failed"); | ||
919 | return NULL; | ||
920 | } | ||
921 | |||
922 | return focused; | ||
923 | } | ||
924 | |||
925 | /** | ||
1027 | * @brief Iconify or restore the given window. | 926 | * @brief Iconify or restore the given window. |
1028 | * | 927 | * |
1029 | * @param window The window. | 928 | * @param window The window. |
diff --git a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h b/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h index 681b334..63e20d5 100644 --- a/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h +++ b/libraries/ecore/src/lib/ecore_wince/Ecore_WinCE.h | |||
@@ -280,6 +280,10 @@ EAPI void ecore_wince_window_hide(Ecore_WinCE_Window *window); | |||
280 | EAPI void ecore_wince_window_title_set(Ecore_WinCE_Window *window, | 280 | EAPI void ecore_wince_window_title_set(Ecore_WinCE_Window *window, |
281 | const char *title); | 281 | const char *title); |
282 | 282 | ||
283 | EAPI void ecore_wince_window_focus(Ecore_WinCE_Window *window); | ||
284 | |||
285 | EAPI void *ecore_wince_window_focus_get(void); | ||
286 | |||
283 | EAPI void ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend); | 287 | EAPI void ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend); |
284 | 288 | ||
285 | EAPI void ecore_wince_window_suspend_cb_set(Ecore_WinCE_Window *window, int (*suspend_cb)(int)); | 289 | EAPI void ecore_wince_window_suspend_cb_set(Ecore_WinCE_Window *window, int (*suspend_cb)(int)); |
diff --git a/libraries/ecore/src/lib/ecore_wince/Makefile.in b/libraries/ecore/src/lib/ecore_wince/Makefile.in index d23bf51..340416b 100644 --- a/libraries/ecore/src/lib/ecore_wince/Makefile.in +++ b/libraries/ecore/src/lib/ecore_wince/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -194,6 +193,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
194 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 193 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
195 | EVIL_LIBS = @EVIL_LIBS@ | 194 | EVIL_LIBS = @EVIL_LIBS@ |
196 | EXEEXT = @EXEEXT@ | 195 | EXEEXT = @EXEEXT@ |
196 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
197 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
197 | FGREP = @FGREP@ | 198 | FGREP = @FGREP@ |
198 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 199 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
199 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 200 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -249,6 +250,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
249 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 250 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
250 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 251 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
251 | PKG_CONFIG = @PKG_CONFIG@ | 252 | PKG_CONFIG = @PKG_CONFIG@ |
253 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
254 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
252 | POSUB = @POSUB@ | 255 | POSUB = @POSUB@ |
253 | RANLIB = @RANLIB@ | 256 | RANLIB = @RANLIB@ |
254 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 257 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -259,6 +262,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
259 | SED = @SED@ | 262 | SED = @SED@ |
260 | SET_MAKE = @SET_MAKE@ | 263 | SET_MAKE = @SET_MAKE@ |
261 | SHELL = @SHELL@ | 264 | SHELL = @SHELL@ |
265 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
262 | SSL_CFLAGS = @SSL_CFLAGS@ | 266 | SSL_CFLAGS = @SSL_CFLAGS@ |
263 | SSL_LIBS = @SSL_LIBS@ | 267 | SSL_LIBS = @SSL_LIBS@ |
264 | STRIP = @STRIP@ | 268 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c b/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c index 4e8b7b1..72353ce 100644 --- a/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c +++ b/libraries/ecore/src/lib/ecore_wince/ecore_wince_window.c | |||
@@ -447,6 +447,58 @@ ecore_wince_window_title_set(Ecore_WinCE_Window *window, | |||
447 | } | 447 | } |
448 | 448 | ||
449 | /** | 449 | /** |
450 | * @brief Set the focus to the given window. | ||
451 | * | ||
452 | * @param window The window to give focus to. | ||
453 | * | ||
454 | * This function gives the focus to @p window. If @p window is | ||
455 | * @c NULL, this function does nothing. | ||
456 | */ | ||
457 | EAPI void | ||
458 | ecore_wince_window_focus(Ecore_WinCE_Window *window) | ||
459 | { | ||
460 | if (!window) return; | ||
461 | |||
462 | INF("focusing window"); | ||
463 | |||
464 | if (!SetFocus(window->window)) | ||
465 | { | ||
466 | ERR("SetFocus() failed"); | ||
467 | } | ||
468 | } | ||
469 | |||
470 | /** | ||
471 | * @brief Get the current focused window. | ||
472 | * | ||
473 | * @return The window that has focus. | ||
474 | * | ||
475 | * This function returns the window that has focus. If the calling | ||
476 | * thread's message queue does not have an associated window with the | ||
477 | * keyboard focus, the return value is @c NULL. | ||
478 | * | ||
479 | * @note Even if the returned value is @c NULL, another thread's queue | ||
480 | * may be associated with a window that has the keyboard focus. | ||
481 | * | ||
482 | * @note The returned value is of type HWND. | ||
483 | */ | ||
484 | EAPI void * | ||
485 | ecore_wince_window_focus_get(void) | ||
486 | { | ||
487 | HWND focused; | ||
488 | |||
489 | INF("getting focused window"); | ||
490 | |||
491 | focused = GetFocus(); | ||
492 | if (!focused) | ||
493 | { | ||
494 | ERR("GetFocus() failed"); | ||
495 | return NULL; | ||
496 | } | ||
497 | |||
498 | return focused; | ||
499 | } | ||
500 | |||
501 | /** | ||
450 | * @brief Set the graphic backend used for the given window. | 502 | * @brief Set the graphic backend used for the given window. |
451 | * | 503 | * |
452 | * @param window The window. | 504 | * @param window The window. |
diff --git a/libraries/ecore/src/lib/ecore_x/Ecore_X.h b/libraries/ecore/src/lib/ecore_x/Ecore_X.h index b5d2c3f..336b656 100644 --- a/libraries/ecore/src/lib/ecore_x/Ecore_X.h +++ b/libraries/ecore/src/lib/ecore_x/Ecore_X.h | |||
@@ -1104,6 +1104,28 @@ typedef enum _Ecore_X_Illume_Quickpanel_State | |||
1104 | ECORE_X_ILLUME_QUICKPANEL_STATE_ON | 1104 | ECORE_X_ILLUME_QUICKPANEL_STATE_ON |
1105 | } Ecore_X_Illume_Quickpanel_State; | 1105 | } Ecore_X_Illume_Quickpanel_State; |
1106 | 1106 | ||
1107 | typedef enum _Ecore_X_Illume_Indicator_State | ||
1108 | { | ||
1109 | ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN = 0, | ||
1110 | ECORE_X_ILLUME_INDICATOR_STATE_OFF, | ||
1111 | ECORE_X_ILLUME_INDICATOR_STATE_ON | ||
1112 | } Ecore_X_Illume_Indicator_State; | ||
1113 | |||
1114 | typedef enum _Ecore_X_Illume_Clipboard_State | ||
1115 | { | ||
1116 | ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN = 0, | ||
1117 | ECORE_X_ILLUME_CLIPBOARD_STATE_OFF, | ||
1118 | ECORE_X_ILLUME_CLIPBOARD_STATE_ON | ||
1119 | } Ecore_X_Illume_Clipboard_State; | ||
1120 | |||
1121 | typedef enum _Ecore_X_Illume_Indicator_Opacity_Mode | ||
1122 | { | ||
1123 | ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN = 0, | ||
1124 | ECORE_X_ILLUME_INDICATOR_OPAQUE, | ||
1125 | ECORE_X_ILLUME_INDICATOR_TRANSLUCENT, | ||
1126 | ECORE_X_ILLUME_INDICATOR_TRANSPARENT | ||
1127 | } Ecore_X_Illume_Indicator_Opacity_Mode; | ||
1128 | |||
1107 | /* Window layer constants */ | 1129 | /* Window layer constants */ |
1108 | #define ECORE_X_WINDOW_LAYER_BELOW 2 | 1130 | #define ECORE_X_WINDOW_LAYER_BELOW 2 |
1109 | #define ECORE_X_WINDOW_LAYER_NORMAL 4 | 1131 | #define ECORE_X_WINDOW_LAYER_NORMAL 4 |
@@ -2159,6 +2181,11 @@ ecore_x_netwm_strut_partial_get(Ecore_X_Window win, | |||
2159 | int *bottom_start_x, | 2181 | int *bottom_start_x, |
2160 | int *bottom_end_x); | 2182 | int *bottom_end_x); |
2161 | 2183 | ||
2184 | EAPI void | ||
2185 | ecore_x_netwm_icons_set(Ecore_X_Window win, | ||
2186 | Ecore_X_Icon *icon, | ||
2187 | int num); | ||
2188 | |||
2162 | EAPI Eina_Bool | 2189 | EAPI Eina_Bool |
2163 | ecore_x_netwm_icons_get(Ecore_X_Window win, | 2190 | ecore_x_netwm_icons_get(Ecore_X_Window win, |
2164 | Ecore_X_Icon **icon, | 2191 | Ecore_X_Icon **icon, |
@@ -2399,6 +2426,25 @@ EAPI void | |||
2399 | ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win); | 2426 | ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win); |
2400 | 2427 | ||
2401 | EAPI void | 2428 | EAPI void |
2429 | ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, | ||
2430 | Ecore_X_Illume_Clipboard_State state); | ||
2431 | |||
2432 | EAPI Ecore_X_Illume_Clipboard_State | ||
2433 | ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win); | ||
2434 | |||
2435 | EAPI void | ||
2436 | ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, | ||
2437 | int x, | ||
2438 | int y, | ||
2439 | int w, | ||
2440 | int h); | ||
2441 | EAPI Eina_Bool | ||
2442 | ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, | ||
2443 | int *x, | ||
2444 | int *y, | ||
2445 | int *w, | ||
2446 | int *h); | ||
2447 | EAPI void | ||
2402 | ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, | 2448 | ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, |
2403 | Ecore_X_Sync_Counter counter); | 2449 | Ecore_X_Sync_Counter counter); |
2404 | EAPI Ecore_X_Sync_Counter | 2450 | EAPI Ecore_X_Sync_Counter |
@@ -2657,7 +2703,7 @@ ecore_x_xregion_rect_contain(Ecore_X_XRegion *region, | |||
2657 | /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset' | 2703 | /* The usage of 'Ecore_X_Randr_None' or 'Ecore_X_Randr_Unset' |
2658 | * depends on the context. In most cases 'Ecore_X_Randr_Unset' | 2704 | * depends on the context. In most cases 'Ecore_X_Randr_Unset' |
2659 | * can be used, but in some cases -1 is a special value to | 2705 | * can be used, but in some cases -1 is a special value to |
2660 | * functions, thus 'Ecore_X_Randr_None' (=0) musst be used. | 2706 | * functions, thus 'Ecore_X_Randr_None' (=0) must be used. |
2661 | */ | 2707 | */ |
2662 | 2708 | ||
2663 | typedef short Ecore_X_Randr_Refresh_Rate; | 2709 | typedef short Ecore_X_Randr_Refresh_Rate; |
@@ -2749,6 +2795,11 @@ EAPI Eina_Bool | |||
2749 | EAPI Ecore_X_Randr_Mode_Info ** | 2795 | EAPI Ecore_X_Randr_Mode_Info ** |
2750 | ecore_x_randr_modes_info_get(Ecore_X_Window root, | 2796 | ecore_x_randr_modes_info_get(Ecore_X_Window root, |
2751 | int *num); | 2797 | int *num); |
2798 | EAPI Ecore_X_Randr_Mode | ||
2799 | ecore_x_randr_mode_info_add(Ecore_X_Window root, | ||
2800 | Ecore_X_Randr_Mode_Info *mode_info); | ||
2801 | EAPI void | ||
2802 | ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode); | ||
2752 | EAPI Ecore_X_Randr_Mode_Info * | 2803 | EAPI Ecore_X_Randr_Mode_Info * |
2753 | ecore_x_randr_mode_info_get(Ecore_X_Window root, | 2804 | ecore_x_randr_mode_info_get(Ecore_X_Window root, |
2754 | Ecore_X_Randr_Mode mode); | 2805 | Ecore_X_Randr_Mode mode); |
@@ -2762,10 +2813,13 @@ EAPI Ecore_X_Randr_Output *ecore_x_randr_outputs_get(Ecore_X_Window root, | |||
2762 | EAPI Ecore_X_Randr_Output * | 2813 | EAPI Ecore_X_Randr_Output * |
2763 | ecore_x_randr_window_outputs_get(Ecore_X_Window window, | 2814 | ecore_x_randr_window_outputs_get(Ecore_X_Window window, |
2764 | int *num); | 2815 | int *num); |
2765 | EINA_DEPRECATED EAPI Ecore_X_Randr_Output * | 2816 | EAPI Ecore_X_Randr_Output * |
2766 | ecore_x_randr_current_output_get(Ecore_X_Window window, | 2817 | ecore_x_randr_current_output_get(Ecore_X_Window window, |
2767 | int *num); | 2818 | int *num); |
2768 | EAPI Ecore_X_Randr_Crtc * | 2819 | EAPI Ecore_X_Randr_Crtc * |
2820 | ecore_x_randr_window_crtcs_get(Ecore_X_Window window, | ||
2821 | int *num); | ||
2822 | EAPI Ecore_X_Randr_Crtc * | ||
2769 | ecore_x_randr_current_crtc_get(Ecore_X_Window window, | 2823 | ecore_x_randr_current_crtc_get(Ecore_X_Window window, |
2770 | int *num); | 2824 | int *num); |
2771 | EAPI Ecore_X_Randr_Output * | 2825 | EAPI Ecore_X_Randr_Output * |
@@ -2840,6 +2894,12 @@ ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root, | |||
2840 | Ecore_X_Randr_Crtc crtc_r2, | 2894 | Ecore_X_Randr_Crtc crtc_r2, |
2841 | Ecore_X_Randr_Output_Policy policy, | 2895 | Ecore_X_Randr_Output_Policy policy, |
2842 | Ecore_X_Randr_Relative_Alignment alignment); | 2896 | Ecore_X_Randr_Relative_Alignment alignment); |
2897 | EAPI Eina_Bool | ||
2898 | ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, | ||
2899 | Ecore_X_Randr_Mode mode); | ||
2900 | EAPI void | ||
2901 | ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, | ||
2902 | Ecore_X_Randr_Mode mode); | ||
2843 | EAPI Ecore_X_Randr_Mode * | 2903 | EAPI Ecore_X_Randr_Mode * |
2844 | ecore_x_randr_output_modes_get(Ecore_X_Window root, | 2904 | ecore_x_randr_output_modes_get(Ecore_X_Window root, |
2845 | Ecore_X_Randr_Output output, | 2905 | Ecore_X_Randr_Output output, |
@@ -3408,6 +3468,13 @@ EAPI Eina_Bool | |||
3408 | EAPI const char * | 3468 | EAPI const char * |
3409 | ecore_x_keysym_string_get(int keysym); | 3469 | ecore_x_keysym_string_get(int keysym); |
3410 | 3470 | ||
3471 | /** | ||
3472 | * Given a keyname, return the keycode representing that key | ||
3473 | * | ||
3474 | * @since 1.2.0 | ||
3475 | */ | ||
3476 | EAPI int ecore_x_keysym_keycode_get(const char *keyname); | ||
3477 | |||
3411 | typedef struct _Ecore_X_Image Ecore_X_Image; | 3478 | typedef struct _Ecore_X_Image Ecore_X_Image; |
3412 | 3479 | ||
3413 | EAPI Ecore_X_Image * | 3480 | EAPI Ecore_X_Image * |
@@ -3617,6 +3684,26 @@ ecore_x_gesture_event_ungrab(Ecore_X_Window win, | |||
3617 | Ecore_X_Gesture_Event_Type type, | 3684 | Ecore_X_Gesture_Event_Type type, |
3618 | int num_fingers); | 3685 | int num_fingers); |
3619 | 3686 | ||
3687 | EAPI void | ||
3688 | ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, | ||
3689 | Ecore_X_Illume_Indicator_State state); | ||
3690 | EAPI Ecore_X_Illume_Indicator_State | ||
3691 | ecore_x_e_illume_indicator_state_get(Ecore_X_Window win); | ||
3692 | EAPI void | ||
3693 | ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, | ||
3694 | Ecore_X_Illume_Indicator_State state); | ||
3695 | |||
3696 | EAPI void | ||
3697 | ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, | ||
3698 | Ecore_X_Illume_Indicator_Opacity_Mode mode); | ||
3699 | |||
3700 | EAPI Ecore_X_Illume_Indicator_Opacity_Mode | ||
3701 | ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win); | ||
3702 | |||
3703 | EAPI void | ||
3704 | ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, | ||
3705 | Ecore_X_Illume_Indicator_Opacity_Mode mode); | ||
3706 | |||
3620 | #ifdef __cplusplus | 3707 | #ifdef __cplusplus |
3621 | } | 3708 | } |
3622 | #endif // ifdef __cplusplus | 3709 | #endif // ifdef __cplusplus |
diff --git a/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h b/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h index 6788a5e..1341716 100644 --- a/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h +++ b/libraries/ecore/src/lib/ecore_x/Ecore_X_Atoms.h | |||
@@ -238,6 +238,20 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR; | |||
238 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR; | 238 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR; |
239 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE; | 239 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE; |
240 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE; | 240 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE; |
241 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE; | ||
242 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; | ||
243 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; | ||
244 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE; | ||
245 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; | ||
246 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; | ||
247 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; | ||
248 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE; | ||
249 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE; | ||
250 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE; | ||
251 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE; | ||
252 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; | ||
253 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; | ||
254 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY; | ||
241 | 255 | ||
242 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER; | 256 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER; |
243 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; | 257 | EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; |
diff --git a/libraries/ecore/src/lib/ecore_x/Makefile.in b/libraries/ecore/src/lib/ecore_x/Makefile.in index 3b53cfe..fb446ef 100644 --- a/libraries/ecore/src/lib/ecore_x/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/Makefile.in | |||
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 50 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 51 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 52 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
53 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 53 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
54 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 54 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
55 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 55 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
56 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 56 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
57 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 57 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
58 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 58 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
59 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 60 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 61 | mkinstalldirs = $(install_sh) -d |
63 | CONFIG_HEADER = $(top_builddir)/config.h | 62 | CONFIG_HEADER = $(top_builddir)/config.h |
64 | CONFIG_CLEAN_FILES = | 63 | CONFIG_CLEAN_FILES = |
65 | CONFIG_CLEAN_VPATH_FILES = | 64 | CONFIG_CLEAN_VPATH_FILES = |
@@ -224,6 +223,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
224 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 223 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
225 | EVIL_LIBS = @EVIL_LIBS@ | 224 | EVIL_LIBS = @EVIL_LIBS@ |
226 | EXEEXT = @EXEEXT@ | 225 | EXEEXT = @EXEEXT@ |
226 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
227 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
227 | FGREP = @FGREP@ | 228 | FGREP = @FGREP@ |
228 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 229 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
229 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 230 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -279,6 +280,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
279 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 280 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
280 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 281 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
281 | PKG_CONFIG = @PKG_CONFIG@ | 282 | PKG_CONFIG = @PKG_CONFIG@ |
283 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
284 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
282 | POSUB = @POSUB@ | 285 | POSUB = @POSUB@ |
283 | RANLIB = @RANLIB@ | 286 | RANLIB = @RANLIB@ |
284 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 287 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -289,6 +292,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
289 | SED = @SED@ | 292 | SED = @SED@ |
290 | SET_MAKE = @SET_MAKE@ | 293 | SET_MAKE = @SET_MAKE@ |
291 | SHELL = @SHELL@ | 294 | SHELL = @SHELL@ |
295 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
292 | SSL_CFLAGS = @SSL_CFLAGS@ | 296 | SSL_CFLAGS = @SSL_CFLAGS@ |
293 | SSL_LIBS = @SSL_LIBS@ | 297 | SSL_LIBS = @SSL_LIBS@ |
294 | STRIP = @STRIP@ | 298 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h b/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h index 3f22356..8952df3 100644 --- a/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h +++ b/libraries/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h | |||
@@ -264,6 +264,20 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR = 0; | |||
264 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR = 0; | 264 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR = 0; |
265 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE = 0; | 265 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE = 0; |
266 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE = 0; | 266 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE = 0; |
267 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE = 0; | ||
268 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON = 0; | ||
269 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF = 0; | ||
270 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE = 0; | ||
271 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE= 0; | ||
272 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT = 0; | ||
273 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT = 0; | ||
274 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE = 0; | ||
275 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE = 0; | ||
276 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE = 0; | ||
277 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE = 0; | ||
278 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY = 0; | ||
279 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON = 0; | ||
280 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF = 0; | ||
267 | 281 | ||
268 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER = 0; | 282 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER = 0; |
269 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE = 0; | 283 | EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE = 0; |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in index 9108f23..ff2227c 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/xcb/Makefile.in | |||
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
51 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 51 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
52 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 52 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 53 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 54 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 55 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
56 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 56 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
57 | $(top_srcdir)/configure.ac | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = | 61 | CONFIG_CLEAN_FILES = |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -206,6 +205,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
206 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 205 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
207 | EVIL_LIBS = @EVIL_LIBS@ | 206 | EVIL_LIBS = @EVIL_LIBS@ |
208 | EXEEXT = @EXEEXT@ | 207 | EXEEXT = @EXEEXT@ |
208 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
209 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
209 | FGREP = @FGREP@ | 210 | FGREP = @FGREP@ |
210 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 211 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
211 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 212 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -261,6 +262,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
261 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 262 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
262 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 263 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
263 | PKG_CONFIG = @PKG_CONFIG@ | 264 | PKG_CONFIG = @PKG_CONFIG@ |
265 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
266 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
264 | POSUB = @POSUB@ | 267 | POSUB = @POSUB@ |
265 | RANLIB = @RANLIB@ | 268 | RANLIB = @RANLIB@ |
266 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 269 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -271,6 +274,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
271 | SED = @SED@ | 274 | SED = @SED@ |
272 | SET_MAKE = @SET_MAKE@ | 275 | SET_MAKE = @SET_MAKE@ |
273 | SHELL = @SHELL@ | 276 | SHELL = @SHELL@ |
277 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
274 | SSL_CFLAGS = @SSL_CFLAGS@ | 278 | SSL_CFLAGS = @SSL_CFLAGS@ |
275 | SSL_LIBS = @SSL_LIBS@ | 279 | SSL_LIBS = @SSL_LIBS@ |
276 | STRIP = @STRIP@ | 280 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c index 769ffac..ec2daaf 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c | |||
@@ -249,7 +249,20 @@ static Xcb_Atom atoms[] = | |||
249 | { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, | 249 | { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, |
250 | { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", | 250 | { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", |
251 | &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, | 251 | &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, |
252 | 252 | { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, | |
253 | { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, | ||
254 | { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, | ||
255 | { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE }, | ||
256 | { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE }, | ||
257 | { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT }, | ||
258 | { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT }, | ||
259 | { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE }, | ||
260 | { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE }, | ||
261 | { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE }, | ||
262 | { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, | ||
263 | { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, | ||
264 | { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, | ||
265 | { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, | ||
253 | { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, | 266 | { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, |
254 | { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, | 267 | { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, |
255 | { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, | 268 | { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c index c868f5e..60bfc9c 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c | |||
@@ -7,6 +7,8 @@ static Ecore_X_Atom _ecore_xcb_e_quickpanel_atom_get(Ecore_X_ | |||
7 | static Ecore_X_Illume_Quickpanel_State _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom); | 7 | static Ecore_X_Illume_Quickpanel_State _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom); |
8 | static Ecore_X_Atom _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode); | 8 | static Ecore_X_Atom _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode); |
9 | static Ecore_X_Illume_Mode _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom); | 9 | static Ecore_X_Illume_Mode _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom); |
10 | static Ecore_X_Atom _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state); | ||
11 | static Ecore_X_Illume_Indicator_State _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom); | ||
10 | 12 | ||
11 | EAPI void | 13 | EAPI void |
12 | ecore_x_e_init(void) | 14 | ecore_x_e_init(void) |
@@ -719,6 +721,99 @@ ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win) | |||
719 | 0, 0, 0, 0, 0); | 721 | 0, 0, 0, 0, 0); |
720 | } | 722 | } |
721 | 723 | ||
724 | static Ecore_X_Atom | ||
725 | _ecore_xcb_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) | ||
726 | { | ||
727 | switch (state) | ||
728 | { | ||
729 | case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: | ||
730 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; | ||
731 | case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: | ||
732 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; | ||
733 | default: | ||
734 | break; | ||
735 | } | ||
736 | return 0; | ||
737 | } | ||
738 | |||
739 | static Ecore_X_Illume_Clipboard_State | ||
740 | _ecore_xcb_e_clipboard_state_get(Ecore_X_Atom atom) | ||
741 | { | ||
742 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) | ||
743 | return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; | ||
744 | |||
745 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) | ||
746 | return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; | ||
747 | |||
748 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
749 | } | ||
750 | |||
751 | EAPI void | ||
752 | ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, | ||
753 | Ecore_X_Illume_Clipboard_State state) | ||
754 | { | ||
755 | Ecore_X_Atom atom = 0; | ||
756 | |||
757 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
758 | atom = _ecore_xcb_e_clipboard_atom_get(state); | ||
759 | |||
760 | ecore_x_window_prop_atom_set(win, | ||
761 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
762 | &atom, 1); | ||
763 | } | ||
764 | |||
765 | EAPI Ecore_X_Illume_Clipboard_State | ||
766 | ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) | ||
767 | { | ||
768 | Ecore_X_Atom atom = 0; | ||
769 | |||
770 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
771 | |||
772 | if (!ecore_x_window_prop_atom_get(win, | ||
773 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
774 | &atom, 1)) | ||
775 | return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; | ||
776 | return _ecore_xcb_e_clipboard_state_get(atom); | ||
777 | } | ||
778 | |||
779 | EAPI void | ||
780 | ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, | ||
781 | int x, int y, int w, int h) | ||
782 | { | ||
783 | unsigned int geom[4]; | ||
784 | |||
785 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
786 | geom[0] = x; | ||
787 | geom[1] = y; | ||
788 | geom[2] = w; | ||
789 | geom[3] = h; | ||
790 | ecore_x_window_prop_card32_set(win, | ||
791 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
792 | geom, 4); | ||
793 | } | ||
794 | |||
795 | EAPI Eina_Bool | ||
796 | ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, | ||
797 | int *x, int *y, int *w, int *h) | ||
798 | { | ||
799 | int ret = 0; | ||
800 | unsigned int geom[4]; | ||
801 | |||
802 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
803 | ret = | ||
804 | ecore_x_window_prop_card32_get(win, | ||
805 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
806 | geom, 4); | ||
807 | if (ret != 4) return EINA_FALSE; | ||
808 | |||
809 | if (x) *x = geom[0]; | ||
810 | if (y) *y = geom[1]; | ||
811 | if (w) *w = geom[2]; | ||
812 | if (h) *h = geom[3]; | ||
813 | |||
814 | return EINA_TRUE; | ||
815 | } | ||
816 | |||
722 | EAPI void | 817 | EAPI void |
723 | ecore_x_e_illume_mode_set(Ecore_X_Window win, | 818 | ecore_x_e_illume_mode_set(Ecore_X_Window win, |
724 | Ecore_X_Illume_Mode mode) | 819 | Ecore_X_Illume_Mode mode) |
@@ -1069,3 +1164,144 @@ _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom) | |||
1069 | return ECORE_X_ILLUME_MODE_UNKNOWN; | 1164 | return ECORE_X_ILLUME_MODE_UNKNOWN; |
1070 | } | 1165 | } |
1071 | 1166 | ||
1167 | static Ecore_X_Atom | ||
1168 | _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state) | ||
1169 | { | ||
1170 | switch (state) | ||
1171 | { | ||
1172 | case ECORE_X_ILLUME_INDICATOR_STATE_ON: | ||
1173 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; | ||
1174 | |||
1175 | case ECORE_X_ILLUME_INDICATOR_STATE_OFF: | ||
1176 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; | ||
1177 | |||
1178 | default: | ||
1179 | break; | ||
1180 | } | ||
1181 | return 0; | ||
1182 | } | ||
1183 | |||
1184 | static Ecore_X_Illume_Indicator_State | ||
1185 | _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom) | ||
1186 | { | ||
1187 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON) | ||
1188 | return ECORE_X_ILLUME_INDICATOR_STATE_ON; | ||
1189 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF) | ||
1190 | return ECORE_X_ILLUME_INDICATOR_STATE_OFF; | ||
1191 | |||
1192 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1193 | } | ||
1194 | |||
1195 | EAPI void | ||
1196 | ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, | ||
1197 | Ecore_X_Illume_Indicator_State state) | ||
1198 | { | ||
1199 | Ecore_X_Atom atom = 0; | ||
1200 | |||
1201 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1202 | |||
1203 | atom = _ecore_xcb_e_indicator_atom_get(state); | ||
1204 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1205 | &atom, 1); | ||
1206 | } | ||
1207 | |||
1208 | EAPI Ecore_X_Illume_Indicator_State | ||
1209 | ecore_x_e_illume_indicator_state_get(Ecore_X_Window win) | ||
1210 | { | ||
1211 | Ecore_X_Atom atom = 0; | ||
1212 | |||
1213 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1214 | |||
1215 | if (!ecore_x_window_prop_atom_get(win, | ||
1216 | ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1217 | &atom, 1)) | ||
1218 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1219 | |||
1220 | return _ecore_xcb_e_indicator_state_get(atom); | ||
1221 | } | ||
1222 | |||
1223 | EAPI void | ||
1224 | ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, | ||
1225 | Ecore_X_Illume_Indicator_State state) | ||
1226 | { | ||
1227 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1228 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1229 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1230 | _ecore_xcb_e_indicator_atom_get(state), | ||
1231 | 0, 0, 0, 0); | ||
1232 | } | ||
1233 | |||
1234 | static Ecore_X_Atom | ||
1235 | _ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1236 | { | ||
1237 | switch (mode) | ||
1238 | { | ||
1239 | case ECORE_X_ILLUME_INDICATOR_OPAQUE: | ||
1240 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; | ||
1241 | |||
1242 | case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT: | ||
1243 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; | ||
1244 | |||
1245 | case ECORE_X_ILLUME_INDICATOR_TRANSPARENT: | ||
1246 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; | ||
1247 | |||
1248 | default: | ||
1249 | break; | ||
1250 | } | ||
1251 | return 0; | ||
1252 | } | ||
1253 | |||
1254 | static Ecore_X_Illume_Indicator_Opacity_Mode | ||
1255 | _ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom) | ||
1256 | { | ||
1257 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE) | ||
1258 | return ECORE_X_ILLUME_INDICATOR_OPAQUE; | ||
1259 | |||
1260 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT) | ||
1261 | return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT; | ||
1262 | |||
1263 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT) | ||
1264 | return ECORE_X_ILLUME_INDICATOR_TRANSPARENT; | ||
1265 | |||
1266 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1267 | } | ||
1268 | |||
1269 | EAPI void | ||
1270 | ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, | ||
1271 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1272 | { | ||
1273 | Ecore_X_Atom atom = 0; | ||
1274 | |||
1275 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1276 | atom = _ecore_x_e_indicator_opacity_atom_get(mode); | ||
1277 | ecore_x_window_prop_atom_set(win, | ||
1278 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1279 | &atom, 1); | ||
1280 | } | ||
1281 | |||
1282 | EAPI Ecore_X_Illume_Indicator_Opacity_Mode | ||
1283 | ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win) | ||
1284 | { | ||
1285 | Ecore_X_Atom atom; | ||
1286 | |||
1287 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1288 | if (!ecore_x_window_prop_atom_get(win, | ||
1289 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1290 | &atom, 1)) | ||
1291 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1292 | |||
1293 | return _ecore_x_e_indicator_opacity_get(atom); | ||
1294 | } | ||
1295 | |||
1296 | EAPI void | ||
1297 | ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, | ||
1298 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1299 | { | ||
1300 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1301 | ecore_x_client_message32_send(win, | ||
1302 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1303 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1304 | _ecore_x_e_indicator_opacity_atom_get(mode), | ||
1305 | 0, 0, 0, 0); | ||
1306 | } | ||
1307 | |||
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c index 40304df..b1c7528 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_keymap.c | |||
@@ -279,6 +279,14 @@ ecore_x_keysym_string_get(int keysym) | |||
279 | return _ecore_xcb_keymap_keysym_to_string(keysym); | 279 | return _ecore_xcb_keymap_keysym_to_string(keysym); |
280 | } | 280 | } |
281 | 281 | ||
282 | EAPI int | ||
283 | ecore_x_keysym_keycode_get(const char *keyname) | ||
284 | { | ||
285 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
286 | |||
287 | return _ecore_xcb_keymap_string_to_keycode(keyname); | ||
288 | } | ||
289 | |||
282 | /* local functions */ | 290 | /* local functions */ |
283 | static int | 291 | static int |
284 | _ecore_xcb_keymap_mask_get(void *reply, | 292 | _ecore_xcb_keymap_mask_get(void *reply, |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c index 0a523b9..b1e0622 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c | |||
@@ -838,6 +838,56 @@ ecore_x_netwm_icon_name_set(Ecore_X_Window win, | |||
838 | ecore_x_window_prop_string_set(win, ECORE_X_ATOM_NET_WM_ICON_NAME, name); | 838 | ecore_x_window_prop_string_set(win, ECORE_X_ATOM_NET_WM_ICON_NAME, name); |
839 | } | 839 | } |
840 | 840 | ||
841 | EAPI void | ||
842 | ecore_x_netwm_icons_set(Ecore_X_Window win, | ||
843 | Ecore_X_Icon *icon, | ||
844 | int num) | ||
845 | { | ||
846 | unsigned int *data, *p, *p2; | ||
847 | unsigned int i, size, x, y; | ||
848 | |||
849 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
850 | size = 0; | ||
851 | for (i = 0; i < (unsigned int)num; i++) | ||
852 | { | ||
853 | size += 2 + (icon[i].width * icon[i].height); | ||
854 | } | ||
855 | data = malloc(size * sizeof(unsigned int)); | ||
856 | if (!data) return; | ||
857 | p = data; | ||
858 | for (i = 0; i < (unsigned int)num; i++) | ||
859 | { | ||
860 | p[0] = icon[i].width; | ||
861 | p[1] = icon[i].height; | ||
862 | p += 2; | ||
863 | p2 = icon[i].data; | ||
864 | for (y = 0; y < icon[i].height; y++) | ||
865 | { | ||
866 | for (x = 0; x < icon[i].width; x++) | ||
867 | { | ||
868 | unsigned int r, g, b, a; | ||
869 | |||
870 | a = (*p2 >> 24) & 0xff; | ||
871 | r = (*p2 >> 16) & 0xff; | ||
872 | g = (*p2 >> 8 ) & 0xff; | ||
873 | b = (*p2 ) & 0xff; | ||
874 | if ((a > 0) && (a < 255)) | ||
875 | { | ||
876 | r = (r * 255) / a; | ||
877 | g = (g * 255) / a; | ||
878 | b = (b * 255) / a; | ||
879 | } | ||
880 | *p = (a << 24) | (r << 16) | (g << 8) | b; | ||
881 | p++; | ||
882 | p2++; | ||
883 | } | ||
884 | } | ||
885 | } | ||
886 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_ICON, | ||
887 | data, size); | ||
888 | free(data); | ||
889 | } | ||
890 | |||
841 | EAPI Eina_Bool | 891 | EAPI Eina_Bool |
842 | ecore_x_netwm_icons_get(Ecore_X_Window win, | 892 | ecore_x_netwm_icons_get(Ecore_X_Window win, |
843 | Ecore_X_Icon **icon, | 893 | Ecore_X_Icon **icon, |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c index 62f7618..81a7c3f 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c | |||
@@ -1,7 +1,6 @@ | |||
1 | /* TODO: List of missing functions | 1 | /* TODO: List of missing functions |
2 | * | 2 | * |
3 | * ecore_x_randr_crtc_clone_set | 3 | * ecore_x_randr_crtc_clone_set |
4 | * ecore_x_randr_output_size_mm_get | ||
5 | * ecore_x_randr_output_crtc_set | 4 | * ecore_x_randr_output_crtc_set |
6 | * ecore_x_randr_edid_version_get | 5 | * ecore_x_randr_edid_version_get |
7 | * ecore_x_randr_edid_info_has_valid_checksum | 6 | * ecore_x_randr_edid_info_has_valid_checksum |
@@ -776,6 +775,24 @@ ecore_x_randr_output_modes_get(Ecore_X_Window root, | |||
776 | return modes; | 775 | return modes; |
777 | } | 776 | } |
778 | 777 | ||
778 | EAPI Eina_Bool | ||
779 | ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, Ecore_X_Randr_Mode mode) | ||
780 | { | ||
781 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
782 | CHECK_XCB_CONN; | ||
783 | |||
784 | #ifdef ECORE_XCB_RANDR | ||
785 | RANDR_CHECK_1_2_RET(EINA_FALSE); | ||
786 | |||
787 | if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) | ||
788 | return EINA_FALSE; | ||
789 | |||
790 | xcb_randr_add_output_mode(_ecore_xcb_conn, output, mode); | ||
791 | return EINA_TRUE; | ||
792 | #endif | ||
793 | return EINA_FALSE; | ||
794 | } | ||
795 | |||
779 | /* | 796 | /* |
780 | * @brief get detailed information for a given mode id | 797 | * @brief get detailed information for a given mode id |
781 | * @param root window which's screen's ressources are queried | 798 | * @param root window which's screen's ressources are queried |
@@ -805,6 +822,63 @@ ecore_x_randr_mode_info_get(Ecore_X_Window root, | |||
805 | } | 822 | } |
806 | 823 | ||
807 | /* | 824 | /* |
825 | * @brief add a mode to a display | ||
826 | * @param root window to which's screen's ressources are added | ||
827 | * @param mode_info | ||
828 | * @return Ecore_X_Randr_Mode of the added mode. Ecore_X_Randr_None if mode | ||
829 | * adding failed. | ||
830 | * @since 1.2.0 | ||
831 | */ | ||
832 | EAPI Ecore_X_Randr_Mode | ||
833 | ecore_x_randr_mode_info_add(Ecore_X_Window root, Ecore_X_Randr_Mode_Info *mode_info) | ||
834 | { | ||
835 | #ifdef ECORE_XCB_RANDR | ||
836 | Ecore_X_Randr_Mode mode = Ecore_X_Randr_None; | ||
837 | xcb_randr_create_mode_cookie_t cookie; | ||
838 | xcb_randr_create_mode_reply_t *reply; | ||
839 | xcb_randr_mode_info_t info; | ||
840 | int namelen = 0; | ||
841 | #endif | ||
842 | |||
843 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
844 | CHECK_XCB_CONN; | ||
845 | |||
846 | #ifdef ECORE_XCB_RANDR | ||
847 | RANDR_CHECK_1_2_RET(EINA_FALSE); | ||
848 | |||
849 | if (!mode_info) return Ecore_X_Randr_None; | ||
850 | if (!_ecore_xcb_randr_root_validate(root)) return Ecore_X_Randr_None; | ||
851 | |||
852 | namelen = strlen(mode_info->name); | ||
853 | |||
854 | memset(&info, 0, sizeof(info)); | ||
855 | info.width = mode_info->width; | ||
856 | info.height = mode_info->height; | ||
857 | info.dot_clock = mode_info->dotClock; | ||
858 | info.hsync_start = mode_info->hSyncStart; | ||
859 | info.hsync_end = mode_info->hSyncEnd; | ||
860 | info.htotal = mode_info->hTotal; | ||
861 | info.hskew = mode_info->hSkew; | ||
862 | info.vsync_start = mode_info->vSyncStart; | ||
863 | info.vsync_end = mode_info->vSyncEnd; | ||
864 | info.vtotal = mode_info->vTotal; | ||
865 | info.mode_flags = mode_info->modeFlags; | ||
866 | info.name_len = namelen; | ||
867 | |||
868 | cookie = | ||
869 | xcb_randr_create_mode_unchecked(_ecore_xcb_conn, root, info, | ||
870 | namelen, mode_info->name); | ||
871 | reply = xcb_randr_create_mode_reply(_ecore_xcb_conn, cookie, NULL); | ||
872 | if (reply) | ||
873 | { | ||
874 | mode = mode_info->xid; | ||
875 | free(reply); | ||
876 | } | ||
877 | #endif | ||
878 | return mode; | ||
879 | } | ||
880 | |||
881 | /* | ||
808 | * @brief get detailed information for all modes related to a root window's screen | 882 | * @brief get detailed information for all modes related to a root window's screen |
809 | * @param root window which's screen's ressources are queried | 883 | * @param root window which's screen's ressources are queried |
810 | * @param num number of modes returned | 884 | * @param num number of modes returned |
@@ -1057,6 +1131,53 @@ ecore_x_randr_output_crtc_get(Ecore_X_Window root, | |||
1057 | return Ecore_X_Randr_None; | 1131 | return Ecore_X_Randr_None; |
1058 | } | 1132 | } |
1059 | 1133 | ||
1134 | EAPI void | ||
1135 | ecore_x_randr_output_size_mm_get(Ecore_X_Window root, Ecore_X_Randr_Output output, int *w_mm, int *h_mm) | ||
1136 | { | ||
1137 | #ifdef ECORE_XCB_RANDR | ||
1138 | xcb_randr_get_output_info_cookie_t ocookie; | ||
1139 | xcb_randr_get_output_info_reply_t *oreply; | ||
1140 | xcb_timestamp_t timestamp = 0; | ||
1141 | #endif | ||
1142 | |||
1143 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1144 | CHECK_XCB_CONN; | ||
1145 | |||
1146 | if (w_mm) *w_mm = 0; | ||
1147 | if (h_mm) *h_mm = 0; | ||
1148 | |||
1149 | #ifdef ECORE_XCB_RANDR | ||
1150 | RANDR_CHECK_1_2_RET(); | ||
1151 | |||
1152 | if ((output != Ecore_X_Randr_None) && (_randr_version >= RANDR_1_3)) | ||
1153 | { | ||
1154 | xcb_randr_get_screen_resources_current_reply_t *reply; | ||
1155 | |||
1156 | reply = _ecore_xcb_randr_13_get_resources(root); | ||
1157 | timestamp = reply->config_timestamp; | ||
1158 | free(reply); | ||
1159 | } | ||
1160 | else if ((output != Ecore_X_Randr_None) && (_randr_version == RANDR_1_2)) | ||
1161 | { | ||
1162 | xcb_randr_get_screen_resources_reply_t *reply; | ||
1163 | |||
1164 | reply = _ecore_xcb_randr_12_get_resources(root); | ||
1165 | timestamp = reply->config_timestamp; | ||
1166 | free(reply); | ||
1167 | } | ||
1168 | |||
1169 | ocookie = | ||
1170 | xcb_randr_get_output_info_unchecked(_ecore_xcb_conn, output, timestamp); | ||
1171 | oreply = xcb_randr_get_output_info_reply(_ecore_xcb_conn, ocookie, NULL); | ||
1172 | if (oreply) | ||
1173 | { | ||
1174 | if (w_mm) *w_mm = oreply->mm_width; | ||
1175 | if (h_mm) *h_mm = oreply->mm_height; | ||
1176 | free(oreply); | ||
1177 | } | ||
1178 | #endif | ||
1179 | } | ||
1180 | |||
1060 | /** | 1181 | /** |
1061 | * @brief sets the demanded parameters for a given CRTC. Note that the CRTC is | 1182 | * @brief sets the demanded parameters for a given CRTC. Note that the CRTC is |
1062 | * auto enabled in it's preferred mode, when it was disabled before. | 1183 | * auto enabled in it's preferred mode, when it was disabled before. |
@@ -1439,6 +1560,87 @@ ecore_x_randr_crtcs_get(Ecore_X_Window root, | |||
1439 | } | 1560 | } |
1440 | 1561 | ||
1441 | /* | 1562 | /* |
1563 | * @deprecated bad naming. Use ecore_x_randr_window_crtcs_get instead. | ||
1564 | * @brief get the CRTCs, which display a certain window | ||
1565 | * @param window window the displaying CRTCs shall be found for | ||
1566 | * @param num the number of CRTCs displaying the window | ||
1567 | * @return array of CRTCs that display a certain window. NULL if no CRTCs | ||
1568 | * was found that displays the specified window. | ||
1569 | */ | ||
1570 | EAPI Ecore_X_Randr_Crtc * | ||
1571 | ecore_x_randr_current_crtc_get(Ecore_X_Window window, | ||
1572 | int *num) | ||
1573 | { | ||
1574 | return ecore_x_randr_window_crtcs_get(window, num); | ||
1575 | } | ||
1576 | |||
1577 | /* | ||
1578 | * @brief get the CRTCs, which display a certain window | ||
1579 | * @param window window the displaying crtcs shall be found for | ||
1580 | * @param num the number of crtcs displaying the window | ||
1581 | * @return array of crtcs that display a certain window. NULL if no crtcs | ||
1582 | * was found that displays the specified window. | ||
1583 | * @since 1.2.0 | ||
1584 | */ | ||
1585 | EAPI Ecore_X_Randr_Crtc * | ||
1586 | ecore_x_randr_window_crtcs_get(Ecore_X_Window window, | ||
1587 | int *num) | ||
1588 | { | ||
1589 | #ifdef ECORE_XCB_RANDR | ||
1590 | Ecore_X_Window root; | ||
1591 | Eina_Rectangle w_geo, c_geo; | ||
1592 | Ecore_X_Randr_Crtc *crtcs, *ret = NULL; | ||
1593 | Ecore_X_Randr_Mode mode; | ||
1594 | int ncrtcs, i, nret = 0; | ||
1595 | xcb_translate_coordinates_cookie_t cookie; | ||
1596 | xcb_translate_coordinates_reply_t *trans; | ||
1597 | #endif | ||
1598 | |||
1599 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1600 | CHECK_XCB_CONN; | ||
1601 | |||
1602 | #ifdef ECORE_XCB_RANDR | ||
1603 | RANDR_CHECK_1_2_RET(NULL); | ||
1604 | |||
1605 | ecore_x_window_geometry_get(window, &w_geo.x, &w_geo.y, &w_geo.w, &w_geo.h); | ||
1606 | |||
1607 | root = ecore_x_window_root_get(window); | ||
1608 | crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); | ||
1609 | if (!crtcs) return NULL; | ||
1610 | |||
1611 | /* now get window RELATIVE to root window - thats what matters. */ | ||
1612 | cookie = xcb_translate_coordinates(_ecore_xcb_conn, window, root, 0, 0); | ||
1613 | trans = xcb_translate_coordinates_reply(_ecore_xcb_conn, cookie, NULL); | ||
1614 | w_geo.x = trans->dst_x; | ||
1615 | w_geo.y = trans->dst_y; | ||
1616 | free(trans); | ||
1617 | |||
1618 | for (i = 0, nret = 0; i < ncrtcs; i++) | ||
1619 | { | ||
1620 | /* if crtc is not enabled, don't bother about it any further */ | ||
1621 | mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); | ||
1622 | if (mode == Ecore_X_Randr_None) continue; | ||
1623 | |||
1624 | ecore_x_randr_crtc_geometry_get(root, crtcs[i], &c_geo.x, &c_geo.y, | ||
1625 | &c_geo.w, &c_geo.h); | ||
1626 | if (eina_rectangles_intersect(&w_geo, &c_geo)) | ||
1627 | { | ||
1628 | ret = realloc(ret, (++nret * | ||
1629 | sizeof(Ecore_X_Randr_Output))); | ||
1630 | ret[nret] = crtcs[i]; | ||
1631 | } | ||
1632 | } | ||
1633 | free(crtcs); | ||
1634 | |||
1635 | if (num) *num = nret; | ||
1636 | return ret; | ||
1637 | |||
1638 | #endif | ||
1639 | if (num) *num = 0; | ||
1640 | return NULL; | ||
1641 | } | ||
1642 | |||
1643 | /* | ||
1442 | * @brief get a CRTC's outputs. | 1644 | * @brief get a CRTC's outputs. |
1443 | * @param root the root window which's screen will be queried | 1645 | * @param root the root window which's screen will be queried |
1444 | * @param num number of outputs referenced by given CRTC | 1646 | * @param num number of outputs referenced by given CRTC |
@@ -2172,6 +2374,22 @@ ecore_x_randr_screen_current_size_set(Ecore_X_Window root, | |||
2172 | } | 2374 | } |
2173 | 2375 | ||
2174 | /* | 2376 | /* |
2377 | * @deprecated bad naming. Use ecore_x_randr_window_outputs_get instead. | ||
2378 | * @brief get the outputs, which display a certain window | ||
2379 | * @param window window the displaying outputs shall be found for | ||
2380 | * @param num the number of outputs displaying the window | ||
2381 | * @return array of outputs that display a certain window. NULL if no outputs | ||
2382 | * was found that displays the specified window. | ||
2383 | */ | ||
2384 | |||
2385 | Ecore_X_Randr_Output * | ||
2386 | ecore_x_randr_current_output_get(Ecore_X_Window window, | ||
2387 | int *num) | ||
2388 | { | ||
2389 | return ecore_x_randr_window_outputs_get(window, num); | ||
2390 | } | ||
2391 | |||
2392 | /* | ||
2175 | * @brief get the outputs, which display a certain window | 2393 | * @brief get the outputs, which display a certain window |
2176 | * @param window window the displaying outputs shall be found for | 2394 | * @param window window the displaying outputs shall be found for |
2177 | * @param num the number of outputs displaying the window | 2395 | * @param num the number of outputs displaying the window |
@@ -2184,13 +2402,9 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, | |||
2184 | { | 2402 | { |
2185 | #ifdef ECORE_XCB_RANDR | 2403 | #ifdef ECORE_XCB_RANDR |
2186 | Ecore_X_Window root; | 2404 | Ecore_X_Window root; |
2187 | Eina_Rectangle w_geo, c_geo; | ||
2188 | Ecore_X_Randr_Crtc *crtcs; | 2405 | Ecore_X_Randr_Crtc *crtcs; |
2189 | Ecore_X_Randr_Mode mode; | 2406 | Ecore_X_Randr_Output *outputs, *ret = NULL; |
2190 | Ecore_X_Randr_Output *outputs, *ret = NULL, *tret; | ||
2191 | int ncrtcs, noutputs, i, nret = 0; | 2407 | int ncrtcs, noutputs, i, nret = 0; |
2192 | xcb_translate_coordinates_cookie_t cookie; | ||
2193 | xcb_translate_coordinates_reply_t *trans; | ||
2194 | #endif | 2408 | #endif |
2195 | 2409 | ||
2196 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | 2410 | LOGFN(__FILE__, __LINE__, __FUNCTION__); |
@@ -2199,64 +2413,36 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, | |||
2199 | if (num) *num = 0; | 2413 | if (num) *num = 0; |
2200 | 2414 | ||
2201 | #ifdef ECORE_XCB_RANDR | 2415 | #ifdef ECORE_XCB_RANDR |
2202 | RANDR_CHECK_1_2_RET(NULL); | 2416 | if (_randr_version < RANDR_1_2) goto _ecore_x_randr_current_output_get_fail; |
2203 | |||
2204 | ecore_x_window_geometry_get(window, &w_geo.x, &w_geo.y, &w_geo.w, &w_geo.h); | ||
2205 | 2417 | ||
2206 | root = ecore_x_window_root_get(window); | 2418 | root = ecore_x_window_root_get(window); |
2207 | crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); | 2419 | if (!(crtcs = ecore_x_randr_window_crtcs_get(window, &ncrtcs))) |
2208 | if (!crtcs) return NULL; | 2420 | goto _ecore_x_randr_current_output_get_fail; |
2209 | 2421 | ||
2210 | /* now get window RELATIVE to root window - thats what matters. */ | 2422 | for (i = 0, nret = 0; i < ncrtcs; i++) |
2211 | cookie = xcb_translate_coordinates(_ecore_xcb_conn, window, root, 0, 0); | ||
2212 | trans = xcb_translate_coordinates_reply(_ecore_xcb_conn, cookie, NULL); | ||
2213 | w_geo.x = trans->dst_x; | ||
2214 | w_geo.y = trans->dst_y; | ||
2215 | free(trans); | ||
2216 | |||
2217 | for (i = 0; i < ncrtcs; i++) | ||
2218 | { | 2423 | { |
2219 | /* if crtc is not enabled, don't bother about it any further */ | ||
2220 | mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); | ||
2221 | if (mode == Ecore_X_Randr_None) continue; | ||
2222 | 2424 | ||
2223 | ecore_x_randr_crtc_geometry_get(root, crtcs[i], &c_geo.x, &c_geo.y, | 2425 | outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], |
2224 | &c_geo.w, &c_geo.h); | 2426 | &noutputs); |
2225 | if (eina_rectangles_intersect(&w_geo, &c_geo)) | 2427 | if (!outputs) |
2226 | { | 2428 | goto _ecore_x_randr_current_output_get_fail_free; |
2227 | outputs = | 2429 | nret += noutputs; |
2228 | ecore_x_randr_crtc_outputs_get(root, crtcs[i], &noutputs); | 2430 | ret = realloc(ret, (nret * sizeof(Ecore_X_Randr_Output))); |
2229 | /* The case below should be impossible, but for safety reasons | 2431 | memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); |
2230 | * remains */ | 2432 | free(outputs); |
2231 | if (!outputs) | ||
2232 | { | ||
2233 | if (num) *num = 0; | ||
2234 | free(ret); | ||
2235 | free(crtcs); | ||
2236 | return NULL; | ||
2237 | } | ||
2238 | tret = realloc(ret, ((nret + noutputs) * | ||
2239 | sizeof(Ecore_X_Randr_Output))); | ||
2240 | if (!tret) | ||
2241 | { | ||
2242 | if (num) *num = 0; | ||
2243 | free(outputs); | ||
2244 | free(ret); | ||
2245 | free(crtcs); | ||
2246 | return NULL; | ||
2247 | } | ||
2248 | ret = tret; | ||
2249 | memcpy(&ret[nret], outputs, | ||
2250 | (noutputs * sizeof(Ecore_X_Randr_Output))); | ||
2251 | nret += noutputs; | ||
2252 | free(outputs); | ||
2253 | } | ||
2254 | } | 2433 | } |
2255 | free(crtcs); | 2434 | free(crtcs); |
2256 | 2435 | ||
2257 | if (num) *num = nret; | 2436 | if (num) |
2437 | *num = nret; | ||
2438 | |||
2258 | return ret; | 2439 | return ret; |
2259 | 2440 | ||
2441 | _ecore_x_randr_current_output_get_fail_free: | ||
2442 | free(outputs); | ||
2443 | free(crtcs); | ||
2444 | free(ret); | ||
2445 | _ecore_x_randr_current_output_get_fail: | ||
2260 | #endif | 2446 | #endif |
2261 | if (num) *num = 0; | 2447 | if (num) *num = 0; |
2262 | return NULL; | 2448 | return NULL; |
diff --git a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c index 27bceaf..3458729 100644 --- a/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c +++ b/libraries/ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c | |||
@@ -651,7 +651,7 @@ ecore_x_window_depth_get(Ecore_X_Window win) | |||
651 | * @c _NET_WM_PID. | 651 | * @c _NET_WM_PID. |
652 | * | 652 | * |
653 | * @param win The given window. | 653 | * @param win The given window. |
654 | * @ingroup Ecore_X_Window_Properties_Groups | 654 | * @ingroup Ecore_X_Window_Properties_Group |
655 | */ | 655 | */ |
656 | EAPI void | 656 | EAPI void |
657 | ecore_x_window_defaults_set(Ecore_X_Window win) | 657 | ecore_x_window_defaults_set(Ecore_X_Window win) |
@@ -1119,7 +1119,7 @@ ecore_x_window_save_set_del(Ecore_X_Window win) | |||
1119 | } | 1119 | } |
1120 | 1120 | ||
1121 | /** | 1121 | /** |
1122 | * gets the focus to the window @p win. | 1122 | * gets the window that has focus. |
1123 | * @return The window that has focus. | 1123 | * @return The window that has focus. |
1124 | * @ingroup Ecore_X_Window_Focus_Functions | 1124 | * @ingroup Ecore_X_Window_Focus_Functions |
1125 | */ | 1125 | */ |
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in b/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in index 27a2841..cada69a 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in +++ b/libraries/ecore/src/lib/ecore_x/xlib/Makefile.in | |||
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
51 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 51 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
52 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 52 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 53 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 54 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 55 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
56 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 56 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
57 | $(top_srcdir)/configure.ac | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = | 61 | CONFIG_CLEAN_FILES = |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -197,6 +196,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
197 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 196 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
198 | EVIL_LIBS = @EVIL_LIBS@ | 197 | EVIL_LIBS = @EVIL_LIBS@ |
199 | EXEEXT = @EXEEXT@ | 198 | EXEEXT = @EXEEXT@ |
199 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
200 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
200 | FGREP = @FGREP@ | 201 | FGREP = @FGREP@ |
201 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 202 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
202 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 203 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -252,6 +253,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
252 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 253 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
253 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 254 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
254 | PKG_CONFIG = @PKG_CONFIG@ | 255 | PKG_CONFIG = @PKG_CONFIG@ |
256 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
257 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
255 | POSUB = @POSUB@ | 258 | POSUB = @POSUB@ |
256 | RANLIB = @RANLIB@ | 259 | RANLIB = @RANLIB@ |
257 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 260 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -262,6 +265,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
262 | SED = @SED@ | 265 | SED = @SED@ |
263 | SET_MAKE = @SET_MAKE@ | 266 | SET_MAKE = @SET_MAKE@ |
264 | SHELL = @SHELL@ | 267 | SHELL = @SHELL@ |
268 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
265 | SSL_CFLAGS = @SSL_CFLAGS@ | 269 | SSL_CFLAGS = @SSL_CFLAGS@ |
266 | SSL_LIBS = @SSL_LIBS@ | 270 | SSL_LIBS = @SSL_LIBS@ |
267 | STRIP = @STRIP@ | 271 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c index ee981fe..7a8bffa 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c | |||
@@ -270,7 +270,20 @@ _ecore_x_atoms_init(void) | |||
270 | { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, | 270 | { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE }, |
271 | { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", | 271 | { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE", |
272 | &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, | 272 | &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE }, |
273 | 273 | { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, | |
274 | { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, | ||
275 | { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, | ||
276 | { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE }, | ||
277 | { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE }, | ||
278 | { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT }, | ||
279 | { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT }, | ||
280 | { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE }, | ||
281 | { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE }, | ||
282 | { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE }, | ||
283 | { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, | ||
284 | { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, | ||
285 | { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, | ||
286 | { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, | ||
274 | { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, | 287 | { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, |
275 | { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, | 288 | { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, |
276 | { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, | 289 | { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, |
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c index 5966bbd..4bd5218 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_e.c | |||
@@ -768,6 +768,99 @@ ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win) | |||
768 | 1, 0, 0, 0, 0); | 768 | 1, 0, 0, 0, 0); |
769 | } | 769 | } |
770 | 770 | ||
771 | static Ecore_X_Atom | ||
772 | _ecore_x_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) | ||
773 | { | ||
774 | switch (state) | ||
775 | { | ||
776 | case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: | ||
777 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; | ||
778 | case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: | ||
779 | return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; | ||
780 | default: | ||
781 | break; | ||
782 | } | ||
783 | return 0; | ||
784 | } | ||
785 | |||
786 | static Ecore_X_Illume_Clipboard_State | ||
787 | _ecore_x_e_clipboard_state_get(Ecore_X_Atom atom) | ||
788 | { | ||
789 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) | ||
790 | return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; | ||
791 | |||
792 | if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) | ||
793 | return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; | ||
794 | |||
795 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
796 | } | ||
797 | |||
798 | EAPI void | ||
799 | ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, | ||
800 | Ecore_X_Illume_Clipboard_State state) | ||
801 | { | ||
802 | Ecore_X_Atom atom = 0; | ||
803 | |||
804 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
805 | atom = _ecore_x_e_clipboard_atom_get(state); | ||
806 | |||
807 | ecore_x_window_prop_atom_set(win, | ||
808 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
809 | &atom, 1); | ||
810 | } | ||
811 | |||
812 | EAPI Ecore_X_Illume_Clipboard_State | ||
813 | ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) | ||
814 | { | ||
815 | Ecore_X_Atom atom = 0; | ||
816 | |||
817 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
818 | |||
819 | if (!ecore_x_window_prop_atom_get(win, | ||
820 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, | ||
821 | &atom, 1)) | ||
822 | return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; | ||
823 | return _ecore_x_e_clipboard_state_get(atom); | ||
824 | } | ||
825 | |||
826 | EAPI void | ||
827 | ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, | ||
828 | int x, int y, int w, int h) | ||
829 | { | ||
830 | unsigned int geom[4]; | ||
831 | |||
832 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
833 | geom[0] = x; | ||
834 | geom[1] = y; | ||
835 | geom[2] = w; | ||
836 | geom[3] = h; | ||
837 | ecore_x_window_prop_card32_set(win, | ||
838 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
839 | geom, 4); | ||
840 | } | ||
841 | |||
842 | EAPI Eina_Bool | ||
843 | ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, | ||
844 | int *x, int *y, int *w, int *h) | ||
845 | { | ||
846 | int ret = 0; | ||
847 | unsigned int geom[4]; | ||
848 | |||
849 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
850 | ret = | ||
851 | ecore_x_window_prop_card32_get(win, | ||
852 | ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, | ||
853 | geom, 4); | ||
854 | if (ret != 4) return EINA_FALSE; | ||
855 | |||
856 | if (x) *x = geom[0]; | ||
857 | if (y) *y = geom[1]; | ||
858 | if (w) *w = geom[2]; | ||
859 | if (h) *h = geom[3]; | ||
860 | |||
861 | return EINA_TRUE; | ||
862 | } | ||
863 | |||
771 | EAPI void | 864 | EAPI void |
772 | ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, | 865 | ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, |
773 | Ecore_X_Sync_Counter counter) | 866 | Ecore_X_Sync_Counter counter) |
@@ -1058,3 +1151,143 @@ ecore_x_e_comp_pixmap_get(Ecore_X_Window win) | |||
1058 | return pixmap; | 1151 | return pixmap; |
1059 | } | 1152 | } |
1060 | 1153 | ||
1154 | static Ecore_X_Atom | ||
1155 | _ecore_x_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state) | ||
1156 | { | ||
1157 | switch (state) | ||
1158 | { | ||
1159 | case ECORE_X_ILLUME_INDICATOR_STATE_ON: | ||
1160 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; | ||
1161 | |||
1162 | case ECORE_X_ILLUME_INDICATOR_STATE_OFF: | ||
1163 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; | ||
1164 | |||
1165 | default: | ||
1166 | break; | ||
1167 | } | ||
1168 | return 0; | ||
1169 | } | ||
1170 | |||
1171 | static Ecore_X_Illume_Indicator_State | ||
1172 | _ecore_x_e_indicator_state_get(Ecore_X_Atom atom) | ||
1173 | { | ||
1174 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON) | ||
1175 | return ECORE_X_ILLUME_INDICATOR_STATE_ON; | ||
1176 | |||
1177 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF) | ||
1178 | return ECORE_X_ILLUME_INDICATOR_STATE_OFF; | ||
1179 | |||
1180 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1181 | } | ||
1182 | |||
1183 | EAPI void | ||
1184 | ecore_x_e_illume_indicator_state_set(Ecore_X_Window win, | ||
1185 | Ecore_X_Illume_Indicator_State state) | ||
1186 | { | ||
1187 | Ecore_X_Atom atom = 0; | ||
1188 | |||
1189 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1190 | atom = _ecore_x_e_indicator_atom_get(state); | ||
1191 | ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1192 | &atom, 1); | ||
1193 | } | ||
1194 | |||
1195 | EAPI Ecore_X_Illume_Indicator_State | ||
1196 | ecore_x_e_illume_indicator_state_get(Ecore_X_Window win) | ||
1197 | { | ||
1198 | Ecore_X_Atom atom; | ||
1199 | |||
1200 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1201 | if (!ecore_x_window_prop_atom_get(win, | ||
1202 | ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1203 | &atom, 1)) | ||
1204 | return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; | ||
1205 | |||
1206 | return _ecore_x_e_indicator_state_get(atom); | ||
1207 | } | ||
1208 | |||
1209 | EAPI void | ||
1210 | ecore_x_e_illume_indicator_state_send(Ecore_X_Window win, | ||
1211 | Ecore_X_Illume_Indicator_State state) | ||
1212 | { | ||
1213 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1214 | ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE, | ||
1215 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1216 | _ecore_x_e_indicator_atom_get(state), | ||
1217 | 0, 0, 0, 0); | ||
1218 | } | ||
1219 | |||
1220 | static Ecore_X_Atom | ||
1221 | _ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1222 | { | ||
1223 | switch (mode) | ||
1224 | { | ||
1225 | case ECORE_X_ILLUME_INDICATOR_OPAQUE: | ||
1226 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE; | ||
1227 | |||
1228 | case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT: | ||
1229 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT; | ||
1230 | |||
1231 | case ECORE_X_ILLUME_INDICATOR_TRANSPARENT: | ||
1232 | return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT; | ||
1233 | |||
1234 | default: | ||
1235 | break; | ||
1236 | } | ||
1237 | return 0; | ||
1238 | } | ||
1239 | |||
1240 | static Ecore_X_Illume_Indicator_Opacity_Mode | ||
1241 | _ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom) | ||
1242 | { | ||
1243 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE) | ||
1244 | return ECORE_X_ILLUME_INDICATOR_OPAQUE; | ||
1245 | |||
1246 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT) | ||
1247 | return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT; | ||
1248 | |||
1249 | if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT) | ||
1250 | return ECORE_X_ILLUME_INDICATOR_TRANSPARENT; | ||
1251 | |||
1252 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1253 | } | ||
1254 | |||
1255 | EAPI void | ||
1256 | ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win, | ||
1257 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1258 | { | ||
1259 | Ecore_X_Atom atom = 0; | ||
1260 | |||
1261 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1262 | atom = _ecore_x_e_indicator_opacity_atom_get(mode); | ||
1263 | ecore_x_window_prop_atom_set(win, | ||
1264 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1265 | &atom, 1); | ||
1266 | } | ||
1267 | |||
1268 | EAPI Ecore_X_Illume_Indicator_Opacity_Mode | ||
1269 | ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win) | ||
1270 | { | ||
1271 | Ecore_X_Atom atom; | ||
1272 | |||
1273 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1274 | if (!ecore_x_window_prop_atom_get(win, | ||
1275 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1276 | &atom, 1)) | ||
1277 | return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN; | ||
1278 | |||
1279 | return _ecore_x_e_indicator_opacity_get(atom); | ||
1280 | } | ||
1281 | |||
1282 | EAPI void | ||
1283 | ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, | ||
1284 | Ecore_X_Illume_Indicator_Opacity_Mode mode) | ||
1285 | { | ||
1286 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
1287 | ecore_x_client_message32_send(win, | ||
1288 | ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE, | ||
1289 | ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, | ||
1290 | _ecore_x_e_indicator_opacity_atom_get(mode), | ||
1291 | 0, 0, 0, 0); | ||
1292 | } | ||
1293 | |||
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c index 9fc428a..3076c3c 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c | |||
@@ -661,6 +661,57 @@ ecore_x_netwm_strut_partial_get(Ecore_X_Window win, | |||
661 | return EINA_TRUE; | 661 | return EINA_TRUE; |
662 | } | 662 | } |
663 | 663 | ||
664 | EAPI void | ||
665 | ecore_x_netwm_icons_set(Ecore_X_Window win, | ||
666 | Ecore_X_Icon *icon, | ||
667 | int num) | ||
668 | { | ||
669 | unsigned int *data, *p, *p2; | ||
670 | unsigned int i, size, x, y; | ||
671 | |||
672 | LOGFN(__FILE__, __LINE__, __FUNCTION__); | ||
673 | size = 0; | ||
674 | for (i = 0; i < (unsigned int)num; i++) | ||
675 | { | ||
676 | size += 2 + (icon[i].width * icon[i].height); | ||
677 | } | ||
678 | data = malloc(size * sizeof(unsigned int)); | ||
679 | if (!data) return; | ||
680 | p = data; | ||
681 | for (i = 0; i < (unsigned int)num; i++) | ||
682 | { | ||
683 | p[0] = icon[i].width; | ||
684 | p[1] = icon[i].height; | ||
685 | p += 2; | ||
686 | p2 = icon[i].data; | ||
687 | for (y = 0; y < icon[i].height; y++) | ||
688 | { | ||
689 | for (x = 0; x < icon[i].width; x++) | ||
690 | { | ||
691 | unsigned int r, g, b, a; | ||
692 | |||
693 | a = (*p2 >> 24) & 0xff; | ||
694 | r = (*p2 >> 16) & 0xff; | ||
695 | g = (*p2 >> 8 ) & 0xff; | ||
696 | b = (*p2 ) & 0xff; | ||
697 | if ((a > 0) && (a < 255)) | ||
698 | { | ||
699 | // unpremul | ||
700 | r = (r * 255) / a; | ||
701 | g = (g * 255) / a; | ||
702 | b = (b * 255) / a; | ||
703 | } | ||
704 | *p = (a << 24) | (r << 16) | (g << 8) | b; | ||
705 | p++; | ||
706 | p2++; | ||
707 | } | ||
708 | } | ||
709 | } | ||
710 | ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_ICON, | ||
711 | data, size); | ||
712 | free(data); | ||
713 | } | ||
714 | |||
664 | EAPI Eina_Bool | 715 | EAPI Eina_Bool |
665 | ecore_x_netwm_icons_get(Ecore_X_Window win, | 716 | ecore_x_netwm_icons_get(Ecore_X_Window win, |
666 | Ecore_X_Icon **icon, | 717 | Ecore_X_Icon **icon, |
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c index 38218a5..ec23b3c 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c | |||
@@ -347,9 +347,9 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, | |||
347 | ret[i]->vSyncStart = res->modes[i].vSyncStart; | 347 | ret[i]->vSyncStart = res->modes[i].vSyncStart; |
348 | ret[i]->vSyncEnd = res->modes[i].vSyncEnd; | 348 | ret[i]->vSyncEnd = res->modes[i].vSyncEnd; |
349 | ret[i]->vTotal = res->modes[i].vTotal; | 349 | ret[i]->vTotal = res->modes[i].vTotal; |
350 | if ((ret[i]->name = (malloc(res->modes[i].nameLength)))) | 350 | if ((ret[i]->name = (malloc(res->modes[i].nameLength + 1)))) |
351 | strncpy(ret[i]->name, res->modes[i].name, | 351 | strncpy(ret[i]->name, res->modes[i].name, |
352 | res->modes[i].nameLength); | 352 | (res->modes[i].nameLength + 1)); |
353 | else | 353 | else |
354 | ret[i]->name = NULL; | 354 | ret[i]->name = NULL; |
355 | 355 | ||
@@ -380,6 +380,48 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, | |||
380 | } | 380 | } |
381 | 381 | ||
382 | /* | 382 | /* |
383 | * @brief add a mode to a display | ||
384 | * @param root window to which's screen's ressources are added | ||
385 | * @param mode_info | ||
386 | * @return Ecore_X_Randr_Mode of the added mode. Ecore_X_Randr_None if mode | ||
387 | * adding failed. | ||
388 | * @since 1.2.0 | ||
389 | */ | ||
390 | EAPI Ecore_X_Randr_Mode | ||
391 | ecore_x_randr_mode_info_add(Ecore_X_Window root, | ||
392 | Ecore_X_Randr_Mode_Info *mode_info) | ||
393 | { | ||
394 | #ifdef ECORE_XRANDR | ||
395 | RANDR_CHECK_1_2_RET(EINA_FALSE); | ||
396 | Ecore_X_Randr_Mode mode = Ecore_X_Randr_None; | ||
397 | |||
398 | if (_ecore_x_randr_root_validate(root) && mode_info) | ||
399 | mode = XRRCreateMode(_ecore_x_disp, root, (XRRModeInfo*)mode_info); | ||
400 | |||
401 | return mode; | ||
402 | #else | ||
403 | return Ecore_X_Randr_None; | ||
404 | #endif | ||
405 | } | ||
406 | |||
407 | /* | ||
408 | * @brief delete a mode from the display | ||
409 | * @param mode_info | ||
410 | * @since 1.2.0 | ||
411 | */ | ||
412 | EAPI void | ||
413 | ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode) | ||
414 | { | ||
415 | #ifdef ECORE_XRANDR | ||
416 | RANDR_CHECK_1_2_RET(); | ||
417 | |||
418 | XRRDestroyMode(_ecore_x_disp, mode); | ||
419 | #else | ||
420 | return; | ||
421 | #endif | ||
422 | } | ||
423 | |||
424 | /* | ||
383 | * @brief get detailed information for a given mode id | 425 | * @brief get detailed information for a given mode id |
384 | * @param root window which's screen's ressources are queried | 426 | * @param root window which's screen's ressources are queried |
385 | * @param mode the XID which identifies the mode of interest | 427 | * @param mode the XID which identifies the mode of interest |
@@ -491,6 +533,83 @@ ecore_x_randr_crtcs_get(Ecore_X_Window root, | |||
491 | #endif | 533 | #endif |
492 | } | 534 | } |
493 | 535 | ||
536 | /* | ||
537 | * @deprecated bad naming. Use ecore_x_randr_window_crtcs_get instead. | ||
538 | * @brief get the CRTCs, which display a certain window | ||
539 | * @param window window the displaying crtcs shall be found for | ||
540 | * @param num the number of crtcs displaying the window | ||
541 | * @return array of crtcs that display a certain window. NULL if no crtcs | ||
542 | * was found that displays the specified window. | ||
543 | */ | ||
544 | EAPI Ecore_X_Randr_Crtc * | ||
545 | ecore_x_randr_current_crtc_get(Ecore_X_Window window, | ||
546 | int *num) | ||
547 | { | ||
548 | return ecore_x_randr_window_crtcs_get(window, num); | ||
549 | } | ||
550 | |||
551 | /* | ||
552 | * @brief get the CRTCs, which display a certain window | ||
553 | * @param window window the displaying crtcs shall be found for | ||
554 | * @param num the number of crtcs displaying the window | ||
555 | * @return array of crtcs that display a certain window. NULL if no crtcs | ||
556 | * was found that displays the specified window. | ||
557 | * @since 1.2.0 | ||
558 | */ | ||
559 | EAPI Ecore_X_Randr_Crtc * | ||
560 | ecore_x_randr_window_crtcs_get(Ecore_X_Window window, | ||
561 | int *num) | ||
562 | { | ||
563 | #ifdef ECORE_XRANDR | ||
564 | Ecore_X_Window root; | ||
565 | Eina_Rectangle w_geo, c_geo; | ||
566 | Ecore_X_Randr_Crtc *crtcs; | ||
567 | Ecore_X_Randr_Mode mode; | ||
568 | Ecore_X_Randr_Output *ret = NULL; | ||
569 | Window tw; | ||
570 | int ncrtcs, i, nret = 0, rx = 0, ry = 0; | ||
571 | |||
572 | if (_randr_version < RANDR_1_2) goto _ecore_x_randr_window_crtcs_get_fail; | ||
573 | |||
574 | ecore_x_window_geometry_get(window, | ||
575 | &w_geo.x, &w_geo.y, | ||
576 | &w_geo.w, &w_geo.h); | ||
577 | |||
578 | root = ecore_x_window_root_get(window); | ||
579 | crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); | ||
580 | if (!crtcs) goto _ecore_x_randr_window_crtcs_get_fail; | ||
581 | |||
582 | /* now get window RELATIVE to root window - thats what matters. */ | ||
583 | XTranslateCoordinates(_ecore_x_disp, window, root, 0, 0, &rx, &ry, &tw); | ||
584 | w_geo.x = rx; | ||
585 | w_geo.y = ry; | ||
586 | |||
587 | for (i = 0, nret = 0; i < ncrtcs; i++) | ||
588 | { | ||
589 | /* if crtc is not enabled, don't bother about it any further */ | ||
590 | mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); | ||
591 | if (mode == Ecore_X_Randr_None) continue; | ||
592 | |||
593 | ecore_x_randr_crtc_geometry_get(root, crtcs[i], | ||
594 | &c_geo.x, &c_geo.y, | ||
595 | &c_geo.w, &c_geo.h); | ||
596 | if (eina_rectangles_intersect(&w_geo, &c_geo)) | ||
597 | { | ||
598 | ret = realloc(ret, (sizeof(Ecore_X_Randr_Crtc) * ++nret)); | ||
599 | ret[nret] = crtcs[i]; | ||
600 | } | ||
601 | } | ||
602 | free(crtcs); | ||
603 | |||
604 | if (num) *num = nret; | ||
605 | return ret; | ||
606 | |||
607 | _ecore_x_randr_window_crtcs_get_fail: | ||
608 | #endif | ||
609 | if (num) *num = 0; | ||
610 | return NULL; | ||
611 | } | ||
612 | |||
494 | EAPI Ecore_X_Randr_Output * | 613 | EAPI Ecore_X_Randr_Output * |
495 | ecore_x_randr_outputs_get(Ecore_X_Window root, | 614 | ecore_x_randr_outputs_get(Ecore_X_Window root, |
496 | int *num) | 615 | int *num) |
@@ -1364,6 +1483,54 @@ ecore_x_randr_crtc_pos_relative_set(Ecore_X_Window root, | |||
1364 | #endif | 1483 | #endif |
1365 | } | 1484 | } |
1366 | 1485 | ||
1486 | /* | ||
1487 | * @brief add given mode to given output | ||
1488 | * @param output the output the mode is added to | ||
1489 | * @param mode the mode added to the output | ||
1490 | * @return EINA_FALSE if output or mode equal Ecore_X_Randr_None, else EINA_TRUE | ||
1491 | * Additionally, if xcb backend is used, the success of the addition is reported | ||
1492 | * back directly. | ||
1493 | * @since 1.2.0 | ||
1494 | */ | ||
1495 | EAPI Eina_Bool | ||
1496 | ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, | ||
1497 | Ecore_X_Randr_Mode mode) | ||
1498 | { | ||
1499 | #ifdef ECORE_XRANDR | ||
1500 | RANDR_CHECK_1_2_RET(EINA_FALSE); | ||
1501 | |||
1502 | if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) | ||
1503 | return EINA_FALSE; | ||
1504 | |||
1505 | XRRAddOutputMode(_ecore_x_disp, output, mode); | ||
1506 | return EINA_TRUE; | ||
1507 | #else | ||
1508 | return EINA_FALSE; | ||
1509 | #endif | ||
1510 | } | ||
1511 | |||
1512 | /* | ||
1513 | * @brief delete given mode from given output | ||
1514 | * @param output the output the mode is removed from | ||
1515 | * @param mode the mode removed from the output | ||
1516 | * @since 1.2.0 | ||
1517 | */ | ||
1518 | EAPI void | ||
1519 | ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, | ||
1520 | Ecore_X_Randr_Mode mode) | ||
1521 | { | ||
1522 | #ifdef ECORE_XRANDR | ||
1523 | RANDR_CHECK_1_2_RET(); | ||
1524 | |||
1525 | if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) | ||
1526 | return; | ||
1527 | |||
1528 | XRRDeleteOutputMode(_ecore_x_disp, output, mode); | ||
1529 | #else | ||
1530 | return; | ||
1531 | #endif | ||
1532 | } | ||
1533 | |||
1367 | EAPI Ecore_X_Randr_Mode * | 1534 | EAPI Ecore_X_Randr_Mode * |
1368 | ecore_x_randr_output_modes_get(Ecore_X_Window root, | 1535 | ecore_x_randr_output_modes_get(Ecore_X_Window root, |
1369 | Ecore_X_Randr_Output output, | 1536 | Ecore_X_Randr_Output output, |
@@ -2136,70 +2303,39 @@ ecore_x_randr_window_outputs_get(Ecore_X_Window window, | |||
2136 | { | 2303 | { |
2137 | #ifdef ECORE_XRANDR | 2304 | #ifdef ECORE_XRANDR |
2138 | Ecore_X_Window root; | 2305 | Ecore_X_Window root; |
2139 | Eina_Rectangle w_geo, c_geo; | ||
2140 | Ecore_X_Randr_Crtc *crtcs; | 2306 | Ecore_X_Randr_Crtc *crtcs; |
2141 | Ecore_X_Randr_Mode mode; | 2307 | Ecore_X_Randr_Output *outputs, *ret = NULL; |
2142 | Ecore_X_Randr_Output *outputs, *ret = NULL, *tret; | 2308 | int ncrtcs, noutputs, i, nret = 0; |
2143 | Window tw; | ||
2144 | int ncrtcs, noutputs, i, nret = 0, rx = 0, ry = 0; | ||
2145 | 2309 | ||
2146 | if (_randr_version < RANDR_1_2) goto _ecore_x_randr_current_output_get_fail; | 2310 | if (_randr_version < RANDR_1_2) goto _ecore_x_randr_current_output_get_fail; |
2147 | 2311 | ||
2148 | ecore_x_window_geometry_get(window, | ||
2149 | &w_geo.x, &w_geo.y, | ||
2150 | &w_geo.w, &w_geo.h); | ||
2151 | |||
2152 | root = ecore_x_window_root_get(window); | 2312 | root = ecore_x_window_root_get(window); |
2153 | crtcs = ecore_x_randr_crtcs_get(root, &ncrtcs); | 2313 | if (!(crtcs = ecore_x_randr_window_crtcs_get(window, &ncrtcs))) |
2154 | if (!crtcs) goto _ecore_x_randr_current_output_get_fail; | 2314 | goto _ecore_x_randr_current_output_get_fail; |
2155 | |||
2156 | /* now get window RELATIVE to root window - thats what matters. */ | ||
2157 | XTranslateCoordinates(_ecore_x_disp, window, root, 0, 0, &rx, &ry, &tw); | ||
2158 | w_geo.x = rx; | ||
2159 | w_geo.y = ry; | ||
2160 | 2315 | ||
2161 | for (i = 0; i < ncrtcs; i++) | 2316 | for (i = 0, nret = 0; i < ncrtcs; i++) |
2162 | { | 2317 | { |
2163 | /* if crtc is not enabled, don't bother about it any further */ | ||
2164 | mode = ecore_x_randr_crtc_mode_get(root, crtcs[i]); | ||
2165 | if (mode == Ecore_X_Randr_None) continue; | ||
2166 | 2318 | ||
2167 | ecore_x_randr_crtc_geometry_get(root, crtcs[i], | 2319 | outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], |
2168 | &c_geo.x, &c_geo.y, | 2320 | &noutputs); |
2169 | &c_geo.w, &c_geo.h); | 2321 | if (!outputs) |
2170 | if (eina_rectangles_intersect(&w_geo, &c_geo)) | 2322 | goto _ecore_x_randr_current_output_get_fail_free; |
2171 | { | 2323 | nret += noutputs; |
2172 | outputs = ecore_x_randr_crtc_outputs_get(root, crtcs[i], | 2324 | ret = realloc(ret, (nret * sizeof(Ecore_X_Randr_Output))); |
2173 | &noutputs); | 2325 | memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); |
2174 | /* The case below should be impossible, but for safety reasons | 2326 | free(outputs); |
2175 | * remains */ | ||
2176 | if (!outputs) | ||
2177 | { | ||
2178 | if (num) *num = 0; | ||
2179 | free(ret); | ||
2180 | free(crtcs); | ||
2181 | return NULL; | ||
2182 | } | ||
2183 | tret = realloc(ret, ((nret + noutputs) * sizeof(Ecore_X_Randr_Output))); | ||
2184 | if (!tret) | ||
2185 | { | ||
2186 | if (num) *num = 0; | ||
2187 | free(outputs); | ||
2188 | free(ret); | ||
2189 | free(crtcs); | ||
2190 | return NULL; | ||
2191 | } | ||
2192 | ret = tret; | ||
2193 | memcpy(&ret[nret], outputs, (noutputs * sizeof(Ecore_X_Randr_Output))); | ||
2194 | nret += noutputs; | ||
2195 | free(outputs); | ||
2196 | } | ||
2197 | } | 2327 | } |
2198 | free(crtcs); | 2328 | free(crtcs); |
2199 | 2329 | ||
2200 | if (num) *num = nret; | 2330 | if (num) |
2331 | *num = nret; | ||
2332 | |||
2201 | return ret; | 2333 | return ret; |
2202 | 2334 | ||
2335 | _ecore_x_randr_current_output_get_fail_free: | ||
2336 | free(outputs); | ||
2337 | free(crtcs); | ||
2338 | free(ret); | ||
2203 | _ecore_x_randr_current_output_get_fail: | 2339 | _ecore_x_randr_current_output_get_fail: |
2204 | #endif | 2340 | #endif |
2205 | if (num) *num = 0; | 2341 | if (num) *num = 0; |
@@ -2207,7 +2343,7 @@ _ecore_x_randr_current_output_get_fail: | |||
2207 | } | 2343 | } |
2208 | 2344 | ||
2209 | /* | 2345 | /* |
2210 | * @depricated bad naming. Use ecore_x_randr_window_outputs_get instead. | 2346 | * @deprecated bad naming. Use ecore_x_randr_window_outputs_get instead. |
2211 | * @brief get the outputs, which display a certain window | 2347 | * @brief get the outputs, which display a certain window |
2212 | * @param window window the displaying outputs shall be found for | 2348 | * @param window window the displaying outputs shall be found for |
2213 | * @param num the number of outputs displaying the window | 2349 | * @param num the number of outputs displaying the window |
@@ -2215,7 +2351,7 @@ _ecore_x_randr_current_output_get_fail: | |||
2215 | * was found that displays the specified window. | 2351 | * was found that displays the specified window. |
2216 | */ | 2352 | */ |
2217 | 2353 | ||
2218 | EINA_DEPRECATED EAPI Ecore_X_Randr_Output * | 2354 | EAPI Ecore_X_Randr_Output * |
2219 | ecore_x_randr_current_output_get(Ecore_X_Window window, | 2355 | ecore_x_randr_current_output_get(Ecore_X_Window window, |
2220 | int *num) | 2356 | int *num) |
2221 | { | 2357 | { |
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c index c8c04e4..23eea10 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_test.c | |||
@@ -153,3 +153,15 @@ ecore_x_keysym_string_get(int keysym) | |||
153 | return XKeysymToString(keysym); | 153 | return XKeysymToString(keysym); |
154 | } | 154 | } |
155 | 155 | ||
156 | EAPI int | ||
157 | ecore_x_keysym_keycode_get(const char *keyname) | ||
158 | { | ||
159 | int keycode = 0; | ||
160 | |||
161 | if (!strncmp(keyname, "Keycode-", 8)) | ||
162 | keycode = atoi(keyname + 8); | ||
163 | else | ||
164 | keycode = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(keyname)); | ||
165 | |||
166 | return keycode; | ||
167 | } | ||
diff --git a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c index 1adb36b..90392bf 100644 --- a/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c +++ b/libraries/ecore/src/lib/ecore_x/xlib/ecore_x_window.c | |||
@@ -224,7 +224,7 @@ ecore_x_window_input_new(Ecore_X_Window parent, | |||
224 | * @c _NET_WM_PID. | 224 | * @c _NET_WM_PID. |
225 | * | 225 | * |
226 | * @param win The given window. | 226 | * @param win The given window. |
227 | * @ingroup Ecore_X_Window_Properties_Groups | 227 | * @ingroup Ecore_X_Window_Properties_Group |
228 | */ | 228 | */ |
229 | EAPI void | 229 | EAPI void |
230 | ecore_x_window_defaults_set(Ecore_X_Window win) | 230 | ecore_x_window_defaults_set(Ecore_X_Window win) |
@@ -597,7 +597,7 @@ ecore_x_window_focus_at_time(Ecore_X_Window win, | |||
597 | } | 597 | } |
598 | 598 | ||
599 | /** | 599 | /** |
600 | * gets the focus to the window @p win. | 600 | * gets the window that has focus. |
601 | * @return The window that has focus. | 601 | * @return The window that has focus. |
602 | * @ingroup Ecore_X_Window_Focus_Functions | 602 | * @ingroup Ecore_X_Window_Focus_Functions |
603 | */ | 603 | */ |
diff --git a/libraries/ecore/src/modules/Makefile.in b/libraries/ecore/src/modules/Makefile.in index 4bb9420..e2cf44a 100644 --- a/libraries/ecore/src/modules/Makefile.in +++ b/libraries/ecore/src/modules/Makefile.in | |||
@@ -47,16 +47,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 48 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
49 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 49 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
50 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 50 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
51 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 51 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
52 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 52 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
53 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 53 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
54 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 54 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
55 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 55 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
56 | $(top_srcdir)/configure.ac | ||
57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 56 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
58 | $(ACLOCAL_M4) | 57 | $(ACLOCAL_M4) |
59 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 58 | mkinstalldirs = $(install_sh) -d |
60 | CONFIG_HEADER = $(top_builddir)/config.h | 59 | CONFIG_HEADER = $(top_builddir)/config.h |
61 | CONFIG_CLEAN_FILES = | 60 | CONFIG_CLEAN_FILES = |
62 | CONFIG_CLEAN_VPATH_FILES = | 61 | CONFIG_CLEAN_VPATH_FILES = |
@@ -172,6 +171,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
172 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 171 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
173 | EVIL_LIBS = @EVIL_LIBS@ | 172 | EVIL_LIBS = @EVIL_LIBS@ |
174 | EXEEXT = @EXEEXT@ | 173 | EXEEXT = @EXEEXT@ |
174 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
175 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
175 | FGREP = @FGREP@ | 176 | FGREP = @FGREP@ |
176 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 177 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
177 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 178 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -227,6 +228,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
227 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 228 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
228 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 229 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
229 | PKG_CONFIG = @PKG_CONFIG@ | 230 | PKG_CONFIG = @PKG_CONFIG@ |
231 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
232 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
230 | POSUB = @POSUB@ | 233 | POSUB = @POSUB@ |
231 | RANLIB = @RANLIB@ | 234 | RANLIB = @RANLIB@ |
232 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 235 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -237,6 +240,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
237 | SED = @SED@ | 240 | SED = @SED@ |
238 | SET_MAKE = @SET_MAKE@ | 241 | SET_MAKE = @SET_MAKE@ |
239 | SHELL = @SHELL@ | 242 | SHELL = @SHELL@ |
243 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
240 | SSL_CFLAGS = @SSL_CFLAGS@ | 244 | SSL_CFLAGS = @SSL_CFLAGS@ |
241 | SSL_LIBS = @SSL_LIBS@ | 245 | SSL_LIBS = @SSL_LIBS@ |
242 | STRIP = @STRIP@ | 246 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/modules/immodules/Makefile.in b/libraries/ecore/src/modules/immodules/Makefile.in index e65881c..5dacbed 100644 --- a/libraries/ecore/src/modules/immodules/Makefile.in +++ b/libraries/ecore/src/modules/immodules/Makefile.in | |||
@@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
52 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 52 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
53 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 53 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 54 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 55 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 56 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
57 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 57 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
58 | $(top_srcdir)/configure.ac | ||
59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
60 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
61 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 60 | mkinstalldirs = $(install_sh) -d |
62 | CONFIG_HEADER = $(top_builddir)/config.h | 61 | CONFIG_HEADER = $(top_builddir)/config.h |
63 | CONFIG_CLEAN_FILES = | 62 | CONFIG_CLEAN_FILES = |
64 | CONFIG_CLEAN_VPATH_FILES = | 63 | CONFIG_CLEAN_VPATH_FILES = |
@@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
174 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 173 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
175 | EVIL_LIBS = @EVIL_LIBS@ | 174 | EVIL_LIBS = @EVIL_LIBS@ |
176 | EXEEXT = @EXEEXT@ | 175 | EXEEXT = @EXEEXT@ |
176 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
177 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
177 | FGREP = @FGREP@ | 178 | FGREP = @FGREP@ |
178 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 179 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
179 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 180 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
229 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 230 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
230 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 231 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
231 | PKG_CONFIG = @PKG_CONFIG@ | 232 | PKG_CONFIG = @PKG_CONFIG@ |
233 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
234 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
232 | POSUB = @POSUB@ | 235 | POSUB = @POSUB@ |
233 | RANLIB = @RANLIB@ | 236 | RANLIB = @RANLIB@ |
234 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 237 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
239 | SED = @SED@ | 242 | SED = @SED@ |
240 | SET_MAKE = @SET_MAKE@ | 243 | SET_MAKE = @SET_MAKE@ |
241 | SHELL = @SHELL@ | 244 | SHELL = @SHELL@ |
245 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
242 | SSL_CFLAGS = @SSL_CFLAGS@ | 246 | SSL_CFLAGS = @SSL_CFLAGS@ |
243 | SSL_LIBS = @SSL_LIBS@ | 247 | SSL_LIBS = @SSL_LIBS@ |
244 | STRIP = @STRIP@ | 248 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/modules/immodules/scim/Makefile.in b/libraries/ecore/src/modules/immodules/scim/Makefile.in index 9fc3283..ae6fc7d 100644 --- a/libraries/ecore/src/modules/immodules/scim/Makefile.in +++ b/libraries/ecore/src/modules/immodules/scim/Makefile.in | |||
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
51 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 51 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
52 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 52 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 53 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 54 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 55 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
56 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 56 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
57 | $(top_srcdir)/configure.ac | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = | 61 | CONFIG_CLEAN_FILES = |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -205,6 +204,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
205 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 204 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
206 | EVIL_LIBS = @EVIL_LIBS@ | 205 | EVIL_LIBS = @EVIL_LIBS@ |
207 | EXEEXT = @EXEEXT@ | 206 | EXEEXT = @EXEEXT@ |
207 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
208 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
208 | FGREP = @FGREP@ | 209 | FGREP = @FGREP@ |
209 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 210 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
210 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 211 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -260,6 +261,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
260 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 261 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
261 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 262 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
262 | PKG_CONFIG = @PKG_CONFIG@ | 263 | PKG_CONFIG = @PKG_CONFIG@ |
264 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
265 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
263 | POSUB = @POSUB@ | 266 | POSUB = @POSUB@ |
264 | RANLIB = @RANLIB@ | 267 | RANLIB = @RANLIB@ |
265 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 268 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -270,6 +273,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
270 | SED = @SED@ | 273 | SED = @SED@ |
271 | SET_MAKE = @SET_MAKE@ | 274 | SET_MAKE = @SET_MAKE@ |
272 | SHELL = @SHELL@ | 275 | SHELL = @SHELL@ |
276 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
273 | SSL_CFLAGS = @SSL_CFLAGS@ | 277 | SSL_CFLAGS = @SSL_CFLAGS@ |
274 | SSL_LIBS = @SSL_LIBS@ | 278 | SSL_LIBS = @SSL_LIBS@ |
275 | STRIP = @STRIP@ | 279 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp index 6cb72c2..eb9b5c9 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp +++ b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.cpp | |||
@@ -223,18 +223,18 @@ static int __current_super_mask = 0; | |||
223 | static int __current_hyper_mask = 0; | 223 | static int __current_hyper_mask = 0; |
224 | static int __current_numlock_mask = Mod2Mask; | 224 | static int __current_numlock_mask = Mod2Mask; |
225 | 225 | ||
226 | // A hack to shutdown the immodule cleanly even if im_module_exit () is not called when exiting. | 226 | // A hack to shutdown the immodule cleanly even if im_module_exit() is not called when exiting. |
227 | class FinalizeHandler | 227 | class FinalizeHandler |
228 | { | 228 | { |
229 | public: | 229 | public: |
230 | FinalizeHandler () | 230 | FinalizeHandler() |
231 | { | 231 | { |
232 | SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::FinalizeHandler ()\n"; | 232 | SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::FinalizeHandler()\n"; |
233 | } | 233 | } |
234 | ~FinalizeHandler () | 234 | ~FinalizeHandler() |
235 | { | 235 | { |
236 | SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::~FinalizeHandler ()\n"; | 236 | SCIM_DEBUG_FRONTEND(1) << "FinalizeHandler::~FinalizeHandler()\n"; |
237 | isf_imf_context_shutdown (); | 237 | isf_imf_context_shutdown(); |
238 | } | 238 | } |
239 | }; | 239 | }; |
240 | 240 | ||
@@ -254,12 +254,12 @@ utf8_offset_to_index(const char *str, int offset) | |||
254 | } | 254 | } |
255 | 255 | ||
256 | static unsigned int | 256 | static unsigned int |
257 | get_time (void) | 257 | get_time(void) |
258 | { | 258 | { |
259 | unsigned int tint; | 259 | unsigned int tint; |
260 | struct timeval tv; | 260 | struct timeval tv; |
261 | struct timezone tz; /* is not used since ages */ | 261 | struct timezone tz; /* is not used since ages */ |
262 | gettimeofday (&tv, &tz); | 262 | gettimeofday(&tv, &tz); |
263 | tint = tv.tv_sec * 1000; | 263 | tint = tv.tv_sec * 1000; |
264 | tint = tint / 1000 * 1000; | 264 | tint = tint / 1000 * 1000; |
265 | tint = tint + tv.tv_usec / 1000; | 265 | tint = tint + tv.tv_usec / 1000; |
@@ -268,7 +268,7 @@ get_time (void) | |||
268 | 268 | ||
269 | /* Function Implementations */ | 269 | /* Function Implementations */ |
270 | static EcoreIMFContextISFImpl * | 270 | static EcoreIMFContextISFImpl * |
271 | new_ic_impl (EcoreIMFContextISF *parent) | 271 | new_ic_impl(EcoreIMFContextISF *parent) |
272 | { | 272 | { |
273 | EcoreIMFContextISFImpl *impl = NULL; | 273 | EcoreIMFContextISFImpl *impl = NULL; |
274 | 274 | ||
@@ -295,7 +295,7 @@ new_ic_impl (EcoreIMFContextISF *parent) | |||
295 | } | 295 | } |
296 | 296 | ||
297 | static void | 297 | static void |
298 | delete_ic_impl (EcoreIMFContextISFImpl *impl) | 298 | delete_ic_impl(EcoreIMFContextISFImpl *impl) |
299 | { | 299 | { |
300 | EcoreIMFContextISFImpl *rec = _used_ic_impl_list, *last = 0; | 300 | EcoreIMFContextISFImpl *rec = _used_ic_impl_list, *last = 0; |
301 | 301 | ||
@@ -312,10 +312,10 @@ delete_ic_impl (EcoreIMFContextISFImpl *impl) | |||
312 | _free_ic_impl_list = rec; | 312 | _free_ic_impl_list = rec; |
313 | 313 | ||
314 | rec->parent = 0; | 314 | rec->parent = 0; |
315 | rec->si.reset (); | 315 | rec->si.reset(); |
316 | rec->client_window = 0; | 316 | rec->client_window = 0; |
317 | rec->preedit_string = WideString (); | 317 | rec->preedit_string = WideString(); |
318 | rec->preedit_attrlist.clear (); | 318 | rec->preedit_attrlist.clear(); |
319 | 319 | ||
320 | return; | 320 | return; |
321 | } | 321 | } |
@@ -323,7 +323,7 @@ delete_ic_impl (EcoreIMFContextISFImpl *impl) | |||
323 | } | 323 | } |
324 | 324 | ||
325 | static void | 325 | static void |
326 | delete_all_ic_impl (void) | 326 | delete_all_ic_impl(void) |
327 | { | 327 | { |
328 | EcoreIMFContextISFImpl *it = _used_ic_impl_list; | 328 | EcoreIMFContextISFImpl *it = _used_ic_impl_list; |
329 | 329 | ||
@@ -344,7 +344,7 @@ delete_all_ic_impl (void) | |||
344 | } | 344 | } |
345 | 345 | ||
346 | static EcoreIMFContextISF * | 346 | static EcoreIMFContextISF * |
347 | find_ic (int id) | 347 | find_ic(int id) |
348 | { | 348 | { |
349 | EcoreIMFContextISFImpl *rec = _used_ic_impl_list; | 349 | EcoreIMFContextISFImpl *rec = _used_ic_impl_list; |
350 | 350 | ||
@@ -363,17 +363,18 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) | |||
363 | { | 363 | { |
364 | char *plain_str = NULL; | 364 | char *plain_str = NULL; |
365 | char *markup_str = NULL; | 365 | char *markup_str = NULL; |
366 | const char *puncs[3] = {". ", "! ", "? "}; | 366 | const char *puncs[] = {". ", "! ", "? "}; |
367 | Eina_Bool ret = EINA_FALSE; | 367 | Eina_Bool ret = EINA_FALSE; |
368 | int cursor_pos = 0; | 368 | int cursor_pos = 0; |
369 | int i = 0; | 369 | int i = 0; |
370 | Eina_Unicode *tail = NULL; | 370 | Eina_Unicode *tail = NULL; |
371 | Eina_Unicode *ustr = NULL; | 371 | Eina_Unicode *ustr = NULL; |
372 | Eina_Unicode *uni_puncs[3]; | 372 | const int punc_num = sizeof(puncs) / sizeof(puncs[0]); |
373 | Eina_Unicode *uni_puncs[punc_num]; | ||
373 | EcoreIMFContextISF *context_scim; | 374 | EcoreIMFContextISF *context_scim; |
374 | 375 | ||
375 | if (!ctx) return EINA_FALSE; | 376 | if (!ctx) return EINA_FALSE; |
376 | context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 377 | context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
377 | if (!context_scim || !context_scim->impl) return EINA_FALSE; | 378 | if (!context_scim || !context_scim->impl) return EINA_FALSE; |
378 | 379 | ||
379 | switch (context_scim->impl->autocapital_type) | 380 | switch (context_scim->impl->autocapital_type) |
@@ -386,7 +387,7 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) | |||
386 | break; | 387 | break; |
387 | } | 388 | } |
388 | 389 | ||
389 | for (i=0; i<3; i++) | 390 | for (i = 0; i < punc_num; i++) |
390 | uni_puncs[i] = eina_unicode_utf8_to_unicode(puncs[i], NULL); | 391 | uni_puncs[i] = eina_unicode_utf8_to_unicode(puncs[i], NULL); |
391 | 392 | ||
392 | ecore_imf_context_surrounding_get(ctx, &markup_str, &cursor_pos); | 393 | ecore_imf_context_surrounding_get(ctx, &markup_str, &cursor_pos); |
@@ -432,7 +433,7 @@ analyze_surrounding_text(Ecore_IMF_Context *ctx) | |||
432 | 433 | ||
433 | if (tail) | 434 | if (tail) |
434 | { | 435 | { |
435 | for (i=0; i<3; i++) | 436 | for (i = 0; i < punc_num; i++) |
436 | { | 437 | { |
437 | if (!eina_unicode_strcmp(tail, uni_puncs[i])) | 438 | if (!eina_unicode_strcmp(tail, uni_puncs[i])) |
438 | { | 439 | { |
@@ -450,7 +451,7 @@ done: | |||
450 | if (markup_str) free(markup_str); | 451 | if (markup_str) free(markup_str); |
451 | if (plain_str) free(plain_str); | 452 | if (plain_str) free(plain_str); |
452 | 453 | ||
453 | for (i=0; i<3; i++) | 454 | for (i = 0; i < punc_num; i++) |
454 | if (uni_puncs[i]) free(uni_puncs[i]); | 455 | if (uni_puncs[i]) free(uni_puncs[i]); |
455 | 456 | ||
456 | return ret; | 457 | return ret; |
@@ -463,7 +464,7 @@ caps_mode_check(Ecore_IMF_Context *ctx, Eina_Bool force) | |||
463 | EcoreIMFContextISF *context_scim; | 464 | EcoreIMFContextISF *context_scim; |
464 | 465 | ||
465 | if (!ctx) return; | 466 | if (!ctx) return; |
466 | context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 467 | context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
467 | 468 | ||
468 | if (autocap_allow == EINA_FALSE) | 469 | if (autocap_allow == EINA_FALSE) |
469 | return; | 470 | return; |
@@ -485,28 +486,52 @@ caps_mode_check(Ecore_IMF_Context *ctx, Eina_Bool force) | |||
485 | } | 486 | } |
486 | 487 | ||
487 | static void | 488 | static void |
488 | feed_key_event (Evas *evas, const char *str, Eina_Bool fake) | 489 | feed_key_event(Evas *evas, const char *str, Eina_Bool fake) |
489 | { | 490 | { |
490 | char key_string[128] = {0}; | 491 | char key_string[128] = {0}; |
491 | unsigned int timestamp = 0; | 492 | unsigned int timestamp = 0; |
492 | 493 | ||
493 | if (!fake) | 494 | if (!fake) |
494 | timestamp = get_time (); | 495 | timestamp = get_time(); |
495 | 496 | ||
496 | if (strncmp (str, "KeyRelease+", 11) == 0) | 497 | if (strncmp(str, "KeyRelease+", 11) == 0) |
497 | { | 498 | { |
498 | strncpy(key_string, str + 11, strlen(str)-11); | 499 | strncpy(key_string, str + 11, strlen(str)-11); |
499 | evas_event_feed_key_up (evas, key_string, key_string, NULL, NULL, timestamp, NULL); | 500 | evas_event_feed_key_up(evas, key_string, key_string, NULL, NULL, timestamp, NULL); |
500 | SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_up ()...\n"; | 501 | SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_up()...\n"; |
501 | } | 502 | } |
502 | else | 503 | else |
503 | { | 504 | { |
504 | strncpy(key_string, str, strlen(str)); | 505 | strncpy(key_string, str, strlen(str)); |
505 | evas_event_feed_key_down (evas, key_string, key_string, NULL, NULL, timestamp, NULL); | 506 | evas_event_feed_key_down(evas, key_string, key_string, NULL, NULL, timestamp, NULL); |
506 | SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_down ()...\n"; | 507 | SCIM_DEBUG_FRONTEND(1) << " evas_event_feed_key_down()...\n"; |
507 | } | 508 | } |
508 | } | 509 | } |
509 | 510 | ||
511 | static void | ||
512 | window_to_screen_geometry_get(Ecore_X_Window client_win, int *x, int *y) | ||
513 | { | ||
514 | Ecore_X_Window root_window, win; | ||
515 | int win_x, win_y; | ||
516 | int sum_x = 0, sum_y = 0; | ||
517 | |||
518 | root_window = ecore_x_window_root_get(client_win); | ||
519 | win = client_win; | ||
520 | |||
521 | while (root_window != win) | ||
522 | { | ||
523 | ecore_x_window_geometry_get(win, &win_x, &win_y, NULL, NULL); | ||
524 | sum_x += win_x; | ||
525 | sum_y += win_y; | ||
526 | win = ecore_x_window_parent_get(win); | ||
527 | } | ||
528 | |||
529 | if (x) | ||
530 | *x = sum_x; | ||
531 | if (y) | ||
532 | *y = sum_y; | ||
533 | } | ||
534 | |||
510 | /* Public functions */ | 535 | /* Public functions */ |
511 | /** | 536 | /** |
512 | * isf_imf_context_new | 537 | * isf_imf_context_new |
@@ -517,18 +542,11 @@ feed_key_event (Evas *evas, const char *str, Eina_Bool fake) | |||
517 | * Return value: A pointer to the newly created EcoreIMFContextISF instance | 542 | * Return value: A pointer to the newly created EcoreIMFContextISF instance |
518 | */ | 543 | */ |
519 | EAPI EcoreIMFContextISF * | 544 | EAPI EcoreIMFContextISF * |
520 | isf_imf_context_new (void) | 545 | isf_imf_context_new(void) |
521 | { | 546 | { |
522 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 547 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
523 | char *env; | 548 | char *env; |
524 | 549 | ||
525 | Ecore_X_Display *display = ecore_x_display_get (); | ||
526 | if (!display) | ||
527 | { | ||
528 | std::cerr << "ecore_x_display_get () failed !!!"; | ||
529 | return NULL; | ||
530 | } | ||
531 | |||
532 | EcoreIMFContextISF *context_scim = new EcoreIMFContextISF; | 550 | EcoreIMFContextISF *context_scim = new EcoreIMFContextISF; |
533 | if (context_scim == NULL) | 551 | if (context_scim == NULL) |
534 | { | 552 | { |
@@ -540,7 +558,7 @@ isf_imf_context_new (void) | |||
540 | 558 | ||
541 | if (!_scim_initialized) | 559 | if (!_scim_initialized) |
542 | { | 560 | { |
543 | initialize (); | 561 | initialize(); |
544 | _scim_initialized = true; | 562 | _scim_initialized = true; |
545 | } | 563 | } |
546 | 564 | ||
@@ -558,61 +576,61 @@ isf_imf_context_new (void) | |||
558 | * cleanup job. | 576 | * cleanup job. |
559 | */ | 577 | */ |
560 | EAPI void | 578 | EAPI void |
561 | isf_imf_context_shutdown (void) | 579 | isf_imf_context_shutdown(void) |
562 | { | 580 | { |
563 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 581 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
564 | 582 | ||
565 | if (_scim_initialized) | 583 | if (_scim_initialized) |
566 | { | 584 | { |
567 | _scim_initialized = false; | 585 | _scim_initialized = false; |
568 | finalize (); | 586 | finalize(); |
569 | } | 587 | } |
570 | } | 588 | } |
571 | 589 | ||
572 | EAPI void | 590 | EAPI void |
573 | isf_imf_context_add (Ecore_IMF_Context *ctx) | 591 | isf_imf_context_add(Ecore_IMF_Context *ctx) |
574 | { | 592 | { |
575 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 593 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
576 | 594 | ||
577 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 595 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
578 | 596 | ||
579 | if (!context_scim) return; | 597 | if (!context_scim) return; |
580 | 598 | ||
581 | context_scim->impl = NULL; | 599 | context_scim->impl = NULL; |
582 | 600 | ||
583 | if (_backend.null ()) | 601 | if (_backend.null()) |
584 | return; | 602 | return; |
585 | 603 | ||
586 | IMEngineInstancePointer si; | 604 | IMEngineInstancePointer si; |
587 | 605 | ||
588 | // Use the default instance if "shared input method" mode is enabled. | 606 | // Use the default instance if "shared input method" mode is enabled. |
589 | if (_shared_input_method && !_default_instance.null ()) | 607 | if (_shared_input_method && !_default_instance.null()) |
590 | { | 608 | { |
591 | si = _default_instance; | 609 | si = _default_instance; |
592 | SCIM_DEBUG_FRONTEND(2) << "use default instance: " << si->get_id () << " " << si->get_factory_uuid () << "\n"; | 610 | SCIM_DEBUG_FRONTEND(2) << "use default instance: " << si->get_id() << " " << si->get_factory_uuid() << "\n"; |
593 | } | 611 | } |
594 | 612 | ||
595 | // Not in "shared input method" mode, or no default instance, create an instance. | 613 | // Not in "shared input method" mode, or no default instance, create an instance. |
596 | if (si.null ()) | 614 | if (si.null()) |
597 | { | 615 | { |
598 | IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); | 616 | IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); |
599 | if (factory.null ()) return; | 617 | if (factory.null()) return; |
600 | si = factory->create_instance ("UTF-8", _instance_count++); | 618 | si = factory->create_instance("UTF-8", _instance_count++); |
601 | if (si.null ()) return; | 619 | if (si.null()) return; |
602 | attach_instance (si); | 620 | attach_instance(si); |
603 | SCIM_DEBUG_FRONTEND(2) << "create new instance: " << si->get_id () << " " << si->get_factory_uuid () << "\n"; | 621 | SCIM_DEBUG_FRONTEND(2) << "create new instance: " << si->get_id() << " " << si->get_factory_uuid() << "\n"; |
604 | } | 622 | } |
605 | 623 | ||
606 | // If "shared input method" mode is enabled, and there is no default instance, | 624 | // If "shared input method" mode is enabled, and there is no default instance, |
607 | // then store this instance as default one. | 625 | // then store this instance as default one. |
608 | if (_shared_input_method && _default_instance.null ()) | 626 | if (_shared_input_method && _default_instance.null()) |
609 | { | 627 | { |
610 | SCIM_DEBUG_FRONTEND(2) << "update default instance.\n"; | 628 | SCIM_DEBUG_FRONTEND(2) << "update default instance.\n"; |
611 | _default_instance = si; | 629 | _default_instance = si; |
612 | } | 630 | } |
613 | 631 | ||
614 | context_scim->ctx = ctx; | 632 | context_scim->ctx = ctx; |
615 | context_scim->impl = new_ic_impl (context_scim); | 633 | context_scim->impl = new_ic_impl(context_scim); |
616 | if (context_scim->impl == NULL) | 634 | if (context_scim->impl == NULL) |
617 | { | 635 | { |
618 | std::cerr << "memory allocation failed in " << __FUNCTION__ << "\n"; | 636 | std::cerr << "memory allocation failed in " << __FUNCTION__ << "\n"; |
@@ -640,24 +658,24 @@ isf_imf_context_add (Ecore_IMF_Context *ctx) | |||
640 | _ic_list = context_scim; | 658 | _ic_list = context_scim; |
641 | 659 | ||
642 | if (_shared_input_method) | 660 | if (_shared_input_method) |
643 | context_scim->impl->is_on = _config->read (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); | 661 | context_scim->impl->is_on = _config->read(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); |
644 | 662 | ||
645 | _panel_client.prepare (context_scim->id); | 663 | _panel_client.prepare(context_scim->id); |
646 | _panel_client.register_input_context (context_scim->id, si->get_factory_uuid ()); | 664 | _panel_client.register_input_context(context_scim->id, si->get_factory_uuid()); |
647 | set_ic_capabilities (context_scim); | 665 | set_ic_capabilities(context_scim); |
648 | _panel_client.send (); | 666 | _panel_client.send(); |
649 | 667 | ||
650 | SCIM_DEBUG_FRONTEND(2) << "input context created: id = " << context_scim->id << "\n"; | 668 | SCIM_DEBUG_FRONTEND(2) << "input context created: id = " << context_scim->id << "\n"; |
651 | } | 669 | } |
652 | 670 | ||
653 | EAPI void | 671 | EAPI void |
654 | isf_imf_context_del (Ecore_IMF_Context *ctx) | 672 | isf_imf_context_del(Ecore_IMF_Context *ctx) |
655 | { | 673 | { |
656 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 674 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
657 | 675 | ||
658 | if (!_ic_list) return; | 676 | if (!_ic_list) return; |
659 | 677 | ||
660 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 678 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
661 | 679 | ||
662 | if (context_scim) | 680 | if (context_scim) |
663 | { | 681 | { |
@@ -682,32 +700,32 @@ isf_imf_context_del (Ecore_IMF_Context *ctx) | |||
682 | 700 | ||
683 | if (context_scim && context_scim->impl) | 701 | if (context_scim && context_scim->impl) |
684 | { | 702 | { |
685 | _panel_client.prepare (context_scim->id); | 703 | _panel_client.prepare(context_scim->id); |
686 | 704 | ||
687 | if (context_scim == _focused_ic) | 705 | if (context_scim == _focused_ic) |
688 | context_scim->impl->si->focus_out (); | 706 | context_scim->impl->si->focus_out(); |
689 | 707 | ||
690 | // Delete the instance. | 708 | // Delete the instance. |
691 | EcoreIMFContextISF *old_focused = _focused_ic; | 709 | EcoreIMFContextISF *old_focused = _focused_ic; |
692 | _focused_ic = context_scim; | 710 | _focused_ic = context_scim; |
693 | context_scim->impl->si.reset (); | 711 | context_scim->impl->si.reset(); |
694 | _focused_ic = old_focused; | 712 | _focused_ic = old_focused; |
695 | 713 | ||
696 | if (context_scim == _focused_ic) | 714 | if (context_scim == _focused_ic) |
697 | { | 715 | { |
698 | _panel_client.turn_off (context_scim->id); | 716 | _panel_client.turn_off(context_scim->id); |
699 | _panel_client.focus_out (context_scim->id); | 717 | _panel_client.focus_out(context_scim->id); |
700 | } | 718 | } |
701 | 719 | ||
702 | _panel_client.remove_input_context (context_scim->id); | 720 | _panel_client.remove_input_context(context_scim->id); |
703 | _panel_client.send (); | 721 | _panel_client.send(); |
704 | 722 | ||
705 | if (context_scim->impl->client_window) | 723 | if (context_scim->impl->client_window) |
706 | isf_imf_context_client_window_set (ctx, NULL); | 724 | isf_imf_context_client_window_set(ctx, NULL); |
707 | 725 | ||
708 | if (context_scim->impl) | 726 | if (context_scim->impl) |
709 | { | 727 | { |
710 | delete_ic_impl (context_scim->impl); | 728 | delete_ic_impl(context_scim->impl); |
711 | context_scim->impl = 0; | 729 | context_scim->impl = 0; |
712 | } | 730 | } |
713 | } | 731 | } |
@@ -738,11 +756,11 @@ isf_imf_context_del (Ecore_IMF_Context *ctx) | |||
738 | * be used for purposes internal to the Input Method Context. | 756 | * be used for purposes internal to the Input Method Context. |
739 | */ | 757 | */ |
740 | EAPI void | 758 | EAPI void |
741 | isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas) | 759 | isf_imf_context_client_canvas_set(Ecore_IMF_Context *ctx, void *canvas) |
742 | { | 760 | { |
743 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 761 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
744 | 762 | ||
745 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 763 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
746 | 764 | ||
747 | if (context_scim && context_scim->impl && context_scim->impl->client_canvas != (Evas*) canvas) | 765 | if (context_scim && context_scim->impl && context_scim->impl->client_canvas != (Evas*) canvas) |
748 | context_scim->impl->client_canvas = (Evas*)canvas; | 766 | context_scim->impl->client_canvas = (Evas*)canvas; |
@@ -762,11 +780,11 @@ isf_imf_context_client_canvas_set (Ecore_IMF_Context *ctx, void *canvas) | |||
762 | * and may also be used for purposes internal to the Input Method Context. | 780 | * and may also be used for purposes internal to the Input Method Context. |
763 | */ | 781 | */ |
764 | EAPI void | 782 | EAPI void |
765 | isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window) | 783 | isf_imf_context_client_window_set(Ecore_IMF_Context *ctx, void *window) |
766 | { | 784 | { |
767 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 785 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
768 | 786 | ||
769 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 787 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
770 | 788 | ||
771 | if (context_scim && context_scim->impl && context_scim->impl->client_window != (Ecore_X_Window)((Ecore_Window)window)) | 789 | if (context_scim && context_scim->impl && context_scim->impl->client_window != (Ecore_X_Window)((Ecore_Window)window)) |
772 | { | 790 | { |
@@ -789,29 +807,29 @@ isf_imf_context_client_window_set (Ecore_IMF_Context *ctx, void *window) | |||
789 | * to clear the preedit state. | 807 | * to clear the preedit state. |
790 | */ | 808 | */ |
791 | EAPI void | 809 | EAPI void |
792 | isf_imf_context_reset (Ecore_IMF_Context *ctx) | 810 | isf_imf_context_reset(Ecore_IMF_Context *ctx) |
793 | { | 811 | { |
794 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 812 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
795 | 813 | ||
796 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 814 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
797 | 815 | ||
798 | if (context_scim && context_scim->impl && context_scim == _focused_ic) | 816 | if (context_scim && context_scim->impl && context_scim == _focused_ic) |
799 | { | 817 | { |
800 | WideString wstr = context_scim->impl->preedit_string; | 818 | WideString wstr = context_scim->impl->preedit_string; |
801 | 819 | ||
802 | _panel_client.prepare (context_scim->id); | 820 | _panel_client.prepare(context_scim->id); |
803 | context_scim->impl->si->reset (); | 821 | context_scim->impl->si->reset(); |
804 | _panel_client.send (); | 822 | _panel_client.send(); |
805 | 823 | ||
806 | if (context_scim->impl->need_commit_preedit) | 824 | if (context_scim->impl->need_commit_preedit) |
807 | { | 825 | { |
808 | if (wstr.length ()) | 826 | if (wstr.length()) |
809 | { | 827 | { |
810 | ecore_imf_context_commit_event_add (context_scim->ctx, utf8_wcstombs (wstr).c_str ()); | 828 | ecore_imf_context_commit_event_add(context_scim->ctx, utf8_wcstombs(wstr).c_str()); |
811 | ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); | 829 | ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); |
812 | } | 830 | } |
813 | _panel_client.prepare (context_scim->id); | 831 | _panel_client.prepare(context_scim->id); |
814 | _panel_client.send (); | 832 | _panel_client.send(); |
815 | } | 833 | } |
816 | } | 834 | } |
817 | } | 835 | } |
@@ -825,9 +843,9 @@ isf_imf_context_reset (Ecore_IMF_Context *ctx) | |||
825 | * Notify the Input Method Context that the widget to which its correspond has gained focus. | 843 | * Notify the Input Method Context that the widget to which its correspond has gained focus. |
826 | */ | 844 | */ |
827 | EAPI void | 845 | EAPI void |
828 | isf_imf_context_focus_in (Ecore_IMF_Context *ctx) | 846 | isf_imf_context_focus_in(Ecore_IMF_Context *ctx) |
829 | { | 847 | { |
830 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 848 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
831 | 849 | ||
832 | if (!context_scim) | 850 | if (!context_scim) |
833 | return; | 851 | return; |
@@ -839,12 +857,11 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) | |||
839 | if (_focused_ic == context_scim) | 857 | if (_focused_ic == context_scim) |
840 | { | 858 | { |
841 | SCIM_DEBUG_FRONTEND(1) << "It's already focused.\n"; | 859 | SCIM_DEBUG_FRONTEND(1) << "It's already focused.\n"; |
842 | //isf_imf_context_cursor_position_set (ctx, 0); | ||
843 | return; | 860 | return; |
844 | } | 861 | } |
845 | SCIM_DEBUG_FRONTEND(1) << "Focus out previous IC first: " << _focused_ic->id << "\n"; | 862 | SCIM_DEBUG_FRONTEND(1) << "Focus out previous IC first: " << _focused_ic->id << "\n"; |
846 | if (_focused_ic->ctx) | 863 | if (_focused_ic->ctx) |
847 | isf_imf_context_focus_out (_focused_ic->ctx); | 864 | isf_imf_context_focus_out(_focused_ic->ctx); |
848 | } | 865 | } |
849 | 866 | ||
850 | bool need_cap = false; | 867 | bool need_cap = false; |
@@ -854,28 +871,28 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) | |||
854 | if (context_scim && context_scim->impl) | 871 | if (context_scim && context_scim->impl) |
855 | { | 872 | { |
856 | _focused_ic = context_scim; | 873 | _focused_ic = context_scim; |
857 | _panel_client.prepare (context_scim->id); | 874 | _panel_client.prepare(context_scim->id); |
858 | 875 | ||
859 | // Handle the "Shared Input Method" mode. | 876 | // Handle the "Shared Input Method" mode. |
860 | if (_shared_input_method) | 877 | if (_shared_input_method) |
861 | { | 878 | { |
862 | SCIM_DEBUG_FRONTEND(2) << "shared input method.\n"; | 879 | SCIM_DEBUG_FRONTEND(2) << "shared input method.\n"; |
863 | IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); | 880 | IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); |
864 | if (!factory.null ()) | 881 | if (!factory.null()) |
865 | { | 882 | { |
866 | if (_default_instance.null () || _default_instance->get_factory_uuid () != factory->get_uuid ()) | 883 | if (_default_instance.null() || _default_instance->get_factory_uuid() != factory->get_uuid()) |
867 | { | 884 | { |
868 | _default_instance = factory->create_instance ("UTF-8", _default_instance.null () ? _instance_count++ : _default_instance->get_id ()); | 885 | _default_instance = factory->create_instance("UTF-8", _default_instance.null() ? _instance_count++ : _default_instance->get_id()); |
869 | attach_instance (_default_instance); | 886 | attach_instance(_default_instance); |
870 | SCIM_DEBUG_FRONTEND(2) << "create new default instance: " << _default_instance->get_id () << " " << _default_instance->get_factory_uuid () << "\n"; | 887 | SCIM_DEBUG_FRONTEND(2) << "create new default instance: " << _default_instance->get_id() << " " << _default_instance->get_factory_uuid() << "\n"; |
871 | } | 888 | } |
872 | 889 | ||
873 | context_scim->impl->shared_si = true; | 890 | context_scim->impl->shared_si = true; |
874 | context_scim->impl->si = _default_instance; | 891 | context_scim->impl->si = _default_instance; |
875 | 892 | ||
876 | context_scim->impl->is_on = _config->read (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); | 893 | context_scim->impl->is_on = _config->read(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), context_scim->impl->is_on); |
877 | context_scim->impl->preedit_string.clear (); | 894 | context_scim->impl->preedit_string.clear(); |
878 | context_scim->impl->preedit_attrlist.clear (); | 895 | context_scim->impl->preedit_attrlist.clear(); |
879 | context_scim->impl->preedit_caret = 0; | 896 | context_scim->impl->preedit_caret = 0; |
880 | context_scim->impl->preedit_started = false; | 897 | context_scim->impl->preedit_started = false; |
881 | need_cap = true; | 898 | need_cap = true; |
@@ -886,47 +903,50 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) | |||
886 | else if (context_scim->impl->shared_si) | 903 | else if (context_scim->impl->shared_si) |
887 | { | 904 | { |
888 | SCIM_DEBUG_FRONTEND(2) << "exit shared input method.\n"; | 905 | SCIM_DEBUG_FRONTEND(2) << "exit shared input method.\n"; |
889 | IMEngineFactoryPointer factory = _backend->get_default_factory (_language, "UTF-8"); | 906 | IMEngineFactoryPointer factory = _backend->get_default_factory(_language, "UTF-8"); |
890 | if (!factory.null ()) | 907 | if (!factory.null()) |
891 | { | 908 | { |
892 | context_scim->impl->si = factory->create_instance ("UTF-8", _instance_count++); | 909 | context_scim->impl->si = factory->create_instance("UTF-8", _instance_count++); |
893 | context_scim->impl->preedit_string.clear (); | 910 | context_scim->impl->preedit_string.clear(); |
894 | context_scim->impl->preedit_attrlist.clear (); | 911 | context_scim->impl->preedit_attrlist.clear(); |
895 | context_scim->impl->preedit_caret = 0; | 912 | context_scim->impl->preedit_caret = 0; |
896 | context_scim->impl->preedit_started = false; | 913 | context_scim->impl->preedit_started = false; |
897 | attach_instance (context_scim->impl->si); | 914 | attach_instance(context_scim->impl->si); |
898 | need_cap = true; | 915 | need_cap = true; |
899 | need_reg = true; | 916 | need_reg = true; |
900 | context_scim->impl->shared_si = false; | 917 | context_scim->impl->shared_si = false; |
901 | SCIM_DEBUG_FRONTEND(2) << "create new instance: " << context_scim->impl->si->get_id () << " " << context_scim->impl->si->get_factory_uuid () << "\n"; | 918 | SCIM_DEBUG_FRONTEND(2) << "create new instance: " << context_scim->impl->si->get_id() << " " << context_scim->impl->si->get_factory_uuid() << "\n"; |
902 | } | 919 | } |
903 | } | 920 | } |
904 | 921 | ||
905 | context_scim->impl->si->set_frontend_data (static_cast <void*> (context_scim)); | 922 | context_scim->impl->si->set_frontend_data(static_cast <void*>(context_scim)); |
906 | 923 | ||
907 | if (need_reg) _panel_client.register_input_context (context_scim->id, context_scim->impl->si->get_factory_uuid ()); | 924 | if (need_reg) _panel_client.register_input_context(context_scim->id, context_scim->impl->si->get_factory_uuid()); |
908 | if (need_cap) set_ic_capabilities (context_scim); | 925 | if (need_cap) set_ic_capabilities(context_scim); |
909 | if (need_reset) context_scim->impl->si->reset (); | 926 | if (need_reset) context_scim->impl->si->reset(); |
910 | 927 | ||
911 | panel_req_focus_in (context_scim); | 928 | panel_req_focus_in(context_scim); |
912 | panel_req_update_spot_location (context_scim); | 929 | panel_req_update_spot_location(context_scim); |
913 | panel_req_update_factory_info (context_scim); | 930 | panel_req_update_factory_info(context_scim); |
914 | 931 | ||
915 | if (context_scim->impl->is_on) | 932 | if (context_scim->impl->is_on) |
916 | { | 933 | { |
917 | _panel_client.turn_on (context_scim->id); | 934 | _panel_client.turn_on(context_scim->id); |
918 | _panel_client.hide_preedit_string (context_scim->id); | 935 | _panel_client.hide_preedit_string(context_scim->id); |
919 | _panel_client.hide_aux_string (context_scim->id); | 936 | _panel_client.hide_aux_string(context_scim->id); |
920 | _panel_client.hide_lookup_table (context_scim->id); | 937 | _panel_client.hide_lookup_table(context_scim->id); |
921 | context_scim->impl->si->focus_in (); | 938 | context_scim->impl->si->focus_in(); |
922 | } | 939 | } |
923 | else | 940 | else |
924 | { | 941 | { |
925 | _panel_client.turn_off (context_scim->id); | 942 | _panel_client.turn_off(context_scim->id); |
926 | } | 943 | } |
927 | 944 | ||
928 | _panel_client.send (); | 945 | _panel_client.send(); |
929 | } | 946 | } |
947 | |||
948 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
949 | ecore_imf_context_input_panel_show(ctx); | ||
930 | } | 950 | } |
931 | 951 | ||
932 | /** | 952 | /** |
@@ -938,9 +958,9 @@ isf_imf_context_focus_in (Ecore_IMF_Context *ctx) | |||
938 | * Notify the Input Method Context that the widget to which its correspond has lost focus. | 958 | * Notify the Input Method Context that the widget to which its correspond has lost focus. |
939 | */ | 959 | */ |
940 | EAPI void | 960 | EAPI void |
941 | isf_imf_context_focus_out (Ecore_IMF_Context *ctx) | 961 | isf_imf_context_focus_out(Ecore_IMF_Context *ctx) |
942 | { | 962 | { |
943 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 963 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
944 | 964 | ||
945 | if (!context_scim) return; | 965 | if (!context_scim) return; |
946 | 966 | ||
@@ -952,23 +972,26 @@ isf_imf_context_focus_out (Ecore_IMF_Context *ctx) | |||
952 | 972 | ||
953 | if (context_scim->impl->need_commit_preedit) | 973 | if (context_scim->impl->need_commit_preedit) |
954 | { | 974 | { |
955 | if (wstr.length ()) | 975 | if (wstr.length()) |
956 | { | 976 | { |
957 | ecore_imf_context_commit_event_add (context_scim->ctx, utf8_wcstombs (wstr).c_str ()); | 977 | ecore_imf_context_commit_event_add(context_scim->ctx, utf8_wcstombs(wstr).c_str()); |
958 | ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); | 978 | ecore_imf_context_event_callback_call(context_scim->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); |
959 | } | 979 | } |
960 | _panel_client.prepare (context_scim->id); | 980 | _panel_client.prepare(context_scim->id); |
961 | _panel_client.send (); | 981 | _panel_client.send(); |
962 | } | 982 | } |
963 | 983 | ||
964 | _panel_client.prepare (context_scim->id); | 984 | _panel_client.prepare(context_scim->id); |
965 | context_scim->impl->si->focus_out (); | 985 | context_scim->impl->si->focus_out(); |
966 | context_scim->impl->si->reset (); | 986 | context_scim->impl->si->reset(); |
967 | _panel_client.turn_off (context_scim->id); | 987 | _panel_client.turn_off(context_scim->id); |
968 | _panel_client.focus_out (context_scim->id); | 988 | _panel_client.focus_out(context_scim->id); |
969 | _panel_client.send (); | 989 | _panel_client.send(); |
970 | _focused_ic = 0; | 990 | _focused_ic = 0; |
971 | } | 991 | } |
992 | |||
993 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
994 | ecore_imf_context_input_panel_hide(ctx); | ||
972 | } | 995 | } |
973 | 996 | ||
974 | /** | 997 | /** |
@@ -984,11 +1007,11 @@ isf_imf_context_focus_out (Ecore_IMF_Context *ctx) | |||
984 | * Notify the Input Method Context that a change in the cursor location has been made. | 1007 | * Notify the Input Method Context that a change in the cursor location has been made. |
985 | */ | 1008 | */ |
986 | EAPI void | 1009 | EAPI void |
987 | isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int cw, int ch) | 1010 | isf_imf_context_cursor_location_set(Ecore_IMF_Context *ctx, int cx, int cy, int cw, int ch) |
988 | { | 1011 | { |
989 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1012 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
990 | 1013 | ||
991 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 1014 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
992 | Ecore_Evas *ee; | 1015 | Ecore_Evas *ee; |
993 | int canvas_x, canvas_y; | 1016 | int canvas_x, canvas_y; |
994 | 1017 | ||
@@ -1001,21 +1024,28 @@ isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int | |||
1001 | if (context_scim->impl->preedit_updating) | 1024 | if (context_scim->impl->preedit_updating) |
1002 | return; | 1025 | return; |
1003 | 1026 | ||
1004 | if (!context_scim->impl->client_canvas) | 1027 | if (context_scim->impl->client_canvas) |
1005 | return; | 1028 | { |
1006 | 1029 | ee = ecore_evas_ecore_evas_get(context_scim->impl->client_canvas); | |
1007 | ee = ecore_evas_ecore_evas_get(context_scim->impl->client_canvas); | 1030 | if (!ee) return; |
1008 | if (!ee) return; | ||
1009 | 1031 | ||
1010 | ecore_evas_geometry_get (ee, &canvas_x, &canvas_y, NULL, NULL); | 1032 | ecore_evas_geometry_get(ee, &canvas_x, &canvas_y, NULL, NULL); |
1033 | } | ||
1034 | else | ||
1035 | { | ||
1036 | if (context_scim->impl->client_window) | ||
1037 | window_to_screen_geometry_get(context_scim->impl->client_window, &canvas_x, &canvas_y); | ||
1038 | else | ||
1039 | return; | ||
1040 | } | ||
1011 | 1041 | ||
1012 | if (context_scim->impl->cursor_x != canvas_x + cx || context_scim->impl->cursor_y != canvas_y + cy + ch) | 1042 | if (context_scim->impl->cursor_x != canvas_x + cx || context_scim->impl->cursor_y != canvas_y + cy + ch) |
1013 | { | 1043 | { |
1014 | context_scim->impl->cursor_x = canvas_x + cx; | 1044 | context_scim->impl->cursor_x = canvas_x + cx; |
1015 | context_scim->impl->cursor_y = canvas_y + cy + ch; | 1045 | context_scim->impl->cursor_y = canvas_y + cy + ch; |
1016 | _panel_client.prepare (context_scim->id); | 1046 | _panel_client.prepare(context_scim->id); |
1017 | panel_req_update_spot_location (context_scim); | 1047 | panel_req_update_spot_location(context_scim); |
1018 | _panel_client.send (); | 1048 | _panel_client.send(); |
1019 | SCIM_DEBUG_FRONTEND(2) << "new cursor location = " << context_scim->impl->cursor_x << "," << context_scim->impl->cursor_y << "\n"; | 1049 | SCIM_DEBUG_FRONTEND(2) << "new cursor location = " << context_scim->impl->cursor_x << "," << context_scim->impl->cursor_y << "\n"; |
1020 | } | 1050 | } |
1021 | } | 1051 | } |
@@ -1033,11 +1063,11 @@ isf_imf_context_cursor_location_set (Ecore_IMF_Context *ctx, int cx, int cy, int | |||
1033 | * display feedback, such as displaying it in a child of the root window. | 1063 | * display feedback, such as displaying it in a child of the root window. |
1034 | */ | 1064 | */ |
1035 | EAPI void | 1065 | EAPI void |
1036 | isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit) | 1066 | isf_imf_context_use_preedit_set(Ecore_IMF_Context* ctx, Eina_Bool use_preedit) |
1037 | { | 1067 | { |
1038 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (use_preedit ? "true" : "false") << "...\n"; | 1068 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (use_preedit ? "true" : "false") << "...\n"; |
1039 | 1069 | ||
1040 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 1070 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
1041 | 1071 | ||
1042 | if (!_on_the_spot) return; | 1072 | if (!_on_the_spot) return; |
1043 | 1073 | ||
@@ -1047,36 +1077,36 @@ isf_imf_context_use_preedit_set (Ecore_IMF_Context* ctx, Eina_Bool use_preedit) | |||
1047 | context_scim->impl->use_preedit = use_preedit; | 1077 | context_scim->impl->use_preedit = use_preedit; |
1048 | if (context_scim == _focused_ic) | 1078 | if (context_scim == _focused_ic) |
1049 | { | 1079 | { |
1050 | _panel_client.prepare (context_scim->id); | 1080 | _panel_client.prepare(context_scim->id); |
1051 | 1081 | ||
1052 | if (old != use_preedit) | 1082 | if (old != use_preedit) |
1053 | set_ic_capabilities (context_scim); | 1083 | set_ic_capabilities(context_scim); |
1054 | 1084 | ||
1055 | if (context_scim->impl->preedit_string.length ()) | 1085 | if (context_scim->impl->preedit_string.length()) |
1056 | slot_show_preedit_string (context_scim->impl->si); | 1086 | slot_show_preedit_string(context_scim->impl->si); |
1057 | 1087 | ||
1058 | _panel_client.send (); | 1088 | _panel_client.send(); |
1059 | } | 1089 | } |
1060 | } | 1090 | } |
1061 | } | 1091 | } |
1062 | 1092 | ||
1063 | EAPI void | 1093 | EAPI void |
1064 | isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos) | 1094 | isf_imf_context_preedit_string_with_attributes_get(Ecore_IMF_Context *ctx, char** str, Eina_List **attrs, int *cursor_pos) |
1065 | { | 1095 | { |
1066 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1096 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1067 | 1097 | ||
1068 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 1098 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
1069 | 1099 | ||
1070 | if (context_scim && context_scim->impl && context_scim->impl->is_on) | 1100 | if (context_scim && context_scim->impl && context_scim->impl->is_on) |
1071 | { | 1101 | { |
1072 | String mbs = utf8_wcstombs (context_scim->impl->preedit_string); | 1102 | String mbs = utf8_wcstombs(context_scim->impl->preedit_string); |
1073 | 1103 | ||
1074 | if (str) | 1104 | if (str) |
1075 | { | 1105 | { |
1076 | if (mbs.length ()) | 1106 | if (mbs.length()) |
1077 | *str = strdup (mbs.c_str ()); | 1107 | *str = strdup(mbs.c_str()); |
1078 | else | 1108 | else |
1079 | *str = strdup (""); | 1109 | *str = strdup(""); |
1080 | } | 1110 | } |
1081 | 1111 | ||
1082 | if (cursor_pos) | 1112 | if (cursor_pos) |
@@ -1086,28 +1116,28 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1086 | 1116 | ||
1087 | if (attrs) | 1117 | if (attrs) |
1088 | { | 1118 | { |
1089 | if (mbs.length ()) | 1119 | if (mbs.length()) |
1090 | { | 1120 | { |
1091 | int start_index, end_index; | 1121 | int start_index, end_index; |
1092 | int wlen = context_scim->impl->preedit_string.length (); | 1122 | int wlen = context_scim->impl->preedit_string.length(); |
1093 | 1123 | ||
1094 | Ecore_IMF_Preedit_Attr *attr = NULL; | 1124 | Ecore_IMF_Preedit_Attr *attr = NULL; |
1095 | AttributeList::const_iterator i; | 1125 | AttributeList::const_iterator i; |
1096 | bool *attrs_flag = new bool [mbs.length ()]; | 1126 | bool *attrs_flag = new bool [mbs.length()]; |
1097 | memset (attrs_flag, 0, mbs.length () *sizeof (bool)); | 1127 | memset(attrs_flag, 0, mbs.length() *sizeof(bool)); |
1098 | 1128 | ||
1099 | for (i = context_scim->impl->preedit_attrlist.begin (); | 1129 | for (i = context_scim->impl->preedit_attrlist.begin(); |
1100 | i != context_scim->impl->preedit_attrlist.end (); ++i) | 1130 | i != context_scim->impl->preedit_attrlist.end(); ++i) |
1101 | { | 1131 | { |
1102 | start_index = i->get_start (); | 1132 | start_index = i->get_start(); |
1103 | end_index = i->get_end (); | 1133 | end_index = i->get_end(); |
1104 | 1134 | ||
1105 | if (end_index <= wlen && start_index < end_index && i->get_type () != SCIM_ATTR_DECORATE_NONE) | 1135 | if (end_index <= wlen && start_index < end_index && i->get_type() != SCIM_ATTR_DECORATE_NONE) |
1106 | { | 1136 | { |
1107 | start_index = utf8_offset_to_index (mbs.c_str (), i->get_start ()); | 1137 | start_index = utf8_offset_to_index(mbs.c_str(), i->get_start()); |
1108 | end_index = utf8_offset_to_index (mbs.c_str (), i->get_end ()); | 1138 | end_index = utf8_offset_to_index(mbs.c_str(), i->get_end()); |
1109 | 1139 | ||
1110 | if (i->get_type () == SCIM_ATTR_DECORATE) | 1140 | if (i->get_type() == SCIM_ATTR_DECORATE) |
1111 | { | 1141 | { |
1112 | attr = (Ecore_IMF_Preedit_Attr *)calloc(1, sizeof(Ecore_IMF_Preedit_Attr)); | 1142 | attr = (Ecore_IMF_Preedit_Attr *)calloc(1, sizeof(Ecore_IMF_Preedit_Attr)); |
1113 | if (attr == NULL) | 1143 | if (attr == NULL) |
@@ -1115,24 +1145,24 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1115 | attr->start_index = start_index; | 1145 | attr->start_index = start_index; |
1116 | attr->end_index = end_index; | 1146 | attr->end_index = end_index; |
1117 | 1147 | ||
1118 | if (i->get_value () == SCIM_ATTR_DECORATE_UNDERLINE) | 1148 | if (i->get_value() == SCIM_ATTR_DECORATE_UNDERLINE) |
1119 | { | 1149 | { |
1120 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB1; | 1150 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB1; |
1121 | *attrs = eina_list_append(*attrs, (void *)attr); | 1151 | *attrs = eina_list_append(*attrs, (void *)attr); |
1122 | } | 1152 | } |
1123 | else if (i->get_value () == SCIM_ATTR_DECORATE_REVERSE) | 1153 | else if (i->get_value() == SCIM_ATTR_DECORATE_REVERSE) |
1124 | { | 1154 | { |
1125 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB2; | 1155 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB2; |
1126 | *attrs = eina_list_append(*attrs, (void *)attr); | 1156 | *attrs = eina_list_append(*attrs, (void *)attr); |
1127 | } | 1157 | } |
1128 | else if (i->get_value () == SCIM_ATTR_DECORATE_HIGHLIGHT) | 1158 | else if (i->get_value() == SCIM_ATTR_DECORATE_HIGHLIGHT) |
1129 | { | 1159 | { |
1130 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB3; | 1160 | attr->preedit_type = ECORE_IMF_PREEDIT_TYPE_SUB3; |
1131 | *attrs = eina_list_append(*attrs, (void *)attr); | 1161 | *attrs = eina_list_append(*attrs, (void *)attr); |
1132 | } | 1162 | } |
1133 | else | 1163 | else |
1134 | { | 1164 | { |
1135 | free (attr); | 1165 | free(attr); |
1136 | } | 1166 | } |
1137 | 1167 | ||
1138 | switch(i->get_value()) | 1168 | switch(i->get_value()) |
@@ -1148,11 +1178,11 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1148 | break; | 1178 | break; |
1149 | } | 1179 | } |
1150 | } | 1180 | } |
1151 | else if (i->get_type () == SCIM_ATTR_FOREGROUND) | 1181 | else if (i->get_type() == SCIM_ATTR_FOREGROUND) |
1152 | { | 1182 | { |
1153 | SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_FOREGROUND\n"; | 1183 | SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_FOREGROUND\n"; |
1154 | } | 1184 | } |
1155 | else if (i->get_type () == SCIM_ATTR_BACKGROUND) | 1185 | else if (i->get_type() == SCIM_ATTR_BACKGROUND) |
1156 | { | 1186 | { |
1157 | SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_BACKGROUND\n"; | 1187 | SCIM_DEBUG_FRONTEND(4) << "SCIM_ATTR_BACKGROUND\n"; |
1158 | } | 1188 | } |
@@ -1160,13 +1190,13 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1160 | } | 1190 | } |
1161 | 1191 | ||
1162 | // Add underline for all characters which don't have attribute. | 1192 | // Add underline for all characters which don't have attribute. |
1163 | for (unsigned int pos = 0; pos < mbs.length (); ++pos) | 1193 | for (unsigned int pos = 0; pos < mbs.length(); ++pos) |
1164 | { | 1194 | { |
1165 | if (!attrs_flag [pos]) | 1195 | if (!attrs_flag [pos]) |
1166 | { | 1196 | { |
1167 | int begin_pos = pos; | 1197 | int begin_pos = pos; |
1168 | 1198 | ||
1169 | while (pos < mbs.length () && !attrs_flag [pos]) | 1199 | while (pos < mbs.length() && !attrs_flag[pos]) |
1170 | ++pos; | 1200 | ++pos; |
1171 | 1201 | ||
1172 | // use REVERSE style as default | 1202 | // use REVERSE style as default |
@@ -1187,7 +1217,7 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1187 | else | 1217 | else |
1188 | { | 1218 | { |
1189 | if (str) | 1219 | if (str) |
1190 | *str = strdup (""); | 1220 | *str = strdup(""); |
1191 | 1221 | ||
1192 | if (cursor_pos) | 1222 | if (cursor_pos) |
1193 | *cursor_pos = 0; | 1223 | *cursor_pos = 0; |
@@ -1208,22 +1238,22 @@ isf_imf_context_preedit_string_with_attributes_get (Ecore_IMF_Context *ctx, char | |||
1208 | * To get the preedit string of the input method. | 1238 | * To get the preedit string of the input method. |
1209 | */ | 1239 | */ |
1210 | EAPI void | 1240 | EAPI void |
1211 | isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cursor_pos) | 1241 | isf_imf_context_preedit_string_get(Ecore_IMF_Context *ctx, char** str, int *cursor_pos) |
1212 | { | 1242 | { |
1213 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1243 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1214 | 1244 | ||
1215 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 1245 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
1216 | 1246 | ||
1217 | if (context_scim && context_scim->impl && context_scim->impl->is_on) | 1247 | if (context_scim && context_scim->impl && context_scim->impl->is_on) |
1218 | { | 1248 | { |
1219 | String mbs = utf8_wcstombs (context_scim->impl->preedit_string); | 1249 | String mbs = utf8_wcstombs(context_scim->impl->preedit_string); |
1220 | 1250 | ||
1221 | if (str) | 1251 | if (str) |
1222 | { | 1252 | { |
1223 | if (mbs.length ()) | 1253 | if (mbs.length()) |
1224 | *str = strdup (mbs.c_str ()); | 1254 | *str = strdup(mbs.c_str()); |
1225 | else | 1255 | else |
1226 | *str = strdup (""); | 1256 | *str = strdup(""); |
1227 | } | 1257 | } |
1228 | 1258 | ||
1229 | if (cursor_pos) | 1259 | if (cursor_pos) |
@@ -1232,7 +1262,7 @@ isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cur | |||
1232 | else | 1262 | else |
1233 | { | 1263 | { |
1234 | if (str) | 1264 | if (str) |
1235 | *str = strdup (""); | 1265 | *str = strdup(""); |
1236 | 1266 | ||
1237 | if (cursor_pos) | 1267 | if (cursor_pos) |
1238 | *cursor_pos = 0; | 1268 | *cursor_pos = 0; |
@@ -1249,11 +1279,11 @@ isf_imf_context_preedit_string_get (Ecore_IMF_Context *ctx, char** str, int *cur | |||
1249 | * Notify the Input Method Context that a change in the cursor position has been made. | 1279 | * Notify the Input Method Context that a change in the cursor position has been made. |
1250 | */ | 1280 | */ |
1251 | EAPI void | 1281 | EAPI void |
1252 | isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) | 1282 | isf_imf_context_cursor_position_set(Ecore_IMF_Context *ctx, int cursor_pos) |
1253 | { | 1283 | { |
1254 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1284 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1255 | 1285 | ||
1256 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 1286 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
1257 | 1287 | ||
1258 | if (context_scim && context_scim->impl && context_scim == _focused_ic) | 1288 | if (context_scim && context_scim->impl && context_scim == _focused_ic) |
1259 | { | 1289 | { |
@@ -1280,11 +1310,11 @@ isf_imf_context_cursor_position_set (Ecore_IMF_Context *ctx, int cursor_pos) | |||
1280 | * is in Ecore_IMF.h. | 1310 | * is in Ecore_IMF.h. |
1281 | */ | 1311 | */ |
1282 | EAPI void | 1312 | EAPI void |
1283 | isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode) | 1313 | isf_imf_context_input_mode_set(Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode) |
1284 | { | 1314 | { |
1285 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1315 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1286 | 1316 | ||
1287 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 1317 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
1288 | if (context_scim && context_scim->impl) | 1318 | if (context_scim && context_scim->impl) |
1289 | context_scim->impl->input_mode = input_mode; | 1319 | context_scim->impl->input_mode = input_mode; |
1290 | } | 1320 | } |
@@ -1299,22 +1329,22 @@ isf_imf_context_input_mode_set (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode inp | |||
1299 | * Set whether the IM context should use the prediction. | 1329 | * Set whether the IM context should use the prediction. |
1300 | */ | 1330 | */ |
1301 | EAPI void | 1331 | EAPI void |
1302 | isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction) | 1332 | isf_imf_context_prediction_allow_set(Ecore_IMF_Context* ctx, Eina_Bool prediction) |
1303 | { | 1333 | { |
1304 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (prediction ? "true" : "false") << "...\n"; | 1334 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << (prediction ? "true" : "false") << "...\n"; |
1305 | 1335 | ||
1306 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 1336 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
1307 | 1337 | ||
1308 | if (context_scim && context_scim->impl && context_scim->impl->prediction_allow != prediction) | 1338 | if (context_scim && context_scim->impl && context_scim->impl->prediction_allow != prediction) |
1309 | context_scim->impl->prediction_allow = prediction; | 1339 | context_scim->impl->prediction_allow = prediction; |
1310 | } | 1340 | } |
1311 | 1341 | ||
1312 | EAPI void | 1342 | EAPI void |
1313 | isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type) | 1343 | isf_imf_context_autocapital_type_set(Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type) |
1314 | { | 1344 | { |
1315 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << autocapital_type << "...\n"; | 1345 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " = " << autocapital_type << "...\n"; |
1316 | 1346 | ||
1317 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get (ctx); | 1347 | EcoreIMFContextISF *context_scim = (EcoreIMFContextISF *)ecore_imf_context_data_get(ctx); |
1318 | 1348 | ||
1319 | if (context_scim && context_scim->impl && context_scim->impl->autocapital_type != autocapital_type) | 1349 | if (context_scim && context_scim->impl && context_scim->impl->autocapital_type != autocapital_type) |
1320 | context_scim->impl->autocapital_type = autocapital_type; | 1350 | context_scim->impl->autocapital_type = autocapital_type; |
@@ -1337,11 +1367,11 @@ isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapi | |||
1337 | */ | 1367 | */ |
1338 | 1368 | ||
1339 | EAPI Eina_Bool | 1369 | EAPI Eina_Bool |
1340 | isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) | 1370 | isf_imf_context_filter_event(Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event) |
1341 | { | 1371 | { |
1342 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1372 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1343 | 1373 | ||
1344 | EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get (ctx); | 1374 | EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); |
1345 | Eina_Bool ret = EINA_FALSE; | 1375 | Eina_Bool ret = EINA_FALSE; |
1346 | 1376 | ||
1347 | if (ic == NULL || ic->impl == NULL) | 1377 | if (ic == NULL || ic->impl == NULL) |
@@ -1352,7 +1382,7 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, | |||
1352 | if (type == ECORE_IMF_EVENT_KEY_DOWN) | 1382 | if (type == ECORE_IMF_EVENT_KEY_DOWN) |
1353 | { | 1383 | { |
1354 | Ecore_IMF_Event_Key_Down *ev = (Ecore_IMF_Event_Key_Down *)event; | 1384 | Ecore_IMF_Event_Key_Down *ev = (Ecore_IMF_Event_Key_Down *)event; |
1355 | scim_string_to_key (key, ev->key); | 1385 | scim_string_to_key(key, ev->key); |
1356 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; | 1386 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; |
1357 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; | 1387 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; |
1358 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALT) key.mask |=SCIM_KEY_AltMask; | 1388 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_ALT) key.mask |=SCIM_KEY_AltMask; |
@@ -1362,7 +1392,7 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, | |||
1362 | else if (type == ECORE_IMF_EVENT_KEY_UP) | 1392 | else if (type == ECORE_IMF_EVENT_KEY_UP) |
1363 | { | 1393 | { |
1364 | Ecore_IMF_Event_Key_Up *ev = (Ecore_IMF_Event_Key_Up *)event; | 1394 | Ecore_IMF_Event_Key_Up *ev = (Ecore_IMF_Event_Key_Up *)event; |
1365 | scim_string_to_key (key, ev->key); | 1395 | scim_string_to_key(key, ev->key); |
1366 | key.mask = SCIM_KEY_ReleaseMask; | 1396 | key.mask = SCIM_KEY_ReleaseMask; |
1367 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; | 1397 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_SHIFT) key.mask |=SCIM_KEY_ShiftMask; |
1368 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; | 1398 | if (ev->modifiers & ECORE_IMF_KEYBOARD_MODIFIER_CTRL) key.mask |=SCIM_KEY_ControlMask; |
@@ -1377,264 +1407,290 @@ isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, | |||
1377 | 1407 | ||
1378 | key.mask &= _valid_key_mask; | 1408 | key.mask &= _valid_key_mask; |
1379 | 1409 | ||
1380 | _panel_client.prepare (ic->id); | 1410 | _panel_client.prepare(ic->id); |
1381 | 1411 | ||
1382 | ret = EINA_TRUE; | 1412 | ret = EINA_TRUE; |
1383 | if (!filter_hotkeys (ic, key)) | 1413 | if (!filter_hotkeys(ic, key)) |
1384 | { | 1414 | { |
1385 | if (!_focused_ic || !_focused_ic->impl->is_on || | 1415 | if (!_focused_ic || !_focused_ic->impl->is_on || |
1386 | !_focused_ic->impl->si->process_key_event (key)) | 1416 | !_focused_ic->impl->si->process_key_event(key)) |
1387 | ret = EINA_FALSE; | 1417 | ret = EINA_FALSE; |
1388 | } | 1418 | } |
1389 | 1419 | ||
1390 | _panel_client.send (); | 1420 | _panel_client.send(); |
1391 | 1421 | ||
1392 | return ret; | 1422 | return ret; |
1393 | } | 1423 | } |
1394 | 1424 | ||
1425 | EAPI void | ||
1426 | isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx) | ||
1427 | { | ||
1428 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | ||
1429 | |||
1430 | EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); | ||
1431 | if (ic == NULL || ic->impl == NULL) | ||
1432 | return; | ||
1433 | |||
1434 | ecore_x_e_virtual_keyboard_state_set | ||
1435 | (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON); | ||
1436 | } | ||
1437 | |||
1438 | EAPI void | ||
1439 | isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx) | ||
1440 | { | ||
1441 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | ||
1442 | |||
1443 | EcoreIMFContextISF *ic = (EcoreIMFContextISF*)ecore_imf_context_data_get(ctx); | ||
1444 | if (ic == NULL || ic->impl == NULL) | ||
1445 | return; | ||
1446 | |||
1447 | ecore_x_e_virtual_keyboard_state_set | ||
1448 | (ic->impl->client_window, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF); | ||
1449 | } | ||
1450 | |||
1395 | /* Panel Slot functions */ | 1451 | /* Panel Slot functions */ |
1396 | static void | 1452 | static void |
1397 | panel_slot_reload_config (int context __UNUSED__) | 1453 | panel_slot_reload_config(int context __UNUSED__) |
1398 | { | 1454 | { |
1399 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1455 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1400 | _config->reload (); | 1456 | _config->reload(); |
1401 | } | 1457 | } |
1402 | 1458 | ||
1403 | static void | 1459 | static void |
1404 | panel_slot_exit (int /* context */) | 1460 | panel_slot_exit(int /* context */) |
1405 | { | 1461 | { |
1406 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1462 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1407 | 1463 | ||
1408 | finalize (); | 1464 | finalize(); |
1409 | } | 1465 | } |
1410 | 1466 | ||
1411 | static void | 1467 | static void |
1412 | panel_slot_update_lookup_table_page_size (int context, int page_size) | 1468 | panel_slot_update_lookup_table_page_size(int context, int page_size) |
1413 | { | 1469 | { |
1414 | EcoreIMFContextISF *ic = find_ic (context); | 1470 | EcoreIMFContextISF *ic = find_ic(context); |
1415 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " page_size=" << page_size << " ic=" << ic << "\n"; | 1471 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " page_size=" << page_size << " ic=" << ic << "\n"; |
1416 | if (ic && ic->impl) | 1472 | if (ic && ic->impl) |
1417 | { | 1473 | { |
1418 | _panel_client.prepare (ic->id); | 1474 | _panel_client.prepare(ic->id); |
1419 | ic->impl->si->update_lookup_table_page_size (page_size); | 1475 | ic->impl->si->update_lookup_table_page_size(page_size); |
1420 | _panel_client.send (); | 1476 | _panel_client.send(); |
1421 | } | 1477 | } |
1422 | } | 1478 | } |
1423 | 1479 | ||
1424 | static void | 1480 | static void |
1425 | panel_slot_lookup_table_page_up (int context) | 1481 | panel_slot_lookup_table_page_up(int context) |
1426 | { | 1482 | { |
1427 | EcoreIMFContextISF *ic = find_ic (context); | 1483 | EcoreIMFContextISF *ic = find_ic(context); |
1428 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; | 1484 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; |
1429 | if (ic && ic->impl) | 1485 | if (ic && ic->impl) |
1430 | { | 1486 | { |
1431 | _panel_client.prepare (ic->id); | 1487 | _panel_client.prepare(ic->id); |
1432 | ic->impl->si->lookup_table_page_up (); | 1488 | ic->impl->si->lookup_table_page_up(); |
1433 | _panel_client.send (); | 1489 | _panel_client.send(); |
1434 | } | 1490 | } |
1435 | } | 1491 | } |
1436 | 1492 | ||
1437 | static void | 1493 | static void |
1438 | panel_slot_lookup_table_page_down (int context) | 1494 | panel_slot_lookup_table_page_down(int context) |
1439 | { | 1495 | { |
1440 | EcoreIMFContextISF *ic = find_ic (context); | 1496 | EcoreIMFContextISF *ic = find_ic(context); |
1441 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; | 1497 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; |
1442 | if (ic && ic->impl) | 1498 | if (ic && ic->impl) |
1443 | { | 1499 | { |
1444 | _panel_client.prepare (ic->id); | 1500 | _panel_client.prepare(ic->id); |
1445 | ic->impl->si->lookup_table_page_down (); | 1501 | ic->impl->si->lookup_table_page_down(); |
1446 | _panel_client.send (); | 1502 | _panel_client.send(); |
1447 | } | 1503 | } |
1448 | } | 1504 | } |
1449 | 1505 | ||
1450 | static void | 1506 | static void |
1451 | panel_slot_trigger_property (int context, const String &property) | 1507 | panel_slot_trigger_property(int context, const String &property) |
1452 | { | 1508 | { |
1453 | EcoreIMFContextISF *ic = find_ic (context); | 1509 | EcoreIMFContextISF *ic = find_ic(context); |
1454 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " property=" << property << " ic=" << ic << "\n"; | 1510 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " property=" << property << " ic=" << ic << "\n"; |
1455 | if (ic && ic->impl) | 1511 | if (ic && ic->impl) |
1456 | { | 1512 | { |
1457 | _panel_client.prepare (ic->id); | 1513 | _panel_client.prepare(ic->id); |
1458 | ic->impl->si->trigger_property (property); | 1514 | ic->impl->si->trigger_property(property); |
1459 | _panel_client.send (); | 1515 | _panel_client.send(); |
1460 | } | 1516 | } |
1461 | } | 1517 | } |
1462 | 1518 | ||
1463 | static void | 1519 | static void |
1464 | panel_slot_process_helper_event (int context, const String &target_uuid, const String &helper_uuid, const Transaction &trans) | 1520 | panel_slot_process_helper_event(int context, const String &target_uuid, const String &helper_uuid, const Transaction &trans) |
1465 | { | 1521 | { |
1466 | EcoreIMFContextISF *ic = find_ic (context); | 1522 | EcoreIMFContextISF *ic = find_ic(context); |
1467 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " target=" << target_uuid | 1523 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " target=" << target_uuid |
1468 | << " helper=" << helper_uuid << " ic=" << ic << " ic->impl=" << (ic ? ic->impl : 0) << " ic-uuid=" | 1524 | << " helper=" << helper_uuid << " ic=" << ic << " ic->impl=" << (ic ? ic->impl : 0) << " ic-uuid=" |
1469 | << ((ic && ic->impl) ? ic->impl->si->get_factory_uuid () : "" ) << "\n"; | 1525 | << ((ic && ic->impl) ? ic->impl->si->get_factory_uuid() : "" ) << "\n"; |
1470 | if (ic && ic->impl && ic->impl->si->get_factory_uuid () == target_uuid) | 1526 | if (ic && ic->impl && ic->impl->si->get_factory_uuid() == target_uuid) |
1471 | { | 1527 | { |
1472 | _panel_client.prepare (ic->id); | 1528 | _panel_client.prepare(ic->id); |
1473 | SCIM_DEBUG_FRONTEND(2) << "call process_helper_event\n"; | 1529 | SCIM_DEBUG_FRONTEND(2) << "call process_helper_event\n"; |
1474 | ic->impl->si->process_helper_event (helper_uuid, trans); | 1530 | ic->impl->si->process_helper_event(helper_uuid, trans); |
1475 | _panel_client.send (); | 1531 | _panel_client.send(); |
1476 | } | 1532 | } |
1477 | } | 1533 | } |
1478 | 1534 | ||
1479 | static void | 1535 | static void |
1480 | panel_slot_move_preedit_caret (int context, int caret_pos) | 1536 | panel_slot_move_preedit_caret(int context, int caret_pos) |
1481 | { | 1537 | { |
1482 | EcoreIMFContextISF *ic = find_ic (context); | 1538 | EcoreIMFContextISF *ic = find_ic(context); |
1483 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " caret=" << caret_pos << " ic=" << ic << "\n"; | 1539 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " caret=" << caret_pos << " ic=" << ic << "\n"; |
1484 | if (ic && ic->impl) | 1540 | if (ic && ic->impl) |
1485 | { | 1541 | { |
1486 | _panel_client.prepare (ic->id); | 1542 | _panel_client.prepare(ic->id); |
1487 | ic->impl->si->move_preedit_caret (caret_pos); | 1543 | ic->impl->si->move_preedit_caret(caret_pos); |
1488 | _panel_client.send (); | 1544 | _panel_client.send(); |
1489 | } | 1545 | } |
1490 | } | 1546 | } |
1491 | 1547 | ||
1492 | static void | 1548 | static void |
1493 | panel_slot_select_candidate (int context, int cand_index) | 1549 | panel_slot_select_candidate(int context, int cand_index) |
1494 | { | 1550 | { |
1495 | EcoreIMFContextISF *ic = find_ic (context); | 1551 | EcoreIMFContextISF *ic = find_ic(context); |
1496 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " candidate=" << cand_index << " ic=" << ic << "\n"; | 1552 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " candidate=" << cand_index << " ic=" << ic << "\n"; |
1497 | if (ic && ic->impl) | 1553 | if (ic && ic->impl) |
1498 | { | 1554 | { |
1499 | _panel_client.prepare (ic->id); | 1555 | _panel_client.prepare(ic->id); |
1500 | ic->impl->si->select_candidate (cand_index); | 1556 | ic->impl->si->select_candidate(cand_index); |
1501 | _panel_client.send (); | 1557 | _panel_client.send(); |
1502 | } | 1558 | } |
1503 | } | 1559 | } |
1504 | 1560 | ||
1505 | static void | 1561 | static void |
1506 | panel_slot_process_key_event (int context, const KeyEvent &key) | 1562 | panel_slot_process_key_event(int context, const KeyEvent &key) |
1507 | { | 1563 | { |
1508 | EcoreIMFContextISF *ic = find_ic (context); | 1564 | EcoreIMFContextISF *ic = find_ic(context); |
1509 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string () << " ic=" << ic << "\n"; | 1565 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string() << " ic=" << ic << "\n"; |
1510 | 1566 | ||
1511 | if (ic && ic->impl && ic->impl->client_canvas) | 1567 | if (key.is_key_press()) |
1512 | feed_key_event(ic->impl->client_canvas, key.get_key_string().c_str(), EINA_FALSE); | 1568 | ecore_x_test_fake_key_press(key.get_key_string().c_str()); |
1513 | } | 1569 | } |
1514 | 1570 | ||
1515 | static void | 1571 | static void |
1516 | panel_slot_commit_string (int context, const WideString &wstr) | 1572 | panel_slot_commit_string(int context, const WideString &wstr) |
1517 | { | 1573 | { |
1518 | EcoreIMFContextISF *ic = find_ic (context); | 1574 | EcoreIMFContextISF *ic = find_ic(context); |
1519 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " str=" << utf8_wcstombs (wstr) << " ic=" << ic << "\n"; | 1575 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " str=" << utf8_wcstombs(wstr) << " ic=" << ic << "\n"; |
1520 | 1576 | ||
1521 | if (ic && ic->impl) | 1577 | if (ic && ic->impl) |
1522 | { | 1578 | { |
1523 | if (_focused_ic != ic) | 1579 | if (_focused_ic != ic) |
1524 | return; | 1580 | return; |
1525 | 1581 | ||
1526 | ecore_imf_context_commit_event_add (ic->ctx, utf8_wcstombs (wstr).c_str ()); | 1582 | ecore_imf_context_commit_event_add(ic->ctx, utf8_wcstombs(wstr).c_str()); |
1527 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); | 1583 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(wstr).c_str()); |
1528 | } | 1584 | } |
1529 | } | 1585 | } |
1530 | 1586 | ||
1531 | static void | 1587 | static void |
1532 | panel_slot_forward_key_event (int context, const KeyEvent &key) | 1588 | panel_slot_forward_key_event(int context, const KeyEvent &key) |
1533 | { | 1589 | { |
1534 | EcoreIMFContextISF *ic = find_ic (context); | 1590 | EcoreIMFContextISF *ic = find_ic(context); |
1535 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string () << " ic=" << ic << "\n"; | 1591 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string() << " ic=" << ic << "\n"; |
1536 | 1592 | ||
1537 | if (ic && ic->impl && ic->impl->client_canvas) | 1593 | if (ic && ic->impl && ic->impl->client_canvas) |
1538 | feed_key_event (ic->impl->client_canvas, key.get_key_string ().c_str (), EINA_TRUE); | 1594 | feed_key_event(ic->impl->client_canvas, key.get_key_string().c_str(), EINA_TRUE); |
1539 | } | 1595 | } |
1540 | 1596 | ||
1541 | static void | 1597 | static void |
1542 | panel_slot_request_help (int context) | 1598 | panel_slot_request_help(int context) |
1543 | { | 1599 | { |
1544 | EcoreIMFContextISF *ic = find_ic (context); | 1600 | EcoreIMFContextISF *ic = find_ic(context); |
1545 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; | 1601 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; |
1546 | 1602 | ||
1547 | if (ic && ic->impl) | 1603 | if (ic && ic->impl) |
1548 | { | 1604 | { |
1549 | _panel_client.prepare (ic->id); | 1605 | _panel_client.prepare(ic->id); |
1550 | panel_req_show_help (ic); | 1606 | panel_req_show_help(ic); |
1551 | _panel_client.send (); | 1607 | _panel_client.send(); |
1552 | } | 1608 | } |
1553 | } | 1609 | } |
1554 | 1610 | ||
1555 | static void | 1611 | static void |
1556 | panel_slot_request_factory_menu (int context) | 1612 | panel_slot_request_factory_menu(int context) |
1557 | { | 1613 | { |
1558 | EcoreIMFContextISF *ic = find_ic (context); | 1614 | EcoreIMFContextISF *ic = find_ic(context); |
1559 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; | 1615 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " ic=" << ic << "\n"; |
1560 | 1616 | ||
1561 | if (ic && ic->impl) | 1617 | if (ic && ic->impl) |
1562 | { | 1618 | { |
1563 | _panel_client.prepare (ic->id); | 1619 | _panel_client.prepare(ic->id); |
1564 | panel_req_show_factory_menu (ic); | 1620 | panel_req_show_factory_menu(ic); |
1565 | _panel_client.send (); | 1621 | _panel_client.send(); |
1566 | } | 1622 | } |
1567 | } | 1623 | } |
1568 | 1624 | ||
1569 | static void | 1625 | static void |
1570 | panel_slot_change_factory (int context, const String &uuid) | 1626 | panel_slot_change_factory(int context, const String &uuid) |
1571 | { | 1627 | { |
1572 | EcoreIMFContextISF *ic = find_ic (context); | 1628 | EcoreIMFContextISF *ic = find_ic(context); |
1573 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " factory=" << uuid << " ic=" << ic << "\n"; | 1629 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " factory=" << uuid << " ic=" << ic << "\n"; |
1574 | 1630 | ||
1575 | if (ic && ic->impl) | 1631 | if (ic && ic->impl) |
1576 | { | 1632 | { |
1577 | ic->impl->si->reset (); | 1633 | ic->impl->si->reset(); |
1578 | _panel_client.prepare (ic->id); | 1634 | _panel_client.prepare(ic->id); |
1579 | open_specific_factory (ic, uuid); | 1635 | open_specific_factory(ic, uuid); |
1580 | _panel_client.send (); | 1636 | _panel_client.send(); |
1581 | } | 1637 | } |
1582 | } | 1638 | } |
1583 | 1639 | ||
1584 | /* Panel Requestion functions. */ | 1640 | /* Panel Requestion functions. */ |
1585 | static void | 1641 | static void |
1586 | panel_req_show_help (EcoreIMFContextISF *ic) | 1642 | panel_req_show_help(EcoreIMFContextISF *ic) |
1587 | { | 1643 | { |
1588 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1644 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1589 | 1645 | ||
1590 | String help; | 1646 | String help; |
1591 | 1647 | ||
1592 | help = String ("Smart Common Input Method platform ") + | 1648 | help = String("Smart Common Input Method platform ") + |
1593 | //String (SCIM_VERSION) + | 1649 | //String(SCIM_VERSION) + |
1594 | String ("\n(C) 2002-2005 James Su <suzhe@tsinghua.org.cn>\n\n"); | 1650 | String("\n(C) 2002-2005 James Su <suzhe@tsinghua.org.cn>\n\n"); |
1595 | 1651 | ||
1596 | if (ic && ic->impl) | 1652 | if (ic && ic->impl) |
1597 | { | 1653 | { |
1598 | IMEngineFactoryPointer sf = _backend->get_factory (ic->impl->si->get_factory_uuid ()); | 1654 | IMEngineFactoryPointer sf = _backend->get_factory(ic->impl->si->get_factory_uuid()); |
1599 | if (sf) | 1655 | if (sf) |
1600 | { | 1656 | { |
1601 | help += utf8_wcstombs (sf->get_name ()); | 1657 | help += utf8_wcstombs(sf->get_name()); |
1602 | help += String (":\n\n"); | 1658 | help += String(":\n\n"); |
1603 | 1659 | ||
1604 | help += utf8_wcstombs (sf->get_help ()); | 1660 | help += utf8_wcstombs(sf->get_help()); |
1605 | help += String ("\n\n"); | 1661 | help += String("\n\n"); |
1606 | 1662 | ||
1607 | help += utf8_wcstombs (sf->get_credits ()); | 1663 | help += utf8_wcstombs(sf->get_credits()); |
1608 | } | 1664 | } |
1609 | _panel_client.show_help (ic->id, help); | 1665 | _panel_client.show_help(ic->id, help); |
1610 | } | 1666 | } |
1611 | } | 1667 | } |
1612 | 1668 | ||
1613 | static void | 1669 | static void |
1614 | panel_req_show_factory_menu (EcoreIMFContextISF *ic) | 1670 | panel_req_show_factory_menu(EcoreIMFContextISF *ic) |
1615 | { | 1671 | { |
1616 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1672 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1617 | 1673 | ||
1618 | std::vector<IMEngineFactoryPointer> factories; | 1674 | std::vector<IMEngineFactoryPointer> factories; |
1619 | std::vector <PanelFactoryInfo> menu; | 1675 | std::vector <PanelFactoryInfo> menu; |
1620 | 1676 | ||
1621 | _backend->get_factories_for_encoding (factories, "UTF-8"); | 1677 | _backend->get_factories_for_encoding(factories, "UTF-8"); |
1622 | 1678 | ||
1623 | for (size_t i = 0; i < factories.size (); ++ i) | 1679 | for (size_t i = 0; i < factories.size(); ++ i) |
1624 | { | 1680 | { |
1625 | menu.push_back (PanelFactoryInfo ( | 1681 | menu.push_back(PanelFactoryInfo( |
1626 | factories [i]->get_uuid (), | 1682 | factories [i]->get_uuid(), |
1627 | utf8_wcstombs (factories [i]->get_name ()), | 1683 | utf8_wcstombs(factories [i]->get_name()), |
1628 | factories [i]->get_language (), | 1684 | factories [i]->get_language(), |
1629 | factories [i]->get_icon_file ())); | 1685 | factories [i]->get_icon_file())); |
1630 | } | 1686 | } |
1631 | 1687 | ||
1632 | if (menu.size ()) | 1688 | if (menu.size()) |
1633 | _panel_client.show_factory_menu (ic->id, menu); | 1689 | _panel_client.show_factory_menu(ic->id, menu); |
1634 | } | 1690 | } |
1635 | 1691 | ||
1636 | static void | 1692 | static void |
1637 | panel_req_update_factory_info (EcoreIMFContextISF *ic) | 1693 | panel_req_update_factory_info(EcoreIMFContextISF *ic) |
1638 | { | 1694 | { |
1639 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1695 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1640 | 1696 | ||
@@ -1643,160 +1699,160 @@ panel_req_update_factory_info (EcoreIMFContextISF *ic) | |||
1643 | PanelFactoryInfo info; | 1699 | PanelFactoryInfo info; |
1644 | if (ic->impl->is_on) | 1700 | if (ic->impl->is_on) |
1645 | { | 1701 | { |
1646 | IMEngineFactoryPointer sf = _backend->get_factory (ic->impl->si->get_factory_uuid ()); | 1702 | IMEngineFactoryPointer sf = _backend->get_factory(ic->impl->si->get_factory_uuid()); |
1647 | if (sf) | 1703 | if (sf) |
1648 | info = PanelFactoryInfo (sf->get_uuid (), utf8_wcstombs (sf->get_name ()), sf->get_language (), sf->get_icon_file ()); | 1704 | info = PanelFactoryInfo(sf->get_uuid(), utf8_wcstombs(sf->get_name()), sf->get_language(), sf->get_icon_file()); |
1649 | } | 1705 | } |
1650 | else | 1706 | else |
1651 | { | 1707 | { |
1652 | info = PanelFactoryInfo (String (""), String ("English/Keyboard"), String ("C"), ""); | 1708 | info = PanelFactoryInfo(String(""), String("English/Keyboard"), String("C"), ""); |
1653 | } | 1709 | } |
1654 | _panel_client.update_factory_info (ic->id, info); | 1710 | _panel_client.update_factory_info(ic->id, info); |
1655 | } | 1711 | } |
1656 | } | 1712 | } |
1657 | 1713 | ||
1658 | static void | 1714 | static void |
1659 | panel_req_focus_in (EcoreIMFContextISF *ic) | 1715 | panel_req_focus_in(EcoreIMFContextISF *ic) |
1660 | { | 1716 | { |
1661 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1717 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1662 | 1718 | ||
1663 | _panel_client.focus_in (ic->id, ic->impl->si->get_factory_uuid ()); | 1719 | _panel_client.focus_in(ic->id, ic->impl->si->get_factory_uuid()); |
1664 | } | 1720 | } |
1665 | 1721 | ||
1666 | static void | 1722 | static void |
1667 | panel_req_update_spot_location (EcoreIMFContextISF *ic) | 1723 | panel_req_update_spot_location(EcoreIMFContextISF *ic) |
1668 | { | 1724 | { |
1669 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1725 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1670 | 1726 | ||
1671 | _panel_client.update_spot_location (ic->id, ic->impl->cursor_x, ic->impl->cursor_y); | 1727 | _panel_client.update_spot_location(ic->id, ic->impl->cursor_x, ic->impl->cursor_y); |
1672 | } | 1728 | } |
1673 | 1729 | ||
1674 | static bool | 1730 | static bool |
1675 | filter_hotkeys (EcoreIMFContextISF *ic, const KeyEvent &key) | 1731 | filter_hotkeys(EcoreIMFContextISF *ic, const KeyEvent &key) |
1676 | { | 1732 | { |
1677 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1733 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1678 | 1734 | ||
1679 | bool ret = false; | 1735 | bool ret = false; |
1680 | 1736 | ||
1681 | _frontend_hotkey_matcher.push_key_event (key); | 1737 | _frontend_hotkey_matcher.push_key_event(key); |
1682 | _imengine_hotkey_matcher.push_key_event (key); | 1738 | _imengine_hotkey_matcher.push_key_event(key); |
1683 | 1739 | ||
1684 | FrontEndHotkeyAction hotkey_action = _frontend_hotkey_matcher.get_match_result (); | 1740 | FrontEndHotkeyAction hotkey_action = _frontend_hotkey_matcher.get_match_result(); |
1685 | 1741 | ||
1686 | if (hotkey_action == SCIM_FRONTEND_HOTKEY_TRIGGER) | 1742 | if (hotkey_action == SCIM_FRONTEND_HOTKEY_TRIGGER) |
1687 | { | 1743 | { |
1688 | if (!ic->impl->is_on) | 1744 | if (!ic->impl->is_on) |
1689 | turn_on_ic (ic); | 1745 | turn_on_ic(ic); |
1690 | else | 1746 | else |
1691 | turn_off_ic (ic); | 1747 | turn_off_ic(ic); |
1692 | ret = true; | 1748 | ret = true; |
1693 | } | 1749 | } |
1694 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_ON) | 1750 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_ON) |
1695 | { | 1751 | { |
1696 | if (!ic->impl->is_on) | 1752 | if (!ic->impl->is_on) |
1697 | turn_on_ic (ic); | 1753 | turn_on_ic(ic); |
1698 | ret = true; | 1754 | ret = true; |
1699 | } | 1755 | } |
1700 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_OFF) | 1756 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_OFF) |
1701 | { | 1757 | { |
1702 | if (ic->impl->is_on) | 1758 | if (ic->impl->is_on) |
1703 | turn_off_ic (ic); | 1759 | turn_off_ic(ic); |
1704 | ret = true; | 1760 | ret = true; |
1705 | } | 1761 | } |
1706 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_NEXT_FACTORY) | 1762 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_NEXT_FACTORY) |
1707 | { | 1763 | { |
1708 | open_next_factory (ic); | 1764 | open_next_factory(ic); |
1709 | ret = true; | 1765 | ret = true; |
1710 | } | 1766 | } |
1711 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_PREVIOUS_FACTORY) | 1767 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_PREVIOUS_FACTORY) |
1712 | { | 1768 | { |
1713 | open_previous_factory (ic); | 1769 | open_previous_factory(ic); |
1714 | ret = true; | 1770 | ret = true; |
1715 | } | 1771 | } |
1716 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_SHOW_FACTORY_MENU) | 1772 | else if (hotkey_action == SCIM_FRONTEND_HOTKEY_SHOW_FACTORY_MENU) |
1717 | { | 1773 | { |
1718 | panel_req_show_factory_menu (ic); | 1774 | panel_req_show_factory_menu(ic); |
1719 | ret = true; | 1775 | ret = true; |
1720 | } | 1776 | } |
1721 | else if (_imengine_hotkey_matcher.is_matched ()) | 1777 | else if (_imengine_hotkey_matcher.is_matched()) |
1722 | { | 1778 | { |
1723 | String sfid = _imengine_hotkey_matcher.get_match_result (); | 1779 | String sfid = _imengine_hotkey_matcher.get_match_result(); |
1724 | open_specific_factory (ic, sfid); | 1780 | open_specific_factory(ic, sfid); |
1725 | ret = true; | 1781 | ret = true; |
1726 | } | 1782 | } |
1727 | return ret; | 1783 | return ret; |
1728 | } | 1784 | } |
1729 | 1785 | ||
1730 | static bool | 1786 | static bool |
1731 | panel_initialize (void) | 1787 | panel_initialize(void) |
1732 | { | 1788 | { |
1733 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1789 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1734 | 1790 | ||
1735 | String display_name; | 1791 | String display_name; |
1736 | { | 1792 | { |
1737 | const char *p = getenv ("DISPLAY"); | 1793 | const char *p = getenv("DISPLAY"); |
1738 | if (p) display_name = String (p); | 1794 | if (p) display_name = String(p); |
1739 | } | 1795 | } |
1740 | 1796 | ||
1741 | if (_panel_client.open_connection (_config->get_name (), display_name) >= 0) | 1797 | if (_panel_client.open_connection(_config->get_name(), display_name) >= 0) |
1742 | { | 1798 | { |
1743 | int fd = _panel_client.get_connection_number (); | 1799 | int fd = _panel_client.get_connection_number(); |
1744 | 1800 | ||
1745 | _panel_iochannel_read_handler = ecore_main_fd_handler_add (fd, ECORE_FD_READ, panel_iochannel_handler, NULL, NULL, NULL); | 1801 | _panel_iochannel_read_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, panel_iochannel_handler, NULL, NULL, NULL); |
1746 | 1802 | ||
1747 | SCIM_DEBUG_FRONTEND(2) << " Panel FD= " << fd << "\n"; | 1803 | SCIM_DEBUG_FRONTEND(2) << " Panel FD= " << fd << "\n"; |
1748 | 1804 | ||
1749 | return true; | 1805 | return true; |
1750 | } | 1806 | } |
1751 | std::cerr << "panel_initialize () failed!!!\n"; | 1807 | std::cerr << "panel_initialize() failed!!!\n"; |
1752 | return false; | 1808 | return false; |
1753 | } | 1809 | } |
1754 | 1810 | ||
1755 | static void | 1811 | static void |
1756 | panel_finalize (void) | 1812 | panel_finalize(void) |
1757 | { | 1813 | { |
1758 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1814 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1759 | 1815 | ||
1760 | _panel_client.close_connection (); | 1816 | _panel_client.close_connection(); |
1761 | 1817 | ||
1762 | if (_panel_iochannel_read_handler) | 1818 | if (_panel_iochannel_read_handler) |
1763 | { | 1819 | { |
1764 | ecore_main_fd_handler_del (_panel_iochannel_read_handler); | 1820 | ecore_main_fd_handler_del(_panel_iochannel_read_handler); |
1765 | _panel_iochannel_read_handler = 0; | 1821 | _panel_iochannel_read_handler = 0; |
1766 | } | 1822 | } |
1767 | 1823 | ||
1768 | if (_panel_iochannel_err_handler) | 1824 | if (_panel_iochannel_err_handler) |
1769 | { | 1825 | { |
1770 | ecore_main_fd_handler_del (_panel_iochannel_err_handler); | 1826 | ecore_main_fd_handler_del(_panel_iochannel_err_handler); |
1771 | _panel_iochannel_err_handler = 0; | 1827 | _panel_iochannel_err_handler = 0; |
1772 | } | 1828 | } |
1773 | } | 1829 | } |
1774 | 1830 | ||
1775 | static Eina_Bool | 1831 | static Eina_Bool |
1776 | panel_iochannel_handler (void *data __UNUSED__, Ecore_Fd_Handler *fd_handler) | 1832 | panel_iochannel_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler) |
1777 | { | 1833 | { |
1778 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1834 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1779 | 1835 | ||
1780 | if (fd_handler == _panel_iochannel_read_handler) | 1836 | if (fd_handler == _panel_iochannel_read_handler) |
1781 | { | 1837 | { |
1782 | if (!_panel_client.filter_event ()) | 1838 | if (!_panel_client.filter_event()) |
1783 | { | 1839 | { |
1784 | panel_finalize (); | 1840 | panel_finalize(); |
1785 | panel_initialize (); | 1841 | panel_initialize(); |
1786 | return ECORE_CALLBACK_CANCEL; | 1842 | return ECORE_CALLBACK_CANCEL; |
1787 | } | 1843 | } |
1788 | } | 1844 | } |
1789 | else if (fd_handler == _panel_iochannel_err_handler) | 1845 | else if (fd_handler == _panel_iochannel_err_handler) |
1790 | { | 1846 | { |
1791 | panel_finalize (); | 1847 | panel_finalize(); |
1792 | panel_initialize (); | 1848 | panel_initialize(); |
1793 | return ECORE_CALLBACK_CANCEL; | 1849 | return ECORE_CALLBACK_CANCEL; |
1794 | } | 1850 | } |
1795 | return ECORE_CALLBACK_RENEW; | 1851 | return ECORE_CALLBACK_RENEW; |
1796 | } | 1852 | } |
1797 | 1853 | ||
1798 | static void | 1854 | static void |
1799 | turn_on_ic (EcoreIMFContextISF *ic) | 1855 | turn_on_ic(EcoreIMFContextISF *ic) |
1800 | { | 1856 | { |
1801 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1857 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1802 | 1858 | ||
@@ -1806,25 +1862,25 @@ turn_on_ic (EcoreIMFContextISF *ic) | |||
1806 | 1862 | ||
1807 | if (ic == _focused_ic) | 1863 | if (ic == _focused_ic) |
1808 | { | 1864 | { |
1809 | panel_req_focus_in (ic); | 1865 | panel_req_focus_in(ic); |
1810 | panel_req_update_spot_location (ic); | 1866 | panel_req_update_spot_location(ic); |
1811 | panel_req_update_factory_info (ic); | 1867 | panel_req_update_factory_info(ic); |
1812 | _panel_client.turn_on (ic->id); | 1868 | _panel_client.turn_on(ic->id); |
1813 | _panel_client.hide_preedit_string (ic->id); | 1869 | _panel_client.hide_preedit_string(ic->id); |
1814 | _panel_client.hide_aux_string (ic->id); | 1870 | _panel_client.hide_aux_string(ic->id); |
1815 | _panel_client.hide_lookup_table (ic->id); | 1871 | _panel_client.hide_lookup_table(ic->id); |
1816 | ic->impl->si->focus_in (); | 1872 | ic->impl->si->focus_in(); |
1817 | } | 1873 | } |
1818 | 1874 | ||
1819 | //Record the IC on/off status | 1875 | //Record the IC on/off status |
1820 | if (_shared_input_method) | 1876 | if (_shared_input_method) |
1821 | _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), true); | 1877 | _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), true); |
1822 | 1878 | ||
1823 | if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) | 1879 | if (ic->impl->use_preedit && ic->impl->preedit_string.length()) |
1824 | { | 1880 | { |
1825 | ecore_imf_context_preedit_start_event_add (ic->ctx); | 1881 | ecore_imf_context_preedit_start_event_add(ic->ctx); |
1826 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); | 1882 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); |
1827 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 1883 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
1828 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 1884 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
1829 | ic->impl->preedit_started = true; | 1885 | ic->impl->preedit_started = true; |
1830 | } | 1886 | } |
@@ -1832,7 +1888,7 @@ turn_on_ic (EcoreIMFContextISF *ic) | |||
1832 | } | 1888 | } |
1833 | 1889 | ||
1834 | static void | 1890 | static void |
1835 | turn_off_ic (EcoreIMFContextISF *ic) | 1891 | turn_off_ic(EcoreIMFContextISF *ic) |
1836 | { | 1892 | { |
1837 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1893 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1838 | 1894 | ||
@@ -1842,21 +1898,21 @@ turn_off_ic (EcoreIMFContextISF *ic) | |||
1842 | 1898 | ||
1843 | if (ic == _focused_ic) | 1899 | if (ic == _focused_ic) |
1844 | { | 1900 | { |
1845 | ic->impl->si->focus_out (); | 1901 | ic->impl->si->focus_out(); |
1846 | 1902 | ||
1847 | panel_req_update_factory_info (ic); | 1903 | panel_req_update_factory_info(ic); |
1848 | _panel_client.turn_off (ic->id); | 1904 | _panel_client.turn_off(ic->id); |
1849 | } | 1905 | } |
1850 | 1906 | ||
1851 | //Record the IC on/off status | 1907 | //Record the IC on/off status |
1852 | if (_shared_input_method) | 1908 | if (_shared_input_method) |
1853 | _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); | 1909 | _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); |
1854 | 1910 | ||
1855 | if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) | 1911 | if (ic->impl->use_preedit && ic->impl->preedit_string.length()) |
1856 | { | 1912 | { |
1857 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 1913 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
1858 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 1914 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
1859 | ecore_imf_context_preedit_end_event_add (ic->ctx); | 1915 | ecore_imf_context_preedit_end_event_add(ic->ctx); |
1860 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); | 1916 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); |
1861 | ic->impl->preedit_started = false; | 1917 | ic->impl->preedit_started = false; |
1862 | } | 1918 | } |
@@ -1864,7 +1920,7 @@ turn_off_ic (EcoreIMFContextISF *ic) | |||
1864 | } | 1920 | } |
1865 | 1921 | ||
1866 | static void | 1922 | static void |
1867 | set_ic_capabilities (EcoreIMFContextISF *ic) | 1923 | set_ic_capabilities(EcoreIMFContextISF *ic) |
1868 | { | 1924 | { |
1869 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1925 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1870 | 1926 | ||
@@ -1875,12 +1931,12 @@ set_ic_capabilities (EcoreIMFContextISF *ic) | |||
1875 | if (!_on_the_spot || !ic->impl->use_preedit) | 1931 | if (!_on_the_spot || !ic->impl->use_preedit) |
1876 | cap -= SCIM_CLIENT_CAP_ONTHESPOT_PREEDIT; | 1932 | cap -= SCIM_CLIENT_CAP_ONTHESPOT_PREEDIT; |
1877 | 1933 | ||
1878 | ic->impl->si->update_client_capabilities (cap); | 1934 | ic->impl->si->update_client_capabilities(cap); |
1879 | } | 1935 | } |
1880 | } | 1936 | } |
1881 | 1937 | ||
1882 | static bool | 1938 | static bool |
1883 | check_socket_frontend (void) | 1939 | check_socket_frontend(void) |
1884 | { | 1940 | { |
1885 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 1941 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
1886 | 1942 | ||
@@ -1889,23 +1945,23 @@ check_socket_frontend (void) | |||
1889 | 1945 | ||
1890 | uint32 magic; | 1946 | uint32 magic; |
1891 | 1947 | ||
1892 | address.set_address (scim_get_default_socket_frontend_address ()); | 1948 | address.set_address(scim_get_default_socket_frontend_address()); |
1893 | 1949 | ||
1894 | if (!client.connect (address)) | 1950 | if (!client.connect(address)) |
1895 | return false; | 1951 | return false; |
1896 | 1952 | ||
1897 | if (!scim_socket_open_connection (magic, | 1953 | if (!scim_socket_open_connection(magic, |
1898 | String ("ConnectionTester"), | 1954 | String("ConnectionTester"), |
1899 | String ("SocketFrontEnd"), | 1955 | String("SocketFrontEnd"), |
1900 | client, | 1956 | client, |
1901 | 1000)) | 1957 | 1000)) |
1902 | return false; | 1958 | return false; |
1903 | 1959 | ||
1904 | return true; | 1960 | return true; |
1905 | } | 1961 | } |
1906 | 1962 | ||
1907 | void | 1963 | void |
1908 | initialize (void) | 1964 | initialize(void) |
1909 | { | 1965 | { |
1910 | std::vector<String> config_list; | 1966 | std::vector<String> config_list; |
1911 | std::vector<String> engine_list; | 1967 | std::vector<String> engine_list; |
@@ -1924,31 +1980,31 @@ initialize (void) | |||
1924 | SCIM_DEBUG_FRONTEND(1) << "Initializing Ecore SCIM IMModule...\n"; | 1980 | SCIM_DEBUG_FRONTEND(1) << "Initializing Ecore SCIM IMModule...\n"; |
1925 | 1981 | ||
1926 | // Get system language. | 1982 | // Get system language. |
1927 | _language = scim_get_locale_language (scim_get_current_locale ()); | 1983 | _language = scim_get_locale_language(scim_get_current_locale()); |
1928 | 1984 | ||
1929 | if (socket) | 1985 | if (socket) |
1930 | { | 1986 | { |
1931 | // If no Socket FrontEnd is running, then launch one. | 1987 | // If no Socket FrontEnd is running, then launch one. |
1932 | // And set manual to false. | 1988 | // And set manual to false. |
1933 | bool check_result = check_socket_frontend (); | 1989 | bool check_result = check_socket_frontend(); |
1934 | if (!check_result) | 1990 | if (!check_result) |
1935 | { | 1991 | { |
1936 | std::cerr << "Launching a SCIM daemon with Socket FrontEnd...\n"; | 1992 | std::cerr << "Launching a SCIM daemon with Socket FrontEnd...\n"; |
1937 | //get modules list | 1993 | //get modules list |
1938 | scim_get_imengine_module_list (engine_list); | 1994 | scim_get_imengine_module_list(engine_list); |
1939 | 1995 | ||
1940 | for (it = engine_list.begin (); it != engine_list.end (); it++) | 1996 | for (it = engine_list.begin(); it != engine_list.end(); it++) |
1941 | { | 1997 | { |
1942 | if (*it != "socket") | 1998 | if (*it != "socket") |
1943 | load_engine_list.push_back (*it); | 1999 | load_engine_list.push_back(*it); |
1944 | } | 2000 | } |
1945 | 2001 | ||
1946 | const char *new_argv [] = { "--no-stay", 0 }; | 2002 | const char *new_argv [] = { "--no-stay", 0 }; |
1947 | scim_launch (true, | 2003 | scim_launch(true, |
1948 | config_module_name, | 2004 | config_module_name, |
1949 | (load_engine_list.size () ? scim_combine_string_list (load_engine_list, ',') : "none"), | 2005 | (load_engine_list.size() ? scim_combine_string_list(load_engine_list, ',') : "none"), |
1950 | "socket", | 2006 | "socket", |
1951 | (char **)new_argv); | 2007 | (char **)new_argv); |
1952 | manual = false; | 2008 | manual = false; |
1953 | } | 2009 | } |
1954 | 2010 | ||
@@ -1961,12 +2017,12 @@ initialize (void) | |||
1961 | if (check_result) | 2017 | if (check_result) |
1962 | { | 2018 | { |
1963 | config_module_name = "socket"; | 2019 | config_module_name = "socket"; |
1964 | load_engine_list.clear (); | 2020 | load_engine_list.clear(); |
1965 | load_engine_list.push_back ("socket"); | 2021 | load_engine_list.push_back("socket"); |
1966 | break; | 2022 | break; |
1967 | } | 2023 | } |
1968 | scim_usleep (50000); | 2024 | scim_usleep(50000); |
1969 | check_result = check_socket_frontend (); | 2025 | check_result = check_socket_frontend(); |
1970 | } | 2026 | } |
1971 | } | 2027 | } |
1972 | } | 2028 | } |
@@ -1975,69 +2031,69 @@ initialize (void) | |||
1975 | { | 2031 | { |
1976 | //load config module | 2032 | //load config module |
1977 | SCIM_DEBUG_FRONTEND(1) << "Loading Config module: " << config_module_name << "...\n"; | 2033 | SCIM_DEBUG_FRONTEND(1) << "Loading Config module: " << config_module_name << "...\n"; |
1978 | _config_module = new ConfigModule (config_module_name); | 2034 | _config_module = new ConfigModule(config_module_name); |
1979 | 2035 | ||
1980 | //create config instance | 2036 | //create config instance |
1981 | if (_config_module != NULL && _config_module->valid ()) | 2037 | if (_config_module != NULL && _config_module->valid()) |
1982 | _config = _config_module->create_config (); | 2038 | _config = _config_module->create_config(); |
1983 | } | 2039 | } |
1984 | 2040 | ||
1985 | if (_config.null ()) | 2041 | if (_config.null()) |
1986 | { | 2042 | { |
1987 | SCIM_DEBUG_FRONTEND(1) << "Config module cannot be loaded, using dummy Config.\n"; | 2043 | SCIM_DEBUG_FRONTEND(1) << "Config module cannot be loaded, using dummy Config.\n"; |
1988 | 2044 | ||
1989 | if (_config_module) delete _config_module; | 2045 | if (_config_module) delete _config_module; |
1990 | _config_module = NULL; | 2046 | _config_module = NULL; |
1991 | 2047 | ||
1992 | _config = new DummyConfig (); | 2048 | _config = new DummyConfig(); |
1993 | config_module_name = "dummy"; | 2049 | config_module_name = "dummy"; |
1994 | } | 2050 | } |
1995 | 2051 | ||
1996 | reload_config_callback (_config); | 2052 | reload_config_callback(_config); |
1997 | _config->signal_connect_reload (slot (reload_config_callback)); | 2053 | _config->signal_connect_reload(slot(reload_config_callback)); |
1998 | 2054 | ||
1999 | // create backend | 2055 | // create backend |
2000 | _backend = new CommonBackEnd (_config, load_engine_list.size () ? load_engine_list : engine_list); | 2056 | _backend = new CommonBackEnd(_config, load_engine_list.size() ? load_engine_list : engine_list); |
2001 | 2057 | ||
2002 | if (_backend.null ()) | 2058 | if (_backend.null()) |
2003 | std::cerr << "Cannot create BackEnd Object!\n"; | 2059 | std::cerr << "Cannot create BackEnd Object!\n"; |
2004 | else | 2060 | else |
2005 | _fallback_factory = _backend->get_factory (SCIM_COMPOSE_KEY_FACTORY_UUID); | 2061 | _fallback_factory = _backend->get_factory(SCIM_COMPOSE_KEY_FACTORY_UUID); |
2006 | 2062 | ||
2007 | if (_fallback_factory.null ()) | 2063 | if (_fallback_factory.null()) |
2008 | _fallback_factory = new DummyIMEngineFactory (); | 2064 | _fallback_factory = new DummyIMEngineFactory(); |
2009 | 2065 | ||
2010 | _fallback_instance = _fallback_factory->create_instance (String ("UTF-8"), 0); | 2066 | _fallback_instance = _fallback_factory->create_instance(String("UTF-8"), 0); |
2011 | _fallback_instance->signal_connect_commit_string (slot (fallback_commit_string_cb)); | 2067 | _fallback_instance->signal_connect_commit_string(slot(fallback_commit_string_cb)); |
2012 | 2068 | ||
2013 | // Attach Panel Client signal. | 2069 | // Attach Panel Client signal. |
2014 | _panel_client.signal_connect_reload_config (slot (panel_slot_reload_config)); | 2070 | _panel_client.signal_connect_reload_config (slot(panel_slot_reload_config)); |
2015 | _panel_client.signal_connect_exit (slot (panel_slot_exit)); | 2071 | _panel_client.signal_connect_exit (slot(panel_slot_exit)); |
2016 | _panel_client.signal_connect_update_lookup_table_page_size (slot (panel_slot_update_lookup_table_page_size)); | 2072 | _panel_client.signal_connect_update_lookup_table_page_size(slot(panel_slot_update_lookup_table_page_size)); |
2017 | _panel_client.signal_connect_lookup_table_page_up (slot (panel_slot_lookup_table_page_up)); | 2073 | _panel_client.signal_connect_lookup_table_page_up (slot(panel_slot_lookup_table_page_up)); |
2018 | _panel_client.signal_connect_lookup_table_page_down (slot (panel_slot_lookup_table_page_down)); | 2074 | _panel_client.signal_connect_lookup_table_page_down (slot(panel_slot_lookup_table_page_down)); |
2019 | _panel_client.signal_connect_trigger_property (slot (panel_slot_trigger_property)); | 2075 | _panel_client.signal_connect_trigger_property (slot(panel_slot_trigger_property)); |
2020 | _panel_client.signal_connect_process_helper_event (slot (panel_slot_process_helper_event)); | 2076 | _panel_client.signal_connect_process_helper_event (slot(panel_slot_process_helper_event)); |
2021 | _panel_client.signal_connect_move_preedit_caret (slot (panel_slot_move_preedit_caret)); | 2077 | _panel_client.signal_connect_move_preedit_caret (slot(panel_slot_move_preedit_caret)); |
2022 | _panel_client.signal_connect_select_candidate (slot (panel_slot_select_candidate)); | 2078 | _panel_client.signal_connect_select_candidate (slot(panel_slot_select_candidate)); |
2023 | _panel_client.signal_connect_process_key_event (slot (panel_slot_process_key_event)); | 2079 | _panel_client.signal_connect_process_key_event (slot(panel_slot_process_key_event)); |
2024 | _panel_client.signal_connect_commit_string (slot (panel_slot_commit_string)); | 2080 | _panel_client.signal_connect_commit_string (slot(panel_slot_commit_string)); |
2025 | _panel_client.signal_connect_forward_key_event (slot (panel_slot_forward_key_event)); | 2081 | _panel_client.signal_connect_forward_key_event (slot(panel_slot_forward_key_event)); |
2026 | _panel_client.signal_connect_request_help (slot (panel_slot_request_help)); | 2082 | _panel_client.signal_connect_request_help (slot(panel_slot_request_help)); |
2027 | _panel_client.signal_connect_request_factory_menu (slot (panel_slot_request_factory_menu)); | 2083 | _panel_client.signal_connect_request_factory_menu (slot(panel_slot_request_factory_menu)); |
2028 | _panel_client.signal_connect_change_factory (slot (panel_slot_change_factory)); | 2084 | _panel_client.signal_connect_change_factory (slot(panel_slot_change_factory)); |
2029 | 2085 | ||
2030 | if (!panel_initialize ()) | 2086 | if (!panel_initialize()) |
2031 | std::cerr << "Ecore IM Module: Cannot connect to Panel!\n"; | 2087 | std::cerr << "Ecore IM Module: Cannot connect to Panel!\n"; |
2032 | } | 2088 | } |
2033 | 2089 | ||
2034 | static void | 2090 | static void |
2035 | finalize (void) | 2091 | finalize(void) |
2036 | { | 2092 | { |
2037 | SCIM_DEBUG_FRONTEND(1) << "Finalizing Ecore ISF IMModule...\n"; | 2093 | SCIM_DEBUG_FRONTEND(1) << "Finalizing Ecore ISF IMModule...\n"; |
2038 | 2094 | ||
2039 | // Reset this first so that the shared instance could be released correctly afterwards. | 2095 | // Reset this first so that the shared instance could be released correctly afterwards. |
2040 | _default_instance.reset (); | 2096 | _default_instance.reset(); |
2041 | 2097 | ||
2042 | SCIM_DEBUG_FRONTEND(2) << "Finalize all IC partially.\n"; | 2098 | SCIM_DEBUG_FRONTEND(2) << "Finalize all IC partially.\n"; |
2043 | while (_used_ic_impl_list) | 2099 | while (_used_ic_impl_list) |
@@ -2045,20 +2101,20 @@ finalize (void) | |||
2045 | // In case in "shared input method" mode, | 2101 | // In case in "shared input method" mode, |
2046 | // all contexts share only one instance, | 2102 | // all contexts share only one instance, |
2047 | // so we need point the reference pointer correctly before finalizing. | 2103 | // so we need point the reference pointer correctly before finalizing. |
2048 | _used_ic_impl_list->si->set_frontend_data (static_cast <void*> (_used_ic_impl_list->parent)); | 2104 | _used_ic_impl_list->si->set_frontend_data(static_cast <void*>(_used_ic_impl_list->parent)); |
2049 | isf_imf_context_del (_used_ic_impl_list->parent->ctx); | 2105 | isf_imf_context_del(_used_ic_impl_list->parent->ctx); |
2050 | } | 2106 | } |
2051 | 2107 | ||
2052 | delete_all_ic_impl (); | 2108 | delete_all_ic_impl(); |
2053 | 2109 | ||
2054 | _fallback_instance.reset (); | 2110 | _fallback_instance.reset(); |
2055 | _fallback_factory.reset (); | 2111 | _fallback_factory.reset(); |
2056 | 2112 | ||
2057 | SCIM_DEBUG_FRONTEND(2) << " Releasing BackEnd...\n"; | 2113 | SCIM_DEBUG_FRONTEND(2) << " Releasing BackEnd...\n"; |
2058 | _backend.reset (); | 2114 | _backend.reset(); |
2059 | 2115 | ||
2060 | SCIM_DEBUG_FRONTEND(2) << " Releasing Config...\n"; | 2116 | SCIM_DEBUG_FRONTEND(2) << " Releasing Config...\n"; |
2061 | _config.reset (); | 2117 | _config.reset(); |
2062 | 2118 | ||
2063 | if (_config_module) | 2119 | if (_config_module) |
2064 | { | 2120 | { |
@@ -2072,27 +2128,27 @@ finalize (void) | |||
2072 | 2128 | ||
2073 | _scim_initialized = false; | 2129 | _scim_initialized = false; |
2074 | 2130 | ||
2075 | panel_finalize (); | 2131 | panel_finalize(); |
2076 | } | 2132 | } |
2077 | 2133 | ||
2078 | static void | 2134 | static void |
2079 | open_next_factory (EcoreIMFContextISF *ic) | 2135 | open_next_factory(EcoreIMFContextISF *ic) |
2080 | { | 2136 | { |
2081 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; | 2137 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; |
2082 | IMEngineFactoryPointer sf = _backend->get_next_factory ("", "UTF-8", ic->impl->si->get_factory_uuid ()); | 2138 | IMEngineFactoryPointer sf = _backend->get_next_factory("", "UTF-8", ic->impl->si->get_factory_uuid()); |
2083 | 2139 | ||
2084 | if (!sf.null ()) | 2140 | if (!sf.null()) |
2085 | { | 2141 | { |
2086 | turn_off_ic (ic); | 2142 | turn_off_ic(ic); |
2087 | ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); | 2143 | ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); |
2088 | ic->impl->si->set_frontend_data (static_cast <void*> (ic)); | 2144 | ic->impl->si->set_frontend_data(static_cast <void*>(ic)); |
2089 | ic->impl->preedit_string = WideString (); | 2145 | ic->impl->preedit_string = WideString(); |
2090 | ic->impl->preedit_caret = 0; | 2146 | ic->impl->preedit_caret = 0; |
2091 | attach_instance (ic->impl->si); | 2147 | attach_instance(ic->impl->si); |
2092 | _backend->set_default_factory (_language, sf->get_uuid ()); | 2148 | _backend->set_default_factory(_language, sf->get_uuid()); |
2093 | _panel_client.register_input_context (ic->id, sf->get_uuid ()); | 2149 | _panel_client.register_input_context(ic->id, sf->get_uuid()); |
2094 | set_ic_capabilities (ic); | 2150 | set_ic_capabilities(ic); |
2095 | turn_on_ic (ic); | 2151 | turn_on_ic(ic); |
2096 | 2152 | ||
2097 | if (_shared_input_method) | 2153 | if (_shared_input_method) |
2098 | { | 2154 | { |
@@ -2103,26 +2159,26 @@ open_next_factory (EcoreIMFContextISF *ic) | |||
2103 | } | 2159 | } |
2104 | 2160 | ||
2105 | static void | 2161 | static void |
2106 | open_previous_factory (EcoreIMFContextISF *ic) | 2162 | open_previous_factory(EcoreIMFContextISF *ic) |
2107 | { | 2163 | { |
2108 | if (ic == NULL) | 2164 | if (ic == NULL) |
2109 | return; | 2165 | return; |
2110 | 2166 | ||
2111 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; | 2167 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; |
2112 | IMEngineFactoryPointer sf = _backend->get_previous_factory ("", "UTF-8", ic->impl->si->get_factory_uuid ()); | 2168 | IMEngineFactoryPointer sf = _backend->get_previous_factory("", "UTF-8", ic->impl->si->get_factory_uuid()); |
2113 | 2169 | ||
2114 | if (!sf.null ()) | 2170 | if (!sf.null()) |
2115 | { | 2171 | { |
2116 | turn_off_ic (ic); | 2172 | turn_off_ic(ic); |
2117 | ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); | 2173 | ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); |
2118 | ic->impl->si->set_frontend_data (static_cast <void*> (ic)); | 2174 | ic->impl->si->set_frontend_data(static_cast <void*>(ic)); |
2119 | ic->impl->preedit_string = WideString (); | 2175 | ic->impl->preedit_string = WideString(); |
2120 | ic->impl->preedit_caret = 0; | 2176 | ic->impl->preedit_caret = 0; |
2121 | attach_instance (ic->impl->si); | 2177 | attach_instance(ic->impl->si); |
2122 | _backend->set_default_factory (_language, sf->get_uuid ()); | 2178 | _backend->set_default_factory(_language, sf->get_uuid()); |
2123 | _panel_client.register_input_context (ic->id, sf->get_uuid ()); | 2179 | _panel_client.register_input_context(ic->id, sf->get_uuid()); |
2124 | set_ic_capabilities (ic); | 2180 | set_ic_capabilities(ic); |
2125 | turn_on_ic (ic); | 2181 | turn_on_ic(ic); |
2126 | 2182 | ||
2127 | if (_shared_input_method) | 2183 | if (_shared_input_method) |
2128 | { | 2184 | { |
@@ -2133,7 +2189,7 @@ open_previous_factory (EcoreIMFContextISF *ic) | |||
2133 | } | 2189 | } |
2134 | 2190 | ||
2135 | static void | 2191 | static void |
2136 | open_specific_factory (EcoreIMFContextISF *ic, | 2192 | open_specific_factory(EcoreIMFContextISF *ic, |
2137 | const String &uuid) | 2193 | const String &uuid) |
2138 | { | 2194 | { |
2139 | if (ic == NULL) | 2195 | if (ic == NULL) |
@@ -2142,26 +2198,26 @@ open_specific_factory (EcoreIMFContextISF *ic, | |||
2142 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; | 2198 | SCIM_DEBUG_FRONTEND(2) << __FUNCTION__ << " context=" << ic->id << "\n"; |
2143 | 2199 | ||
2144 | // The same input method is selected, just turn on the IC. | 2200 | // The same input method is selected, just turn on the IC. |
2145 | if (ic->impl->si->get_factory_uuid () == uuid) | 2201 | if (ic->impl->si->get_factory_uuid() == uuid) |
2146 | { | 2202 | { |
2147 | turn_on_ic (ic); | 2203 | turn_on_ic(ic); |
2148 | return; | 2204 | return; |
2149 | } | 2205 | } |
2150 | 2206 | ||
2151 | IMEngineFactoryPointer sf = _backend->get_factory (uuid); | 2207 | IMEngineFactoryPointer sf = _backend->get_factory(uuid); |
2152 | 2208 | ||
2153 | if (uuid.length () && !sf.null ()) | 2209 | if (uuid.length() && !sf.null()) |
2154 | { | 2210 | { |
2155 | turn_off_ic (ic); | 2211 | turn_off_ic(ic); |
2156 | ic->impl->si = sf->create_instance ("UTF-8", ic->impl->si->get_id ()); | 2212 | ic->impl->si = sf->create_instance("UTF-8", ic->impl->si->get_id()); |
2157 | ic->impl->si->set_frontend_data (static_cast <void*> (ic)); | 2213 | ic->impl->si->set_frontend_data(static_cast <void*>(ic)); |
2158 | ic->impl->preedit_string = WideString (); | 2214 | ic->impl->preedit_string = WideString(); |
2159 | ic->impl->preedit_caret = 0; | 2215 | ic->impl->preedit_caret = 0; |
2160 | attach_instance (ic->impl->si); | 2216 | attach_instance(ic->impl->si); |
2161 | _backend->set_default_factory (_language, sf->get_uuid ()); | 2217 | _backend->set_default_factory(_language, sf->get_uuid()); |
2162 | _panel_client.register_input_context (ic->id, sf->get_uuid ()); | 2218 | _panel_client.register_input_context(ic->id, sf->get_uuid()); |
2163 | set_ic_capabilities (ic); | 2219 | set_ic_capabilities(ic); |
2164 | turn_on_ic (ic); | 2220 | turn_on_ic(ic); |
2165 | 2221 | ||
2166 | if (_shared_input_method) | 2222 | if (_shared_input_method) |
2167 | { | 2223 | { |
@@ -2171,29 +2227,29 @@ open_specific_factory (EcoreIMFContextISF *ic, | |||
2171 | } | 2227 | } |
2172 | else | 2228 | else |
2173 | { | 2229 | { |
2174 | // turn_off_ic comment out panel_req_update_factory_info () | 2230 | // turn_off_ic comment out panel_req_update_factory_info() |
2175 | turn_off_ic (ic); | 2231 | turn_off_ic(ic); |
2176 | if (ic && ic->impl->is_on) | 2232 | if (ic && ic->impl->is_on) |
2177 | { | 2233 | { |
2178 | ic->impl->is_on = false; | 2234 | ic->impl->is_on = false; |
2179 | 2235 | ||
2180 | if (ic == _focused_ic) | 2236 | if (ic == _focused_ic) |
2181 | { | 2237 | { |
2182 | ic->impl->si->focus_out (); | 2238 | ic->impl->si->focus_out(); |
2183 | 2239 | ||
2184 | panel_req_update_factory_info (ic); | 2240 | panel_req_update_factory_info(ic); |
2185 | _panel_client.turn_off (ic->id); | 2241 | _panel_client.turn_off(ic->id); |
2186 | } | 2242 | } |
2187 | 2243 | ||
2188 | //Record the IC on/off status | 2244 | //Record the IC on/off status |
2189 | if (_shared_input_method) | 2245 | if (_shared_input_method) |
2190 | _config->write (String (SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); | 2246 | _config->write(String(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), false); |
2191 | 2247 | ||
2192 | if (ic->impl->use_preedit && ic->impl->preedit_string.length ()) | 2248 | if (ic->impl->use_preedit && ic->impl->preedit_string.length()) |
2193 | { | 2249 | { |
2194 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 2250 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
2195 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 2251 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
2196 | ecore_imf_context_preedit_end_event_add (ic->ctx); | 2252 | ecore_imf_context_preedit_end_event_add(ic->ctx); |
2197 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); | 2253 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); |
2198 | ic->impl->preedit_started = false; | 2254 | ic->impl->preedit_started = false; |
2199 | } | 2255 | } |
@@ -2201,7 +2257,7 @@ open_specific_factory (EcoreIMFContextISF *ic, | |||
2201 | } | 2257 | } |
2202 | } | 2258 | } |
2203 | 2259 | ||
2204 | static void initialize_modifier_bits (Display *display) | 2260 | static void initialize_modifier_bits(Display *display) |
2205 | { | 2261 | { |
2206 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2262 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2207 | 2263 | ||
@@ -2222,21 +2278,21 @@ static void initialize_modifier_bits (Display *display) | |||
2222 | 2278 | ||
2223 | XModifierKeymap *mods = NULL; | 2279 | XModifierKeymap *mods = NULL; |
2224 | 2280 | ||
2225 | ::KeyCode ctrl_l = XKeysymToKeycode (display, XK_Control_L); | 2281 | ::KeyCode ctrl_l = XKeysymToKeycode(display, XK_Control_L); |
2226 | ::KeyCode ctrl_r = XKeysymToKeycode (display, XK_Control_R); | 2282 | ::KeyCode ctrl_r = XKeysymToKeycode(display, XK_Control_R); |
2227 | ::KeyCode meta_l = XKeysymToKeycode (display, XK_Meta_L); | 2283 | ::KeyCode meta_l = XKeysymToKeycode(display, XK_Meta_L); |
2228 | ::KeyCode meta_r = XKeysymToKeycode (display, XK_Meta_R); | 2284 | ::KeyCode meta_r = XKeysymToKeycode(display, XK_Meta_R); |
2229 | ::KeyCode alt_l = XKeysymToKeycode (display, XK_Alt_L); | 2285 | ::KeyCode alt_l = XKeysymToKeycode(display, XK_Alt_L); |
2230 | ::KeyCode alt_r = XKeysymToKeycode (display, XK_Alt_R); | 2286 | ::KeyCode alt_r = XKeysymToKeycode(display, XK_Alt_R); |
2231 | ::KeyCode super_l = XKeysymToKeycode (display, XK_Super_L); | 2287 | ::KeyCode super_l = XKeysymToKeycode(display, XK_Super_L); |
2232 | ::KeyCode super_r = XKeysymToKeycode (display, XK_Super_R); | 2288 | ::KeyCode super_r = XKeysymToKeycode(display, XK_Super_R); |
2233 | ::KeyCode hyper_l = XKeysymToKeycode (display, XK_Hyper_L); | 2289 | ::KeyCode hyper_l = XKeysymToKeycode(display, XK_Hyper_L); |
2234 | ::KeyCode hyper_r = XKeysymToKeycode (display, XK_Hyper_R); | 2290 | ::KeyCode hyper_r = XKeysymToKeycode(display, XK_Hyper_R); |
2235 | ::KeyCode numlock = XKeysymToKeycode (display, XK_Num_Lock); | 2291 | ::KeyCode numlock = XKeysymToKeycode(display, XK_Num_Lock); |
2236 | 2292 | ||
2237 | int i, j; | 2293 | int i, j; |
2238 | 2294 | ||
2239 | mods = XGetModifierMapping (display); | 2295 | mods = XGetModifierMapping(display); |
2240 | if (mods == NULL) | 2296 | if (mods == NULL) |
2241 | return; | 2297 | return; |
2242 | 2298 | ||
@@ -2283,13 +2339,13 @@ static void initialize_modifier_bits (Display *display) | |||
2283 | xkey.same_screen = False; | 2339 | xkey.same_screen = False; |
2284 | xkey.subwindow = None; | 2340 | xkey.subwindow = None; |
2285 | xkey.window = None; | 2341 | xkey.window = None; |
2286 | xkey.root = DefaultRootWindow (display); | 2342 | xkey.root = DefaultRootWindow(display); |
2287 | xkey.state = ShiftMask; | 2343 | xkey.state = ShiftMask; |
2288 | 2344 | ||
2289 | xkey.keycode = meta_l; | 2345 | xkey.keycode = meta_l; |
2290 | XLookupString (&xkey, buf, 32, &keysym_l, 0); | 2346 | XLookupString(&xkey, buf, 32, &keysym_l, 0); |
2291 | xkey.keycode = meta_r; | 2347 | xkey.keycode = meta_r; |
2292 | XLookupString (&xkey, buf, 32, &keysym_r, 0); | 2348 | XLookupString(&xkey, buf, 32, &keysym_r, 0); |
2293 | 2349 | ||
2294 | if ((meta_l == alt_l && keysym_l == XK_Meta_L) || (meta_r == alt_r && keysym_r == XK_Meta_R)) | 2350 | if ((meta_l == alt_l && keysym_l == XK_Meta_L) || (meta_r == alt_r && keysym_r == XK_Meta_R)) |
2295 | __current_meta_mask = ShiftMask + __current_alt_mask; | 2351 | __current_meta_mask = ShiftMask + __current_alt_mask; |
@@ -2297,16 +2353,16 @@ static void initialize_modifier_bits (Display *display) | |||
2297 | __current_meta_mask = ShiftMask + ControlMask; | 2353 | __current_meta_mask = ShiftMask + ControlMask; |
2298 | } | 2354 | } |
2299 | 2355 | ||
2300 | XFreeModifiermap (mods); | 2356 | XFreeModifiermap(mods); |
2301 | } | 2357 | } |
2302 | 2358 | ||
2303 | static unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimkeymask) | 2359 | static unsigned int scim_x11_keymask_scim_to_x11(Display *display, uint16 scimkeymask) |
2304 | { | 2360 | { |
2305 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2361 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2306 | 2362 | ||
2307 | unsigned int state = 0; | 2363 | unsigned int state = 0; |
2308 | 2364 | ||
2309 | initialize_modifier_bits (display); | 2365 | initialize_modifier_bits(display); |
2310 | 2366 | ||
2311 | if (scimkeymask & SCIM_KEY_ShiftMask) state |= ShiftMask; | 2367 | if (scimkeymask & SCIM_KEY_ShiftMask) state |= ShiftMask; |
2312 | if (scimkeymask & SCIM_KEY_CapsLockMask) state |= LockMask; | 2368 | if (scimkeymask & SCIM_KEY_CapsLockMask) state |= LockMask; |
@@ -2320,9 +2376,9 @@ static unsigned int scim_x11_keymask_scim_to_x11 (Display *display, uint16 scimk | |||
2320 | return state; | 2376 | return state; |
2321 | } | 2377 | } |
2322 | 2378 | ||
2323 | static XKeyEvent createKeyEvent (Display *display, Window &win, | 2379 | static XKeyEvent createKeyEvent(Display *display, Window &win, |
2324 | Window &winRoot, bool press, | 2380 | Window &winRoot, bool press, |
2325 | int keycode, int modifiers) | 2381 | int keycode, int modifiers) |
2326 | { | 2382 | { |
2327 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2383 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2328 | 2384 | ||
@@ -2339,7 +2395,7 @@ static XKeyEvent createKeyEvent (Display *display, Window &win, | |||
2339 | event.y_root = 1; | 2395 | event.y_root = 1; |
2340 | event.same_screen = EINA_TRUE; | 2396 | event.same_screen = EINA_TRUE; |
2341 | event.state = modifiers; | 2397 | event.state = modifiers; |
2342 | event.keycode = XKeysymToKeycode (display, keycode); | 2398 | event.keycode = XKeysymToKeycode(display, keycode); |
2343 | if (press) | 2399 | if (press) |
2344 | event.type = KeyPress; | 2400 | event.type = KeyPress; |
2345 | else | 2401 | else |
@@ -2350,12 +2406,12 @@ static XKeyEvent createKeyEvent (Display *display, Window &win, | |||
2350 | return event; | 2406 | return event; |
2351 | } | 2407 | } |
2352 | 2408 | ||
2353 | static void _x_send_key_event (const KeyEvent &key) | 2409 | static void _x_send_key_event(const KeyEvent &key) |
2354 | { | 2410 | { |
2355 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2411 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2356 | 2412 | ||
2357 | // Obtain the X11 display. | 2413 | // Obtain the X11 display. |
2358 | Display *display = XOpenDisplay (NULL); | 2414 | Display *display = XOpenDisplay(NULL); |
2359 | if (display == NULL) | 2415 | if (display == NULL) |
2360 | { | 2416 | { |
2361 | std::cerr << "XOpenDisplay failed\n"; | 2417 | std::cerr << "XOpenDisplay failed\n"; |
@@ -2363,98 +2419,98 @@ static void _x_send_key_event (const KeyEvent &key) | |||
2363 | } | 2419 | } |
2364 | 2420 | ||
2365 | // Get the root window for the current display. | 2421 | // Get the root window for the current display. |
2366 | Window winRoot = 0;// = XRootWindow (display, 1); | 2422 | Window winRoot = 0; |
2367 | 2423 | ||
2368 | // Find the window which has the current keyboard focus. | 2424 | // Find the window which has the current keyboard focus. |
2369 | Window winFocus = 0; | 2425 | Window winFocus = 0; |
2370 | int revert = RevertToParent; | 2426 | int revert = RevertToParent; |
2371 | 2427 | ||
2372 | XGetInputFocus (display, &winFocus, &revert); | 2428 | XGetInputFocus(display, &winFocus, &revert); |
2373 | 2429 | ||
2374 | // Send a fake key press event to the window. | 2430 | // Send a fake key press event to the window. |
2375 | XSelectInput (display, winFocus, FocusChangeMask|KeyPressMask|KeyReleaseMask); | 2431 | XSelectInput(display, winFocus, FocusChangeMask|KeyPressMask|KeyReleaseMask); |
2376 | XMapWindow (display, winFocus); | 2432 | XMapWindow(display, winFocus); |
2377 | 2433 | ||
2378 | unsigned int modifier = scim_x11_keymask_scim_to_x11 (display, key.mask); | 2434 | unsigned int modifier = scim_x11_keymask_scim_to_x11(display, key.mask); |
2379 | XKeyEvent event; | 2435 | XKeyEvent event; |
2380 | if (key.is_key_press ()) | 2436 | if (key.is_key_press()) |
2381 | { | 2437 | { |
2382 | event = createKeyEvent (display, winFocus, winRoot, true, key.code, modifier); | 2438 | event = createKeyEvent(display, winFocus, winRoot, true, key.code, modifier); |
2383 | XSendEvent (event.display, event.window, True, KeyPressMask, (XEvent *)&event); | 2439 | XSendEvent(event.display, event.window, True, KeyPressMask, (XEvent *)&event); |
2384 | } | 2440 | } |
2385 | else | 2441 | else |
2386 | { | 2442 | { |
2387 | event = createKeyEvent (display, winFocus, winRoot, false, key.code, modifier); | 2443 | event = createKeyEvent(display, winFocus, winRoot, false, key.code, modifier); |
2388 | XSendEvent (event.display, event.window, True, KeyReleaseMask, (XEvent *)&event); | 2444 | XSendEvent(event.display, event.window, True, KeyReleaseMask, (XEvent *)&event); |
2389 | } | 2445 | } |
2390 | 2446 | ||
2391 | XCloseDisplay (display); | 2447 | XCloseDisplay(display); |
2392 | } | 2448 | } |
2393 | 2449 | ||
2394 | static void | 2450 | static void |
2395 | attach_instance (const IMEngineInstancePointer &si) | 2451 | attach_instance(const IMEngineInstancePointer &si) |
2396 | { | 2452 | { |
2397 | si->signal_connect_show_preedit_string ( | 2453 | si->signal_connect_show_preedit_string( |
2398 | slot (slot_show_preedit_string)); | 2454 | slot(slot_show_preedit_string)); |
2399 | si->signal_connect_show_aux_string ( | 2455 | si->signal_connect_show_aux_string( |
2400 | slot (slot_show_aux_string)); | 2456 | slot(slot_show_aux_string)); |
2401 | si->signal_connect_show_lookup_table ( | 2457 | si->signal_connect_show_lookup_table( |
2402 | slot (slot_show_lookup_table)); | 2458 | slot(slot_show_lookup_table)); |
2403 | 2459 | ||
2404 | si->signal_connect_hide_preedit_string ( | 2460 | si->signal_connect_hide_preedit_string( |
2405 | slot (slot_hide_preedit_string)); | 2461 | slot(slot_hide_preedit_string)); |
2406 | si->signal_connect_hide_aux_string ( | 2462 | si->signal_connect_hide_aux_string( |
2407 | slot (slot_hide_aux_string)); | 2463 | slot(slot_hide_aux_string)); |
2408 | si->signal_connect_hide_lookup_table ( | 2464 | si->signal_connect_hide_lookup_table( |
2409 | slot (slot_hide_lookup_table)); | 2465 | slot(slot_hide_lookup_table)); |
2410 | 2466 | ||
2411 | si->signal_connect_update_preedit_caret ( | 2467 | si->signal_connect_update_preedit_caret( |
2412 | slot (slot_update_preedit_caret)); | 2468 | slot(slot_update_preedit_caret)); |
2413 | si->signal_connect_update_preedit_string ( | 2469 | si->signal_connect_update_preedit_string( |
2414 | slot (slot_update_preedit_string)); | 2470 | slot(slot_update_preedit_string)); |
2415 | si->signal_connect_update_aux_string ( | 2471 | si->signal_connect_update_aux_string( |
2416 | slot (slot_update_aux_string)); | 2472 | slot(slot_update_aux_string)); |
2417 | si->signal_connect_update_lookup_table ( | 2473 | si->signal_connect_update_lookup_table( |
2418 | slot (slot_update_lookup_table)); | 2474 | slot(slot_update_lookup_table)); |
2419 | 2475 | ||
2420 | si->signal_connect_commit_string ( | 2476 | si->signal_connect_commit_string( |
2421 | slot (slot_commit_string)); | 2477 | slot(slot_commit_string)); |
2422 | 2478 | ||
2423 | si->signal_connect_forward_key_event ( | 2479 | si->signal_connect_forward_key_event( |
2424 | slot (slot_forward_key_event)); | 2480 | slot(slot_forward_key_event)); |
2425 | 2481 | ||
2426 | si->signal_connect_register_properties ( | 2482 | si->signal_connect_register_properties( |
2427 | slot (slot_register_properties)); | 2483 | slot(slot_register_properties)); |
2428 | 2484 | ||
2429 | si->signal_connect_update_property ( | 2485 | si->signal_connect_update_property( |
2430 | slot (slot_update_property)); | 2486 | slot(slot_update_property)); |
2431 | 2487 | ||
2432 | si->signal_connect_beep ( | 2488 | si->signal_connect_beep( |
2433 | slot (slot_beep)); | 2489 | slot(slot_beep)); |
2434 | 2490 | ||
2435 | si->signal_connect_start_helper ( | 2491 | si->signal_connect_start_helper( |
2436 | slot (slot_start_helper)); | 2492 | slot(slot_start_helper)); |
2437 | 2493 | ||
2438 | si->signal_connect_stop_helper ( | 2494 | si->signal_connect_stop_helper( |
2439 | slot (slot_stop_helper)); | 2495 | slot(slot_stop_helper)); |
2440 | 2496 | ||
2441 | si->signal_connect_send_helper_event ( | 2497 | si->signal_connect_send_helper_event( |
2442 | slot (slot_send_helper_event)); | 2498 | slot(slot_send_helper_event)); |
2443 | 2499 | ||
2444 | si->signal_connect_get_surrounding_text ( | 2500 | si->signal_connect_get_surrounding_text( |
2445 | slot (slot_get_surrounding_text)); | 2501 | slot(slot_get_surrounding_text)); |
2446 | 2502 | ||
2447 | si->signal_connect_delete_surrounding_text ( | 2503 | si->signal_connect_delete_surrounding_text( |
2448 | slot (slot_delete_surrounding_text)); | 2504 | slot(slot_delete_surrounding_text)); |
2449 | } | 2505 | } |
2450 | 2506 | ||
2451 | // Implementation of slot functions | 2507 | // Implementation of slot functions |
2452 | static void | 2508 | static void |
2453 | slot_show_preedit_string (IMEngineInstanceBase *si) | 2509 | slot_show_preedit_string(IMEngineInstanceBase *si) |
2454 | { | 2510 | { |
2455 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2511 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2456 | 2512 | ||
2457 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2513 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2458 | 2514 | ||
2459 | if (ic && ic->impl && _focused_ic == ic) | 2515 | if (ic && ic->impl && _focused_ic == ic) |
2460 | { | 2516 | { |
@@ -2462,102 +2518,102 @@ slot_show_preedit_string (IMEngineInstanceBase *si) | |||
2462 | { | 2518 | { |
2463 | if (!ic->impl->preedit_started) | 2519 | if (!ic->impl->preedit_started) |
2464 | { | 2520 | { |
2465 | ecore_imf_context_preedit_start_event_add (_focused_ic->ctx); | 2521 | ecore_imf_context_preedit_start_event_add(_focused_ic->ctx); |
2466 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); | 2522 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); |
2467 | ic->impl->preedit_started = true; | 2523 | ic->impl->preedit_started = true; |
2468 | } | 2524 | } |
2469 | } | 2525 | } |
2470 | else | 2526 | else |
2471 | _panel_client.show_preedit_string (ic->id); | 2527 | _panel_client.show_preedit_string(ic->id); |
2472 | } | 2528 | } |
2473 | } | 2529 | } |
2474 | 2530 | ||
2475 | static void | 2531 | static void |
2476 | slot_show_aux_string (IMEngineInstanceBase *si) | 2532 | slot_show_aux_string(IMEngineInstanceBase *si) |
2477 | { | 2533 | { |
2478 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2534 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2479 | 2535 | ||
2480 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2536 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2481 | 2537 | ||
2482 | if (ic && ic->impl && _focused_ic == ic) | 2538 | if (ic && ic->impl && _focused_ic == ic) |
2483 | _panel_client.show_aux_string (ic->id); | 2539 | _panel_client.show_aux_string(ic->id); |
2484 | } | 2540 | } |
2485 | 2541 | ||
2486 | static void | 2542 | static void |
2487 | slot_show_lookup_table (IMEngineInstanceBase *si) | 2543 | slot_show_lookup_table(IMEngineInstanceBase *si) |
2488 | { | 2544 | { |
2489 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2545 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2490 | 2546 | ||
2491 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2547 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2492 | 2548 | ||
2493 | if (ic && ic->impl && _focused_ic == ic) | 2549 | if (ic && ic->impl && _focused_ic == ic) |
2494 | _panel_client.show_lookup_table (ic->id); | 2550 | _panel_client.show_lookup_table(ic->id); |
2495 | } | 2551 | } |
2496 | 2552 | ||
2497 | static void | 2553 | static void |
2498 | slot_hide_preedit_string (IMEngineInstanceBase *si) | 2554 | slot_hide_preedit_string(IMEngineInstanceBase *si) |
2499 | { | 2555 | { |
2500 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2556 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2501 | 2557 | ||
2502 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2558 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2503 | 2559 | ||
2504 | if (ic && ic->impl && _focused_ic == ic) | 2560 | if (ic && ic->impl && _focused_ic == ic) |
2505 | { | 2561 | { |
2506 | bool emit = false; | 2562 | bool emit = false; |
2507 | if (ic->impl->preedit_string.length ()) | 2563 | if (ic->impl->preedit_string.length()) |
2508 | { | 2564 | { |
2509 | ic->impl->preedit_string = WideString (); | 2565 | ic->impl->preedit_string = WideString(); |
2510 | ic->impl->preedit_caret = 0; | 2566 | ic->impl->preedit_caret = 0; |
2511 | ic->impl->preedit_attrlist.clear (); | 2567 | ic->impl->preedit_attrlist.clear(); |
2512 | emit = true; | 2568 | emit = true; |
2513 | } | 2569 | } |
2514 | if (ic->impl->use_preedit) | 2570 | if (ic->impl->use_preedit) |
2515 | { | 2571 | { |
2516 | if (emit) | 2572 | if (emit) |
2517 | { | 2573 | { |
2518 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 2574 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
2519 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 2575 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
2520 | } | 2576 | } |
2521 | if (ic->impl->preedit_started) | 2577 | if (ic->impl->preedit_started) |
2522 | { | 2578 | { |
2523 | ecore_imf_context_preedit_end_event_add (ic->ctx); | 2579 | ecore_imf_context_preedit_end_event_add(ic->ctx); |
2524 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); | 2580 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_END, NULL); |
2525 | ic->impl->preedit_started = false; | 2581 | ic->impl->preedit_started = false; |
2526 | } | 2582 | } |
2527 | } | 2583 | } |
2528 | else | 2584 | else |
2529 | _panel_client.hide_preedit_string (ic->id); | 2585 | _panel_client.hide_preedit_string(ic->id); |
2530 | } | 2586 | } |
2531 | } | 2587 | } |
2532 | 2588 | ||
2533 | static void | 2589 | static void |
2534 | slot_hide_aux_string (IMEngineInstanceBase *si) | 2590 | slot_hide_aux_string(IMEngineInstanceBase *si) |
2535 | { | 2591 | { |
2536 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2592 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2537 | 2593 | ||
2538 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2594 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2539 | 2595 | ||
2540 | if (ic && ic->impl && _focused_ic == ic) | 2596 | if (ic && ic->impl && _focused_ic == ic) |
2541 | _panel_client.hide_aux_string (ic->id); | 2597 | _panel_client.hide_aux_string(ic->id); |
2542 | } | 2598 | } |
2543 | 2599 | ||
2544 | static void | 2600 | static void |
2545 | slot_hide_lookup_table (IMEngineInstanceBase *si) | 2601 | slot_hide_lookup_table(IMEngineInstanceBase *si) |
2546 | { | 2602 | { |
2547 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2603 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2548 | 2604 | ||
2549 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2605 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2550 | 2606 | ||
2551 | if (ic && ic->impl && _focused_ic == ic) | 2607 | if (ic && ic->impl && _focused_ic == ic) |
2552 | _panel_client.hide_lookup_table (ic->id); | 2608 | _panel_client.hide_lookup_table(ic->id); |
2553 | } | 2609 | } |
2554 | 2610 | ||
2555 | static void | 2611 | static void |
2556 | slot_update_preedit_caret (IMEngineInstanceBase *si, int caret) | 2612 | slot_update_preedit_caret(IMEngineInstanceBase *si, int caret) |
2557 | { | 2613 | { |
2558 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2614 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2559 | 2615 | ||
2560 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2616 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2561 | 2617 | ||
2562 | if (ic && ic->impl && _focused_ic == ic && ic->impl->preedit_caret != caret) | 2618 | if (ic && ic->impl && _focused_ic == ic && ic->impl->preedit_caret != caret) |
2563 | { | 2619 | { |
@@ -2566,28 +2622,28 @@ slot_update_preedit_caret (IMEngineInstanceBase *si, int caret) | |||
2566 | { | 2622 | { |
2567 | if (!ic->impl->preedit_started) | 2623 | if (!ic->impl->preedit_started) |
2568 | { | 2624 | { |
2569 | ecore_imf_context_preedit_start_event_add (ic->ctx); | 2625 | ecore_imf_context_preedit_start_event_add(ic->ctx); |
2570 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); | 2626 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); |
2571 | ic->impl->preedit_started = true; | 2627 | ic->impl->preedit_started = true; |
2572 | } | 2628 | } |
2573 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 2629 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
2574 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 2630 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
2575 | } | 2631 | } |
2576 | else | 2632 | else |
2577 | _panel_client.update_preedit_caret (ic->id, caret); | 2633 | _panel_client.update_preedit_caret(ic->id, caret); |
2578 | } | 2634 | } |
2579 | } | 2635 | } |
2580 | 2636 | ||
2581 | static void | 2637 | static void |
2582 | slot_update_preedit_string (IMEngineInstanceBase *si, | 2638 | slot_update_preedit_string(IMEngineInstanceBase *si, |
2583 | const WideString & str, | 2639 | const WideString & str, |
2584 | const AttributeList & attrs) | 2640 | const AttributeList & attrs) |
2585 | { | 2641 | { |
2586 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2642 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2587 | 2643 | ||
2588 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2644 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2589 | 2645 | ||
2590 | if (ic && ic->impl && _focused_ic == ic && (ic->impl->preedit_string != str || str.length ())) | 2646 | if (ic && ic->impl && _focused_ic == ic && (ic->impl->preedit_string != str || str.length())) |
2591 | { | 2647 | { |
2592 | ic->impl->preedit_string = str; | 2648 | ic->impl->preedit_string = str; |
2593 | ic->impl->preedit_attrlist = attrs; | 2649 | ic->impl->preedit_attrlist = attrs; |
@@ -2595,178 +2651,178 @@ slot_update_preedit_string (IMEngineInstanceBase *si, | |||
2595 | { | 2651 | { |
2596 | if (!ic->impl->preedit_started) | 2652 | if (!ic->impl->preedit_started) |
2597 | { | 2653 | { |
2598 | ecore_imf_context_preedit_start_event_add (_focused_ic->ctx); | 2654 | ecore_imf_context_preedit_start_event_add(_focused_ic->ctx); |
2599 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); | 2655 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_START, NULL); |
2600 | ic->impl->preedit_started = true; | 2656 | ic->impl->preedit_started = true; |
2601 | } | 2657 | } |
2602 | ic->impl->preedit_caret = str.length (); | 2658 | ic->impl->preedit_caret = str.length(); |
2603 | ic->impl->preedit_updating = true; | 2659 | ic->impl->preedit_updating = true; |
2604 | ecore_imf_context_preedit_changed_event_add (ic->ctx); | 2660 | ecore_imf_context_preedit_changed_event_add(ic->ctx); |
2605 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); | 2661 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_PREEDIT_CHANGED, NULL); |
2606 | ic->impl->preedit_updating = false; | 2662 | ic->impl->preedit_updating = false; |
2607 | } | 2663 | } |
2608 | else | 2664 | else |
2609 | { | 2665 | { |
2610 | _panel_client.update_preedit_string (ic->id, str, attrs); | 2666 | _panel_client.update_preedit_string(ic->id, str, attrs); |
2611 | } | 2667 | } |
2612 | } | 2668 | } |
2613 | } | 2669 | } |
2614 | 2670 | ||
2615 | static void | 2671 | static void |
2616 | slot_update_aux_string (IMEngineInstanceBase *si, | 2672 | slot_update_aux_string(IMEngineInstanceBase *si, |
2617 | const WideString & str, | 2673 | const WideString & str, |
2618 | const AttributeList & attrs) | 2674 | const AttributeList & attrs) |
2619 | { | 2675 | { |
2620 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2676 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2621 | 2677 | ||
2622 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2678 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2623 | 2679 | ||
2624 | if (ic && ic->impl && _focused_ic == ic) | 2680 | if (ic && ic->impl && _focused_ic == ic) |
2625 | _panel_client.update_aux_string (ic->id, str, attrs); | 2681 | _panel_client.update_aux_string(ic->id, str, attrs); |
2626 | } | 2682 | } |
2627 | 2683 | ||
2628 | static void | 2684 | static void |
2629 | slot_commit_string (IMEngineInstanceBase *si, | 2685 | slot_commit_string(IMEngineInstanceBase *si, |
2630 | const WideString & str) | 2686 | const WideString & str) |
2631 | { | 2687 | { |
2632 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2688 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2633 | 2689 | ||
2634 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2690 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2635 | 2691 | ||
2636 | if (ic && ic->ctx) | 2692 | if (ic && ic->ctx) |
2637 | { | 2693 | { |
2638 | ecore_imf_context_commit_event_add (ic->ctx, utf8_wcstombs (str).c_str ()); | 2694 | ecore_imf_context_commit_event_add(ic->ctx, utf8_wcstombs(str).c_str()); |
2639 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); | 2695 | ecore_imf_context_event_callback_call(ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); |
2640 | } | 2696 | } |
2641 | } | 2697 | } |
2642 | 2698 | ||
2643 | static void | 2699 | static void |
2644 | slot_forward_key_event (IMEngineInstanceBase *si, | 2700 | slot_forward_key_event(IMEngineInstanceBase *si, |
2645 | const KeyEvent & key) | 2701 | const KeyEvent & key) |
2646 | { | 2702 | { |
2647 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2703 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2648 | 2704 | ||
2649 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2705 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2650 | 2706 | ||
2651 | if (ic && _focused_ic == ic) | 2707 | if (ic && _focused_ic == ic) |
2652 | { | 2708 | { |
2653 | if (!_fallback_instance->process_key_event (key)) | 2709 | if (!_fallback_instance->process_key_event(key)) |
2654 | _x_send_key_event(key); | 2710 | _x_send_key_event(key); |
2655 | } | 2711 | } |
2656 | } | 2712 | } |
2657 | 2713 | ||
2658 | static void | 2714 | static void |
2659 | slot_update_lookup_table (IMEngineInstanceBase *si, | 2715 | slot_update_lookup_table(IMEngineInstanceBase *si, |
2660 | const LookupTable & table) | 2716 | const LookupTable & table) |
2661 | { | 2717 | { |
2662 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2718 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2663 | 2719 | ||
2664 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2720 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2665 | 2721 | ||
2666 | if (ic && ic->impl && _focused_ic == ic) | 2722 | if (ic && ic->impl && _focused_ic == ic) |
2667 | _panel_client.update_lookup_table (ic->id, table); | 2723 | _panel_client.update_lookup_table(ic->id, table); |
2668 | } | 2724 | } |
2669 | 2725 | ||
2670 | static void | 2726 | static void |
2671 | slot_register_properties (IMEngineInstanceBase *si, | 2727 | slot_register_properties(IMEngineInstanceBase *si, |
2672 | const PropertyList & properties) | 2728 | const PropertyList & properties) |
2673 | { | 2729 | { |
2674 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2730 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2675 | 2731 | ||
2676 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2732 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2677 | 2733 | ||
2678 | if (ic && ic->impl && _focused_ic == ic) | 2734 | if (ic && ic->impl && _focused_ic == ic) |
2679 | _panel_client.register_properties (ic->id, properties); | 2735 | _panel_client.register_properties(ic->id, properties); |
2680 | } | 2736 | } |
2681 | 2737 | ||
2682 | static void | 2738 | static void |
2683 | slot_update_property (IMEngineInstanceBase *si, | 2739 | slot_update_property(IMEngineInstanceBase *si, |
2684 | const Property & property) | 2740 | const Property & property) |
2685 | { | 2741 | { |
2686 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2742 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2687 | 2743 | ||
2688 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2744 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2689 | 2745 | ||
2690 | if (ic && ic->impl && _focused_ic == ic) | 2746 | if (ic && ic->impl && _focused_ic == ic) |
2691 | _panel_client.update_property (ic->id, property); | 2747 | _panel_client.update_property(ic->id, property); |
2692 | } | 2748 | } |
2693 | 2749 | ||
2694 | static void | 2750 | static void |
2695 | slot_beep (IMEngineInstanceBase *si __UNUSED__) | 2751 | slot_beep(IMEngineInstanceBase *si __UNUSED__) |
2696 | { | 2752 | { |
2697 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2753 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2698 | } | 2754 | } |
2699 | 2755 | ||
2700 | static void | 2756 | static void |
2701 | slot_start_helper (IMEngineInstanceBase *si, | 2757 | slot_start_helper(IMEngineInstanceBase *si, |
2702 | const String &helper_uuid) | 2758 | const String &helper_uuid) |
2703 | { | 2759 | { |
2704 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2760 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2705 | 2761 | ||
2706 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" | 2762 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" |
2707 | << (ic ? ic->id : -1) << " ic=" << ic | 2763 | << (ic ? ic->id : -1) << " ic=" << ic |
2708 | << " ic-uuid=" << ((ic ) ? ic->impl->si->get_factory_uuid () : "") << "...\n"; | 2764 | << " ic-uuid=" << ((ic ) ? ic->impl->si->get_factory_uuid() : "") << "...\n"; |
2709 | 2765 | ||
2710 | if (ic && ic->impl) | 2766 | if (ic && ic->impl) |
2711 | _panel_client.start_helper (ic->id, helper_uuid); | 2767 | _panel_client.start_helper(ic->id, helper_uuid); |
2712 | } | 2768 | } |
2713 | 2769 | ||
2714 | static void | 2770 | static void |
2715 | slot_stop_helper (IMEngineInstanceBase *si, | 2771 | slot_stop_helper(IMEngineInstanceBase *si, |
2716 | const String &helper_uuid) | 2772 | const String &helper_uuid) |
2717 | { | 2773 | { |
2718 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2774 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2719 | 2775 | ||
2720 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" << (ic ? ic->id : -1) << " ic=" << ic << "...\n"; | 2776 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" << (ic ? ic->id : -1) << " ic=" << ic << "...\n"; |
2721 | 2777 | ||
2722 | if (ic && ic->impl) | 2778 | if (ic && ic->impl) |
2723 | _panel_client.stop_helper (ic->id, helper_uuid); | 2779 | _panel_client.stop_helper(ic->id, helper_uuid); |
2724 | } | 2780 | } |
2725 | 2781 | ||
2726 | static void | 2782 | static void |
2727 | slot_send_helper_event (IMEngineInstanceBase *si, | 2783 | slot_send_helper_event(IMEngineInstanceBase *si, |
2728 | const String &helper_uuid, | 2784 | const String &helper_uuid, |
2729 | const Transaction &trans) | 2785 | const Transaction &trans) |
2730 | { | 2786 | { |
2731 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2787 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2732 | 2788 | ||
2733 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" | 2789 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " helper= " << helper_uuid << " context=" |
2734 | << (ic ? ic->id : -1) << " ic=" << ic | 2790 | << (ic ? ic->id : -1) << " ic=" << ic |
2735 | << " ic-uuid=" << ((ic) ? ic->impl->si->get_factory_uuid () : "") << "...\n"; | 2791 | << " ic-uuid=" << ((ic) ? ic->impl->si->get_factory_uuid() : "") << "...\n"; |
2736 | 2792 | ||
2737 | if (ic && ic->impl) | 2793 | if (ic && ic->impl) |
2738 | _panel_client.send_helper_event (ic->id, helper_uuid, trans); | 2794 | _panel_client.send_helper_event(ic->id, helper_uuid, trans); |
2739 | } | 2795 | } |
2740 | 2796 | ||
2741 | static bool | 2797 | static bool |
2742 | slot_get_surrounding_text (IMEngineInstanceBase *si, | 2798 | slot_get_surrounding_text(IMEngineInstanceBase *si, |
2743 | WideString &text, | 2799 | WideString &text, |
2744 | int &cursor, | 2800 | int &cursor, |
2745 | int maxlen_before, | 2801 | int maxlen_before, |
2746 | int maxlen_after) | 2802 | int maxlen_after) |
2747 | { | 2803 | { |
2748 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2804 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2749 | 2805 | ||
2750 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2806 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2751 | 2807 | ||
2752 | if (ic && ic->impl && _focused_ic == ic) | 2808 | if (ic && ic->impl && _focused_ic == ic) |
2753 | { | 2809 | { |
2754 | char *surrounding = NULL; | 2810 | char *surrounding = NULL; |
2755 | int cursor_index; | 2811 | int cursor_index; |
2756 | if (ecore_imf_context_surrounding_get (_focused_ic->ctx, &surrounding, &cursor_index)) | 2812 | if (ecore_imf_context_surrounding_get(_focused_ic->ctx, &surrounding, &cursor_index)) |
2757 | { | 2813 | { |
2758 | SCIM_DEBUG_FRONTEND(2) << "Surrounding text: " << surrounding <<"\n"; | 2814 | SCIM_DEBUG_FRONTEND(2) << "Surrounding text: " << surrounding <<"\n"; |
2759 | SCIM_DEBUG_FRONTEND(2) << "Cursor Index : " << cursor_index <<"\n"; | 2815 | SCIM_DEBUG_FRONTEND(2) << "Cursor Index : " << cursor_index <<"\n"; |
2760 | WideString before (utf8_mbstowcs (String (surrounding, surrounding + cursor_index))); | 2816 | WideString before(utf8_mbstowcs(String(surrounding, surrounding + cursor_index))); |
2761 | WideString after (utf8_mbstowcs (String (surrounding + cursor_index))); | 2817 | WideString after(utf8_mbstowcs(String(surrounding + cursor_index))); |
2762 | if (maxlen_before > 0 && ((unsigned int)maxlen_before) < before.length ()) | 2818 | if (maxlen_before > 0 && ((unsigned int)maxlen_before) < before.length()) |
2763 | before = WideString (before.begin () + (before.length () - maxlen_before), before.end ()); | 2819 | before = WideString(before.begin() + (before.length() - maxlen_before), before.end()); |
2764 | else if (maxlen_before == 0) before = WideString (); | 2820 | else if (maxlen_before == 0) before = WideString(); |
2765 | if (maxlen_after > 0 && ((unsigned int)maxlen_after) < after.length ()) | 2821 | if (maxlen_after > 0 && ((unsigned int)maxlen_after) < after.length()) |
2766 | after = WideString (after.begin (), after.begin () + maxlen_after); | 2822 | after = WideString(after.begin(), after.begin() + maxlen_after); |
2767 | else if (maxlen_after == 0) after = WideString (); | 2823 | else if (maxlen_after == 0) after = WideString(); |
2768 | text = before + after; | 2824 | text = before + after; |
2769 | cursor = before.length (); | 2825 | cursor = before.length(); |
2770 | return true; | 2826 | return true; |
2771 | } | 2827 | } |
2772 | } | 2828 | } |
@@ -2774,13 +2830,13 @@ slot_get_surrounding_text (IMEngineInstanceBase *si, | |||
2774 | } | 2830 | } |
2775 | 2831 | ||
2776 | static bool | 2832 | static bool |
2777 | slot_delete_surrounding_text (IMEngineInstanceBase *si, | 2833 | slot_delete_surrounding_text(IMEngineInstanceBase *si, |
2778 | int offset, | 2834 | int offset, |
2779 | int len) | 2835 | int len) |
2780 | { | 2836 | { |
2781 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2837 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2782 | 2838 | ||
2783 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *> (si->get_frontend_data ()); | 2839 | EcoreIMFContextISF *ic = static_cast<EcoreIMFContextISF *>(si->get_frontend_data()); |
2784 | 2840 | ||
2785 | if (ic && ic->impl && _focused_ic == ic) | 2841 | if (ic && ic->impl && _focused_ic == ic) |
2786 | { | 2842 | { |
@@ -2788,7 +2844,7 @@ slot_delete_surrounding_text (IMEngineInstanceBase *si, | |||
2788 | ev.ctx = _focused_ic->ctx; | 2844 | ev.ctx = _focused_ic->ctx; |
2789 | ev.n_chars = len; | 2845 | ev.n_chars = len; |
2790 | ev.offset = offset; | 2846 | ev.offset = offset; |
2791 | ecore_imf_context_delete_surrounding_event_add (_focused_ic->ctx, offset, len); | 2847 | ecore_imf_context_delete_surrounding_event_add(_focused_ic->ctx, offset, len); |
2792 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, &ev); | 2848 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_DELETE_SURROUNDING, &ev); |
2793 | return true; | 2849 | return true; |
2794 | } | 2850 | } |
@@ -2796,43 +2852,43 @@ slot_delete_surrounding_text (IMEngineInstanceBase *si, | |||
2796 | } | 2852 | } |
2797 | 2853 | ||
2798 | static void | 2854 | static void |
2799 | reload_config_callback (const ConfigPointer &config) | 2855 | reload_config_callback(const ConfigPointer &config) |
2800 | { | 2856 | { |
2801 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2857 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2802 | 2858 | ||
2803 | _frontend_hotkey_matcher.load_hotkeys (config); | 2859 | _frontend_hotkey_matcher.load_hotkeys(config); |
2804 | _imengine_hotkey_matcher.load_hotkeys (config); | 2860 | _imengine_hotkey_matcher.load_hotkeys(config); |
2805 | 2861 | ||
2806 | KeyEvent key; | 2862 | KeyEvent key; |
2807 | 2863 | ||
2808 | scim_string_to_key (key, | 2864 | scim_string_to_key(key, |
2809 | config->read (String (SCIM_CONFIG_HOTKEYS_FRONTEND_VALID_KEY_MASK), | 2865 | config->read(String(SCIM_CONFIG_HOTKEYS_FRONTEND_VALID_KEY_MASK), |
2810 | String ("Shift+Control+Alt+Lock"))); | 2866 | String("Shift+Control+Alt+Lock"))); |
2811 | 2867 | ||
2812 | _valid_key_mask = (key.mask > 0)?(key.mask):0xFFFF; | 2868 | _valid_key_mask = (key.mask > 0)?(key.mask):0xFFFF; |
2813 | _valid_key_mask |= SCIM_KEY_ReleaseMask; | 2869 | _valid_key_mask |= SCIM_KEY_ReleaseMask; |
2814 | // Special treatment for two backslash keys on jp106 keyboard. | 2870 | // Special treatment for two backslash keys on jp106 keyboard. |
2815 | _valid_key_mask |= SCIM_KEY_QuirkKanaRoMask; | 2871 | _valid_key_mask |= SCIM_KEY_QuirkKanaRoMask; |
2816 | 2872 | ||
2817 | _on_the_spot = config->read (String (SCIM_CONFIG_FRONTEND_ON_THE_SPOT), _on_the_spot); | 2873 | _on_the_spot = config->read(String(SCIM_CONFIG_FRONTEND_ON_THE_SPOT), _on_the_spot); |
2818 | _shared_input_method = config->read (String (SCIM_CONFIG_FRONTEND_SHARED_INPUT_METHOD), _shared_input_method); | 2874 | _shared_input_method = config->read(String(SCIM_CONFIG_FRONTEND_SHARED_INPUT_METHOD), _shared_input_method); |
2819 | 2875 | ||
2820 | // Get keyboard layout setting | 2876 | // Get keyboard layout setting |
2821 | // Flush the global config first, in order to load the new configs from disk. | 2877 | // Flush the global config first, in order to load the new configs from disk. |
2822 | scim_global_config_flush (); | 2878 | scim_global_config_flush(); |
2823 | 2879 | ||
2824 | _keyboard_layout = scim_get_default_keyboard_layout (); | 2880 | _keyboard_layout = scim_get_default_keyboard_layout(); |
2825 | } | 2881 | } |
2826 | 2882 | ||
2827 | static void | 2883 | static void |
2828 | fallback_commit_string_cb (IMEngineInstanceBase *si __UNUSED__, | 2884 | fallback_commit_string_cb(IMEngineInstanceBase *si __UNUSED__, |
2829 | const WideString &str) | 2885 | const WideString &str) |
2830 | { | 2886 | { |
2831 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; | 2887 | SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << "...\n"; |
2832 | 2888 | ||
2833 | if (_focused_ic && _focused_ic->impl) | 2889 | if (_focused_ic && _focused_ic->impl) |
2834 | { | 2890 | { |
2835 | ecore_imf_context_commit_event_add (_focused_ic->ctx, utf8_wcstombs (str).c_str ()); | 2891 | ecore_imf_context_commit_event_add(_focused_ic->ctx, utf8_wcstombs(str).c_str()); |
2836 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); | 2892 | ecore_imf_context_event_callback_call(_focused_ic->ctx, ECORE_IMF_CALLBACK_COMMIT, (void *)utf8_wcstombs(str).c_str()); |
2837 | } | 2893 | } |
2838 | } | 2894 | } |
diff --git a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h index 84f1a2f..72533e2 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h +++ b/libraries/ecore/src/modules/immodules/scim/scim_imcontext.h | |||
@@ -32,6 +32,8 @@ Eina_Bool isf_imf_context_filter_event (Ecore_IMF_Context *ctx, Ecore_IMF_Event | |||
32 | void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction); | 32 | void isf_imf_context_prediction_allow_set (Ecore_IMF_Context* ctx, Eina_Bool prediction); |
33 | void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type); | 33 | void isf_imf_context_autocapital_type_set (Ecore_IMF_Context* ctx, Ecore_IMF_Autocapital_Type autocapital_type); |
34 | void isf_imf_context_input_panel_layout_set (Ecore_IMF_Context* ctx, Ecore_IMF_Input_Panel_Layout layout); | 34 | void isf_imf_context_input_panel_layout_set (Ecore_IMF_Context* ctx, Ecore_IMF_Input_Panel_Layout layout); |
35 | void isf_imf_context_input_panel_show(Ecore_IMF_Context *ctx); | ||
36 | void isf_imf_context_input_panel_hide(Ecore_IMF_Context *ctx); | ||
35 | 37 | ||
36 | EcoreIMFContextISF* isf_imf_context_new (void); | 38 | EcoreIMFContextISF* isf_imf_context_new (void); |
37 | void isf_imf_context_shutdown (void); | 39 | void isf_imf_context_shutdown (void); |
diff --git a/libraries/ecore/src/modules/immodules/scim/scim_module.cpp b/libraries/ecore/src/modules/immodules/scim/scim_module.cpp index eff6381..d17e37a 100644 --- a/libraries/ecore/src/modules/immodules/scim/scim_module.cpp +++ b/libraries/ecore/src/modules/immodules/scim/scim_module.cpp | |||
@@ -19,8 +19,8 @@ extern "C" | |||
19 | isf_imf_context_del, /* del */ | 19 | isf_imf_context_del, /* del */ |
20 | isf_imf_context_client_window_set, /* client_window_set */ | 20 | isf_imf_context_client_window_set, /* client_window_set */ |
21 | isf_imf_context_client_canvas_set, /* client_canvas_set */ | 21 | isf_imf_context_client_canvas_set, /* client_canvas_set */ |
22 | NULL, /* isf_imf_context_input_panel_show, - show */ | 22 | isf_imf_context_input_panel_show, /* input_panel_show, - show */ |
23 | NULL, /* isf_imf_context_input_panel_hide, - hide */ | 23 | isf_imf_context_input_panel_hide, /* input_panel_hide, - hide */ |
24 | isf_imf_context_preedit_string_get, /* get_preedit_string */ | 24 | isf_imf_context_preedit_string_get, /* get_preedit_string */ |
25 | isf_imf_context_focus_in, /* focus_in */ | 25 | isf_imf_context_focus_in, /* focus_in */ |
26 | isf_imf_context_focus_out, /* focus_out */ | 26 | isf_imf_context_focus_out, /* focus_out */ |
@@ -38,7 +38,12 @@ extern "C" | |||
38 | NULL, /* isf_imf_context_input_panel_layout_get, */ | 38 | NULL, /* isf_imf_context_input_panel_layout_get, */ |
39 | NULL, /* isf_imf_context_input_panel_language_set, */ | 39 | NULL, /* isf_imf_context_input_panel_language_set, */ |
40 | NULL, /* isf_imf_context_input_panel_language_get, */ | 40 | NULL, /* isf_imf_context_input_panel_language_get, */ |
41 | isf_imf_context_cursor_location_set /* cursor_location_set */ | 41 | isf_imf_context_cursor_location_set, /* cursor_location_set */ |
42 | NULL, /* input_panel_imdata_set */ | ||
43 | NULL, /* input_panel_imdata_get */ | ||
44 | NULL, /* input_panel_return_key_type_set */ | ||
45 | NULL, /* input_panel_return_key_disabled_set */ | ||
46 | NULL /* input_panel_caps_lock_mode_set */ | ||
42 | }; | 47 | }; |
43 | 48 | ||
44 | static Ecore_IMF_Context *imf_module_create (void); | 49 | static Ecore_IMF_Context *imf_module_create (void); |
diff --git a/libraries/ecore/src/modules/immodules/xim/Makefile.in b/libraries/ecore/src/modules/immodules/xim/Makefile.in index 5b78946..775b574 100644 --- a/libraries/ecore/src/modules/immodules/xim/Makefile.in +++ b/libraries/ecore/src/modules/immodules/xim/Makefile.in | |||
@@ -48,16 +48,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 48 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 49 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 50 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
51 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 51 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
52 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 52 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 53 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 54 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 55 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
56 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 56 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
57 | $(top_srcdir)/configure.ac | ||
58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
59 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
60 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 59 | mkinstalldirs = $(install_sh) -d |
61 | CONFIG_HEADER = $(top_builddir)/config.h | 60 | CONFIG_HEADER = $(top_builddir)/config.h |
62 | CONFIG_CLEAN_FILES = | 61 | CONFIG_CLEAN_FILES = |
63 | CONFIG_CLEAN_VPATH_FILES = | 62 | CONFIG_CLEAN_VPATH_FILES = |
@@ -189,6 +188,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
189 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 188 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
190 | EVIL_LIBS = @EVIL_LIBS@ | 189 | EVIL_LIBS = @EVIL_LIBS@ |
191 | EXEEXT = @EXEEXT@ | 190 | EXEEXT = @EXEEXT@ |
191 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
192 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
192 | FGREP = @FGREP@ | 193 | FGREP = @FGREP@ |
193 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 194 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
194 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 195 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -244,6 +245,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
244 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 245 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
245 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 246 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
246 | PKG_CONFIG = @PKG_CONFIG@ | 247 | PKG_CONFIG = @PKG_CONFIG@ |
248 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
249 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
247 | POSUB = @POSUB@ | 250 | POSUB = @POSUB@ |
248 | RANLIB = @RANLIB@ | 251 | RANLIB = @RANLIB@ |
249 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 252 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -254,6 +257,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
254 | SED = @SED@ | 257 | SED = @SED@ |
255 | SET_MAKE = @SET_MAKE@ | 258 | SET_MAKE = @SET_MAKE@ |
256 | SHELL = @SHELL@ | 259 | SHELL = @SHELL@ |
260 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
257 | SSL_CFLAGS = @SSL_CFLAGS@ | 261 | SSL_CFLAGS = @SSL_CFLAGS@ |
258 | SSL_LIBS = @SSL_LIBS@ | 262 | SSL_LIBS = @SSL_LIBS@ |
259 | STRIP = @STRIP@ | 263 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c index ea7ee7f..01a3576 100644 --- a/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c +++ b/libraries/ecore/src/modules/immodules/xim/ecore_imf_xim.c | |||
@@ -294,6 +294,10 @@ _ecore_imf_context_xim_focus_in(Ecore_IMF_Context *ctx) | |||
294 | imf_context_data = ecore_imf_context_data_get(ctx); | 294 | imf_context_data = ecore_imf_context_data_get(ctx); |
295 | ic = imf_context_data->ic; | 295 | ic = imf_context_data->ic; |
296 | imf_context_data->has_focus = EINA_TRUE; | 296 | imf_context_data->has_focus = EINA_TRUE; |
297 | |||
298 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
299 | ecore_imf_context_input_panel_show(ctx); | ||
300 | |||
297 | if (ic) | 301 | if (ic) |
298 | { | 302 | { |
299 | char *str; | 303 | char *str; |
@@ -326,6 +330,9 @@ _ecore_imf_context_xim_focus_out(Ecore_IMF_Context *ctx) | |||
326 | ic = imf_context_data->ic; | 330 | ic = imf_context_data->ic; |
327 | if (ic) | 331 | if (ic) |
328 | XUnsetICFocus(ic); | 332 | XUnsetICFocus(ic); |
333 | |||
334 | if (ecore_imf_context_input_panel_enabled_get(ctx)) | ||
335 | ecore_imf_context_input_panel_hide(ctx); | ||
329 | } | 336 | } |
330 | #else | 337 | #else |
331 | (void)ctx; | 338 | (void)ctx; |
@@ -501,6 +508,38 @@ _ecore_imf_context_xim_cursor_location_set(Ecore_IMF_Context *ctx, | |||
501 | (void)(w); // yes w is unused, but only a bi-product of the algorithm | 508 | (void)(w); // yes w is unused, but only a bi-product of the algorithm |
502 | } | 509 | } |
503 | 510 | ||
511 | static void | ||
512 | _ecore_imf_context_xim_input_panel_show(Ecore_IMF_Context *ctx) | ||
513 | { | ||
514 | EINA_LOG_DBG("%s in", __FUNCTION__); | ||
515 | |||
516 | #ifdef ENABLE_XIM | ||
517 | Ecore_IMF_Context_Data *imf_context_data; | ||
518 | imf_context_data = ecore_imf_context_data_get(ctx); | ||
519 | |||
520 | ecore_x_e_virtual_keyboard_state_set | ||
521 | (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_ON); | ||
522 | #else | ||
523 | (void)ctx; | ||
524 | #endif | ||
525 | } | ||
526 | |||
527 | static void | ||
528 | _ecore_imf_context_xim_input_panel_hide(Ecore_IMF_Context *ctx) | ||
529 | { | ||
530 | EINA_LOG_DBG("%s in", __FUNCTION__); | ||
531 | |||
532 | #ifdef ENABLE_XIM | ||
533 | Ecore_IMF_Context_Data *imf_context_data; | ||
534 | imf_context_data = ecore_imf_context_data_get(ctx); | ||
535 | |||
536 | ecore_x_e_virtual_keyboard_state_set | ||
537 | (imf_context_data->win, ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF); | ||
538 | #else | ||
539 | (void)ctx; | ||
540 | #endif | ||
541 | } | ||
542 | |||
504 | #ifdef ENABLE_XIM | 543 | #ifdef ENABLE_XIM |
505 | static unsigned int | 544 | static unsigned int |
506 | _ecore_x_event_reverse_modifiers(unsigned int state) | 545 | _ecore_x_event_reverse_modifiers(unsigned int state) |
@@ -739,8 +778,8 @@ static Ecore_IMF_Context_Class xim_class = { | |||
739 | .del = _ecore_imf_context_xim_del, | 778 | .del = _ecore_imf_context_xim_del, |
740 | .client_window_set = _ecore_imf_context_xim_client_window_set, | 779 | .client_window_set = _ecore_imf_context_xim_client_window_set, |
741 | .client_canvas_set = NULL, | 780 | .client_canvas_set = NULL, |
742 | .show = NULL, | 781 | .show = _ecore_imf_context_xim_input_panel_show, |
743 | .hide = NULL, | 782 | .hide = _ecore_imf_context_xim_input_panel_hide, |
744 | .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, | 783 | .preedit_string_get = _ecore_imf_context_xim_preedit_string_get, |
745 | .focus_in = _ecore_imf_context_xim_focus_in, | 784 | .focus_in = _ecore_imf_context_xim_focus_in, |
746 | .focus_out = _ecore_imf_context_xim_focus_out, | 785 | .focus_out = _ecore_imf_context_xim_focus_out, |
@@ -759,6 +798,11 @@ static Ecore_IMF_Context_Class xim_class = { | |||
759 | .input_panel_language_set = NULL, | 798 | .input_panel_language_set = NULL, |
760 | .input_panel_language_get = NULL, | 799 | .input_panel_language_get = NULL, |
761 | .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, | 800 | .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, |
801 | .input_panel_imdata_set = NULL, | ||
802 | .input_panel_imdata_get = NULL, | ||
803 | .input_panel_return_key_type_set = NULL, | ||
804 | .input_panel_return_key_disabled_set = NULL, | ||
805 | .input_panel_caps_lock_mode_set = NULL | ||
762 | }; | 806 | }; |
763 | 807 | ||
764 | static Ecore_IMF_Context * | 808 | static Ecore_IMF_Context * |
diff --git a/libraries/ecore/src/tests/Makefile.in b/libraries/ecore/src/tests/Makefile.in index bd7726a..aa799d9 100644 --- a/libraries/ecore/src/tests/Makefile.in +++ b/libraries/ecore/src/tests/Makefile.in | |||
@@ -53,16 +53,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
53 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 53 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
54 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 54 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
55 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 55 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
56 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 56 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
57 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 57 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
58 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 58 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
59 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 59 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
60 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 60 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
61 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 61 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
62 | $(top_srcdir)/configure.ac | ||
63 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 62 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
64 | $(ACLOCAL_M4) | 63 | $(ACLOCAL_M4) |
65 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 64 | mkinstalldirs = $(install_sh) -d |
66 | CONFIG_HEADER = $(top_builddir)/config.h | 65 | CONFIG_HEADER = $(top_builddir)/config.h |
67 | CONFIG_CLEAN_FILES = | 66 | CONFIG_CLEAN_FILES = |
68 | CONFIG_CLEAN_VPATH_FILES = | 67 | CONFIG_CLEAN_VPATH_FILES = |
@@ -174,6 +173,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
174 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 173 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
175 | EVIL_LIBS = @EVIL_LIBS@ | 174 | EVIL_LIBS = @EVIL_LIBS@ |
176 | EXEEXT = @EXEEXT@ | 175 | EXEEXT = @EXEEXT@ |
176 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
177 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
177 | FGREP = @FGREP@ | 178 | FGREP = @FGREP@ |
178 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 179 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
179 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 180 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -229,6 +230,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
229 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 230 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
230 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 231 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
231 | PKG_CONFIG = @PKG_CONFIG@ | 232 | PKG_CONFIG = @PKG_CONFIG@ |
233 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
234 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
232 | POSUB = @POSUB@ | 235 | POSUB = @POSUB@ |
233 | RANLIB = @RANLIB@ | 236 | RANLIB = @RANLIB@ |
234 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 237 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -239,6 +242,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
239 | SED = @SED@ | 242 | SED = @SED@ |
240 | SET_MAKE = @SET_MAKE@ | 243 | SET_MAKE = @SET_MAKE@ |
241 | SHELL = @SHELL@ | 244 | SHELL = @SHELL@ |
245 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
242 | SSL_CFLAGS = @SSL_CFLAGS@ | 246 | SSL_CFLAGS = @SSL_CFLAGS@ |
243 | SSL_LIBS = @SSL_LIBS@ | 247 | SSL_LIBS = @SSL_LIBS@ |
244 | STRIP = @STRIP@ | 248 | STRIP = @STRIP@ |
diff --git a/libraries/ecore/src/tests/ecore_test_ecore_x.c b/libraries/ecore/src/tests/ecore_test_ecore_x.c index 4b9e126..2d14ff1 100644 --- a/libraries/ecore/src/tests/ecore_test_ecore_x.c +++ b/libraries/ecore/src/tests/ecore_test_ecore_x.c | |||
@@ -6,6 +6,10 @@ | |||
6 | 6 | ||
7 | #include "ecore_suite.h" | 7 | #include "ecore_suite.h" |
8 | 8 | ||
9 | /* FIXME: Currently disable these tests. They are useless ATM and they just | ||
10 | * make buildbot complain. Once we add useful tests here we'll also bother | ||
11 | * with getting X on the server. */ | ||
12 | #undef HAVE_ECORE_X_XLIB | ||
9 | 13 | ||
10 | /* TODO: change to HAVE_ECORE_X when xcb implementation is done */ | 14 | /* TODO: change to HAVE_ECORE_X when xcb implementation is done */ |
11 | #ifdef HAVE_ECORE_X_XLIB | 15 | #ifdef HAVE_ECORE_X_XLIB |
diff --git a/libraries/ecore/src/util/Makefile.in b/libraries/ecore/src/util/Makefile.in index 96cb48a..423c6e0 100644 --- a/libraries/ecore/src/util/Makefile.in +++ b/libraries/ecore/src/util/Makefile.in | |||
@@ -49,16 +49,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | |||
49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 49 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ |
50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ | 50 | $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ |
51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ | 51 | $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ |
52 | $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ | 52 | $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ |
53 | $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ | 53 | $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | 54 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ |
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | 55 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ |
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ | 56 | $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ |
57 | $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ | 57 | $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac |
58 | $(top_srcdir)/configure.ac | ||
59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
60 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
61 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs | 60 | mkinstalldirs = $(install_sh) -d |
62 | CONFIG_HEADER = $(top_builddir)/config.h | 61 | CONFIG_HEADER = $(top_builddir)/config.h |
63 | CONFIG_CLEAN_FILES = | 62 | CONFIG_CLEAN_FILES = |
64 | CONFIG_CLEAN_VPATH_FILES = | 63 | CONFIG_CLEAN_VPATH_FILES = |
@@ -163,6 +162,8 @@ EVAS_LIBS = @EVAS_LIBS@ | |||
163 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 162 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
164 | EVIL_LIBS = @EVIL_LIBS@ | 163 | EVIL_LIBS = @EVIL_LIBS@ |
165 | EXEEXT = @EXEEXT@ | 164 | EXEEXT = @EXEEXT@ |
165 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
166 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
166 | FGREP = @FGREP@ | 167 | FGREP = @FGREP@ |
167 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ | 168 | GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ |
168 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 169 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
@@ -218,6 +219,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ | |||
218 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ | 219 | PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ |
219 | PIXMAN_LIBS = @PIXMAN_LIBS@ | 220 | PIXMAN_LIBS = @PIXMAN_LIBS@ |
220 | PKG_CONFIG = @PKG_CONFIG@ | 221 | PKG_CONFIG = @PKG_CONFIG@ |
222 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
223 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
221 | POSUB = @POSUB@ | 224 | POSUB = @POSUB@ |
222 | RANLIB = @RANLIB@ | 225 | RANLIB = @RANLIB@ |
223 | SCIM_CFLAGS = @SCIM_CFLAGS@ | 226 | SCIM_CFLAGS = @SCIM_CFLAGS@ |
@@ -228,6 +231,7 @@ SDL_LIBS = @SDL_LIBS@ | |||
228 | SED = @SED@ | 231 | SED = @SED@ |
229 | SET_MAKE = @SET_MAKE@ | 232 | SET_MAKE = @SET_MAKE@ |
230 | SHELL = @SHELL@ | 233 | SHELL = @SHELL@ |
234 | SHM_OPEN_LIBS = @SHM_OPEN_LIBS@ | ||
231 | SSL_CFLAGS = @SSL_CFLAGS@ | 235 | SSL_CFLAGS = @SSL_CFLAGS@ |
232 | SSL_LIBS = @SSL_LIBS@ | 236 | SSL_LIBS = @SSL_LIBS@ |
233 | STRIP = @STRIP@ | 237 | STRIP = @STRIP@ |