forked from enlightenment/efl
in we go edje... no it doesnt do anything useful at the moment...
SVN revision: 6968
This commit is contained in:
parent
d744ab1f70
commit
664d811ff9
|
@ -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 = Edje
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
OUTPUT_DIRECTORY = doc
|
||||||
|
INPUT = edje.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/edje.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 Edje for it to run properly.
|
|
@ -0,0 +1,18 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
SUBDIRS = src
|
||||||
|
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
|
||||||
|
config.h.in config.sub configure install-sh \
|
||||||
|
ltconfig ltmain.sh missing mkinstalldirs \
|
||||||
|
stamp-h.in edje_docs.tar edje_docs.tar.gz edje.c
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
./gendoc; \
|
||||||
|
tar cvf edje_docs.tar doc; \
|
||||||
|
rm -f edje_docs.tar.gz; \
|
||||||
|
gzip -9 edje_docs.tar;
|
||||||
|
|
||||||
|
bin_SCRIPTS = edje-config
|
||||||
|
|
||||||
|
EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN edje.spec edje.c.in gendoc Doxyfile edje_docs.tar.gz
|
|
@ -0,0 +1 @@
|
||||||
|
Edje 0.0.1
|
|
@ -0,0 +1,3 @@
|
||||||
|
#undef PACKAGE_SOURCE_DIR
|
||||||
|
#undef PACKAGE_BIN_DIR
|
||||||
|
#undef PACKAGE_LIB_DIR
|
|
@ -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,86 @@
|
||||||
|
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(edje, 0.0.1)
|
||||||
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
|
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_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")
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${prefix}/bin")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_BIN_DIR, "${bindir}")
|
||||||
|
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")
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${prefix}/lib")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_LIB_DIR, "${libdir}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Set PACKAGE_SOURCE_DIR in config.h.
|
||||||
|
packagesrcdir=`cd $srcdir && pwd`
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}")
|
||||||
|
|
||||||
|
my_includes=`eet-config --cflags`" "`evas-config --cflags`" "`ecore-config --cflags`
|
||||||
|
my_libs=`eet-config --libs`" "`evas-config --libs`" "`ecore-config --libs`
|
||||||
|
AC_SUBST(my_includes)
|
||||||
|
AC_SUBST(my_libs)
|
||||||
|
|
||||||
|
AC_OUTPUT([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
src/lib/Makefile
|
||||||
|
src/bin/Makefile
|
||||||
|
edje-config
|
||||||
|
],[
|
||||||
|
chmod +x edje-config
|
||||||
|
touch edje_docs.tar.gz
|
||||||
|
])
|
|
@ -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=edje.css rel=stylesheet type=text/css>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class=nav>
|
||||||
|
<table border=0 align=center><tr>
|
||||||
|
<td width=16><img src=edje_mini.png width=16 height=16 alt=E></td>
|
||||||
|
<td width=100% align=center>
|
||||||
|
E : V : O : A : K
|
||||||
|
</td>
|
||||||
|
<td width=16><img src=edje_mini.png width=16 height=16 alt=E></td>
|
||||||
|
</tr></table>
|
||||||
|
</div>
|
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
Binary file not shown.
After Width: | Height: | Size: 915 KiB |
Binary file not shown.
After Width: | Height: | Size: 753 B |
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Binary file not shown.
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 -ledje
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "${usage}" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,59 @@
|
||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Edje Graphical Design Library
|
||||||
|
|
||||||
|
These routines are used for Edje.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
@mainpage Edje Library Documentation
|
||||||
|
@image html edje.png
|
||||||
|
@version 0.0.1
|
||||||
|
@author Carsten Haitzler <raster@rasterman.com>
|
||||||
|
@date 2000-2002
|
||||||
|
|
||||||
|
@section intro What is Edje?
|
||||||
|
|
||||||
|
A Graphical Design & Layout Library.
|
||||||
|
|
||||||
|
It's purpose is to be a sequel to "Ebits" which to date has serviced the
|
||||||
|
needs of Enlightenment development for version 0.17. The original design
|
||||||
|
paramteres under which Ebits came about were a lot more restricted than the
|
||||||
|
resulting use of them, thus Edje was born.
|
||||||
|
|
||||||
|
Edje is a more complex layout engine compared to Ebits. It doesn't pretend to
|
||||||
|
do containering and regular layout like a widget set. It still inherits the
|
||||||
|
more simplistic layour ideas behind Ebits, but it now does them a lot more
|
||||||
|
cleanly, allowing for easy expansion, and the ability to cover much more
|
||||||
|
ground than Ebits ever could. For the purposes of Enlightenment 0.17, Edje
|
||||||
|
should server all the purposes of creating visual elements (borders of
|
||||||
|
windows, scrollbars, etc.) and allow the deswigner the ability to animate,
|
||||||
|
layout and control the look and feel of any program using Edje as its basic
|
||||||
|
GUI constructor. This library allows for multiple collections of Layouts in
|
||||||
|
one file, sharing the same image database and thus allowing a whole theme to
|
||||||
|
be conveneintly packaged into 1 file and shipped around.
|
||||||
|
|
||||||
|
Edje, unlike Ebits, separates the layout and behavior logic. Edje files ship
|
||||||
|
with an image database, used by all the parts in all the collections to
|
||||||
|
source graphical data. It has a directory of logical part names pointing to
|
||||||
|
the part collection entry ID in the file (thus allowing for multiple logical
|
||||||
|
names to point to the same part collection, allowing for the sharing of data
|
||||||
|
betwene display elements). Each part collection consists of a list of visual
|
||||||
|
parts, as well as a list of programs. A program is a conditionally run
|
||||||
|
program that if a particula event occurs (a button is pressed, a mouse enters
|
||||||
|
or leaves a part) will trigger an action that may affect other parts. In this
|
||||||
|
was a part collection can be "programmed" via its file as to hilight buttons
|
||||||
|
when the mouse passes over them or show hidden parts when a button is clicked
|
||||||
|
somewhere etc. The actions perfromed in changing from one state to another ar
|
||||||
|
also allowed to transition over a period of time, allowing animation.
|
||||||
|
|
||||||
|
This separation and simplistic event driven style of programming can produce
|
||||||
|
almost any look and feel one could want for basic visual elements. Anything
|
||||||
|
more complex is likely the domain of an application or widget set that may
|
||||||
|
use Edje as a conveneient way of being able to configure parts of the display.
|
||||||
|
|
||||||
|
|
||||||
|
@todo Complete documentation of API
|
||||||
|
|
||||||
|
*/
|
|
@ -0,0 +1,79 @@
|
||||||
|
# Note that this is NOT a relocatable package
|
||||||
|
%define ver 0.0.1
|
||||||
|
%define rel 1
|
||||||
|
%define prefix /usr
|
||||||
|
|
||||||
|
Summary: edje
|
||||||
|
Name: edje
|
||||||
|
Version: %ver
|
||||||
|
Release: %rel
|
||||||
|
Copyright: BSD
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
Source: ftp://ftp.enlightenment.org/pub/evoak/edje-%{ver}.tar.gz
|
||||||
|
BuildRoot: /var/tmp/edje-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
|
||||||
|
|
||||||
|
Edje is a Graphical Design Library
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Edje 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/libedje.so*
|
||||||
|
%attr(755,root,root) %{prefix}/lib/libedje.la
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%attr(755,root,root) %{prefix}/lib/libedje.a
|
||||||
|
%attr(755,root,root) %{prefix}/bin/edje*
|
||||||
|
%{prefix}/include/Edje*
|
||||||
|
%doc AUTHORS
|
||||||
|
%doc COPYING
|
||||||
|
%doc README
|
||||||
|
%doc edje_docs.tar.gz
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Jun 23 2001 The Rasterman <raster@rasterman.com>
|
||||||
|
- Created spec file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
cp ./edje.c.in ./edje.c
|
||||||
|
for I in `find ./src/lib -name "edje.h" -print`; do
|
||||||
|
cat $I >> ./edje.c
|
||||||
|
done
|
||||||
|
#for I in `find ./src/lib -name "*.c" -print`; do
|
||||||
|
# cat $I >> ./edje.c
|
||||||
|
#done
|
||||||
|
rm -rf ./doc/html ./doc/latex ./doc/man
|
||||||
|
doxygen
|
||||||
|
cp doc/img/*.png doc/html/
|
||||||
|
exit 0
|
|
@ -0,0 +1,3 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
SUBDIRS = lib bin
|
|
@ -0,0 +1,22 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
INCLUDES = \
|
||||||
|
-I.. \
|
||||||
|
-I../lib \
|
||||||
|
-I../.. \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_builddir) \
|
||||||
|
-I$(top_srcdir)/lib \
|
||||||
|
-I$(top_builddir)/lib \
|
||||||
|
-I/usr/local/include \
|
||||||
|
@my_includes@
|
||||||
|
|
||||||
|
bin_PROGRAMS = edje
|
||||||
|
|
||||||
|
edje_SOURCES = \
|
||||||
|
edje_main.c
|
||||||
|
|
||||||
|
edje_LDADD = \
|
||||||
|
$(top_builddir)/src/lib/libedje.la
|
||||||
|
|
||||||
|
edje_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
|
@ -0,0 +1,4 @@
|
||||||
|
#include <Evas.h>
|
||||||
|
#include <Ecore.h>
|
||||||
|
#include <Ecore_Evas.h>
|
||||||
|
#include "Edje.h"
|
|
@ -0,0 +1,90 @@
|
||||||
|
#include "edje.h"
|
||||||
|
|
||||||
|
double start_time = 0.0;
|
||||||
|
Ecore_Evas *ecore_evas = NULL;
|
||||||
|
Evas *evas = NULL;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
static int
|
||||||
|
main_start(int argc, char **argv)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
if ((argc > 1) && (!strcmp(argv[1], "-fb")))
|
||||||
|
ecore_evas = ecore_evas_fb_new(NULL, 0, 240, 320);
|
||||||
|
else if ((argc > 1) && (!strcmp(argv[1], "-x")))
|
||||||
|
ecore_evas = ecore_evas_software_x11_new(NULL, 0, 0, 0, 240, 320);
|
||||||
|
else if ((argc > 1) && (!strcmp(argv[1], "-h")))
|
||||||
|
{
|
||||||
|
printf("%s -x Run in X (default)\n"
|
||||||
|
"%s -fb Run in the Framebuffer\n"
|
||||||
|
"%s -h Display this help\n",
|
||||||
|
argv[0], argv[0], argv[0]);
|
||||||
|
ecore_evas_shutdown();
|
||||||
|
ecore_shutdown();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ecore_evas = ecore_evas_software_x11_new(NULL, 0, 0, 0, 240, 320);
|
||||||
|
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, "Evoak");
|
||||||
|
ecore_evas_name_class_set(ecore_evas, "evoak", "main");
|
||||||
|
ecore_evas_show(ecore_evas);
|
||||||
|
evas = ecore_evas_get(ecore_evas);
|
||||||
|
evas_image_cache_set(evas, 8192 * 1024);
|
||||||
|
evas_font_cache_set(evas, 512 * 1024);
|
||||||
|
// evas_font_path_append(evas, FN);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
main_stop(void)
|
||||||
|
{
|
||||||
|
ecore_evas_shutdown();
|
||||||
|
ecore_shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
main_resize(Ecore_Evas *ee)
|
||||||
|
{
|
||||||
|
double w, h;
|
||||||
|
|
||||||
|
evas_output_viewport_get(evas, NULL, NULL, &w, &h);
|
||||||
|
// FIXME: do something for resize
|
||||||
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
if (main_start(argc, argv) < 1) return -1;
|
||||||
|
|
||||||
|
ecore_main_loop_begin();
|
||||||
|
|
||||||
|
main_stop();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
#ifndef _EDJE_H
|
||||||
|
#define _EDJE_H
|
||||||
|
|
||||||
|
#include <Evas.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
/* API here */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
Evas_Object *edje_add(Evas *evas);
|
||||||
|
void edje_file_set(Evas_Object *o, const char *file, const char *part);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,24 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
AUTOMAKE_OPTIONS = 1.4 foreign
|
||||||
|
|
||||||
|
# A list of all the files in the current directory which can be regenerated
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
LDFLAGS = -L/usr/local/lib
|
||||||
|
INCLUDES = \
|
||||||
|
-I/usr/local/include \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_builddir) \
|
||||||
|
-I$(includedir) \
|
||||||
|
@my_includes@
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libedje.la
|
||||||
|
include_HEADERS = Edje.h
|
||||||
|
libedje_la_SOURCES = \
|
||||||
|
edje_main.c \
|
||||||
|
edje_private.h
|
||||||
|
|
||||||
|
libedje_la_LIBADD = $(LDFLAGS) @my_libs@
|
||||||
|
libedje_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||||
|
libedje_la_LDFLAGS = -version-info 0:1:0
|
|
@ -0,0 +1,383 @@
|
||||||
|
#include "Edje.h"
|
||||||
|
#include "edje_private.h"
|
||||||
|
|
||||||
|
Edje *_edje_fetch(Evas_Object *obj);
|
||||||
|
|
||||||
|
static void _edje_smart_add(Evas_Object * obj);
|
||||||
|
static void _edje_smart_del(Evas_Object * obj);
|
||||||
|
static void _edje_smart_layer_set(Evas_Object * obj, int layer);
|
||||||
|
static void _edje_smart_raise(Evas_Object * obj);
|
||||||
|
static void _edje_smart_lower(Evas_Object * obj);
|
||||||
|
static void _edje_smart_stack_above(Evas_Object * obj, Evas_Object * above);
|
||||||
|
static void _edje_smart_stack_below(Evas_Object * obj, Evas_Object * below);
|
||||||
|
static void _edje_smart_move(Evas_Object * obj, double x, double y);
|
||||||
|
static void _edje_smart_resize(Evas_Object * obj, double w, double h);
|
||||||
|
static void _edje_smart_show(Evas_Object * obj);
|
||||||
|
static void _edje_smart_hide(Evas_Object * obj);
|
||||||
|
static void _edje_smart_color_set(Evas_Object * obj, int r, int g, int b, int a);
|
||||||
|
static void _edje_smart_clip_set(Evas_Object * obj, Evas_Object * clip);
|
||||||
|
static void _edje_smart_clip_unset(Evas_Object * obj);
|
||||||
|
|
||||||
|
static Evas_Smart *_edje_smart = NULL;
|
||||||
|
|
||||||
|
Evas_Object *
|
||||||
|
edje_add(Evas *evas)
|
||||||
|
{
|
||||||
|
if (!_edje_smart)
|
||||||
|
_edje_smart = evas_smart_new("edje",
|
||||||
|
_edje_smart_add,
|
||||||
|
_edje_smart_del,
|
||||||
|
_edje_smart_layer_set,
|
||||||
|
_edje_smart_raise,
|
||||||
|
_edje_smart_lower,
|
||||||
|
_edje_smart_stack_above,
|
||||||
|
_edje_smart_stack_below,
|
||||||
|
_edje_smart_move,
|
||||||
|
_edje_smart_resize,
|
||||||
|
_edje_smart_show,
|
||||||
|
_edje_smart_hide,
|
||||||
|
_edje_smart_color_set,
|
||||||
|
_edje_smart_clip_set,
|
||||||
|
_edje_smart_clip_unset,
|
||||||
|
NULL);
|
||||||
|
return evas_object_smart_add(evas, _edje_smart);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
edje_file_set(Evas_Object *obj, const char *file, const char *part)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = _edje_fetch(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** internal calls ***/
|
||||||
|
|
||||||
|
/* manipulation calls */
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_part_description_apply(Edje *ed,
|
||||||
|
Edje_Real_Part *ep,
|
||||||
|
Edje_Part_Description *de1,
|
||||||
|
Edje_Part_Description *de2,
|
||||||
|
double pos)
|
||||||
|
{
|
||||||
|
if ((ep->param1.description == de1) &&
|
||||||
|
(ep->param2.description == de2) &&
|
||||||
|
(ep->description_pos == pos))
|
||||||
|
return;
|
||||||
|
|
||||||
|
ep->param1.description = de1;
|
||||||
|
ep->param2.description = de2;
|
||||||
|
ep->description_pos = pos;
|
||||||
|
|
||||||
|
ed->dirty = 1;
|
||||||
|
ep->dirty = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* calculation functions */
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_part_recalc_single(Edje *ed,
|
||||||
|
Edje_Real_Part *ep,
|
||||||
|
Edje_Part_Description *desc,
|
||||||
|
Edje_Real_Part *rel1_to,
|
||||||
|
Edje_Real_Part *rel2_to,
|
||||||
|
Edje_Real_Part *confine_to,
|
||||||
|
Edje_Calc_Params *params)
|
||||||
|
{
|
||||||
|
/* horiz */
|
||||||
|
if (rel1_to)
|
||||||
|
{
|
||||||
|
params->x = desc->rel1.offset_x +
|
||||||
|
rel1_to->x + (desc->rel1.relative_x * rel1_to->w);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
params->x = desc->rel1.offset_x +
|
||||||
|
(desc->rel1.relative_x * ed->w);
|
||||||
|
}
|
||||||
|
if (rel2_to)
|
||||||
|
{
|
||||||
|
params->w = desc->rel2.offset_x +
|
||||||
|
rel2_to->x + (desc->rel2.relative_x * rel2_to->w) -
|
||||||
|
params->x;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
params->w = desc->rel2.offset_x +
|
||||||
|
(desc->rel2.relative_x * ed->w) -
|
||||||
|
params->x;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* vert */
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_part_recalc(Edje *ed, Edje_Real_Part *ep)
|
||||||
|
{
|
||||||
|
Edje_Calc_Params p1, p2;
|
||||||
|
|
||||||
|
if (ep->calculated) return;
|
||||||
|
if (ep->param1.rel1_to) _edje_part_recalc(ed, ep->param1.rel1_to);
|
||||||
|
if (ep->param1.rel2_to) _edje_part_recalc(ed, ep->param1.rel2_to);
|
||||||
|
if (ep->param1.confine_to) _edje_part_recalc(ed, ep->param1.confine_to);
|
||||||
|
if (ep->param2.rel1_to) _edje_part_recalc(ed, ep->param2.rel1_to);
|
||||||
|
if (ep->param2.rel2_to) _edje_part_recalc(ed, ep->param2.rel2_to);
|
||||||
|
if (ep->param2.confine_to) _edje_part_recalc(ed, ep->param2.confine_to);
|
||||||
|
|
||||||
|
/* actually calculate now */
|
||||||
|
if (ep->param1.description)
|
||||||
|
_edje_part_recalc_single(ed, ep, ep->param1.description, ep->param1.rel1_to, ep->param1.rel2_to, ep->param1.confine_to, &p1);
|
||||||
|
if (ep->param2.description)
|
||||||
|
_edje_part_recalc_single(ed, ep, ep->param1.description, ep->param2.rel1_to, ep->param2.rel2_to, ep->param2.confine_to, &p2);
|
||||||
|
|
||||||
|
ep->calculated = 1;
|
||||||
|
ep->dirty = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_recalc(Edje *ed)
|
||||||
|
{
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
if (!ed->dirty) return;
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
ep->calculated = 0;
|
||||||
|
}
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
if (!ep->calculated) _edje_part_recalc(ed, ep);
|
||||||
|
}
|
||||||
|
ed->dirty = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* utility functions we will use a lot */
|
||||||
|
|
||||||
|
Edje *
|
||||||
|
_edje_fetch(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
char *type;
|
||||||
|
|
||||||
|
type = (char *)evas_object_type_get(obj);
|
||||||
|
if (!type) return NULL;
|
||||||
|
if (strcmp(type, "edje")) return NULL;
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
return ed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* evas smart object methods - required by evas smart objects to do the */
|
||||||
|
/* dirty work on smrt objects */
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_add(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = calloc(1, sizeof(Edje));
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_smart_data_set(obj, ed);
|
||||||
|
ed->evas = evas_object_evas_get(obj);
|
||||||
|
ed->clipper = evas_object_rectangle_add(ed->evas);
|
||||||
|
evas_object_smart_member_add(ed->clipper, obj);
|
||||||
|
evas_object_color_set(ed->clipper, 255, 255, 255, 255);
|
||||||
|
evas_object_move(ed->clipper, 0, 0);
|
||||||
|
evas_object_resize(ed->clipper, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_del(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_del(ed->clipper);
|
||||||
|
free(ed);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_layer_set(Evas_Object * obj, int layer)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
if (ed->layer == layer) return;
|
||||||
|
ed->layer = layer;
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_layer_set(ep->object, ed->layer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_raise(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_raise(ep->object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_lower(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
for (l = evas_list_last(ed->parts); l; l = l->prev)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_lower(ep->object);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_stack_above(Evas_Object * obj, Evas_Object * above)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
for (l = evas_list_last(ed->parts); l; l = l->prev)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_stack_above(ep->object, above);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_stack_below(Evas_Object * obj, Evas_Object * below)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_stack_below(ep->object, below);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_move(Evas_Object * obj, double x, double y)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
ed->x = x;
|
||||||
|
ed->y = y;
|
||||||
|
|
||||||
|
evas_object_move(ed->clipper, ed->x, ed->y);
|
||||||
|
|
||||||
|
for (l = ed->parts; l; l = l->next)
|
||||||
|
{
|
||||||
|
Edje_Real_Part *ep;
|
||||||
|
|
||||||
|
ep = l->data;
|
||||||
|
evas_object_move(ep->object, ed->x + ep->x, ed->y + ep->y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_resize(Evas_Object * obj, double w, double h)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
int nw, nh;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
nw = w;
|
||||||
|
nh = h;
|
||||||
|
ed->w = w;
|
||||||
|
ed->h = h;
|
||||||
|
if ((nw == ed->w) || (nh == ed->h)) return;
|
||||||
|
evas_object_resize(ed->clipper, ed->w, ed->h);
|
||||||
|
ed->dirty = 1;
|
||||||
|
_edje_recalc(ed);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_show(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_show(ed->clipper);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_hide(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_hide(ed->clipper);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_color_set(Evas_Object * obj, int r, int g, int b, int a)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_color_set(ed->clipper, r, g, b, a);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_clip_set(Evas_Object * obj, Evas_Object * clip)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_clip_set(ed->clipper, clip);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edje_smart_clip_unset(Evas_Object * obj)
|
||||||
|
{
|
||||||
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = evas_object_smart_data_get(obj);
|
||||||
|
if (!ed) return;
|
||||||
|
evas_object_clip_unset(ed->clipper);
|
||||||
|
}
|
|
@ -0,0 +1,335 @@
|
||||||
|
#ifndef _EDJE_PRIVATE_H
|
||||||
|
#define _EDJE_PRIVATE_H
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <Evas.h>
|
||||||
|
#include <Ecore.h>
|
||||||
|
#include <Eet.h>
|
||||||
|
|
||||||
|
/* HOW THIS ALL WORKS:
|
||||||
|
* -------------------
|
||||||
|
*
|
||||||
|
* A part file contains:
|
||||||
|
* a list of images stored
|
||||||
|
* the images
|
||||||
|
* a list of part collections
|
||||||
|
* the part collections
|
||||||
|
*
|
||||||
|
* A part collection contains:
|
||||||
|
* a list of programs
|
||||||
|
* a list of actions
|
||||||
|
* a list of parts
|
||||||
|
*
|
||||||
|
* when a signal is emitted and matches the conditionals of a program a
|
||||||
|
* specific action is started. that action may affect one or more parts in
|
||||||
|
* a part collection and may operate over a period of time. it may also
|
||||||
|
* spawn another action when it is done (able to loop!) over a period of
|
||||||
|
* time. A part is set into a certain state and the calculated outputs of the
|
||||||
|
* staret and end state are mixed based on the kind of tweening and time. a
|
||||||
|
* tween time of 0.0 = do it right away. an image_id list for tweening is
|
||||||
|
* also able ot be provided and shoudl be run through over time during the
|
||||||
|
* tween to the new state.
|
||||||
|
*
|
||||||
|
* the signals that can be emitted are:
|
||||||
|
* "mouse.down"
|
||||||
|
* "mouse.up"
|
||||||
|
* "mouse.in"
|
||||||
|
* "mouse.out"
|
||||||
|
* "mouse.move"
|
||||||
|
* "clicked"
|
||||||
|
* "drag.start"
|
||||||
|
* "drag"
|
||||||
|
* "drag.stop"
|
||||||
|
*/
|
||||||
|
typedef struct _Edje_File Edje_File;
|
||||||
|
typedef struct _Edje_Image_Directory Edje_Image_Directory;
|
||||||
|
typedef struct _Edje_Image_Directory_Entry Edje_Image_Directory_Entry;
|
||||||
|
typedef struct _Edje_Program Edje_Program;
|
||||||
|
typedef struct _Edje_Action_Directory Edje_Action_Directory;
|
||||||
|
typedef struct _Edje_Action Edje_Action;
|
||||||
|
typedef struct _Edje_Action_Target Edje_Action_Target;
|
||||||
|
typedef struct _Edje_Part_Collection_Directory Edje_Part_Collection_Directory;
|
||||||
|
typedef struct _Edje_Part_Collection_Directory_Entry Edje_Part_Collection_Directory_Entry;
|
||||||
|
typedef struct _Edje_Part_Collection Edje_Part_Collection;
|
||||||
|
typedef struct _Edje_Part Edje_Part;
|
||||||
|
typedef struct _Edje_Part_Image_Id Edje_Part_Image_Id;
|
||||||
|
typedef struct _Edje_Part_Description Edje_Part_Description;
|
||||||
|
|
||||||
|
#define EDJE_PART_TYPE_NONE 0
|
||||||
|
#define EDJE_PART_TYPE_RECTANGLE 1
|
||||||
|
#define EDJE_PART_TYPE_TEXT 2
|
||||||
|
#define EDJE_PART_TYPE_IMAGE 3
|
||||||
|
#define EDJE_PART_TYPE_LAST 4
|
||||||
|
|
||||||
|
#define EDJE_ACTION_TYPE_NONE 0
|
||||||
|
#define EDJE_ACTION_TYPE_STATE_SET 1
|
||||||
|
#define EDJE_ACTION_TYPE_ACTION_STOP 2
|
||||||
|
#define EDJE_ACTION_TYPE_DRAG_SET 3
|
||||||
|
#define EDJE_ACTION_TYPE_LAST 4
|
||||||
|
|
||||||
|
#define EDJE_IMAGE_SOURCE_TYPE_NONE 0
|
||||||
|
#define EDJE_IMAGE_SOURCE_TYPE_INLINE 1
|
||||||
|
#define EDJE_IMAGE_SOURCE_TYPE_ABSOLUTE 2
|
||||||
|
#define EDJE_IMAGE_SOURCE_TYPE_HOMEDIR 3
|
||||||
|
#define EDJE_IMAGE_SOURCE_TYPE_LAST 4
|
||||||
|
|
||||||
|
#define EDJE_TEXT_EFFECT_NONE 0
|
||||||
|
#define EDJE_TEXT_EFFECT_PLAIN 1
|
||||||
|
#define EDJE_TEXT_EFFECT_OUTLINE 2
|
||||||
|
#define EDJE_TEXT_EFFECT_SHADOW 3
|
||||||
|
#define EDJE_TEXT_EFFECT_OUTLINE_SHADOW 4
|
||||||
|
#define EDJE_TEXT_EFFECT_LAST 5
|
||||||
|
|
||||||
|
#define EDJE_TWEEN_MODE_NONE 0
|
||||||
|
#define EDJE_TWEEN_MODE_LINEAR 1
|
||||||
|
#define EDJE_TWEEN_MODE_SINUSOIDAL 2
|
||||||
|
#define EDJE_TWEEN_MODE_ACCELERATE 3
|
||||||
|
#define EDJE_TWEEN_MODE_DECELERATE 4
|
||||||
|
#define EDJE_TWEEN_MODE_LAST 5
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_File
|
||||||
|
{
|
||||||
|
char *path;
|
||||||
|
|
||||||
|
Edje_Image_Directory *image_dir;
|
||||||
|
Edje_Part_Collection_Directory *collection_dir;
|
||||||
|
|
||||||
|
Evas_List *collection_loaded;
|
||||||
|
|
||||||
|
int references;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_Image_Directory
|
||||||
|
{
|
||||||
|
Evas_List *entries; /* a list of Edje_Image_Directory_Entry */
|
||||||
|
|
||||||
|
int references;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Image_Directory_Entry
|
||||||
|
{
|
||||||
|
char *entry; /* the nominal name of the image - if any */
|
||||||
|
int source_type; /* alternate source mode. 0 = none */
|
||||||
|
int id; /* the id no. of the image */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_Program /* a conditional program to be run */
|
||||||
|
{
|
||||||
|
char *emission; /* if signal emission name matches the glob here... */
|
||||||
|
char *part; /* & if part that emitted the signal (name) matches this glob */
|
||||||
|
int action_id; /* perform action number here */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_Action_Directory /* a list of possible actions to perform */
|
||||||
|
{
|
||||||
|
Evas_List *actions; /* a list of Edje_Action */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Action /* action to perfrom on parts within a part collection */
|
||||||
|
{
|
||||||
|
int action; /* type - set state, stop action, set drag pos etc. */
|
||||||
|
double tween_time; /* time to graduate between current and new state */
|
||||||
|
int tween_mode; /* how to tween - linear, sinusoidal etc. */
|
||||||
|
char *state; /* what state of alternates to apply */
|
||||||
|
double drag_set_rel_x; /* x drag pos to set targets to, relative to container */
|
||||||
|
double drag_set_rel_y; /* y drag pos to set targets to, relative to container */
|
||||||
|
int drag_set_abs_offset_x;
|
||||||
|
int drag_set_abs_offset_y;
|
||||||
|
Evas_List *targets; /* list of target parts to apply the state to */
|
||||||
|
int end_action_id; /* id of action to run when this one finished */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Action_Target /* the target of an action */
|
||||||
|
{
|
||||||
|
int id; /* just the part id no, or action id no */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_Part_Collection_Directory
|
||||||
|
{
|
||||||
|
Evas_List *entries; /* a list of Edje_Part_Collection_Directory_Entry */
|
||||||
|
|
||||||
|
int references;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Part_Collection_Directory_Entry
|
||||||
|
{
|
||||||
|
char *entry; /* the nominal name of the part collection */
|
||||||
|
int id; /* the id of this named part collection */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
struct _Edje_Part_Collection
|
||||||
|
{
|
||||||
|
Evas_List *programs; /* a list of Edje_Program */
|
||||||
|
Evas_List *parts; /* a list of Edje_Part */
|
||||||
|
|
||||||
|
int id; /* the collection id */
|
||||||
|
|
||||||
|
int references;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Part
|
||||||
|
{
|
||||||
|
char *name; /* the name if any of the part */
|
||||||
|
unsigned char type; /* what type (image, rect, text) */
|
||||||
|
int id; /* its id number */
|
||||||
|
char *color_class; /* how to modify the color */
|
||||||
|
char *text_class; /* how to apply/modify the font */
|
||||||
|
Edje_Part_Description *default_desc; /* the part descriptor for default */
|
||||||
|
Evas_List *other_desc; /* other possible descriptors */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Part_Image_Id
|
||||||
|
{
|
||||||
|
int image_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Part_Description
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
char *name; /* the named state if any */
|
||||||
|
double value; /* the value of the state (for ranges) */
|
||||||
|
} state;
|
||||||
|
|
||||||
|
unsigned char visible; /* is it shown */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
char x; /* can u click & draqg this bit & which dir */
|
||||||
|
int step_x; /* drag jumps n pixels (0 = no limit) */
|
||||||
|
int count_x; /* drag area divided by n (0 = no limit) */
|
||||||
|
|
||||||
|
char y; /* can u click & drag this bit & which dir */
|
||||||
|
int step_y; /* drag jumps n pixels (0 = no limit) */
|
||||||
|
int count_y; /* drag area divided by n (0 = no limit) */
|
||||||
|
|
||||||
|
int confine_id; /* dragging within this bit, -1 = no */
|
||||||
|
} dragable;
|
||||||
|
|
||||||
|
int clip_to_id; /* the part id to clip this one to */
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double x, y; /* 0 <-> 1.0 alignment within allocated space */
|
||||||
|
} align;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int w, h; /* min & max size, 0 = none */
|
||||||
|
} min, max;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int x, y; /* size stepping by n pixels, 0 = none */
|
||||||
|
} step;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double min, max; /* aspect = w/h */
|
||||||
|
} aspect;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double relative_x;
|
||||||
|
double relative_y;
|
||||||
|
int offset_x;
|
||||||
|
int offset_y;
|
||||||
|
int id; /* -1 = whole part collection, or part ID */
|
||||||
|
} rel1, rel2;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int id; /* the image id to use */
|
||||||
|
Evas_List *tween_list; /* list of Edje_Part_Image_Id */
|
||||||
|
} image;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int l, r, t, b; /* border scaling on image fill */
|
||||||
|
} border;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double pos_rel_x; /* fill offset x relative to area */
|
||||||
|
int pos_abs_x; /* fill offset x added to fill offset */
|
||||||
|
double rel_x; /* relative size compared to area */
|
||||||
|
int abs_x; /* size of fill added to relative fill */
|
||||||
|
double pos_rel_y; /* fill offset y relative to area */
|
||||||
|
int pos_abs_y; /* fill offset y added to fill offset */
|
||||||
|
double rel_y; /* relative size compared to area */
|
||||||
|
int abs_y; /* size of fill added to relative fill */
|
||||||
|
} fill;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
unsigned char r, g, b, a; /* color for rect or text, shadow etc. */
|
||||||
|
} color, color2, color3;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
char *text; /* if "" or NULL, then leave text unchanged */
|
||||||
|
|
||||||
|
int size; /* 0 = use user set size */
|
||||||
|
|
||||||
|
unsigned char effect; /* 0 = plain... */
|
||||||
|
unsigned char fit_x; /* resize font size down to fit in x dir */
|
||||||
|
unsigned char fit_y; /* resize font size down to fit in y dir */
|
||||||
|
} text;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*----------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _Edje Edje;
|
||||||
|
typedef struct _Edje_Real_Part Edje_Real_Part;
|
||||||
|
|
||||||
|
struct _Edje
|
||||||
|
{
|
||||||
|
int layer;
|
||||||
|
int x, y, w, h;
|
||||||
|
unsigned char dirty : 1;
|
||||||
|
Evas *evas; /* the evas this edje belongs to */
|
||||||
|
Evas_Object *clipper; /* a big rect to clip this edje to */
|
||||||
|
Edje_File *file; /* the file the data comes form */
|
||||||
|
Edje_Part_Collection *collection; /* the description being used */
|
||||||
|
Evas_List *parts; /* private list of parts */
|
||||||
|
Evas_List *actions; /* currently running actions */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _Edje_Real_Part
|
||||||
|
{
|
||||||
|
int x, y, w, h;
|
||||||
|
Evas_Object *object;
|
||||||
|
unsigned char calculated : 1;
|
||||||
|
unsigned char dirty : 1;
|
||||||
|
Edje_Part *part;
|
||||||
|
double description_pos;
|
||||||
|
struct {
|
||||||
|
Edje_Part_Description *description;
|
||||||
|
Edje_Real_Part *rel1_to;
|
||||||
|
Edje_Real_Part *rel2_to;
|
||||||
|
Edje_Real_Part *confine_to;
|
||||||
|
} param1, param2;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _Edje_Calc_Params Edje_Calc_Params;
|
||||||
|
|
||||||
|
struct _Edje_Calc_Params
|
||||||
|
{
|
||||||
|
double x, y, w, h;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
double x, y, w, h;
|
||||||
|
} fill;
|
||||||
|
struct {
|
||||||
|
unsigned char r, g, b, a;
|
||||||
|
} color, color2, color3;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue