|
@ -0,0 +1,24 @@
|
||||||
|
stamp-h1
|
||||||
|
ltmain.sh
|
||||||
|
libtool
|
||||||
|
eflpp.pws
|
||||||
|
eflpp.pc
|
||||||
|
eflpp-uninstalled.pc
|
||||||
|
configure
|
||||||
|
config.sub
|
||||||
|
config.status
|
||||||
|
config.log
|
||||||
|
config.h.in
|
||||||
|
config.h
|
||||||
|
config.guess
|
||||||
|
autom4te.cache
|
||||||
|
aclocal.m4
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
||||||
|
.tm_project.cache
|
||||||
|
missing
|
||||||
|
install-sh
|
||||||
|
depcomp
|
||||||
|
.tm_project2.cache
|
||||||
|
.anjuta
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Michael 'Mickey' Lauer <mickey@Vanille.de>
|
||||||
|
Andreas 'audifahrer' Volz <andreas.volz@tux-style.com>
|
|
@ -0,0 +1,38 @@
|
||||||
|
2006-06-27 mickeyl
|
||||||
|
* Catch up with changes in EWL
|
||||||
|
* Start wrapping ETK
|
||||||
|
* Embedding an EWL in an Evas now finally works
|
||||||
|
|
||||||
|
2006-05-01 mickeyl
|
||||||
|
* Add new demo programs
|
||||||
|
* TextBlock is currently disabled due to internal Evas
|
||||||
|
changes. The next release will contain a working TextBlock
|
||||||
|
* Released EFL++ 0.1.0
|
||||||
|
|
||||||
|
2005-09-01 mickeyl
|
||||||
|
* Started wrapping Emotion
|
||||||
|
* Add EdjePart abstraction
|
||||||
|
|
||||||
|
2005-08-29 mickeyl
|
||||||
|
* Started wrapping Esmart_Container
|
||||||
|
* Started wrapping EWL
|
||||||
|
* Started wrapping Edje
|
||||||
|
* Released EFL++ 0.0.3
|
||||||
|
|
||||||
|
2005-08-01 mickeyl
|
||||||
|
* Catch up example programs with changes in Evas API
|
||||||
|
* Released EFL++ 0.0.2
|
||||||
|
|
||||||
|
2005-07-01 mickeyl
|
||||||
|
* Added the new Evas TextBlock, more work on it will follow
|
||||||
|
when the Evas TextBlock API has stabilized
|
||||||
|
|
||||||
|
2005-05-05 mickeyl
|
||||||
|
* Released EFL++ 0.0.1
|
||||||
|
|
||||||
|
2004-09-01 mickeyl
|
||||||
|
* Started working on the Ecore part of EFL++
|
||||||
|
* Released EFL++ 0.0.0
|
||||||
|
|
||||||
|
2004-08-10 mickeyl
|
||||||
|
* Started working on Evas part of EFL++
|
|
@ -0,0 +1,139 @@
|
||||||
|
PROJECT_NAME = EFLpp
|
||||||
|
PROJECT_NUMBER =
|
||||||
|
OUTPUT_DIRECTORY = doc
|
||||||
|
INPUT = ./src ./src/edje
|
||||||
|
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/eflpp.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 = YES
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
EXTRACT_LOCAL_CLASSES = NO
|
||||||
|
HIDE_UNDOC_MEMBERS = NO
|
||||||
|
HIDE_UNDOC_CLASSES = NO
|
||||||
|
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 = YES
|
||||||
|
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 = YES
|
||||||
|
HIDE_UNDOC_RELATIONS = NO
|
||||||
|
HAVE_DOT = YES
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
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
|
|
@ -0,0 +1,29 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
## Created by Anjuta - will *NOT* be overwritten
|
||||||
|
|
||||||
|
SUBDIRS = src examples data
|
||||||
|
|
||||||
|
libeflppdocdir = ${prefix}/doc/eflpp
|
||||||
|
libeflppdoc_DATA = \
|
||||||
|
README\
|
||||||
|
COPYING\
|
||||||
|
AUTHORS\
|
||||||
|
ChangeLog\
|
||||||
|
INSTALL\
|
||||||
|
NEWS\
|
||||||
|
TODO
|
||||||
|
|
||||||
|
EXTRA_DIST = $(libeflppdoc_DATA)\
|
||||||
|
eflpp.pc.in\
|
||||||
|
eflpp-uninstalled.pc.in
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = eflpp.pc
|
||||||
|
|
||||||
|
# Copy all the spec files. Of cource, only one is actually used.
|
||||||
|
dist-hook:
|
||||||
|
for specfile in *.spec; do \
|
||||||
|
if test -f $$specfile; then \
|
||||||
|
cp -p $$specfile $(distdir); \
|
||||||
|
fi \
|
||||||
|
done
|
|
@ -0,0 +1,46 @@
|
||||||
|
//=========================================================================================================//
|
||||||
|
// Enlightenment Foundation Libraries C++ Bindings. (C) 2004-2006 Vanille Media, Michael 'Mickey' Lauer.
|
||||||
|
//=========================================================================================================//
|
||||||
|
|
||||||
|
Some FAQs to get you started:
|
||||||
|
|
||||||
|
Q: Where's the homepage?
|
||||||
|
A: http://www.vanille-media.de/site/index.php/projects/efl/
|
||||||
|
|
||||||
|
Q: What's the license?
|
||||||
|
A: LGPL
|
||||||
|
|
||||||
|
Q: What are the requirements?
|
||||||
|
A: You need a C++ toolchain (recommended: g++ 4.1.1), libsigc-2.x, Evas, Ecore, Edje.
|
||||||
|
For a debugging build, you need libcwd, see http://libcwd.sourceforge.net
|
||||||
|
Optional parts need Esmart, Epsilon, Ewl, Etk, and Emotion
|
||||||
|
|
||||||
|
Q: How do I build eflpp?
|
||||||
|
A: ./autogen.sh && make && make install
|
||||||
|
|
||||||
|
Q: Why no inline functions [yet]?
|
||||||
|
A: Premature optimization is the root of all evil.
|
||||||
|
|
||||||
|
Q: Why is it using const char* and not some string class?
|
||||||
|
A: I couldn't decide yet whether libstdc++ should be optional or not.
|
||||||
|
After all, I'm targetting embedded systems...
|
||||||
|
|
||||||
|
Q: Why a monolithic library and not just one library for every EFL sublibrary?
|
||||||
|
A: EFLpp as a class library benefits from putting everything into one library.
|
||||||
|
I may reconsider this when I have more knowledge about the EFLpp use-cases.
|
||||||
|
|
||||||
|
Q: How stable is the API yet?
|
||||||
|
A: Not at all! Trust me, everything can change. I know this is a bit sucky for all potential
|
||||||
|
users of this library and I promise it will improve once we get nearer towards v0.9.
|
||||||
|
|
||||||
|
Q: How can I contribute?
|
||||||
|
A: Send patches adding more C-API coverage, tests, examples, etc.
|
||||||
|
|
||||||
|
Q: Where are the largest construction sites?
|
||||||
|
A: See TODO
|
||||||
|
|
||||||
|
Q: How can I see the debug messages?
|
||||||
|
A: export EFL_DEBUG="1" and regenerate all Makefiles
|
||||||
|
|
||||||
|
Q: It takes a long time to 'make' and 'make install'. This is bad while development. Are there alternatives?
|
||||||
|
A: Yes. You could simpy add the eflpp top level directory to the PKG_CONFIG_PATH variable. Then pkg-config is able to find the unsinstalled lib and include files. No need to do a 'make install'.
|
|
@ -0,0 +1,6 @@
|
||||||
|
* memory handling, it leaks like hell
|
||||||
|
* parent/child chaining
|
||||||
|
* callback handling needs more thinking
|
||||||
|
* much more :/
|
||||||
|
* wrap evas_color_* functions (e.g. evas_color_argb_premul)
|
||||||
|
* move all #include <config.h> from *.h to *.cpp
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm -rf autom4te.cache
|
||||||
|
rm -f aclocal.m4 ltmain.sh
|
||||||
|
|
||||||
|
touch README
|
||||||
|
|
||||||
|
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS || exit 1
|
||||||
|
echo "Running autoheader..." ; autoheader || exit 1
|
||||||
|
echo "Running autoconf..." ; autoconf || exit 1
|
||||||
|
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
|
||||||
|
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
|
||||||
|
|
||||||
|
if [ -z "$NOCONFIGURE" ]; then
|
||||||
|
./configure "$@"
|
||||||
|
fi
|
|
@ -0,0 +1,201 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
dnl Created by Anjuta - will *NOT* be overwritten
|
||||||
|
|
||||||
|
AC_INIT(EFLpp, 0.1, mickey@vanille-media.de)
|
||||||
|
AM_INIT_AUTOMAKE(eflpp, 0.1)
|
||||||
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
|
dnl Disable libtool 1.5 support for languages we don't use
|
||||||
|
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
|
||||||
|
define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
|
||||||
|
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AM_PROG_CC_STDC
|
||||||
|
AC_PROG_CPP
|
||||||
|
AC_PROG_CXX
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
|
dnl Check for option to enable esmart
|
||||||
|
AC_MSG_CHECKING(whether to enable esmart)
|
||||||
|
AC_ARG_ENABLE(emotion,
|
||||||
|
[ --enable-esmart=[no/yes] enables esmart build (default=yes)],,
|
||||||
|
enable_esmart=yes)
|
||||||
|
|
||||||
|
if [ ! test "x$enable_esmart" != "xyes"]; then
|
||||||
|
AC_DEFINE(EFL_SUPPORT_ESMART, 1, [Define to enable esmart support])
|
||||||
|
esmart_modules="esmart_container esmart_text_entry"
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Check for option to enable emotion
|
||||||
|
AC_MSG_CHECKING(whether to enable emotion)
|
||||||
|
AC_ARG_ENABLE(emotion,
|
||||||
|
[ --enable-emotion=[no/yes] enables emotion build (default=yes)],,
|
||||||
|
enable_emotion=yes)
|
||||||
|
|
||||||
|
if [ ! test "x$enable_emotion" != "xyes"]; then
|
||||||
|
AC_DEFINE(EFL_SUPPORT_EMOTION, 1, [Define to enable emotion support])
|
||||||
|
emotion_modules="emotion"
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for programs
|
||||||
|
|
||||||
|
dnl Checks for libraries
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(fbcon,
|
||||||
|
[AC_HELP_STRING([--enable-fbcon],[enable fbcon support])],
|
||||||
|
[enable_fbcon=$enableval], [enable_fbcon="auto"])
|
||||||
|
have_fbcon=no
|
||||||
|
if test "x$enable_fbcon" != "xno" ; then
|
||||||
|
AC_CHECK_HEADERS(Evas_Engine_FB.h,
|
||||||
|
[AC_CHECK_HEADER(Ecore_Fb.h,
|
||||||
|
[have_fbcon=yes],
|
||||||
|
[], [#include <Ecore.h>])],
|
||||||
|
[], [#include <Evas.h>])
|
||||||
|
if test "x$have_fbcon" = "xyes" ; then
|
||||||
|
AC_DEFINE(ENABLE_EFLPP_FB, 1, [Enable FB])
|
||||||
|
elif test "x$enable_fbcon" = "xyes" ; then
|
||||||
|
AC_MSG_ERROR(fbcon requested but no evas/ecore support found)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(EFLPP_ENABLE_FB, test "x$have_fbcon" = xyes)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dnl Check for pkg-config stuff
|
||||||
|
pkg_modules="$esmart_modules $emotion_modules evas ecore ecore-config ecore-evas ecore-ipc ecore-txt ecore-con ecore-job sigc++-2.0 etk ewl"
|
||||||
|
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
|
||||||
|
|
||||||
|
dnl Check for headers
|
||||||
|
|
||||||
|
dnl Check for functions
|
||||||
|
|
||||||
|
dnl Check for edce_cc
|
||||||
|
EDJE_DEF=""
|
||||||
|
AC_SUBST(EDJE_DEF)
|
||||||
|
AC_ARG_WITH(edje-cc,
|
||||||
|
AC_HELP_STRING([--with-edje-cc=PATH],[Specify a specific path to edje_cc]),
|
||||||
|
[
|
||||||
|
v=$withval;
|
||||||
|
edje_cc=$v
|
||||||
|
echo " Enlightenment edje_cc explicitly set to "$edje_cc;
|
||||||
|
],[
|
||||||
|
edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc
|
||||||
|
])
|
||||||
|
AC_SUBST(edje_cc)
|
||||||
|
|
||||||
|
dnl Set PACKAGE SOURCE DIR
|
||||||
|
packagesrcdir=`cd $srcdir && pwd`
|
||||||
|
|
||||||
|
dnl Set PACKAGE PREFIX
|
||||||
|
if test "x${prefix}" = "xNONE"; then
|
||||||
|
packageprefix=${ac_default_prefix}
|
||||||
|
else
|
||||||
|
packageprefix=${prefix}
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Set PACKAGE DIRS in config.h
|
||||||
|
packagedatadir=share/${PACKAGE}
|
||||||
|
packagedocdir=doc/${PACKAGE}
|
||||||
|
packagepixmapsdir=share/pixmaps/${PACKAGE}
|
||||||
|
systempixmapsdir=share/pixmaps
|
||||||
|
|
||||||
|
dnl Subst PACKAGE_DATA_DIR.
|
||||||
|
NO_PREFIX_PACKAGE_DATA_DIR="${packagedatadir}"
|
||||||
|
AC_SUBST(NO_PREFIX_PACKAGE_DATA_DIR)
|
||||||
|
PACKAGE_DATA_DIR="${packageprefix}/${packagedatadir}"
|
||||||
|
AC_SUBST(PACKAGE_DATA_DIR)
|
||||||
|
|
||||||
|
dnl Subst PACKAGE_DOC_DIR.
|
||||||
|
NO_PREFIX_PACKAGE_DOC_DIR="${packagedocdir}"
|
||||||
|
AC_SUBST(NO_PREFIX_PACKAGE_DOC_DIR)
|
||||||
|
PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}"
|
||||||
|
AC_SUBST(PACKAGE_DOC_DIR)
|
||||||
|
|
||||||
|
dnl Subst PACKAGE_PIXMAPS_DIR.
|
||||||
|
NO_PREFIX_PACKAGE_PIXMAPS_DIR="${packagepixmapsdir}"
|
||||||
|
AC_SUBST(NO_PREFIX_PACKAGE_PIXMAPS_DIR)
|
||||||
|
PACKAGE_PIXMAPS_DIR="${packageprefix}/${packagepixmapsdir}"
|
||||||
|
AC_SUBST(PACKAGE_PIXMAPS_DIR)
|
||||||
|
|
||||||
|
dnl Subst SYSTEM_PIXMAPS_DIR.
|
||||||
|
NO_PREFIX_SYSTEM_PIXMAPS_DIR="${packagepixmapsdir}"
|
||||||
|
AC_SUBST(NO_PREFIX_SYSTEM_PIXMAPS_DIR)
|
||||||
|
SYSTEM_PIXMAPS_DIR="${packageprefix}/${systempixmapsdir}"
|
||||||
|
AC_SUBST(SYSTEM_PIXMAPS_DIR)
|
||||||
|
|
||||||
|
dnl Subst PACKAGE_SOURCE_DIR
|
||||||
|
PACKAGE_SOURCE_DIR="${packagesrcdir}"
|
||||||
|
AC_SUBST(PACKAGE_SOURCE_DIR)
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${packageprefix}/${packagedatadir}","")
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_DOC_DIR, "${packageprefix}/${packagedocdir}","")
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_PIXMAPS_DIR, "${packageprefix}/${packagepixmapsdir}","")
|
||||||
|
AC_DEFINE_UNQUOTED(SYSTEM_PIXMAPS_DIR, "${packageprefix}/${systempixmapsdir}","")
|
||||||
|
AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}","")
|
||||||
|
|
||||||
|
AC_OUTPUT([
|
||||||
|
eflpp.pc
|
||||||
|
eflpp-uninstalled.pc
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
src/common/Makefile
|
||||||
|
src/ecore/Makefile
|
||||||
|
src/edje/Makefile
|
||||||
|
src/esmart/Makefile
|
||||||
|
src/evas/Makefile
|
||||||
|
src/edb/Makefile
|
||||||
|
src/eet/Makefile
|
||||||
|
src/emotion/Makefile
|
||||||
|
src/etk/Makefile
|
||||||
|
src/ewl/Makefile
|
||||||
|
src/misc/Makefile
|
||||||
|
examples/Makefile
|
||||||
|
examples/edje/Makefile
|
||||||
|
examples/edje/simple/Makefile
|
||||||
|
examples/esmart/Makefile
|
||||||
|
examples/esmart/container/Makefile
|
||||||
|
examples/esmart/textentry/Makefile
|
||||||
|
examples/esmart/group/Makefile
|
||||||
|
examples/etk/Makefile
|
||||||
|
examples/etk/embed/Makefile
|
||||||
|
examples/etk/simple/Makefile
|
||||||
|
examples/ewl/Makefile
|
||||||
|
examples/ewl/embed/Makefile
|
||||||
|
examples/ewl/simple/Makefile
|
||||||
|
examples/signals/Makefile
|
||||||
|
examples/signals/simple/Makefile
|
||||||
|
examples/emotion/Makefile
|
||||||
|
examples/emotion/simple/Makefile
|
||||||
|
examples/debug/Makefile
|
||||||
|
examples/debug/simple/Makefile
|
||||||
|
examples/ecore/Makefile
|
||||||
|
examples/ecore/3dstars/Makefile
|
||||||
|
examples/ecore/calibrate/Makefile
|
||||||
|
examples/ecore/callbacks/Makefile
|
||||||
|
examples/ecore/config/Makefile
|
||||||
|
examples/ecore/paint/Makefile
|
||||||
|
examples/ecore/simple/Makefile
|
||||||
|
examples/ecore/stars/Makefile
|
||||||
|
examples/ecore/timers/Makefile
|
||||||
|
examples/ecore/list/Makefile
|
||||||
|
examples/ecore/x/Makefile
|
||||||
|
examples/angstrom/Makefile
|
||||||
|
examples/angstrom/bootmanager/Makefile
|
||||||
|
examples/evas/Makefile
|
||||||
|
examples/evas/hash/Makefile
|
||||||
|
examples/evas/list/Makefile
|
||||||
|
data/Makefile
|
||||||
|
data/edjes/Makefile
|
||||||
|
data/fonts/Makefile
|
||||||
|
data/images/Makefile
|
||||||
|
])
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
|
@ -0,0 +1 @@
|
||||||
|
SUBDIRS = edjes fonts images
|
|
@ -0,0 +1,3 @@
|
||||||
|
*.edj
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
|
@ -0,0 +1,44 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
|
EDJE_CC = @edje_cc@
|
||||||
|
EDJE_FLAGS = \
|
||||||
|
-v \
|
||||||
|
-id $(top_srcdir)/data/images \
|
||||||
|
-fd $(top_srcdir)/data/fonts \
|
||||||
|
@EDJE_DEF@
|
||||||
|
|
||||||
|
filesdir = $(pkgdatadir)/edjes
|
||||||
|
files_DATA = simple.edj angstrom-bootmanager.edj angstrom-calibrate.edj angstrom-installer.edj esmart_text_entry_test.edj
|
||||||
|
|
||||||
|
EXTRA_DIST = angstrom-background.edc \
|
||||||
|
angstrom-bootmanager.edc \
|
||||||
|
angstrom-calibrate.edc \
|
||||||
|
angstrom-installer.edc \
|
||||||
|
e17-default-clock.edc \
|
||||||
|
entrance-buttons.edc \
|
||||||
|
simple.edc \
|
||||||
|
esmart_text_entry_test.edc
|
||||||
|
|
||||||
|
simple.edj: Makefile simple.edc
|
||||||
|
$(EDJE_CC) $(EDJE_FLAGS) \
|
||||||
|
$(top_srcdir)/data/edjes/simple.edc
|
||||||
|
|
||||||
|
angstrom-bootmanager.edj: Makefile angstrom-bootmanager.edc
|
||||||
|
$(EDJE_CC) $(EDJE_FLAGS) \
|
||||||
|
$(top_srcdir)/data/edjes/angstrom-bootmanager.edc
|
||||||
|
|
||||||
|
angstrom-calibrate.edj: Makefile angstrom-calibrate.edc
|
||||||
|
$(EDJE_CC) $(EDJE_FLAGS) \
|
||||||
|
$(top_srcdir)/data/edjes/angstrom-calibrate.edc
|
||||||
|
|
||||||
|
angstrom-installer.edj: Makefile angstrom-installer.edc
|
||||||
|
$(EDJE_CC) $(EDJE_FLAGS) \
|
||||||
|
$(top_srcdir)/data/edjes/angstrom-installer.edc
|
||||||
|
|
||||||
|
esmart_text_entry_test.edj: Makefile esmart_text_entry_test.edc
|
||||||
|
$(EDJE_CC) $(EDJE_FLAGS) \
|
||||||
|
$(top_srcdir)/data/edjes/esmart_text_entry_test.edc
|
||||||
|
|
||||||
|
clean-local:
|
||||||
|
rm -f *.edj
|
||||||
|
|
|
@ -0,0 +1,411 @@
|
||||||
|
images {
|
||||||
|
image: "logo_shad.png" COMP;
|
||||||
|
image: "shad.png" COMP;
|
||||||
|
image: "tex.png" LOSSY 85;
|
||||||
|
image: "ref.png" LOSSY 60;
|
||||||
|
image: "bar_l.png" COMP;
|
||||||
|
image: "bar_r.png" COMP;
|
||||||
|
image: "bar_l_sh.png" COMP;
|
||||||
|
image: "bar_r_sh.png" COMP;
|
||||||
|
image: "angstrom.png" COMP;
|
||||||
|
}
|
||||||
|
|
||||||
|
fonts {
|
||||||
|
font: "Vera.ttf" "Vera";
|
||||||
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
name: "background";
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "background_image";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "tex.png";
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
size {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 800 510;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "shad";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "shad.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_l_sh";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 39;
|
||||||
|
max: 99999 39;
|
||||||
|
align: 0.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_l";
|
||||||
|
offset: 0 -7;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_l";
|
||||||
|
offset: 5 6;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "bar_l_sh.png";
|
||||||
|
border: 0 60 0 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_r_sh";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 39;
|
||||||
|
max: 99999 39;
|
||||||
|
align: 0.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_r";
|
||||||
|
offset: -5 -7;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_r";
|
||||||
|
offset: -1 6;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "bar_r_sh.png";
|
||||||
|
border: 60 0 0 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_l1";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 4;
|
||||||
|
max: 99999 4;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_l";
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 0 6;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_l";
|
||||||
|
relative: 1.0 0.0;
|
||||||
|
offset: -15 9;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "ref.png";
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
size {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default2" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
offset: -400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_l2";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 4;
|
||||||
|
max: 99999 4;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_l";
|
||||||
|
relative: 0.0 1.0;
|
||||||
|
offset: 0 -10;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_l";
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -7 -7;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "ref.png";
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
size {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default2" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
offset: -400 -80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_r1";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 4;
|
||||||
|
max: 99999 4;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_r";
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 14 6;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_r";
|
||||||
|
relative: 1.0 0.0;
|
||||||
|
offset: -1 9;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "ref.png";
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
size {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default2" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
offset: 400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_r2";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 4;
|
||||||
|
max: 99999 4;
|
||||||
|
rel1 {
|
||||||
|
to: "bar_r";
|
||||||
|
relative: 0.0 1.0;
|
||||||
|
offset: 6 -10;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "bar_r";
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: 0 -7;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "ref.png";
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
size {
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 400 80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default2" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
fill {
|
||||||
|
origin {
|
||||||
|
offset: 400 -80;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_l";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 25;
|
||||||
|
max: 99999 25;
|
||||||
|
align: 0.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 1.0;
|
||||||
|
offset: 0 -50;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: -50 -50;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "bar_l.png";
|
||||||
|
border: 0 30 0 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "bar_r";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 0 25;
|
||||||
|
max: 99999 25;
|
||||||
|
align: 1.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: 49 -50;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -1 -50;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "bar_r.png";
|
||||||
|
border: 30 0 0 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "logo";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 128 100;
|
||||||
|
max: 256 200;
|
||||||
|
align: 0.5 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: 0 -20;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: 0 -20;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "angstrom.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* version text at bottom in the middle */
|
||||||
|
part {
|
||||||
|
name: "version";
|
||||||
|
type: "TEXT";
|
||||||
|
effect: OUTLINE_SOFT_SHADOW;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
/*align: 0.0 0.0;*/
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.97;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 0.97;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text: "SETME: Angstrom Version";
|
||||||
|
font: "Vera";
|
||||||
|
size: 14;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "ref1_1";
|
||||||
|
signal: "show";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default2" 0.0;
|
||||||
|
transition: LINEAR 4.0;
|
||||||
|
target: "bar_l1";
|
||||||
|
after: "ref1_2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref1_2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bar_l1";
|
||||||
|
after: "ref1_1";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref2_1";
|
||||||
|
signal: "show";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default2" 0.0;
|
||||||
|
transition: LINEAR 5.71;
|
||||||
|
target: "bar_l2";
|
||||||
|
after: "ref2_2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref2_2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bar_l2";
|
||||||
|
after: "ref2_1";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref3_1";
|
||||||
|
signal: "show";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default2" 0.0;
|
||||||
|
transition: LINEAR 3.46;
|
||||||
|
target: "bar_r1";
|
||||||
|
after: "ref3_2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref3_2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bar_r1";
|
||||||
|
after: "ref3_1";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref4_1";
|
||||||
|
signal: "show";
|
||||||
|
source: "";
|
||||||
|
action: STATE_SET "default2" 0.0;
|
||||||
|
transition: LINEAR 6.32;
|
||||||
|
target: "bar_r2";
|
||||||
|
after: "ref4_2";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "ref4_2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bar_r2";
|
||||||
|
after: "ref4_1";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
/* most artwork is taken by the Enlightenment Team
|
||||||
|
* the respective licenses apply */
|
||||||
|
|
||||||
|
collections {
|
||||||
|
#include "angstrom-background.edc"
|
||||||
|
#include "entrance-buttons.edc"
|
||||||
|
}
|
|
@ -0,0 +1,128 @@
|
||||||
|
collections {
|
||||||
|
|
||||||
|
images {
|
||||||
|
image: "panel.png" COMP;
|
||||||
|
image: "shadow.png" COMP;
|
||||||
|
image: "angstrom.png" COMP;
|
||||||
|
image: "crosshair.png" COMP;
|
||||||
|
}
|
||||||
|
|
||||||
|
fonts {
|
||||||
|
font: "Vera.ttf" "Vera";
|
||||||
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
name: "background";
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "background_image";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "panel.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "shadow";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "shadow.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "crosshair";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 31 31;
|
||||||
|
max: 31 31;
|
||||||
|
align: 0.5 0.5;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "crosshair.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "logo";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 128 100;
|
||||||
|
max: 256 200;
|
||||||
|
align: 0.5 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 1.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "angstrom.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "help";
|
||||||
|
type: "TEXT";
|
||||||
|
effect: NONE;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.3;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 0.3;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text: "Click to calibrate your touchscreen";
|
||||||
|
font: "Vera";
|
||||||
|
size: 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
programs {
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "init";
|
||||||
|
signal: "load";
|
||||||
|
source: "";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "user_startup";
|
||||||
|
signal: "show";
|
||||||
|
source: "";
|
||||||
|
action: SIGNAL_EMIT "user" "on";
|
||||||
|
after: "crosshair_animate";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "crosshair_animate";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 2.0;
|
||||||
|
target: "crosshair";
|
||||||
|
after: "crosshair_animate";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,144 @@
|
||||||
|
// Sample EDC
|
||||||
|
images {
|
||||||
|
image, "background.png" LOSSY 95;
|
||||||
|
}
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name, "test";
|
||||||
|
min, 32 32;
|
||||||
|
max, 1024 768;
|
||||||
|
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name, "background";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal, "background.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "button";
|
||||||
|
type, RECT;
|
||||||
|
mouse_events, 1;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 100 50;
|
||||||
|
max, 100 50;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
|
||||||
|
color, 211 168 234 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state, "clicked" 0.0;
|
||||||
|
min, 100 50;
|
||||||
|
max, 100 50;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
|
||||||
|
color, 170 89 214 255;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "text";
|
||||||
|
type, TEXT;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "button";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
to, "button";
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text, "Press Me";
|
||||||
|
font, "Vera";
|
||||||
|
size, 14;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* Close Parts */
|
||||||
|
|
||||||
|
programs {
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "button_click";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button";
|
||||||
|
action, STATE_SET "clicked" 0.0;
|
||||||
|
target, "button";
|
||||||
|
after, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "button_unclick";
|
||||||
|
signal, "mouse,up,1";
|
||||||
|
source, "button";
|
||||||
|
action, STATE_SET "default" 0.0;
|
||||||
|
target, "button";
|
||||||
|
after, "stop_doing_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "do_me";
|
||||||
|
signal, "*";
|
||||||
|
source, "button_click";
|
||||||
|
action, SIGNAL_EMIT "PANTS ON" "button";
|
||||||
|
in, 1.0 0.0;
|
||||||
|
after, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "stop_doing_me";
|
||||||
|
signal, "*";
|
||||||
|
source, "button_unclick";
|
||||||
|
action, ACTION_STOP;
|
||||||
|
target, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* Close Prog */
|
||||||
|
} /* Close Group */
|
||||||
|
} /* Close Coll */
|
||||||
|
|
|
@ -0,0 +1,268 @@
|
||||||
|
images {
|
||||||
|
image: "power_button_0.png" LOSSY 90;
|
||||||
|
image: "power_button_1.png" LOSSY 90;
|
||||||
|
image: "power_button_glow_0.png" LOSSY 90;
|
||||||
|
image: "power_button_glow_1.png" LOSSY 90;
|
||||||
|
|
||||||
|
image: "reset_button_0.png" LOSSY 90;
|
||||||
|
image: "reset_button_1.png" LOSSY 90;
|
||||||
|
image: "reset_button_glow_0.png" LOSSY 90;
|
||||||
|
image: "reset_button_glow_1.png" LOSSY 90;
|
||||||
|
}
|
||||||
|
group {
|
||||||
|
name: "buttons";
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "all_clip";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 0 0 0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
color: 255 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "power_button";
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 32 32;
|
||||||
|
max: 32 32;
|
||||||
|
align: 1.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.98 0.98;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.98 0.98;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "power_button_0.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "power_button_1.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "power_button_glow";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
rel1 {
|
||||||
|
to: "power_button";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "power_button";
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
image {
|
||||||
|
normal: "power_button_glow_0.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hilited" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
image {
|
||||||
|
normal: "power_button_glow_1.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "reset_button";
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
min: 32 32;
|
||||||
|
max: 32 32;
|
||||||
|
align: 0.0 1.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.02 0.98;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.02 0.98;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "reset_button_0.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "reset_button_1.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "reset_button_glow";
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
rel1 {
|
||||||
|
to: "reset_button";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "reset_button";
|
||||||
|
}
|
||||||
|
color: 255 255 255 0;
|
||||||
|
image {
|
||||||
|
normal: "reset_button_glow_0.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hilited" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
image {
|
||||||
|
normal: "reset_button_glow_1.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "power_button_in";
|
||||||
|
signal: "mouse,in";
|
||||||
|
source: "power_button";
|
||||||
|
action: STATE_SET "hilited" 0.0;
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
target: "power_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_out";
|
||||||
|
signal: "mouse,out";
|
||||||
|
source: "power_button";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
target: "power_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_down";
|
||||||
|
signal: "mouse,down,1";
|
||||||
|
source: "power_button";
|
||||||
|
action: STATE_SET "clicked" 0.0;
|
||||||
|
transition: LINEAR 0.0;
|
||||||
|
target: "power_button";
|
||||||
|
target: "power_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_up";
|
||||||
|
signal: "mouse,up,1";
|
||||||
|
source: "power_button";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 0.0;
|
||||||
|
target: "power_button";
|
||||||
|
target: "power_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_up2";
|
||||||
|
signal: "mouse,clicked,1";
|
||||||
|
source: "power_button";
|
||||||
|
action: STATE_SET "hilited" 0.0;
|
||||||
|
target: "power_button_glow";
|
||||||
|
after: "power_button_up3";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_up3";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
transition: SINUSOIDAL 2.0;
|
||||||
|
target: "all_clip";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "power_button_clicked";
|
||||||
|
signal: "mouse,clicked,1";
|
||||||
|
source: "power_button";
|
||||||
|
action: SIGNAL_EMIT "angstrom|system|suspend" "2nd parameter";
|
||||||
|
in: 2.0 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name: "reset_button_in";
|
||||||
|
signal: "mouse,in";
|
||||||
|
source: "reset_button";
|
||||||
|
action: STATE_SET "hilited" 0.0;
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
target: "reset_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_out";
|
||||||
|
signal: "mouse,out";
|
||||||
|
source: "reset_button";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
target: "reset_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_down";
|
||||||
|
signal: "mouse,down,1";
|
||||||
|
source: "reset_button";
|
||||||
|
action: STATE_SET "clicked" 0.0;
|
||||||
|
transition: LINEAR 0.0;
|
||||||
|
target: "reset_button";
|
||||||
|
target: "reset_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_up";
|
||||||
|
signal: "mouse,up,1";
|
||||||
|
source: "reset_button";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 0.0;
|
||||||
|
target: "reset_button";
|
||||||
|
target: "reset_button_glow";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_up2";
|
||||||
|
signal: "mouse,clicked,1";
|
||||||
|
source: "reset_button";
|
||||||
|
action: STATE_SET "hilited" 0.0;
|
||||||
|
target: "reset_button_glow";
|
||||||
|
after: "reset_button_up3";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_up3";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
transition: SINUSOIDAL 2.0;
|
||||||
|
target: "all_clip";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "reset_button_clicked";
|
||||||
|
signal: "mouse,clicked,1";
|
||||||
|
source: "reset_button";
|
||||||
|
action: SIGNAL_EMIT "angstrom|system|reboot" "2nd parameter";
|
||||||
|
in: 2.0 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,143 @@
|
||||||
|
// Esmart Text Entry Example EDC
|
||||||
|
images
|
||||||
|
{
|
||||||
|
image, "text_view_bg.png" COMP;
|
||||||
|
image, "text_view_over.png" COMP;
|
||||||
|
image, "entry_cursor.png" COMP;
|
||||||
|
}
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name, "text_entry";
|
||||||
|
min, 10 10;
|
||||||
|
max, 1024 768;
|
||||||
|
|
||||||
|
parts {
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "back_clip";
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0 0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "background";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 1;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0 0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
normal, "text_view_bg.png";
|
||||||
|
border: 10 6 9 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "overlay";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 1;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0 0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
normal, "text_view_over.png";
|
||||||
|
border: 10 6 9 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "text";
|
||||||
|
type: TEXT;
|
||||||
|
mouse_events: 1;
|
||||||
|
effect: SHADOW;
|
||||||
|
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 255;
|
||||||
|
align: 0 0;
|
||||||
|
|
||||||
|
text
|
||||||
|
{
|
||||||
|
font: "FreeSans";
|
||||||
|
size: 12;
|
||||||
|
// fit: 0 1;
|
||||||
|
min: 1 0;
|
||||||
|
align: 0 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
rel1
|
||||||
|
{
|
||||||
|
relative: 0 0;
|
||||||
|
offset: 7 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
rel2
|
||||||
|
{
|
||||||
|
relative: 0 1;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "cursor";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 1;
|
||||||
|
clip_to: "back_clip";
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
aspect: 1.0 1.0;
|
||||||
|
aspect_preference: VERTICAL;
|
||||||
|
align: 0.0 0.5;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 1 0;
|
||||||
|
offset, 0 5;
|
||||||
|
to: "text";
|
||||||
|
}
|
||||||
|
|
||||||
|
rel2 {
|
||||||
|
relative, 1 1;
|
||||||
|
offset, 0 -5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
image {
|
||||||
|
normal, "entry_cursor.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* Close Parts */
|
||||||
|
|
||||||
|
programs {
|
||||||
|
|
||||||
|
} /* Close Prog */
|
||||||
|
} /* Close Group */
|
||||||
|
} /* Close Coll */
|
||||||
|
|
|
@ -0,0 +1,148 @@
|
||||||
|
// Simple Button edc
|
||||||
|
images {
|
||||||
|
image: "tex.png" LOSSY 95;
|
||||||
|
image: "item_normal.png" LOSSY 95;
|
||||||
|
image: "item_selected.png" LOSSY 95;
|
||||||
|
}
|
||||||
|
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name, "test";
|
||||||
|
min, 32 32;
|
||||||
|
max, 1024 768;
|
||||||
|
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name, "background";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal, "tex.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name, "button";
|
||||||
|
type, IMAGE;
|
||||||
|
mouse_events, 1;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
min, 100 50;
|
||||||
|
max, 100 50;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "item_normal.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state, "clicked" 0.0;
|
||||||
|
min, 100 50;
|
||||||
|
max, 100 50;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "item_selected.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name, "text";
|
||||||
|
type, TEXT;
|
||||||
|
effect: "OUTLINE";
|
||||||
|
mouse_events, 0;
|
||||||
|
|
||||||
|
description {
|
||||||
|
state, "default" 0.0;
|
||||||
|
|
||||||
|
rel1 {
|
||||||
|
|
||||||
|
relative, 0.0 0.0;
|
||||||
|
offset, 0 0;
|
||||||
|
to, "button";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative, 1.0 1.0;
|
||||||
|
offset, -1 -1;
|
||||||
|
to, "button";
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
text, "Press Me";
|
||||||
|
font, "Vera";
|
||||||
|
size, 14;
|
||||||
|
align, 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* Close Parts */
|
||||||
|
|
||||||
|
programs {
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "button_click";
|
||||||
|
signal, "mouse,down,1";
|
||||||
|
source, "button";
|
||||||
|
action, STATE_SET "clicked" 0.0;
|
||||||
|
target, "button";
|
||||||
|
after, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "button_unclick";
|
||||||
|
signal, "mouse,up,1";
|
||||||
|
source, "button";
|
||||||
|
action, STATE_SET "default" 0.0;
|
||||||
|
target, "button";
|
||||||
|
after, "stop_doing_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "do_me";
|
||||||
|
signal, "*";
|
||||||
|
source, "button_click";
|
||||||
|
action, SIGNAL_EMIT "PANTS ON" "button";
|
||||||
|
in, 1.0 0.0;
|
||||||
|
after, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
program {
|
||||||
|
name, "stop_doing_me";
|
||||||
|
signal, "*";
|
||||||
|
source, "button_unclick";
|
||||||
|
action, ACTION_STOP;
|
||||||
|
target, "do_me";
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* Close Prog */
|
||||||
|
} /* Close Group */
|
||||||
|
} /* Close Coll */
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
|
@ -0,0 +1,15 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
## Created by Anjuta - will be overwritten
|
||||||
|
## If you don't want it to overwrite it,
|
||||||
|
## Please disable it in the Anjuta project configuration
|
||||||
|
|
||||||
|
eflpp_fontsdir = @PACKAGE_DATA_DIR@/fonts
|
||||||
|
|
||||||
|
eflpp_fonts_DATA = \
|
||||||
|
GentiumI.ttf \
|
||||||
|
Gentium.ttf \
|
||||||
|
VeraMono.ttf \
|
||||||
|
Vera.ttf
|
||||||
|
|
||||||
|
EXTRA_DIST = $(eflpp_fonts_DATA)
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
|
@ -0,0 +1,49 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
# TODO: not all images need to be installed!
|
||||||
|
|
||||||
|
eflpp_pixmapsdir = @PACKAGE_DATA_DIR@/images
|
||||||
|
|
||||||
|
eflpp_pixmaps_DATA = \
|
||||||
|
angstrom.png \
|
||||||
|
background.png \
|
||||||
|
bar_l.png \
|
||||||
|
bar_l_sh.png \
|
||||||
|
bar_r.png \
|
||||||
|
bar_r_sh.png \
|
||||||
|
bg.png \
|
||||||
|
blue_type.png \
|
||||||
|
boing-shadow.png \
|
||||||
|
border.png \
|
||||||
|
brushed_metal.png \
|
||||||
|
crosshair.png \
|
||||||
|
e_logo.png \
|
||||||
|
e_logo_small.png \
|
||||||
|
evas_logo.png \
|
||||||
|
fleur_de_lis.png \
|
||||||
|
floral.png \
|
||||||
|
item_normal.png \
|
||||||
|
item_selected.png \
|
||||||
|
item_title.png \
|
||||||
|
logo.png \
|
||||||
|
logo_shad.png \
|
||||||
|
numbers.png \
|
||||||
|
panel.png \
|
||||||
|
panel_shadow.png \
|
||||||
|
panel_top.png \
|
||||||
|
pingi-shadow.png \
|
||||||
|
power_button_0.png \
|
||||||
|
power_button_1.png \
|
||||||
|
power_button_glow_0.png \
|
||||||
|
power_button_glow_1.png \
|
||||||
|
ref.png \
|
||||||
|
reset_button_0.png \
|
||||||
|
reset_button_1.png \
|
||||||
|
reset_button_glow_0.png \
|
||||||
|
reset_button_glow_1.png \
|
||||||
|
shadow.png \
|
||||||
|
shad.png \
|
||||||
|
tex.png \
|
||||||
|
vanille.png
|
||||||
|
|
||||||
|
EXTRA_DIST = $(eflpp_pixmaps_DATA)
|
After Width: | Height: | Size: 428 B |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 105 KiB |
After Width: | Height: | Size: 392 B |
After Width: | Height: | Size: 1.2 KiB |
|
@ -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=eflpp.css rel=stylesheet type=text/css>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class=nav>
|
||||||
|
<table border=0 align=center><tr>
|
||||||
|
<td width=16><img src=eflpp_mini.png width=16 height=16 alt=E></td>
|
||||||
|
<td width=100% align=center>
|
||||||
|
E : F : L : P : P
|
||||||
|
</td>
|
||||||
|
<td width=16><img src=eflpp_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,13 @@
|
||||||
|
prefix=
|
||||||
|
exec_prefix=
|
||||||
|
libdir=src
|
||||||
|
includedir=src
|
||||||
|
|
||||||
|
Name: @PACKAGE@
|
||||||
|
Description: EFL C++ Wrapper, Not installed
|
||||||
|
Version: @VERSION@
|
||||||
|
Requires: sigc++-2.0
|
||||||
|
Conflicts:
|
||||||
|
Libs: ${pcfiledir}/${libdir}/libeflpp.la
|
||||||
|
Cflags: -I${pcfiledir}/${includedir}/common -I${pcfiledir}/${includedir}/ecore -I${pcfiledir}/${includedir}/edb -I${pcfiledir}/${includedir}/edje -I${pcfiledir}/${includedir}/eet -I${pcfiledir}/${includedir}/embryo -I${pcfiledir}/${includedir}/emotion -I${pcfiledir}/${includedir}/esmart -I${pcfiledir}/${includedir}/etk -I${pcfiledir}/${includedir}/evas -I${pcfiledir}/${includedir}/ewl -I${pcfiledir}/${includedir}/misc
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<anjuta>
|
||||||
|
<plugin name="GBF Project Manager"
|
||||||
|
url="http://anjuta.org/plugins/"
|
||||||
|
mandatory="yes">
|
||||||
|
<require group="Anjuta Plugin"
|
||||||
|
attribute="Interfaces"
|
||||||
|
value="IAnjutaProjectManager"/>
|
||||||
|
<require group="Project"
|
||||||
|
attribute="Supported-Project-Types"
|
||||||
|
value="automake"/>
|
||||||
|
</plugin>
|
||||||
|
<plugin name="Symbol Browser"
|
||||||
|
url="http://anjuta.org/plugins/"
|
||||||
|
mandatory="yes">
|
||||||
|
<require group="Anjuta Plugin"
|
||||||
|
attribute="Location"
|
||||||
|
value="anjuta-symbol-browser:SymbolBrowserPlugin"/>
|
||||||
|
</plugin>
|
||||||
|
<plugin name="Make Build System"
|
||||||
|
url="http://anjuta.org/plugins/"
|
||||||
|
mandatory="yes">
|
||||||
|
<require group="Anjuta Plugin"
|
||||||
|
attribute="Interfaces"
|
||||||
|
value="IAnjutaBuildable"/>
|
||||||
|
<require group="Build"
|
||||||
|
attribute="Supported-Build-Types"
|
||||||
|
value="make"/>
|
||||||
|
</plugin>
|
||||||
|
<plugin name="Task Manager"
|
||||||
|
url="http://anjuta.org/plugins/"
|
||||||
|
mandatory="no">
|
||||||
|
<require group="Anjuta Plugin"
|
||||||
|
attribute="Interfaces"
|
||||||
|
value="IAnjutaTodo"/>
|
||||||
|
</plugin>
|
||||||
|
<plugin name="Debug Manager"
|
||||||
|
url="http://anjuta.org/plugins/"
|
||||||
|
mandatory="no">
|
||||||
|
<require group="Anjuta Plugin"
|
||||||
|
attribute="Interfaces"
|
||||||
|
value="IAnjutaDebuggerManager"/>
|
||||||
|
</plugin>
|
||||||
|
</anjuta>
|
|
@ -0,0 +1,13 @@
|
||||||
|
prefix=@prefix@
|
||||||
|
exec_prefix=@prefix@
|
||||||
|
libdir=@exec_prefix@/lib
|
||||||
|
includedir=@prefix@/include/eflpp
|
||||||
|
|
||||||
|
Name: @PACKAGE@
|
||||||
|
Description: EFL C++ Wrapper
|
||||||
|
Version: @VERSION@
|
||||||
|
Requires: sigc++-2.0
|
||||||
|
Conflicts:
|
||||||
|
Libs: -L${libdir} -leflpp
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
|
@ -0,0 +1 @@
|
||||||
|
SUBDIRS = edje esmart etk ewl emotion ecore signals debug
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
|
@ -0,0 +1 @@
|
||||||
|
SUBDIRS = bootmanager
|
|
@ -0,0 +1,3 @@
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
.deps
|
|
@ -0,0 +1,30 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
INCLUDES =
|
||||||
|
|
||||||
|
AM_CXXFLAGS =\
|
||||||
|
@PACKAGE_CFLAGS@ \
|
||||||
|
-I$(top_srcdir)/src/ecore/ \
|
||||||
|
-I$(top_srcdir)/src/evas/ \
|
||||||
|
-I$(top_srcdir)/src/edje/ \
|
||||||
|
-I$(top_srcdir)/src/common/ \
|
||||||
|
-Wall
|
||||||
|
|
||||||
|
|
||||||
|
bin_PROGRAMS = eflpp_angstrom_bootmanager
|
||||||
|
|
||||||
|
eflpp_angstrom_bootmanager_SOURCES = \
|
||||||
|
app.cpp \
|
||||||
|
app.h \
|
||||||
|
calibrate.cpp \
|
||||||
|
calibrate.h \
|
||||||
|
main.cpp \
|
||||||
|
Makefile.am \
|
||||||
|
win.cpp \
|
||||||
|
win.h
|
||||||
|
|
||||||
|
eflpp_angstrom_bootmanager_LDFLAGS = @PACKAGE_LIBS@
|
||||||
|
|
||||||
|
eflpp_angstrom_bootmanager_LDADD = $(top_builddir)/src/libeflpp.la
|
||||||
|
|
||||||
|
eflpp_angstrom_bootmanager_DEPENDENCIES = $(top_builddir)/src/libeflpp.la
|
|
@ -0,0 +1,31 @@
|
||||||
|
#include "app.h"
|
||||||
|
|
||||||
|
#include <eflpp_ecore.h>
|
||||||
|
using namespace efl;
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
BootManagerApp::BootManagerApp( int argc, const char** argv, const char* title )
|
||||||
|
:EcoreApplication( argc, argv, title )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BootManagerApp::~BootManagerApp()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BootManagerApp::suspend( const char*, const char* )
|
||||||
|
{
|
||||||
|
cout << "APP: suspending..." << endl;
|
||||||
|
//FIXME Add confirmation dialog
|
||||||
|
//::system( "apm --suspend" );
|
||||||
|
}
|
||||||
|
|
||||||
|
void BootManagerApp::reboot()
|
||||||
|
{
|
||||||
|
cout << "APP: rebooting..." << endl;
|
||||||
|
//FIXME Add confirmation dialog
|
||||||
|
//::system( "reboot" );
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef BOOTMANAGER_APP_H
|
||||||
|
#define BOOTMANAGER_APP_H
|
||||||
|
|
||||||
|
#include <eflpp_ecore.h>
|
||||||
|
using namespace efl;
|
||||||
|
|
||||||
|
class BootManagerApp : public EcoreApplication
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BootManagerApp( int argc, const char** argv, const char* title );
|
||||||
|
~BootManagerApp();
|
||||||
|
|
||||||
|
public: /* slots */
|
||||||
|
void suspend( const char*, const char* );
|
||||||
|
void reboot();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,301 @@
|
||||||
|
#include "calibrate.h"
|
||||||
|
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cerrno>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
#include <eflpp_evas.h>
|
||||||
|
#include <eflpp_ecore.h>
|
||||||
|
|
||||||
|
#ifdef ENABLE_EFLPP_FB
|
||||||
|
#include <Ecore_Fb.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <Ecore.h>
|
||||||
|
|
||||||
|
const unsigned int offset = 32;
|
||||||
|
|
||||||
|
static Ecore_Event_Filter* filter = 0;
|
||||||
|
|
||||||
|
static void* calibration_event_filter_start( void* data )
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int calibration_event_filter_event( void* loop_data, void *data, int type, void* event )
|
||||||
|
{
|
||||||
|
#ifdef ENABLE_EFLPP_FB
|
||||||
|
if ( type == ECORE_FB_EVENT_MOUSE_BUTTON_UP )
|
||||||
|
{
|
||||||
|
Ecore_Fb_Event_Mouse_Button_Up* ev = static_cast<Ecore_Fb_Event_Mouse_Button_Up*>( event );
|
||||||
|
cout << " - data = " << data << endl;
|
||||||
|
cout << " - mouse button up at position = " << ev->x << ", " << ev->y << endl;
|
||||||
|
CalibrationRectangle* cr = reinterpret_cast<CalibrationRectangle*>( data );
|
||||||
|
cr->nextPoint( ev->x, ev->y );
|
||||||
|
return 0; // swallow event
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
return 1; // keep event
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void calibration_event_filter_end( void* data, void *loop_data )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CalibrationRectangle::CalibrationRectangle( int x, int y, int width, int height, EvasCanvas* evas )
|
||||||
|
:EvasRectangle( x, y, width, height, evas, "CalibrationRectangle" )
|
||||||
|
{
|
||||||
|
setLayer( 255 );
|
||||||
|
setColor( 255, 255, 255, 0 ); // white, fully transparent
|
||||||
|
|
||||||
|
// setup the five calibration points
|
||||||
|
Size s = evas->size();
|
||||||
|
cd.canvasPoints[TopLeft].set( offset, offset );
|
||||||
|
cd.canvasPoints[BottomLeft].set( offset, s.height()-offset );
|
||||||
|
cd.canvasPoints[BottomRight].set( s.width()-offset, s.height()-offset );
|
||||||
|
cd.canvasPoints[TopRight].set( s.width()-offset, offset );
|
||||||
|
cd.canvasPoints[Center].set( s.width()/2, s.height()/2 );
|
||||||
|
|
||||||
|
switch ( eApp->mainWindow()->rotation() )
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
cout << "ROT 0" << endl;
|
||||||
|
cd.screenPoints[TopLeft] = cd.canvasPoints[TopLeft];
|
||||||
|
cd.screenPoints[BottomLeft] = cd.canvasPoints[BottomLeft];
|
||||||
|
cd.screenPoints[BottomRight] = cd.canvasPoints[BottomRight];
|
||||||
|
cd.screenPoints[TopRight] = cd.canvasPoints[TopRight];
|
||||||
|
cd.screenPoints[Center] = cd.canvasPoints[Center];
|
||||||
|
break;
|
||||||
|
case 90:
|
||||||
|
cd.screenPoints[TopLeft] = cd.canvasPoints[TopLeft];
|
||||||
|
cd.screenPoints[BottomLeft] = cd.canvasPoints[BottomLeft];
|
||||||
|
cd.screenPoints[BottomRight] = cd.canvasPoints[BottomRight];
|
||||||
|
cd.screenPoints[TopRight] = cd.canvasPoints[TopRight];
|
||||||
|
cd.screenPoints[Center] = cd.canvasPoints[Center];
|
||||||
|
break;
|
||||||
|
case 180:
|
||||||
|
cd.screenPoints[TopLeft] = cd.canvasPoints[TopLeft];
|
||||||
|
cd.screenPoints[BottomLeft] = cd.canvasPoints[BottomLeft];
|
||||||
|
cd.screenPoints[BottomRight] = cd.canvasPoints[BottomRight];
|
||||||
|
cd.screenPoints[TopRight] = cd.canvasPoints[TopRight];
|
||||||
|
cd.screenPoints[Center] = cd.canvasPoints[Center];
|
||||||
|
break;
|
||||||
|
case 270:
|
||||||
|
cout << "ROT 270" << endl;
|
||||||
|
cd.screenPoints[TopLeft].set( s.height()-offset, offset );
|
||||||
|
cd.screenPoints[BottomLeft].set( offset, offset );
|
||||||
|
cd.screenPoints[BottomRight].set( offset, s.width()-offset );
|
||||||
|
cd.screenPoints[TopRight].set( s.height()-offset, s.width()-offset );
|
||||||
|
cd.screenPoints[Center].set( s.height()/2, s.width()/2 );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// setup background
|
||||||
|
background = new EvasGradient( 0, 0, s.width(), s.height(), evas );
|
||||||
|
background->setLayer( 21 );
|
||||||
|
background->setAngle( 15 );
|
||||||
|
background->addColor( 255, 255, 255, 255, 10 );
|
||||||
|
background->addColor( 200, 200, 200, 255, 10 );
|
||||||
|
background->addColor( 255, 255, 255, 255, 10 );
|
||||||
|
background->show();
|
||||||
|
|
||||||
|
// setup text
|
||||||
|
text = new EvasText( PACKAGE_DATA_DIR "/fonts/Vera.ttf", 12, 0, s.height()/2, "foo", evas );
|
||||||
|
text->setColor( 0, 0, 0, 255 );
|
||||||
|
text->setLayer( 22 );
|
||||||
|
text->setText( "Click on crosshair to calibrate screen" );
|
||||||
|
text->show();
|
||||||
|
|
||||||
|
// setup crosshair
|
||||||
|
#if 0
|
||||||
|
crosshair = new EvasImage( PACKAGE_DATA_DIR "/images/crosshair.png", evas );
|
||||||
|
crosshair->setLayer( 23 );
|
||||||
|
#else
|
||||||
|
crosshairhorz = new EvasLine( evas );
|
||||||
|
crosshairvert = new EvasLine( evas );
|
||||||
|
crosshairhorz->setLayer( 23 );
|
||||||
|
crosshairvert->setLayer( 23 );
|
||||||
|
crosshairhorz->setColor( 0, 0, 0, 255 );
|
||||||
|
crosshairvert->setColor( 0, 0, 0, 255 );
|
||||||
|
crosshairhorz->show();
|
||||||
|
crosshairvert->show();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
CalibrationRectangle::~CalibrationRectangle()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CalibrationRectangle::handleShow()
|
||||||
|
{
|
||||||
|
#ifdef ENABLE_EFLPP_FB
|
||||||
|
ecore_fb_touch_screen_calibrate_set( 1, 0, 0, 0, 0 );
|
||||||
|
#endif
|
||||||
|
cout << "this = " << this << endl;
|
||||||
|
filter = ecore_event_filter_add( &calibration_event_filter_start,
|
||||||
|
&calibration_event_filter_event,
|
||||||
|
&calibration_event_filter_end, this );
|
||||||
|
position = TopLeft;
|
||||||
|
moveCrossHair();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CalibrationRectangle::nextPoint( int x, int y )
|
||||||
|
{
|
||||||
|
cd.devicePoints[position].set( x, y );
|
||||||
|
|
||||||
|
if ( ++position <= LastPosition )
|
||||||
|
{
|
||||||
|
moveCrossHair();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//FIXME: Don't delete or hide, dissolve, and after that, hide :D
|
||||||
|
//hide();
|
||||||
|
hide();
|
||||||
|
delete background;
|
||||||
|
#if 0
|
||||||
|
delete crosshair;
|
||||||
|
#else
|
||||||
|
delete crosshairhorz;
|
||||||
|
delete crosshairvert;
|
||||||
|
#endif
|
||||||
|
delete text;
|
||||||
|
//crosshair->hide();
|
||||||
|
//text->hide();
|
||||||
|
#ifdef ENABLE_EFLPP_FB
|
||||||
|
ecore_fb_touch_screen_calibrate_set( 0, 0, 0, 0, 0 );
|
||||||
|
#endif
|
||||||
|
ecore_event_filter_del( filter );
|
||||||
|
calibrate();
|
||||||
|
done.emit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CalibrationRectangle::moveCrossHair()
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
crosshair->move( cd.canvasPoints[position] );
|
||||||
|
crosshair->show();
|
||||||
|
#else
|
||||||
|
int x = cd.canvasPoints[position].x();
|
||||||
|
int y = cd.canvasPoints[position].y();
|
||||||
|
crosshairhorz->setGeometry( x-offset/2, y, offset, 0 );
|
||||||
|
crosshairvert->setGeometry( x, y-offset/2, 0, offset );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CalibrationRectangle::calibrate()
|
||||||
|
{
|
||||||
|
// calibration code based on ts_calibrate.c (C) Russell King
|
||||||
|
|
||||||
|
int j;
|
||||||
|
float n, x, y, x2, y2, xy, z, zx, zy;
|
||||||
|
float det, cal_a, cal_b, cal_c, cal_d, cal_e, cal_f, cal_i;
|
||||||
|
float scaling = 65536.0;
|
||||||
|
int cal_x[5], cal_xfb[5], cal_y[5], cal_yfb[5], cal_o[7];
|
||||||
|
|
||||||
|
cal_x[0]=cd.devicePoints[ TopLeft ].x();
|
||||||
|
cal_y[0]=cd.devicePoints[ TopLeft ].y();
|
||||||
|
cal_x[1]=cd.devicePoints[ TopRight ].x();
|
||||||
|
cal_y[1]=cd.devicePoints[ TopRight ].y();
|
||||||
|
cal_x[2]=cd.devicePoints[ BottomLeft ].x();
|
||||||
|
cal_y[2]=cd.devicePoints[ BottomLeft ].y();
|
||||||
|
cal_x[3]=cd.devicePoints[ BottomRight ].x();
|
||||||
|
cal_y[3]=cd.devicePoints[ BottomRight ].y();
|
||||||
|
cal_x[4]=cd.devicePoints[ Center ].x();
|
||||||
|
cal_y[4]=cd.devicePoints[ Center ].y();
|
||||||
|
|
||||||
|
cal_xfb[0]=cd.screenPoints[ TopLeft ].x();
|
||||||
|
cal_yfb[0]=cd.screenPoints[ TopLeft ].y();
|
||||||
|
cal_xfb[1]=cd.screenPoints[ TopRight ].x();
|
||||||
|
cal_yfb[1]=cd.screenPoints[ TopRight ].y();
|
||||||
|
cal_xfb[2]=cd.screenPoints[ BottomLeft ].x();
|
||||||
|
cal_yfb[2]=cd.screenPoints[ BottomLeft ].y();
|
||||||
|
cal_xfb[3]=cd.screenPoints[ BottomRight ].x();
|
||||||
|
cal_yfb[3]=cd.screenPoints[ BottomRight ].y();
|
||||||
|
cal_xfb[4]=cd.screenPoints[ Center ].x();
|
||||||
|
cal_yfb[4]=cd.screenPoints[ Center ].y();
|
||||||
|
|
||||||
|
// Get sums for matrix
|
||||||
|
n = x = y = x2 = y2 = xy = 0;
|
||||||
|
for(j=0;j<5;j++) {
|
||||||
|
n += 1.0;
|
||||||
|
x += (float)cal_x[j];
|
||||||
|
y += (float)cal_y[j];
|
||||||
|
x2 += (float)(cal_x[j]*cal_x[j]);
|
||||||
|
y2 += (float)(cal_y[j]*cal_y[j]);
|
||||||
|
xy += (float)(cal_x[j]*cal_y[j]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get determinant of matrix -- check if determinant is too small
|
||||||
|
det = n*(x2*y2 - xy*xy) + x*(xy*y - x*y2) + y*(x*xy - y*x2);
|
||||||
|
if ( det < 0.1 && det > -0.1 )
|
||||||
|
{
|
||||||
|
cout << "CalibrationRectangle::calibrate() - determinant " << det << " is too small - aborting." << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get elements of inverse matrix
|
||||||
|
cal_a = (x2*y2 - xy*xy)/det;
|
||||||
|
cal_b = (xy*y - x*y2)/det;
|
||||||
|
cal_c = (x*xy - y*x2)/det;
|
||||||
|
cal_e = (n*y2 - y*y)/det;
|
||||||
|
cal_f = (x*y - n*xy)/det;
|
||||||
|
cal_i = (n*x2 - x*x)/det;
|
||||||
|
|
||||||
|
// Get sums for x calibration
|
||||||
|
z = zx = zy = 0;
|
||||||
|
for( j=0; j < 5; j++ ) {
|
||||||
|
z += (float)cal_xfb[j];
|
||||||
|
zx += (float)(cal_xfb[j]*cal_x[j]);
|
||||||
|
zy += (float)(cal_xfb[j]*cal_y[j]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now multiply out to get the calibration for framebuffer x coord
|
||||||
|
cal_o[0] = (int)((cal_a*z + cal_b*zx + cal_c*zy)*(scaling));
|
||||||
|
cal_o[1] = (int)((cal_b*z + cal_e*zx + cal_f*zy)*(scaling));
|
||||||
|
cal_o[2] = (int)((cal_c*z + cal_f*zx + cal_i*zy)*(scaling));
|
||||||
|
|
||||||
|
cout << "CAL: " << (cal_a*z + cal_b*zx + cal_c*zy) << " "
|
||||||
|
<< (cal_b*z + cal_e*zx + cal_f*zy) << " "
|
||||||
|
<< (cal_c*z + cal_f*zx + cal_i*zy) << endl;
|
||||||
|
|
||||||
|
// Get sums for y calibration
|
||||||
|
z = zx = zy = 0;
|
||||||
|
for (j=0;j<5;j++) {
|
||||||
|
z += (float)cal_yfb[j];
|
||||||
|
zx += (float)(cal_yfb[j]*cal_x[j]);
|
||||||
|
zy += (float)(cal_yfb[j]*cal_y[j]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now multiply out to get the calibration for framebuffer y coord
|
||||||
|
cal_o[3] = (int)((cal_a*z + cal_b*zx + cal_c*zy)*(scaling));
|
||||||
|
cal_o[4] = (int)((cal_b*z + cal_e*zx + cal_f*zy)*(scaling));
|
||||||
|
cal_o[5] = (int)((cal_c*z + cal_f*zx + cal_i*zy)*(scaling));
|
||||||
|
|
||||||
|
cout << "CAL: " << (cal_a*z + cal_b*zx + cal_c*zy) << " "
|
||||||
|
<< (cal_b*z + cal_e*zx + cal_f*zy) << " "
|
||||||
|
<< (cal_c*z + cal_f*zx + cal_i*zy) << endl;
|
||||||
|
|
||||||
|
|
||||||
|
// If we got here, we're OK, so assign scaling to a[6] and return
|
||||||
|
cal_o[6] = (int) scaling;
|
||||||
|
|
||||||
|
cout << "CAL constants: " << cal_o[0] << " " << cal_o[1] << " " << cal_o[2] << " "
|
||||||
|
<< cal_o[3] << " " << cal_o[4] << " " << cal_o[5] << " " << cal_o[6] << endl;
|
||||||
|
|
||||||
|
FILE* stream = fopen( "/etc/pointercal", "w" );
|
||||||
|
if ( stream == NULL )
|
||||||
|
{
|
||||||
|
cout << "CalibrationRectangle::calibrate() - couldn't open /etc/pointercal (" << strerror( errno ) << ")" << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf( stream, "%d %d %d %d %d %d %d\n", cal_o[1], cal_o[2], cal_o[0], cal_o[4], cal_o[5], cal_o[3], cal_o[6] );
|
||||||
|
fclose( stream );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
|
@ -0,0 +1,50 @@
|
||||||
|
#ifndef CALIBRATE_H
|
||||||
|
#define CALIBRATE_H
|
||||||
|
|
||||||
|
#include <eflpp_evas.h>
|
||||||
|
using namespace efl;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
TopLeft = 0,
|
||||||
|
TopRight = 1,
|
||||||
|
BottomRight = 2,
|
||||||
|
BottomLeft = 3,
|
||||||
|
Center = 4,
|
||||||
|
LastPosition = Center
|
||||||
|
};
|
||||||
|
|
||||||
|
class CalibrationData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Point devicePoints[5]; // unrotated, unscaled
|
||||||
|
Point screenPoints[5]; // unrotated, scaled
|
||||||
|
Point canvasPoints[5]; // rotated, scaled
|
||||||
|
};
|
||||||
|
|
||||||
|
class CalibrationRectangle : public EvasRectangle
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CalibrationRectangle( int x, int y, int width, int height, EvasCanvas* evas );
|
||||||
|
virtual ~CalibrationRectangle();
|
||||||
|
|
||||||
|
Signal done;
|
||||||
|
|
||||||
|
bool calibrate();
|
||||||
|
void nextPoint( int x, int y );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool handleShow();
|
||||||
|
void moveCrossHair();
|
||||||
|
|
||||||
|
private:
|
||||||
|
CalibrationData cd;
|
||||||
|
unsigned int position;
|
||||||
|
EvasGradient* background;
|
||||||
|
EvasImage* crosshair;
|
||||||
|
EvasLine* crosshairhorz;
|
||||||
|
EvasLine* crosshairvert;
|
||||||
|
EvasText* text;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,16 @@
|
||||||
|
#include "app.h"
|
||||||
|
#include "win.h"
|
||||||
|
|
||||||
|
// Ångström BootManager
|
||||||
|
|
||||||
|
int main( int argc, const char **argv )
|
||||||
|
{
|
||||||
|
BootManagerApp application( argc, argv, "Angstrom BootManager" );
|
||||||
|
BootManagerWin* window = new BootManagerWin( 240, 320 );
|
||||||
|
window->show();
|
||||||
|
|
||||||
|
application.exec();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
#include "app.h"
|
||||||
|
#include "win.h"
|
||||||
|
|
||||||
|
/* EFL */
|
||||||
|
#include <eflpp_ecore.h>
|
||||||
|
#include <eflpp_evas.h>
|
||||||
|
#include <eflpp_edje.h>
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
using namespace efl;
|
||||||
|
|
||||||
|
BootManagerWin::BootManagerWin( int width, int height )
|
||||||
|
:EcoreEvasWindow( width, height ), _app( static_cast<BootManagerApp*>( eApp ) )
|
||||||
|
{
|
||||||
|
EvasCanvas* evas = canvas();
|
||||||
|
|
||||||
|
//FIXME: Why does that crash if created in slotCalibrationDone() ?
|
||||||
|
background = new EvasEdje( 0, 0, PACKAGE_DATA_DIR "/edjes/angstrom-bootmanager.edj", "background", evas );
|
||||||
|
background->setLayer( 0 );
|
||||||
|
background->resize( evas->size() );
|
||||||
|
background->part( "version" )->setText( "Angstrom V2006.01" );
|
||||||
|
background->show();
|
||||||
|
|
||||||
|
//FIXME: Focus handling on buttons is not quite right if and only if the calibration is created... evas/edje bug?
|
||||||
|
buttons = new EvasEdje( 0, 0, PACKAGE_DATA_DIR "/edjes/angstrom-bootmanager.edj", "buttons", evas );
|
||||||
|
buttons->setLayer( 1 );
|
||||||
|
buttons->resize( evas->size() );
|
||||||
|
buttons->show();
|
||||||
|
|
||||||
|
buttons->connect( "angstrom|system|suspend", "*", sigc::mem_fun( _app, &BootManagerApp::suspend ) );
|
||||||
|
buttons->connect( "angstrom|system|reboot", "*", sigc::hide(sigc::hide(sigc::mem_fun( _app, &BootManagerApp::reboot ) ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
BootManagerWin::~BootManagerWin()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BootManagerWin::slotCalibrationDone()
|
||||||
|
{
|
||||||
|
// scan available boot devices and show them in a list
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef BOOTMANAGER_WIN_H
|
||||||
|
#define BOOTMANAGER_WIN_H
|
||||||
|
|
||||||
|
#include <eflpp_ecore.h>
|
||||||
|
#include <eflpp_evas.h>
|
||||||
|
#include <eflpp_edje.h>
|
||||||
|
using namespace efl;
|
||||||
|
|
||||||
|
class BootManagerApp;
|
||||||
|
|
||||||
|
class BootManagerWin : public EcoreEvasWindow
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BootManagerWin( int height, int width );
|
||||||
|
~BootManagerWin();
|
||||||
|
|
||||||
|
void slotCalibrationDone();
|
||||||
|
|
||||||
|
private:
|
||||||
|
BootManagerApp* _app;
|
||||||
|
EvasEdje* background;
|
||||||
|
EvasEdje* buttons;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
|
@ -0,0 +1 @@
|
||||||
|
SUBDIRS = simple
|