forked from enlightenment/efl
update po's ... :/
This commit is contained in:
parent
10fe8f29e3
commit
1117cb938a
11
po/ca.po
11
po/ca.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-29 18:09+0100\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-02-01 09:52+0100\n"
|
"PO-Revision-Date: 2013-02-01 09:52+0100\n"
|
||||||
"Last-Translator: Joan Coll <jcoll2@gmail.com>\n"
|
"Last-Translator: Joan Coll <jcoll2@gmail.com>\n"
|
||||||
"Language-Team: Catalan\n"
|
"Language-Team: Catalan\n"
|
||||||
|
@ -66,7 +66,7 @@ msgstr "ERROR: opció desconeguda -%c.\n"
|
||||||
|
|
||||||
#: src/lib/ecore/ecore_getopt.c:852
|
#: src/lib/ecore/ecore_getopt.c:852
|
||||||
msgid "ERROR: "
|
msgid "ERROR: "
|
||||||
msgstr "ERROR:"
|
msgstr "ERROR: "
|
||||||
|
|
||||||
#: src/lib/ecore/ecore_getopt.c:935 src/lib/ecore/ecore_getopt.c:1072
|
#: src/lib/ecore/ecore_getopt.c:935 src/lib/ecore/ecore_getopt.c:1072
|
||||||
#: src/lib/ecore/ecore_getopt.c:1088 src/lib/ecore/ecore_getopt.c:1103
|
#: src/lib/ecore/ecore_getopt.c:1088 src/lib/ecore/ecore_getopt.c:1103
|
||||||
|
@ -75,14 +75,12 @@ msgstr "ERROR:"
|
||||||
msgid "value has no pointer set.\n"
|
msgid "value has no pointer set.\n"
|
||||||
msgstr "no s'ha definit el valor.\n"
|
msgstr "no s'ha definit el valor.\n"
|
||||||
|
|
||||||
#: src/lib/ecore/ecore_getopt.c:967
|
#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:1187
|
||||||
#: src/lib/ecore/ecore_getopt.c:1187
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown boolean value %s.\n"
|
msgid "unknown boolean value %s.\n"
|
||||||
msgstr "valor booleà desconegut %s.\n"
|
msgstr "valor booleà desconegut %s.\n"
|
||||||
|
|
||||||
#: src/lib/ecore/ecore_getopt.c:1018
|
#: src/lib/ecore/ecore_getopt.c:1018 src/lib/ecore/ecore_getopt.c:1275
|
||||||
#: src/lib/ecore/ecore_getopt.c:1275
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid number format %s\n"
|
msgid "invalid number format %s\n"
|
||||||
msgstr "format numèric invàlid %s\n"
|
msgstr "format numèric invàlid %s\n"
|
||||||
|
@ -207,4 +205,3 @@ msgstr "Imatges"
|
||||||
#: src/lib/efreet/efreet_base.c:188
|
#: src/lib/efreet/efreet_base.c:188
|
||||||
msgid "Videos"
|
msgid "Videos"
|
||||||
msgstr "Vídeos"
|
msgstr "Vídeos"
|
||||||
|
|
||||||
|
|
2
po/cs.po
2
po/cs.po
|
@ -9,7 +9,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-12-13 12:06+0100\n"
|
"PO-Revision-Date: 2012-12-13 12:06+0100\n"
|
||||||
"Last-Translator: Tomáš Čech <sleep_walker@suse.cz>\n"
|
"Last-Translator: Tomáš Čech <sleep_walker@suse.cz>\n"
|
||||||
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
|
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
|
||||||
|
|
2
po/de.po
2
po/de.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
||||||
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/el.po
2
po/el.po
|
@ -10,7 +10,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-12-01 18:26+0200\n"
|
"PO-Revision-Date: 2012-12-01 18:26+0200\n"
|
||||||
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
|
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
|
||||||
"Language-Team: Ελληνικά, Σύγχρονα <opensuse-translation-el@opensuse.org>\n"
|
"Language-Team: Ελληνικά, Σύγχρονα <opensuse-translation-el@opensuse.org>\n"
|
||||||
|
|
2
po/eo.po
2
po/eo.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: enlightenment\n"
|
"Project-Id-Version: enlightenment\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-02-15 19:19+0900\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-02-04 22:41+0000\n"
|
"PO-Revision-Date: 2013-02-04 22:41+0000\n"
|
||||||
"Last-Translator: Eliovir <Unknown>\n"
|
"Last-Translator: Eliovir <Unknown>\n"
|
||||||
"Language-Team: Esperanto <eo@li.org>\n"
|
"Language-Team: Esperanto <eo@li.org>\n"
|
||||||
|
|
3
po/es.po
3
po/es.po
|
@ -3,12 +3,11 @@
|
||||||
# This file is put in the public domain.
|
# This file is put in the public domain.
|
||||||
# Aníbal Garrido <khany@member.trisquel.info>, 2012.
|
# Aníbal Garrido <khany@member.trisquel.info>, 2012.
|
||||||
# Adrián Arévalo <adri58@gmail.com>, 2012.
|
# Adrián Arévalo <adri58@gmail.com>, 2012.
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 23:28+0100\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-01-04 23:53+0100\n"
|
"PO-Revision-Date: 2013-01-04 23:53+0100\n"
|
||||||
"Last-Translator: Adrián Arévalo <adri58@gmail.com>\n"
|
"Last-Translator: Adrián Arévalo <adri58@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/fr.po
2
po/fr.po
|
@ -9,7 +9,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-01-01 17:10+0100\n"
|
"PO-Revision-Date: 2013-01-01 17:10+0100\n"
|
||||||
"Last-Translator: Chidambar Zinnoury <illogict@online.fr>\n"
|
"Last-Translator: Chidambar Zinnoury <illogict@online.fr>\n"
|
||||||
"Language-Team: Enlightenment French Team <enlightenment-intl@lists."
|
"Language-Team: Enlightenment French Team <enlightenment-intl@lists."
|
||||||
|
|
2
po/gl.po
2
po/gl.po
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-11-07 22:52+0100\n"
|
"PO-Revision-Date: 2012-11-07 22:52+0100\n"
|
||||||
"Last-Translator: Aníbal Garrido <khany@member.trisquel.info>\n"
|
"Last-Translator: Aníbal Garrido <khany@member.trisquel.info>\n"
|
||||||
"Language-Team: http://trasno.net/ <proxecto@trasno.net>\n"
|
"Language-Team: http://trasno.net/ <proxecto@trasno.net>\n"
|
||||||
|
|
2
po/it.po
2
po/it.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-05 20:49+0100\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-01-05 20:49+0100\n"
|
"PO-Revision-Date: 2013-01-05 20:49+0100\n"
|
||||||
"Last-Translator: Massimo Maiurana <maiurana@gmail.com>\n"
|
"Last-Translator: Massimo Maiurana <maiurana@gmail.com>\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
|
|
2
po/ja.po
2
po/ja.po
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
||||||
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/ko.po
2
po/ko.po
|
@ -9,7 +9,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-01-02 07:33+0900\n"
|
"PO-Revision-Date: 2013-01-02 07:33+0900\n"
|
||||||
"Last-Translator: Daniel Juyung Seo <seojuyung2@gmali.com>\n"
|
"Last-Translator: Daniel Juyung Seo <seojuyung2@gmali.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/lt.po
2
po/lt.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: enlightenment\n"
|
"Project-Id-Version: enlightenment\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-02-15 19:19+0900\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2013-01-05 21:52+0000\n"
|
"PO-Revision-Date: 2013-01-05 21:52+0000\n"
|
||||||
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
|
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
|
||||||
"Language-Team: Lithuanian <lt@li.org>\n"
|
"Language-Team: Lithuanian <lt@li.org>\n"
|
||||||
|
|
2
po/nl.po
2
po/nl.po
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
||||||
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/pt.po
2
po/pt.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-10-10 00:21+0100\n"
|
"PO-Revision-Date: 2012-10-10 00:21+0100\n"
|
||||||
"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
|
"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/ru.po
2
po/ru.po
|
@ -6,7 +6,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
||||||
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
2
po/sl.po
2
po/sl.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
|
||||||
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
"Last-Translator: Jerome Pinot <ngc891@gmail.com>\n"
|
||||||
"Language-Team: Enlightenment Team\n"
|
"Language-Team: Enlightenment Team\n"
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Efl\n"
|
"Project-Id-Version: Efl\n"
|
||||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||||
"POT-Creation-Date: 2013-01-04 16:21-0200\n"
|
"POT-Creation-Date: 2013-03-22 17:44+0900\n"
|
||||||
"PO-Revision-Date: 2012-12-22 03:45+0800\n"
|
"PO-Revision-Date: 2012-12-22 03:45+0800\n"
|
||||||
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
|
||||||
"Language-Team: Chinese (simplified)\n"
|
"Language-Team: Chinese (simplified)\n"
|
||||||
|
|
|
@ -35,14 +35,17 @@ lib_ecore_evas_libecore_evas_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
|
||||||
|
|
||||||
if BUILD_ECORE_EVAS_EXTN
|
if BUILD_ECORE_EVAS_EXTN
|
||||||
EXTNSOURCES = \
|
EXTNSOURCES = \
|
||||||
modules/ecore_evas/engines/extn/ecore_evas_extn.c
|
modules/ecore_evas/engines/extn/ecore_evas_extn.c \
|
||||||
|
modules/ecore_evas/engines/extn/ecore_evas_extn_engine.h \
|
||||||
|
modules/ecore_evas/engines/extn/ecore_evas_extn_buf.c
|
||||||
ecoreevasengineextnpkgdir = $(libdir)/ecore_evas/engines/extn/$(MODULE_ARCH)
|
ecoreevasengineextnpkgdir = $(libdir)/ecore_evas/engines/extn/$(MODULE_ARCH)
|
||||||
ecoreevasengineextnpkg_LTLIBRARIES = modules/ecore_evas/engines/extn/module.la
|
ecoreevasengineextnpkg_LTLIBRARIES = modules/ecore_evas/engines/extn/module.la
|
||||||
modules_ecore_evas_engines_extn_module_la_SOURCES = $(EXTNSOURCES)
|
modules_ecore_evas_engines_extn_module_la_SOURCES = $(EXTNSOURCES)
|
||||||
modules_ecore_evas_engines_extn_module_la_CPPFLAGS = \
|
modules_ecore_evas_engines_extn_module_la_CPPFLAGS = \
|
||||||
@ECORE_EVAS_CFLAGS@ \
|
@ECORE_EVAS_CFLAGS@ \
|
||||||
@ECORE_IPC_CFLAGS@ \
|
@ECORE_IPC_CFLAGS@ \
|
||||||
-I$(top_srcdir)/src/modules/evas/engines/buffer
|
-I$(top_srcdir)/src/modules/evas/engines/buffer \
|
||||||
|
-I$(top_srcdir)/src/modules/ecore_evas/engines/extn
|
||||||
modules_ecore_evas_engines_extn_module_la_LIBADD = \
|
modules_ecore_evas_engines_extn_module_la_LIBADD = \
|
||||||
@USE_ECORE_EVAS_LIBS@ \
|
@USE_ECORE_EVAS_LIBS@ \
|
||||||
@USE_ECORE_IPC_LIBS@ \
|
@USE_ECORE_IPC_LIBS@ \
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,175 @@
|
||||||
|
#include "ecore_evas_extn_engine.h"
|
||||||
|
|
||||||
|
struct _Extnbuf
|
||||||
|
{
|
||||||
|
const char *file, *lock;
|
||||||
|
void *addr;
|
||||||
|
int fd, lockfd;
|
||||||
|
int w, h, stride, size;
|
||||||
|
Eina_Bool have_lock : 1;
|
||||||
|
Eina_Bool am_owner : 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
// "owner" creates/frees the bufs, clients just open existing ones
|
||||||
|
Extnbuf *
|
||||||
|
_extnbuf_new(const char *base, int id, Eina_Bool sys, int num,
|
||||||
|
int w, int h, Eina_Bool owner)
|
||||||
|
{
|
||||||
|
Extnbuf *b;
|
||||||
|
char file[PATH_MAX];
|
||||||
|
mode_t mode = S_IRUSR | S_IWUSR;
|
||||||
|
|
||||||
|
b = calloc(1, sizeof(Extnbuf));
|
||||||
|
b->fd = -1;
|
||||||
|
b->lockfd = -1;
|
||||||
|
b->addr = MAP_FAILED;
|
||||||
|
b->w = w;
|
||||||
|
b->h = h;
|
||||||
|
b->stride = w * 4;
|
||||||
|
b->size = 4096 * (((b->stride * b->h) + (4096 - 1)) / 4096);
|
||||||
|
b->am_owner = owner;
|
||||||
|
|
||||||
|
snprintf(file, sizeof(file), "/%s-%i.%i", base, id, num);
|
||||||
|
b->file = eina_stringshare_add(file);
|
||||||
|
if (!b->file) goto err;
|
||||||
|
|
||||||
|
if (sys) mode |= S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
|
||||||
|
|
||||||
|
if (b->am_owner)
|
||||||
|
{
|
||||||
|
const char *s;
|
||||||
|
|
||||||
|
s = getenv("XDG_RUNTIME_DIR");
|
||||||
|
if (!s) s = getenv("TMPDIR");
|
||||||
|
if (!s) s = "/tmp";
|
||||||
|
snprintf(file, sizeof(file), "%s/ee-lock-XXXXXX", s);
|
||||||
|
b->lockfd = mkstemp(file);
|
||||||
|
if (b->lockfd < 0) goto err;
|
||||||
|
b->lock = eina_stringshare_add(file);
|
||||||
|
if (!b->lock) goto err;
|
||||||
|
b->fd = shm_open(b->file, O_RDWR | O_CREAT | O_EXCL, mode);
|
||||||
|
if (b->fd < 0) goto err;
|
||||||
|
if (ftruncate(b->fd, b->size) < 0) goto err;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
b->fd = shm_open(b->file, O_RDWR, mode);
|
||||||
|
if (b->fd < 0) goto err;
|
||||||
|
}
|
||||||
|
b->addr = mmap(NULL, b->size, PROT_READ | PROT_WRITE, MAP_SHARED,
|
||||||
|
b->fd, 0);
|
||||||
|
if (b->addr == MAP_FAILED) goto err;
|
||||||
|
return b;
|
||||||
|
err:
|
||||||
|
_extnbuf_free(b);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_extnbuf_free(Extnbuf *b)
|
||||||
|
{
|
||||||
|
if (b->have_lock) _extnbuf_unlock(b);
|
||||||
|
|
||||||
|
if (b->am_owner)
|
||||||
|
{
|
||||||
|
if (b->file) shm_unlink(b->file);
|
||||||
|
if (b->lock) unlink(b->lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (b->addr != MAP_FAILED) munmap(b->addr, b->size);
|
||||||
|
if (b->fd >= 0) close(b->fd);
|
||||||
|
if (b->lockfd >= 0) close(b->lockfd);
|
||||||
|
eina_stringshare_del(b->file);
|
||||||
|
eina_stringshare_del(b->lock);
|
||||||
|
b->file = NULL;
|
||||||
|
b->lock = NULL;
|
||||||
|
b->addr = MAP_FAILED;
|
||||||
|
b->fd = 1;
|
||||||
|
b->lockfd = 1;
|
||||||
|
b->am_owner = EINA_FALSE;
|
||||||
|
b->have_lock = EINA_FALSE;
|
||||||
|
b->w = 0;
|
||||||
|
b->h = 0;
|
||||||
|
b->stride = 0;
|
||||||
|
b->size = 0;
|
||||||
|
free(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
// both ends can lock or unlock a buf
|
||||||
|
void *
|
||||||
|
_extnbuf_data_get(Extnbuf *b, int *w, int *h, int *stride)
|
||||||
|
{
|
||||||
|
if (w) *w = b->w;
|
||||||
|
if (h) *h = b->h;
|
||||||
|
if (stride) *stride = b->stride;
|
||||||
|
return b->addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void *
|
||||||
|
_extnbuf_lock(Extnbuf *b, int *w, int *h, int *stride)
|
||||||
|
{
|
||||||
|
if (!b->have_lock)
|
||||||
|
{
|
||||||
|
if (b->lockfd >= 0)
|
||||||
|
{
|
||||||
|
if (lockf(b->lockfd, F_LOCK, 0) < 0)
|
||||||
|
{
|
||||||
|
ERR("lock take fail");
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
b->have_lock = EINA_TRUE;
|
||||||
|
}
|
||||||
|
return _extnbuf_data_get(b, w, h, stride);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_extnbuf_unlock(Extnbuf *b)
|
||||||
|
{
|
||||||
|
if (!b->have_lock) return;
|
||||||
|
if (b->lockfd >= 0)
|
||||||
|
{
|
||||||
|
if (lockf(b->lockfd, F_ULOCK, 0) < 0)
|
||||||
|
{
|
||||||
|
ERR("lock release fail");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
b->have_lock = EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
_extnbuf_lock_file_get(const Extnbuf *b)
|
||||||
|
{
|
||||||
|
return b->lock;
|
||||||
|
}
|
||||||
|
|
||||||
|
Eina_Bool
|
||||||
|
_extnbuf_lock_file_set(Extnbuf *b, const char *file)
|
||||||
|
{
|
||||||
|
if (b->am_owner) return EINA_FALSE;
|
||||||
|
if (b->lock) eina_stringshare_del(b->lock);
|
||||||
|
if (b->lockfd >= 0) close(b->lockfd);
|
||||||
|
if (!file)
|
||||||
|
{
|
||||||
|
b->lock = NULL;
|
||||||
|
b->lockfd = -1;
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
b->lock = eina_stringshare_add(file);
|
||||||
|
if (!b->lock) goto err;
|
||||||
|
b->lockfd = open(b->lock, O_RDWR);
|
||||||
|
if (b->lockfd >= 0) return EINA_TRUE;
|
||||||
|
err:
|
||||||
|
if (b->lock) eina_stringshare_del(b->lock);
|
||||||
|
if (b->lockfd >= 0) close(b->lockfd);
|
||||||
|
b->lockfd = -1;
|
||||||
|
b->lock = NULL;
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
Eina_Bool
|
||||||
|
_extnbuf_lock_get(const Extnbuf *b)
|
||||||
|
{
|
||||||
|
return b->have_lock;
|
||||||
|
}
|
|
@ -0,0 +1,220 @@
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include <config.h>
|
||||||
|
#endif
|
||||||
|
#ifdef STDC_HEADERS
|
||||||
|
# include <stdlib.h>
|
||||||
|
# include <stddef.h>
|
||||||
|
#else
|
||||||
|
# ifdef HAVE_STDLIB_H
|
||||||
|
# include <stdlib.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <time.h>
|
||||||
|
#ifdef HAVE_SYS_MMAN_H
|
||||||
|
# include <sys/mman.h>
|
||||||
|
#endif
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/file.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <Evas.h>
|
||||||
|
#include <Evas_Engine_Buffer.h>
|
||||||
|
#include <Ecore.h>
|
||||||
|
#include <Ecore_Evas.h>
|
||||||
|
#include <Ecore_Input.h>
|
||||||
|
#include <Ecore_Ipc.h>
|
||||||
|
|
||||||
|
#include "ecore_private.h" // FIXME: Because of ECORE_MAGIC
|
||||||
|
#include "ecore_evas_private.h"
|
||||||
|
#include "ecore_evas_buffer.h"
|
||||||
|
#include "ecore_evas_extn.h"
|
||||||
|
|
||||||
|
typedef struct _Extnbuf Extnbuf;
|
||||||
|
|
||||||
|
Extnbuf *_extnbuf_new(const char *base, int id, Eina_Bool sys, int num,
|
||||||
|
int w, int h, Eina_Bool owner);
|
||||||
|
void _extnbuf_free(Extnbuf *b);
|
||||||
|
void *_extnbuf_data_get(Extnbuf *b, int *w, int *h, int *stride);
|
||||||
|
void *_extnbuf_lock(Extnbuf *b, int *w, int *h, int *stride);
|
||||||
|
void _extnbuf_unlock(Extnbuf *b);
|
||||||
|
const char *_extnbuf_lock_file_get(const Extnbuf *b);
|
||||||
|
Eina_Bool _extnbuf_lock_file_set(Extnbuf *b, const char *file);
|
||||||
|
Eina_Bool _extnbuf_lock_get(const Extnbuf *b);
|
||||||
|
|
||||||
|
// procotol version - change this as needed
|
||||||
|
#define MAJOR 0x2011
|
||||||
|
|
||||||
|
enum // opcodes
|
||||||
|
{
|
||||||
|
OP_RESIZE,
|
||||||
|
OP_SHOW,
|
||||||
|
OP_HIDE,
|
||||||
|
OP_FOCUS,
|
||||||
|
OP_UNFOCUS,
|
||||||
|
OP_UPDATE,
|
||||||
|
OP_UPDATE_DONE,
|
||||||
|
OP_SHM_REF0,
|
||||||
|
OP_SHM_REF1,
|
||||||
|
OP_SHM_REF2,
|
||||||
|
OP_PROFILE_CHANGE_REQUEST,
|
||||||
|
OP_PROFILE_CHANGE_DONE,
|
||||||
|
OP_EV_MOUSE_IN,
|
||||||
|
OP_EV_MOUSE_OUT,
|
||||||
|
OP_EV_MOUSE_UP,
|
||||||
|
OP_EV_MOUSE_DOWN,
|
||||||
|
OP_EV_MOUSE_MOVE,
|
||||||
|
OP_EV_MOUSE_WHEEL,
|
||||||
|
OP_EV_MULTI_UP,
|
||||||
|
OP_EV_MULTI_DOWN,
|
||||||
|
OP_EV_MULTI_MOVE,
|
||||||
|
OP_EV_KEY_UP,
|
||||||
|
OP_EV_KEY_DOWN,
|
||||||
|
OP_EV_HOLD,
|
||||||
|
OP_MSG_PARENT,
|
||||||
|
OP_MSG
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
MOD_SHIFT = (1 << 0),
|
||||||
|
MOD_CTRL = (1 << 1),
|
||||||
|
MOD_ALT = (1 << 2),
|
||||||
|
MOD_META = (1 << 3),
|
||||||
|
MOD_HYPER = (1 << 4),
|
||||||
|
MOD_SUPER = (1 << 5),
|
||||||
|
MOD_CAPS = (1 << 6),
|
||||||
|
MOD_NUM = (1 << 7),
|
||||||
|
MOD_SCROLL = (1 << 8),
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _Ipc_Data_Resize Ipc_Data_Resize;
|
||||||
|
typedef struct _Ipc_Data_Update Ipc_Data_Update;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_In Ipc_Data_Ev_Mouse_In;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_Out Ipc_Data_Ev_Mouse_Out;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_Up Ipc_Data_Ev_Mouse_Up;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_Down Ipc_Data_Ev_Mouse_Down;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_Move Ipc_Data_Ev_Mouse_Move;
|
||||||
|
typedef struct _Ipc_Data_Ev_Mouse_Wheel Ipc_Data_Ev_Mouse_Wheel;
|
||||||
|
typedef struct _Ipc_Data_Ev_Hold Ipc_Data_Ev_Hold;
|
||||||
|
typedef struct _Ipc_Data_Ev_Multi_Up Ipc_Data_Ev_Multi_Up;
|
||||||
|
typedef struct _Ipc_Data_Ev_Multi_Down Ipc_Data_Ev_Multi_Down;
|
||||||
|
typedef struct _Ipc_Data_Ev_Multi_Move Ipc_Data_Ev_Multi_Move;
|
||||||
|
typedef struct _Ipc_Data_Ev_Key_Up Ipc_Data_Ev_Key_Up;
|
||||||
|
typedef struct _Ipc_Data_Ev_Key_Down Ipc_Data_Ev_Key_Down;
|
||||||
|
|
||||||
|
struct _Ipc_Data_Resize
|
||||||
|
{
|
||||||
|
int w, h;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Update
|
||||||
|
{
|
||||||
|
int x, w, y, h;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_In
|
||||||
|
{
|
||||||
|
unsigned int timestamp;
|
||||||
|
int mask;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_Out
|
||||||
|
{
|
||||||
|
unsigned int timestamp;
|
||||||
|
int mask;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_Up
|
||||||
|
{
|
||||||
|
int b;
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_Down
|
||||||
|
{
|
||||||
|
int b;
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_Move
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Mouse_Wheel
|
||||||
|
{
|
||||||
|
int direction, z;
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Hold
|
||||||
|
{
|
||||||
|
int hold;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Multi_Up
|
||||||
|
{
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int d, x, y;
|
||||||
|
double rad, radx, rady, pres, ang, fx, fy;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Multi_Down
|
||||||
|
{
|
||||||
|
Evas_Button_Flags flags;
|
||||||
|
int d, x, y;
|
||||||
|
double rad, radx, rady, pres, ang, fx, fy;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Multi_Move
|
||||||
|
{
|
||||||
|
int d, x, y;
|
||||||
|
double rad, radx, rady, pres, ang, fx, fy;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Key_Up
|
||||||
|
{
|
||||||
|
const char *keyname, *key, *string, *compose;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Ipc_Data_Ev_Key_Down
|
||||||
|
{
|
||||||
|
const char *keyname, *key, *string, *compose;
|
||||||
|
int mask;
|
||||||
|
unsigned int timestamp;
|
||||||
|
Evas_Event_Flags event_flags;
|
||||||
|
};
|
Loading…
Reference in New Issue