parent
e1704a29b5
commit
7f3528ec27
37 changed files with 4759 additions and 0 deletions
@ -0,0 +1,2 @@ |
||||
The Rasterman (Carsten Haitzler) <raster@rasterman.com> |
||||
|
@ -0,0 +1,28 @@ |
||||
Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS) |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to |
||||
deal in the Software without restriction, including without limitation the |
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
||||
sell copies of the Software, and to permit persons to whom the Software is |
||||
furnished to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice shall be included in |
||||
all copies of the Software and its Copyright notices. In addition publicly |
||||
documented acknowledgment must be given that this software has been used if no |
||||
source code of this software is made available publicly. This includes |
||||
acknowledgments in either Copyright notices, Manuals, Publicity and Marketing |
||||
documents or any documentation provided with any product containing this |
||||
software. This License does not apply to any software that links to the |
||||
libraries provided by this software (statically or dynamically), but only to |
||||
the software provided. |
||||
|
||||
Please see the COPYING.PLAIN for a plain-english explanation of this notice |
||||
and it's intent. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,33 @@ |
||||
Plain English Copyright Notice |
||||
|
||||
This file is not intended to be the actual License. The reason this file |
||||
exists is that we here are programmers and engineers. We aren't lawyers. We |
||||
provide licenses that we THINK say the right things, but we have our own |
||||
intentions at heart. This is a plain-english explanation of what those |
||||
intentions are, and if you follow them you will be within the "spirit" of |
||||
the license. |
||||
|
||||
The intent is for us to enjoy writing software that is useful to us (the |
||||
AUTHORS) and allow others to use it freely and also benefit from the work we |
||||
put into making it. We don't want to restrict others using it. They should |
||||
not *HAVE* to make the source code of the applications they write that |
||||
simply link to these libraries (be that statically or dynamically), or for |
||||
them to be limited as to what license they choose to use (be it open, closed |
||||
or anything else). But we would like to know you are using these libraries. |
||||
We simply would like to know that it has been useful to someone. This is why |
||||
we ask for acknowledgement of some sort. |
||||
|
||||
You can do what you want with the source of this software - it doesn't |
||||
matter. We still have it here for ourselves and it is open and free to use |
||||
and download and play with. It can't be taken away. We don't really mind what |
||||
you do with the source to your software. We would simply like to know that |
||||
you are using it - especially if it makes it to a commerical product. If you |
||||
simply e-mail all the AUTHORS (see COPYING and AUTHORS files) telling us, and |
||||
then make sure you include a paragraph or page in the manual for the product |
||||
with the copyright notice and state that you used this software, we will be |
||||
very happy. If you want to contribute back modifications and fixes you may have |
||||
made we will welcome those too with open arms (generally). If you want help |
||||
with changes needed, ports needed or features to be added, arrangements can |
||||
be easily made with some dialogue. |
||||
|
||||
Carsten Haitzler <raster@rasterman.com> |
@ -0,0 +1,145 @@ |
||||
PROJECT_NAME = Emotion |
||||
PROJECT_NUMBER = |
||||
OUTPUT_DIRECTORY = doc |
||||
INPUT = emotion.c |
||||
IMAGE_PATH = doc/img |
||||
OUTPUT_LANGUAGE = English |
||||
GENERATE_HTML = YES |
||||
HTML_OUTPUT = html |
||||
HTML_FILE_EXTENSION = .html |
||||
HTML_HEADER = doc/head.html |
||||
HTML_FOOTER = doc/foot.html |
||||
HTML_STYLESHEET = doc/emotion.css |
||||
HTML_ALIGN_MEMBERS = YES |
||||
ENUM_VALUES_PER_LINE = 1 |
||||
GENERATE_HTMLHELP = NO |
||||
CHM_FILE = |
||||
HHC_LOCATION = |
||||
GENERATE_CHI = NO |
||||
BINARY_TOC = NO |
||||
TOC_EXPAND = NO |
||||
DISABLE_INDEX = NO |
||||
EXTRACT_ALL = NO |
||||
EXTRACT_PRIVATE = NO |
||||
EXTRACT_STATIC = NO |
||||
EXTRACT_LOCAL_CLASSES = NO |
||||
HIDE_UNDOC_MEMBERS = YES |
||||
HIDE_UNDOC_CLASSES = YES |
||||
HIDE_FRIEND_COMPOUNDS = YES |
||||
BRIEF_MEMBER_DESC = YES |
||||
REPEAT_BRIEF = YES |
||||
ALWAYS_DETAILED_SEC = NO |
||||
INLINE_INHERITED_MEMB = NO |
||||
FULL_PATH_NAMES = NO |
||||
STRIP_FROM_PATH = |
||||
INTERNAL_DOCS = NO |
||||
STRIP_CODE_COMMENTS = YES |
||||
CASE_SENSE_NAMES = YES |
||||
SHORT_NAMES = NO |
||||
HIDE_SCOPE_NAMES = NO |
||||
VERBATIM_HEADERS = NO |
||||
SHOW_INCLUDE_FILES = NO |
||||
JAVADOC_AUTOBRIEF = YES |
||||
MULTILINE_CPP_IS_BRIEF = NO |
||||
DETAILS_AT_TOP = NO |
||||
INHERIT_DOCS = YES |
||||
INLINE_INFO = YES |
||||
SORT_MEMBER_DOCS = YES |
||||
DISTRIBUTE_GROUP_DOC = NO |
||||
TAB_SIZE = 2 |
||||
GENERATE_TODOLIST = YES |
||||
GENERATE_TESTLIST = YES |
||||
GENERATE_BUGLIST = YES |
||||
GENERATE_DEPRECATEDLIST= YES |
||||
ALIASES = |
||||
ENABLED_SECTIONS = |
||||
MAX_INITIALIZER_LINES = 30 |
||||
OPTIMIZE_OUTPUT_FOR_C = YES |
||||
OPTIMIZE_OUTPUT_JAVA = NO |
||||
SHOW_USED_FILES = NO |
||||
QUIET = NO |
||||
WARNINGS = YES |
||||
WARN_IF_UNDOCUMENTED = YES |
||||
WARN_FORMAT = "$file:$line: $text" |
||||
WARN_LOGFILE = |
||||
FILE_PATTERNS = |
||||
RECURSIVE = NO |
||||
EXCLUDE = |
||||
EXCLUDE_SYMLINKS = NO |
||||
EXCLUDE_PATTERNS = |
||||
EXAMPLE_PATH = |
||||
EXAMPLE_PATTERNS = |
||||
EXAMPLE_RECURSIVE = NO |
||||
INPUT_FILTER = |
||||
FILTER_SOURCE_FILES = NO |
||||
SOURCE_BROWSER = NO |
||||
INLINE_SOURCES = NO |
||||
REFERENCED_BY_RELATION = YES |
||||
REFERENCES_RELATION = YES |
||||
ALPHABETICAL_INDEX = YES |
||||
COLS_IN_ALPHA_INDEX = 2 |
||||
IGNORE_PREFIX = |
||||
GENERATE_TREEVIEW = NO |
||||
TREEVIEW_WIDTH = 250 |
||||
GENERATE_LATEX = YES |
||||
LATEX_OUTPUT = latex |
||||
LATEX_CMD_NAME = latex |
||||
MAKEINDEX_CMD_NAME = makeindex |
||||
COMPACT_LATEX = NO |
||||
PAPER_TYPE = a4wide |
||||
EXTRA_PACKAGES = |
||||
LATEX_HEADER = |
||||
PDF_HYPERLINKS = YES |
||||
USE_PDFLATEX = NO |
||||
LATEX_BATCHMODE = NO |
||||
GENERATE_RTF = NO |
||||
RTF_OUTPUT = rtf |
||||
COMPACT_RTF = NO |
||||
RTF_HYPERLINKS = NO |
||||
RTF_STYLESHEET_FILE = |
||||
RTF_EXTENSIONS_FILE = |
||||
GENERATE_MAN = YES |
||||
MAN_OUTPUT = man |
||||
MAN_EXTENSION = .3 |
||||
MAN_LINKS = YES |
||||
GENERATE_XML = NO |
||||
XML_SCHEMA = |
||||
XML_DTD = |
||||
GENERATE_AUTOGEN_DEF = NO |
||||
ENABLE_PREPROCESSING = YES |
||||
MACRO_EXPANSION = NO |
||||
EXPAND_ONLY_PREDEF = NO |
||||
SEARCH_INCLUDES = NO |
||||
INCLUDE_PATH = |
||||
INCLUDE_FILE_PATTERNS = |
||||
PREDEFINED = |
||||
EXPAND_AS_DEFINED = |
||||
SKIP_FUNCTION_MACROS = YES |
||||
TAGFILES = |
||||
GENERATE_TAGFILE = |
||||
ALLEXTERNALS = NO |
||||
EXTERNAL_GROUPS = YES |
||||
PERL_PATH = /usr/bin/perl |
||||
CLASS_DIAGRAMS = NO |
||||
HIDE_UNDOC_RELATIONS = YES |
||||
HAVE_DOT = NO |
||||
CLASS_GRAPH = NO |
||||
COLLABORATION_GRAPH = NO |
||||
TEMPLATE_RELATIONS = NO |
||||
INCLUDE_GRAPH = NO |
||||
INCLUDED_BY_GRAPH = NO |
||||
GRAPHICAL_HIERARCHY = NO |
||||
DOT_IMAGE_FORMAT = png |
||||
DOT_PATH = |
||||
DOTFILE_DIRS = |
||||
MAX_DOT_GRAPH_WIDTH = 512 |
||||
MAX_DOT_GRAPH_HEIGHT = 512 |
||||
GENERATE_LEGEND = YES |
||||
DOT_CLEANUP = YES |
||||
SEARCHENGINE = NO |
||||
CGI_NAME = search.cgi |
||||
CGI_URL = |
||||
DOC_URL = |
||||
DOC_ABSPATH = |
||||
BIN_ABSPATH = /usr/bin/ |
||||
EXT_DOC_PATHS = |
@ -0,0 +1,14 @@ |
||||
COMPILING and INSTALLING: |
||||
|
||||
If you got a official release tar archive do: |
||||
./configure |
||||
|
||||
( otherwise if you got this from enlightenment cvs do: ./autogen.sh ) |
||||
|
||||
Then to compile: |
||||
make |
||||
|
||||
To install (run this as root, or the user who handles installs): |
||||
make install |
||||
|
||||
NOTE: You MUST make install Emotion for it to run properly. |
@ -0,0 +1,13 @@ |
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
SUBDIRS = src data
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
|
||||
config.h.in config.sub configure install-sh \
|
||||
ltconfig ltmain.sh missing mkinstalldirs \
|
||||
stamp-h.in emotion_docs.tar emotion_docs.tar.gz \
|
||||
emotion.c acconfig.h
|
||||
|
||||
bin_SCRIPTS = emotion-config
|
||||
|
||||
EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN emotion.spec emotion.c.in gendoc Doxyfile emotion_docs.tar.gz
|
@ -0,0 +1 @@ |
||||
Emotion 0.0.1 |
@ -0,0 +1,137 @@ |
||||
#!/bin/sh |
||||
# Run this to generate all the initial makefiles, etc. |
||||
|
||||
srcdir=`dirname $0` |
||||
PKG_NAME="the package." |
||||
|
||||
DIE=0 |
||||
|
||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`autoconf' installed to." |
||||
echo "Download the appropriate package for your distribution," |
||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" |
||||
DIE=1 |
||||
} |
||||
|
||||
(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { |
||||
(libtool --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`libtool' installed." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
} |
||||
|
||||
grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && { |
||||
grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \ |
||||
(gettext --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`gettext' installed." |
||||
echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
} |
||||
|
||||
(automake --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: You must have \`automake' installed." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
NO_AUTOMAKE=yes |
||||
} |
||||
|
||||
|
||||
# if no automake, don't bother testing for aclocal |
||||
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { |
||||
echo |
||||
echo "**Error**: Missing \`aclocal'. The version of \`automake'" |
||||
echo "installed doesn't appear recent enough." |
||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" |
||||
echo "(or a newer version if it is available)" |
||||
DIE=1 |
||||
} |
||||
|
||||
if test "$DIE" -eq 1; then |
||||
exit 1 |
||||
fi |
||||
|
||||
if test -z "$*"; then |
||||
echo "**Warning**: I am going to run \`configure' with no arguments." |
||||
echo "If you wish to pass any to it, please specify them on the" |
||||
echo \`$0\'" command line." |
||||
echo |
||||
fi |
||||
|
||||
case $CC in |
||||
xlc ) |
||||
am_opt=--include-deps;; |
||||
esac |
||||
|
||||
for coin in `find $srcdir -name configure.in -print` |
||||
do |
||||
dr=`dirname $coin` |
||||
if test -f $dr/NO-AUTO-GEN; then |
||||
echo skipping $dr -- flagged as no auto-gen |
||||
else |
||||
echo processing $dr |
||||
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin` |
||||
( cd $dr |
||||
aclocalinclude="$ACLOCAL_FLAGS" |
||||
for k in $macrodirs; do |
||||
if test -d $k; then |
||||
aclocalinclude="$aclocalinclude -I $k" |
||||
##else |
||||
## echo "**Warning**: No such directory \`$k'. Ignored." |
||||
fi |
||||
done |
||||
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then |
||||
if grep "sed.*POTFILES" configure.in >/dev/null; then |
||||
: do nothing -- we still have an old unmodified configure.in |
||||
else |
||||
echo "Creating $dr/aclocal.m4 ..." |
||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 |
||||
echo "Running gettextize... Ignore non-fatal messages." |
||||
echo "no" | gettextize --force --copy |
||||
echo "Making $dr/aclocal.m4 writable ..." |
||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 |
||||
fi |
||||
fi |
||||
if grep "^AM_GNOME_GETTEXT" configure.in >/dev/null; then |
||||
echo "Creating $dr/aclocal.m4 ..." |
||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 |
||||
echo "Running gettextize... Ignore non-fatal messages." |
||||
echo "no" | gettextize --force --copy |
||||
echo "Making $dr/aclocal.m4 writable ..." |
||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4 |
||||
fi |
||||
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then |
||||
echo "Running libtoolize..." |
||||
libtoolize --force --copy |
||||
fi |
||||
echo "Running aclocal $aclocalinclude ..." |
||||
aclocal $aclocalinclude |
||||
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then |
||||
echo "Running autoheader..." |
||||
autoheader |
||||
fi |
||||
echo "Running automake --gnu $am_opt ..." |
||||
automake --add-missing --gnu $am_opt |
||||
echo "Running autoconf ..." |
||||
autoconf |
||||
) |
||||
fi |
||||
done |
||||
|
||||
#conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c |
||||
|
||||
if test x$NOCONFIGURE = x; then |
||||
echo Running $srcdir/configure $conf_flags "$@" ... |
||||
$srcdir/configure $conf_flags "$@" \ |
||||
&& echo Now type \`make\' to compile $PKG_NAME |
||||
else |
||||
echo Skipping configure process. |
||||
fi |
@ -0,0 +1,175 @@ |
||||
dnl Process this file with autoconf to produce a configure script. |
||||
|
||||
# get rid of that stupid cache mechanism |
||||
rm -f config.cache |
||||
|
||||
AC_INIT(configure.in) |
||||
AM_INIT_AUTOMAKE(emotion, 0.0.1) |
||||
AM_CONFIG_HEADER(config.h) |
||||
|
||||
AC_C_BIGENDIAN |
||||
AC_ISC_POSIX |
||||
AC_PROG_CC |
||||
AM_PROG_CC_STDC |
||||
AC_HEADER_STDC |
||||
AC_C_CONST |
||||
AM_ENABLE_SHARED |
||||
AM_PROG_LIBTOOL |
||||
|
||||
if test "x${exec_prefix}" = "xNONE"; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
bindir="${ac_default_prefix}/bin"; |
||||
else |
||||
bindir="${prefix}/bin"; |
||||
fi |
||||
else |
||||
if test "x${prefix}" = "xNONE"; then |
||||
bindir="${ac_default_prefix}/bin"; |
||||
else |
||||
bindir="${prefix}/bin"; |
||||
fi |
||||
fi |
||||
|
||||
if test "x${exec_prefix}" = "xNONE"; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
libdir="${ac_default_prefix}/lib"; |
||||
else |
||||
libdir="${prefix}/lib"; |
||||
fi |
||||
else |
||||
if test "x${prefix}" = "xNONE"; then |
||||
libdir="${ac_default_prefix}/lib"; |
||||
else |
||||
libdir="${prefix}/lib"; |
||||
fi |
||||
fi |
||||
|
||||
dnl Set PACKAGE_DATA_DIR in config.h. |
||||
if test "x${datadir}" = 'x${prefix}/share'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/share/${PACKAGE}", [Package Data Directory]) |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/share/${PACKAGE}", [Package Data Directory]) |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${datadir}/${PACKAGE}", [Package Data Directory]) |
||||
fi |
||||
|
||||
dnl Set PACKAGE_BIN_DIR in config.h. |
||||
if test "x${bindir}" = 'xNONE'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${ac_default_prefix}/bin", [Install Location for Executables]) |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${prefix}/bin", [Install Location for Executables]) |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${bindir}". [Install Location for Executables]) |
||||
fi |
||||
|
||||
dnl Set PACKAGE_LIB_DIR in config.h. |
||||
if test "x${libdir}" = 'xNONE'; then |
||||
if test "x${prefix}" = "xNONE"; then |
||||
AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${ac_default_prefix}/lib", [Install Location for Libraries]) |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${prefix}/lib", [Install Location for Libraries]) |
||||
fi |
||||
else |
||||
AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${libdir}", [Install Location for Libraries]) |
||||
fi |
||||
|
||||
dnl Set PACKAGE_SOURCE_DIR in config.h. |
||||
packagesrcdir=`cd $srcdir && pwd` |
||||
AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Source Directory]) |
||||
|
||||
function vser |
||||
{ |
||||
v=$1 |
||||
VSTART=`echo $v | awk -F_ '{printf("%s", $1);}'` |
||||
V1=`echo $VSTART | awk -F\. '{printf("%s", $1);}'` |
||||
V2=`echo $VSTART | awk -F\. '{printf("%s", $2);}'` |
||||
V3=`echo $VSTART | awk -F\. '{printf("%s", $3);}'` |
||||
V4="0" |
||||
VEND=`echo $v | awk -F_ '{printf("%s", $2);}'` |
||||
if test -n "$VEND"; then |
||||
V4=`echo $VEND | sed s/pre//` |
||||
fi |
||||
V3=$(( $V3 * 100 )); |
||||
V2=$(( $V2 * 10000 )); |
||||
V1=$(( $V1 * 1000000 )); |
||||
V=$(( $V4 + $V3 + $V2 + $V1 )); |
||||
echo $V |
||||
} |
||||
|
||||
if [ test -z "$EET_CONFIG" ]; then EET_CONFIG="eet-config"; fi |
||||
if [ test -z "$EVAS_CONFIG" ]; then EVAS_CONFIG="evas-config"; fi |
||||
if [ test -z "$EDJE_CONFIG" ]; then EDJE_CONFIG="edje-config"; fi |
||||
if [ test -z "$ECORE_CONFIG" ]; then ECORE_CONFIG="ecore-config"; fi |
||||
if [ test -z "$EMBRYO_CONFIG" ]; then EMBRYO_CONFIG="embryo-config"; fi |
||||
if [ test -z "$XINE_CONFIG" ]; then XINE_CONFIG="xine-config"; fi |
||||
|
||||
V=`$ECORE_CONFIG --version` |
||||
VV=`vser $V` |
||||
VM="1.0.0_pre7" |
||||
VVM=`vser $VM` |
||||
if test $VV -lt $VVM; then |
||||
echo "Error. Ecore is not at least "$VM". It is "$V". Abort." |
||||
exit -1 |
||||
fi |
||||
|
||||
V=`$EVAS_CONFIG --version` |
||||
VV=`vser $V` |
||||
VM="1.0.0_pre13" |
||||
VVM=`vser $VM` |
||||
if test $VV -lt $VVM; then |
||||
echo "Error. Evas is not at least "$VM". It is "$V". Abort." |
||||
exit -1 |
||||
fi |
||||
|
||||
V=`$EDJE_CONFIG --version` |
||||
VV=`vser $V` |
||||
VM="0.5.0" |
||||
VVM=`vser $VM` |
||||
if test $VV -lt $VVM; then |
||||
echo "Error. Edje is not at least "$VM". It is "$V". Abort." |
||||
exit -1 |
||||
fi |
||||
|
||||
V=`$XINE_CONFIG --version` |
||||
VV=`vser $V` |
||||
VM="1.0.0" |
||||
VVM=`vser $VM` |
||||
if test $VV -lt $VVM; then |
||||
echo "Error. Xine is not at least "$VM". It is "$V". Abort." |
||||
exit -1 |
||||
fi |
||||
|
||||
my_cflags=`$EVAS_CONFIG --cflags`" "`$ECORE_CONFIG --cflags` |
||||
my_libs=`$EVAS_CONFIG --libs`" "`$ECORE_CONFIG --libs` |
||||
AC_SUBST(my_cflags) |
||||
AC_SUBST(my_libs) |
||||
|
||||
edje_cflags=`$EDJE_CONFIG --cflags` |
||||
edje_libs=`$EDJE_CONFIG --libs` |
||||
AC_SUBST(edje_cflags) |
||||
AC_SUBST(edje_libs) |
||||
|
||||
xine_cflags=`$XINE_CONFIG --cflags` |
||||
xine_libs=`$XINE_CONFIG --libs` |
||||
xine_plugins=`$XINE_CONFIG --plugindir` |
||||
|
||||
AC_SUBST(xine_cflags) |
||||
AC_SUBST(xine_libs) |
||||
AC_SUBST(xine_plugins) |
||||
|
||||
AC_OUTPUT([ |
||||
Makefile |
||||
src/Makefile |
||||
src/lib/Makefile |
||||
src/modules/Makefile |
||||
src/modules/xine/Makefile |
||||
src/bin/Makefile |
||||
data/Makefile |
||||
emotion-config |
||||
],[ |
||||
chmod +x emotion-config |
||||
]) |
@ -0,0 +1,4 @@ |
||||
filesdir = $(datadir)/emotion/data
|
||||
files_DATA = theme.eet
|
||||
|
||||
EXTRA_DIST = $(files_DATA)
|
Binary file not shown.
@ -0,0 +1,178 @@ |
||||
td.md { |
||||
background-color: #ffffff; |
||||
font-family: monospace; |
||||
text-align: left; |
||||
vertical-align: center; |
||||
font-size: 10; |
||||
padding-right : 1px; |
||||
padding-top : 1px; |
||||
padding-left : 1px; |
||||
padding-bottom : 1px; |
||||
margin-left : 1px; |
||||
margin-right : 1px; |
||||
margin-top : 1px; |
||||
margin-bottom : 1px |
||||
} |
||||
td.mdname { |
||||
font-family: monospace; |
||||
text-align: left; |
||||
vertical-align: center; |
||||
font-size: 10; |
||||
padding-right : 1px; |
||||
padding-top : 1px; |
||||
padding-left : 1px; |
||||
padding-bottom : 1px; |
||||
margin-left : 1px; |
||||
margin-right : 1px; |
||||
margin-top : 1px; |
||||
margin-bottom : 1px |
||||
} |
||||
h1 |
||||
{ |
||||
text-align: center; |
||||
color: #333333 |
||||
} |
||||
h2 |
||||
{ |
||||
text-align: left; |
||||
color: #333333 |
||||
} |
||||
h3 |
||||
{ |
||||
text-align: left; |
||||
color: #333333 |
||||
} |
||||
a:link |
||||
{ |
||||
text-decoration: none; |
||||
color: #444444; |
||||
font-weight: bold; |
||||
} |
||||
a:visited |
||||
{ |
||||
text-decoration: none; |
||||
color: #666666; |
||||
font-weight: bold; |
||||
} |
||||
a:hover |
||||
{ |
||||
text-decoration: none; |
||||
color: #000000; |
||||
font-weight: bold; |
||||
} |
||||
a.nav:link |
||||
{ |
||||
text-decoration: none; |
||||
color: #444444; |
||||
font-weight: normal; |
||||
} |
||||
a.nav:visited |
||||
{ |
||||
text-decoration: none; |
||||
color: #666666; |
||||
font-weight: normal; |
||||
} |
||||
a.nav:hover |
||||
{ |
||||
text-decoration: none; |
||||
color: #000000; |
||||
font-weight: normal; |
||||
} |
||||
a.qindex:link |
||||
{ |
||||
text-decoration: none; |
||||
color: #444444; |
||||
font-weight: normal; |
||||
} |
||||
a.qindex:visited |
||||
{ |
||||
text-decoration: none; |
||||
color: #666666; |
||||
font-weight: normal; |
||||
} |
||||
a.qindex:hover |
||||
{ |
||||
text-decoration: none; |
||||
color: #000000; |
||||
font-weight: normal; |
||||
} |
||||
p |
||||
{ |
||||
color: #000000; |
||||
font-family: sans-serif; |
||||
font-size: 10; |
||||
} |
||||
body { |
||||
background-image: url("hilite.png"); |
||||
background-repeat: no-repeat; |
||||
background-position: left top; |
||||
background-color: #dddddd; |
||||
color: #000000; |
||||
font-family: sans-serif; |
||||
padding: 8px; |
||||
margin: 0; |
||||
} |
||||
div.fragment |
||||
{ |
||||
background-image: url("hilite.png"); |
||||
background-repeat: no-repeat; |
||||
background-position: left top; |
||||
border: thin solid #888888; |
||||
background-color: #eeeeee; |
||||
padding: 4px; |
||||
text-align: left; |
||||
vertical-align: center; |
||||
font-size: 12; |
||||
} |
||||
hr |
||||
{ |
||||
border: 0; |
||||
background-color: #000000; |
||||
width: 80%; |
||||
height: 1; |
||||
} |
||||
dl |
||||
{ |
||||
background-image: url("hilite.png"); |
||||
background-repeat: no-repeat; |
||||
background-position: left top; |
||||
border: thin solid #aaaaaa; |
||||
background-color: #eeeeee; |
||||
padding: 4px; |
||||
text-align: left; |
||||
vertical-align: center; |
||||
font-size: 12; |
||||
} |
||||
em |
||||
{ |
||||
color: #334466; |
||||
font-family: courier; |
||||
font-size: 10; |
||||
font-style: normal; |
||||
} |
||||
|
||||
div.nav |
||||
{ |
||||
border: thin solid #000000; |
||||
background-color: #ffffff; |
||||
padding: 1px; |
||||
text-align: center; |
||||
vertical-align: center; |
||||
font-size: 12; |
||||
} |
||||
div.body |
||||
{ |
||||
border: thin solid #000000; |
||||
background-color: #ffffff; |
||||
padding: 4px; |
||||
text-align: left; |
||||
font-size: 10; |
||||
} |
||||
div.diag |
||||
{ |
||||
border: thin solid #888888; |
||||
background-color: #eeeeee; |
||||
padding: 4px; |
||||
text-align: center; |
||||
font-size: 8; |
||||
} |
@ -0,0 +1,2 @@ |
||||
</body> |
||||
</html> |
@ -0,0 +1,19 @@ |
||||
<html> |
||||
|
||||
<head> |
||||
|
||||
<title>$title</title> |
||||
<link href=emotion.css rel=stylesheet type=text/css> |
||||
|
||||
</head> |
||||
|
||||
<body> |
||||
<div class=nav> |
||||
<table border=0 align=center><tr> |
||||
<td width=16><img src=emotion_mini.png width=16 height=16 alt=E></td> |
||||
<td width=100% align=center> |
||||
E : M : O : T : I : O : N |
||||
</td> |
||||
<td width=16><img src=emotion_mini.png width=16 height=16 alt=E></td> |
||||
</tr></table> |
||||
</div> |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 915 KiB |
After Width: | Height: | Size: 753 B |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 6.0 KiB |
@ -0,0 +1,59 @@ |
||||
#!/bin/sh |
||||
|
||||
prefix=@prefix@ |
||||
exec_prefix=@exec_prefix@ |
||||
exec_prefix_set=no |
||||
|
||||
usage="\ |
||||
Usage: evas-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]" |
||||
|
||||
if test $# -eq 0; then |
||||
echo "${usage}" 1>&2 |
||||
exit 1 |
||||
fi |
||||
|
||||
while test $# -gt 0; do |
||||
case "$1" in |
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; |
||||
*) optarg= ;; |
||||
esac |
||||
|
||||
case $1 in |
||||
--prefix=*) |
||||
prefix=$optarg |
||||
if test $exec_prefix_set = no ; then |
||||
exec_prefix=$optarg |
||||
fi |
||||
;; |
||||
--prefix) |
||||
echo $prefix |
||||
;; |
||||
--exec-prefix=*) |
||||
exec_prefix=$optarg |
||||
exec_prefix_set=yes |
||||
;; |
||||
--exec-prefix) |
||||
echo $exec_prefix |
||||
;; |
||||
--version) |
||||
echo @VERSION@ |
||||
;; |
||||
--cflags) |
||||
if test @includedir@ != /usr/include ; then |
||||
includes=-I@includedir@ |
||||
fi |
||||
echo $includes |
||||
;; |
||||
--libs) |
||||
libdirs=-L@libdir@ |
||||
echo $libdirs -lemotion @my_libs@ -ldl |
||||
;; |
||||
*) |
||||
echo "${usage}" 1>&2 |
||||
exit 1 |
||||
;; |
||||
esac |
||||
shift |
||||
done |
||||
|
||||
exit 0 |
@ -0,0 +1,22 @@ |
||||
/**
|
||||
@file |
||||
@brief Emotion Media Library |
||||
|
||||
These routines are used for Emotion. |
||||
*/ |
||||
|
||||
/**
|
||||
|
||||
@mainpage Emotion Library Documentation |
||||
@image html emotion.png |
||||
@version 0.0.1 |
||||
@author Carsten Haitzler <raster@rasterman.com> |
||||
@date 2003-2004 |
||||
|
||||
@section intro What is Emotion? |
||||
|
||||
A media object library for Evas and Ecore. |
||||
|
||||
@todo Complete documentation of API |
||||
|
||||
*/ |
@ -0,0 +1,80 @@ |
||||
# Note that this is NOT a relocatable package |
||||
%define ver 0.0.1 |
||||
%define rel 1 |
||||
%define prefix /usr |
||||
|
||||
Summary: emotion |
||||
Name: emotion |
||||
Version: %ver |
||||
Release: %rel |
||||
Copyright: BSD |
||||
Group: System Environment/Libraries |
||||
Source: ftp://ftp.enlightenment.org/pub/emotion/emotion-%{ver}.tar.gz |
||||
BuildRoot: /var/tmp/emotion-root |
||||
Packager: The Rasterman <raster@rasterman.com> |
||||
URL: http://www.enlightenment.org/ |
||||
BuildRequires: libjpeg-devel |
||||
BuildRequires: zlib-devel |
||||
Requires: libjpeg |
||||
Requires: zlib |
||||
|
||||
Docdir: %{prefix}/doc |
||||
|
||||
%description |
||||
|
||||
Emotion is a Media Library |
||||
|
||||
%package devel |
||||
Summary: Emotion headers, static libraries, documentation and test programs |
||||
Group: System Environment/Libraries |
||||
Requires: %{name} = %{version} |
||||
|
||||
%description devel |
||||
Headers, static libraries, test programs and documentation for Eet |
||||
|
||||
%prep |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
%setup -q |
||||
|
||||
%build |
||||
./configure --prefix=%prefix |
||||
|
||||
if [ "$SMP" != "" ]; then |
||||
(make "MAKE=make -k -j $SMP"; exit 0) |
||||
make |
||||
else |
||||
make |
||||
fi |
||||
########################################################################### |
||||
|
||||
%install |
||||
make DESTDIR=$RPM_BUILD_ROOT install |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
%post |
||||
/sbin/ldconfig |
||||
|
||||
%postun |
||||
/sbin/ldconfig |
||||
|
||||
%files |
||||
%defattr(-,root,root) |
||||
%attr(755,root,root) %{prefix}/lib/libemotion.so* |
||||
%attr(755,root,root) %{prefix}/lib/libemotion.la |
||||
|
||||
%files devel |
||||
%attr(755,root,root) %{prefix}/lib/libemotion.a |
||||
%attr(755,root,root) %{prefix}/bin/emotion* |
||||
%{prefix}/include/Emotion* |
||||
%{_datadir}/emotion |
||||
%doc AUTHORS |
||||
%doc COPYING |
||||
%doc README |
||||
%doc emotion_docs.tar.gz |
||||
|
||||
%changelog |
||||
* Sat Jun 23 2001 The Rasterman <raster@rasterman.com> |
||||
- Created spec file |
@ -0,0 +1,15 @@ |
||||
#!/bin/sh |
||||
cp ./emotion.c.in ./emotion.c |
||||
for I in `find ./src/lib -name "Emotion.h" -print`; do |
||||
cat $I >> ./emotion.c |
||||
done |
||||
#for I in `find ./src/lib -name "*.c" -print`; do |
||||
# cat $I >> ./emotion.c |
||||
#done |
||||
rm -rf ./doc/html ./doc/latex ./doc/man |
||||
doxygen |
||||
cp doc/img/*.png doc/html/ |
||||
rm -f emotion_docs.tar emotion_docs.tar.gz |
||||
tar -cvf emotion_docs.tar doc/html doc/man doc/latex |
||||
gzip -9 emotion_docs.tar |
||||
exit 0 |
@ -0,0 +1,3 @@ |
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
SUBDIRS = lib bin modules
|
@ -0,0 +1,18 @@ |
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir) \ |
||||
-I$(top_srcdir)/src/lib \ |
||||
@my_cflags@ @edje_cflags@ |
||||
|
||||
bin_PROGRAMS = \
|
||||
emotion_test |
||||
|
||||
emotion_test_SOURCES = \
|
||||
emotion_test_main.c |
||||
|
||||
emotion_test_LDADD = \
|
||||
@my_libs@ @edje_libs@ \ |
||||
$(top_builddir)/src/lib/libemotion.la |
||||
|
||||
|
@ -0,0 +1,760 @@ |
||||
#include <Evas.h> |
||||
#include <Ecore.h> |
||||
#ifndef FB_ONLY |
||||
#include <Ecore_X.h> |
||||
#else |
||||
#include <Ecore_Fb.h> |
||||
#endif |
||||
#include <Ecore_Evas.h> |
||||
#include <Edje.h> |
||||
|
||||
#include "Emotion.h" |
||||
|
||||
#include "config.h" |
||||
|
||||
typedef struct _Frame_Data Frame_Data; |
||||
|
||||
struct _Frame_Data |
||||
{ |
||||
char moving : 1; |
||||
char resizing : 1; |
||||
int button; |
||||
Evas_Coord x, y; |
||||
}; |
||||
|
||||
static int main_start(int argc, char **argv); |
||||
static void main_stop(void); |
||||
static void main_resize(Ecore_Evas *ee); |
||||
static int main_signal_exit(void *data, int ev_type, void *ev); |
||||
static void main_delete_request(Ecore_Evas *ee); |
||||
|
||||
void bg_setup(void); |
||||
void bg_resize(Evas_Coord w, Evas_Coord h); |
||||
static void bg_key_down(void *data, Evas * e, Evas_Object * obj, void *event_info); |
||||
|
||||
static Evas_Object *o_bg = NULL; |
||||
|
||||
double start_time = 0.0; |
||||
Ecore_Evas *ecore_evas = NULL; |
||||
Evas *evas = NULL; |
||||
int startw = 800; |
||||
int starth = 600; |
||||
|
||||
Evas_List *video_objs = NULL; |
||||
|
||||
static int |
||||
main_start(int argc, char **argv) |
||||
{ |
||||
int mode = 0; |
||||
|
||||
start_time = ecore_time_get(); |
||||
if (!ecore_init()) return -1; |
||||
ecore_app_args_set(argc, (const char **)argv); |
||||
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, NULL); |
||||
if (!ecore_evas_init()) return -1; |
||||
#ifndef FB_ONLY |
||||
{ |
||||
int i; |
||||
|
||||
for (i = 1; i < argc; i++) |
||||
{ |
||||
if (((!strcmp(argv[i], "-g")) || |
||||
(!strcmp(argv[i], "-geometry")) || |
||||
(!strcmp(argv[i], "--geometry"))) && (i < (argc - 1))) |
||||
{ |
||||
int n, w, h; |
||||
char buf[16], buf2[16]; |
||||
|
||||
n = sscanf(argv[i +1], "%10[^x]x%10s", buf, buf2); |
||||
if (n == 2) |
||||
{ |
||||
w = atoi(buf); |
||||
h = atoi(buf2); |
||||
startw = w; |
||||
starth = h; |
||||
} |
||||
i++; |
||||
} |
||||
else if (!strcmp(argv[i], "-gl")) |
||||
{ |
||||
mode = 1; |
||||
} |
||||
else if (!strcmp(argv[i], "-fb")) |
||||
{ |
||||
mode = 2; |
||||
} |
||||
} |
||||
} |
||||
if (mode == 0) |
||||
ecore_evas = ecore_evas_software_x11_new(NULL, 0, 0, 0, startw, starth); |
||||
else if (mode == 1) |
||||
ecore_evas = ecore_evas_gl_x11_new(NULL, 0, 0, 0, startw, starth); |
||||
else if (mode == 2) |
||||
ecore_evas = ecore_evas_fb_new(NULL, 0, startw, starth); |
||||
#else |
||||
startw = 240; |
||||
starth = 320; |
||||
ecore_evas = ecore_evas_fb_new(NULL, 270, startw, starth); |
||||
#endif |
||||
if (!ecore_evas) return -1; |
||||
ecore_evas_callback_delete_request_set(ecore_evas, main_delete_request); |
||||
ecore_evas_callback_resize_set(ecore_evas, main_resize); |
||||
ecore_evas_title_set(ecore_evas, "Evas Media Test Program"); |
||||
ecore_evas_name_class_set(ecore_evas, "evas_media_test", "main"); |
||||
ecore_evas_show(ecore_evas); |
||||
evas = ecore_evas_get(ecore_evas); |
||||
evas_image_cache_set(evas, 8 * 1024 * 1024); |
||||
evas_font_cache_set(evas, 1 * 1024 * 1024); |
||||
evas_font_path_append(evas, PACKAGE_DATA_DIR"/data/fonts"); |
||||
|
||||
edje_init(); |
||||
edje_frametime_set(1.0 / 30.0); |
||||
return 1; |
||||
} |
||||
|
||||
static void |
||||
main_stop(void) |
||||
{ |
||||
ecore_evas_shutdown(); |
||||
ecore_shutdown(); |
||||
} |
||||
|
||||
static void |
||||
main_resize(Ecore_Evas *ee) |
||||
{ |
||||
Evas_Coord w, h; |
||||
|
||||
evas_output_viewport_get(evas, NULL, NULL, &w, &h); |
||||
bg_resize(w, h); |
||||
} |
||||
|
||||
static int |
||||
main_signal_exit(void *data, int ev_type, void *ev) |
||||
{ |
||||
ecore_main_loop_quit(); |
||||
return 1; |
||||
} |
||||
|
||||
static void |
||||
main_delete_request(Ecore_Evas *ee) |
||||
{ |
||||
ecore_main_loop_quit(); |
||||
} |
||||
|
||||
void |
||||
bg_setup(void) |
||||
{ |
||||
Evas_Object *o; |
||||
|
||||
o = edje_object_add(evas); |
||||
edje_object_file_set(o, PACKAGE_DATA_DIR"/data/theme.eet", "background"); |
||||
evas_object_move(o, 0, 0); |
||||
evas_object_resize(o, startw, starth); |
||||
evas_object_layer_set(o, -999); |
||||
evas_object_show(o);
|
||||
evas_object_focus_set(o, 1); |
||||
evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, bg_key_down, NULL); |
||||
o_bg = o; |
||||
} |
||||
|
||||
void |
||||
bg_resize(Evas_Coord w, Evas_Coord h) |
||||
{ |
||||
evas_object_resize(o_bg, w, h); |
||||
} |
||||
|
||||
static void |
||||
broadcast_event(Emotion_Event ev) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
emotion_object_event_simple_send(obj, ev); |
||||
} |
||||
} |
||||
|
||||
static void |
||||
bg_key_down(void *data, Evas * e, Evas_Object * obj, void *event_info) |
||||
{ |
||||
Evas_Event_Key_Down *ev; |
||||
|
||||
ev = (Evas_Event_Key_Down *)event_info; |
||||
if (!strcmp(ev->keyname, "Escape")) |
||||
ecore_main_loop_quit(); |
||||
else if (!strcmp(ev->keyname, "Up")) |
||||
broadcast_event(EMOTION_EVENT_UP); |
||||
else if (!strcmp(ev->keyname, "Down")) |
||||
broadcast_event(EMOTION_EVENT_DOWN); |
||||
else if (!strcmp(ev->keyname, "Left")) |
||||
broadcast_event(EMOTION_EVENT_LEFT); |
||||
else if (!strcmp(ev->keyname, "Right")) |
||||
broadcast_event(EMOTION_EVENT_RIGHT); |
||||
else if (!strcmp(ev->keyname, "Return")) |
||||
broadcast_event(EMOTION_EVENT_SELECT); |
||||
else if (!strcmp(ev->keyname, "m")) |
||||
broadcast_event(EMOTION_EVENT_MENU1); |
||||
else if (!strcmp(ev->keyname, "Prior")) |
||||
broadcast_event(EMOTION_EVENT_PREV); |
||||
else if (!strcmp(ev->keyname, "Next")) |
||||
broadcast_event(EMOTION_EVENT_NEXT); |
||||
else if (!strcmp(ev->keyname, "0")) |
||||
broadcast_event(EMOTION_EVENT_0); |
||||
else if (!strcmp(ev->keyname, "1")) |
||||
broadcast_event(EMOTION_EVENT_1); |
||||
else if (!strcmp(ev->keyname, "2")) |
||||
broadcast_event(EMOTION_EVENT_2); |
||||
else if (!strcmp(ev->keyname, "3")) |
||||
broadcast_event(EMOTION_EVENT_3); |
||||
else if (!strcmp(ev->keyname, "4")) |
||||
broadcast_event(EMOTION_EVENT_4); |
||||
else if (!strcmp(ev->keyname, "5")) |
||||
broadcast_event(EMOTION_EVENT_5); |
||||
else if (!strcmp(ev->keyname, "6")) |
||||
broadcast_event(EMOTION_EVENT_6); |
||||
else if (!strcmp(ev->keyname, "7")) |
||||
broadcast_event(EMOTION_EVENT_7); |
||||
else if (!strcmp(ev->keyname, "8")) |
||||
broadcast_event(EMOTION_EVENT_8); |
||||
else if (!strcmp(ev->keyname, "9")) |
||||
broadcast_event(EMOTION_EVENT_9); |
||||
else if (!strcmp(ev->keyname, "-")) |
||||
broadcast_event(EMOTION_EVENT_10); |
||||
else if (!strcmp(ev->keyname, "bracketleft")) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
emotion_object_audio_volume_set(obj, emotion_object_audio_volume_get(obj) - 0.1); |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "bracketright")) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
emotion_object_audio_volume_set(obj, emotion_object_audio_volume_get(obj) + 0.1); |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "v")) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
if (emotion_object_video_mute_get(obj)) |
||||
emotion_object_video_mute_set(obj, 0); |
||||
else |
||||
emotion_object_video_mute_set(obj, 1); |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "a")) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
if (emotion_object_audio_mute_get(obj)) |
||||
{ |
||||
emotion_object_audio_mute_set(obj, 0); |
||||
printf("unmute\n"); |
||||
} |
||||
else |
||||
{ |
||||
emotion_object_audio_mute_set(obj, 1); |
||||
printf("mute\n"); |
||||
} |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "i")) |
||||
{ |
||||
Evas_List *l; |
||||
|
||||
for (l = video_objs; l; l = l->next) |
||||
{ |
||||
Evas_Object *obj; |
||||
|
||||
obj = l->data; |
||||
printf("audio channels: %i\n", emotion_object_audio_channel_count(obj)); |
||||
printf("video channels: %i\n", emotion_object_video_channel_count(obj)); |
||||
printf("spu channels: %i\n", emotion_object_spu_channel_count(obj)); |
||||
printf("seekable: %i\n", emotion_object_seekable_get(obj)); |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "f")) |
||||
{ |
||||
if (!ecore_evas_fullscreen_get(ecore_evas)) |
||||
ecore_evas_fullscreen_set(ecore_evas, 1); |
||||
else |
||||
ecore_evas_fullscreen_set(ecore_evas, 0); |
||||
} |
||||
else if (!strcmp(ev->keyname, "d")) |
||||
{ |
||||
if (!ecore_evas_avoid_damage_get(ecore_evas)) |
||||
ecore_evas_avoid_damage_set(ecore_evas, 1); |
||||
else |
||||
ecore_evas_avoid_damage_set(ecore_evas, 0); |
||||
} |
||||
else if (!strcmp(ev->keyname, "s")) |
||||
{ |
||||
if (!ecore_evas_shaped_get(ecore_evas)) |
||||
{ |
||||
ecore_evas_shaped_set(ecore_evas, 1); |
||||
evas_object_hide(o_bg); |
||||
} |
||||
else |
||||
{ |
||||
ecore_evas_shaped_set(ecore_evas, 0); |
||||
evas_object_show(o_bg); |
||||
} |
||||
} |
||||
else if (!strcmp(ev->keyname, "b")) |
||||
{ |
||||
if (!ecore_evas_borderless_get(ecore_evas)) |
||||
ecore_evas_borderless_set(ecore_evas, 1); |
||||
else |
||||
ecore_evas_borderless_set(ecore_evas, 0); |
||||
} |
||||
else |
||||
{ |
||||
printf("UNHANDLED: %s\n", ev->keyname); |
||||
} |
||||
} |
||||
|
||||
static void |
||||
video_obj_in_cb(void *data, Evas *ev, Evas_Object *obj, void *event_info) |
||||
{ |
||||
// evas_object_color_set(obj, 255, 255, 255, 100);
|
||||
} |
||||
|
||||
static void |
||||
video_obj_out_cb(void *data, Evas *ev, Evas_Object *obj, void *event_info) |
||||
{ |
||||
// evas_object_color_set(obj, 255, 255, 255, 200);
|
||||
} |
||||
|
||||
static void |
||||
video_obj_down_cb(void *data, Evas *ev, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Event_Mouse_Down *e; |
||||
|
||||
e = event_info; |
||||
evas_object_color_set(obj, 255, 50, 40, 200); |
||||
evas_object_raise(obj); |
||||
} |
||||
|
||||
static void |
||||
video_obj_up_cb(void *data, Evas *ev, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Event_Mouse_Up *e; |
||||
|
||||
e = event_info; |
||||
evas_object_color_set(obj, 255, 255, 255, 100); |
||||
} |
||||
|
||||
static void |
||||
video_obj_move_cb(void *data, Evas *ev, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Event_Mouse_Move *e; |
||||
|
||||
e = event_info; |
||||
if (e->buttons & 0x1) |
||||
{ |
||||
Evas_Coord x, y; |
||||
|
||||
evas_object_geometry_get(obj, &x, &y, NULL, NULL); |
||||
x += e->cur.canvas.x - e->prev.canvas.x; |
||||
y += e->cur.canvas.y - e->prev.canvas.y; |
||||
evas_object_move(obj, x, y); |
||||
} |
||||
else if (e->buttons & 0x4) |
||||
{ |
||||
Evas_Coord w, h; |
||||
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h); |
||||
w += e->cur.canvas.x - e->prev.canvas.x; |
||||
h += e->cur.canvas.y - e->prev.canvas.y; |
||||
evas_object_resize(obj, w, h); |
||||
} |
||||
} |
||||
|
||||
static void |
||||
video_obj_frame_decode_cb(void *data, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Object *oe; |
||||
double pos, len; |
||||
char buf[256]; |
||||
int ph, pm, ps, pf, lh, lm, ls; |
||||
|
||||
oe = data; |
||||
pos = emotion_object_position_get(obj); |
||||
len = emotion_object_play_length_get(obj); |
||||
// printf("%3.3f, %3.3f\n", pos, len);
|
||||
edje_object_part_drag_value_set(oe, "video_progress", pos / len, 0.0); |
||||
lh = len / 3600; |
||||
lm = len / 60 - (lh * 60); |
||||
ls = len - (lm * 60); |
||||
ph = pos / 3600; |
||||
pm = pos / 60 - (ph * 60); |
||||
ps = pos - (pm * 60); |
||||
pf = pos * 100 - (ps * 100) - (pm * 60 * 100) - (ph * 60 * 60 * 100); |
||||
snprintf(buf, sizeof(buf), "%i:%02i:%02i.%02i / %i:%02i:%02i", |
||||
ph, pm, ps, pf, lh, lm, ls); |
||||
edje_object_part_text_set(oe, "video_progress_txt", buf); |
||||
|
||||
if (0) |
||||
{ |
||||
double t; |
||||
static double pt = 0.0; |
||||
t = ecore_time_get(); |
||||
printf("FPS: %3.3f\n", 1.0 / (t - pt)); |
||||
pt = t; |
||||
} |
||||
} |
||||
|
||||
static void |
||||
video_obj_frame_resize_cb(void *data, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Object *oe; |
||||
int iw, ih; |
||||
Evas_Coord w, h; |
||||
double ratio; |
||||
|
||||
oe = data; |
||||
emotion_object_size_get(obj, &iw, &ih); |
||||
ratio = emotion_object_ratio_get(obj); |
||||
printf("HANDLE %ix%i @ %3.3f\n", iw, ih, ratio); |
||||
if (ratio > 0.0) iw = ih * ratio; |
||||
edje_extern_object_min_size_set(obj, iw, ih); |
||||
edje_object_part_swallow(oe, "video_swallow", obj); |
||||
edje_object_size_min_calc(oe, &w, &h); |
||||
evas_object_resize(oe, w, h); |
||||
edje_extern_object_min_size_set(obj, 0, 0); |
||||
edje_object_part_swallow(oe, "video_swallow", obj); |
||||
} |
||||
|
||||
static void |
||||
video_obj_length_change_cb(void *data, Evas_Object *obj, void *event_info) |
||||
{ |
||||
Evas_Object *oe; |
||||
double pos, len; |
||||
char buf[256]; |
||||
int ph, pm, ps, pf, lh, lm, ls; |
||||
|
||||
oe = data; |
||||
pos = emotion_object_position_get(obj); |
||||
len = emotion_object_play_length_get(obj); |
||||
edje_object_part_drag_value_set(oe, "video_progress", pos / len, 0.0); |
||||
lh = len / 3600; |
||||
lm = len / 60 - (lh * 60); |
||||
ls = len - (lm * 60); |
||||
ph = pos / 3600; |
||||
pm = pos / 60 - (ph * 60); |
||||
ps = pos - (pm * 60); |
||||
pf = pos * 100 - (ps * 100) - ( |