forked from enlightenment/efl
parent
6f24506e8b
commit
1d9245b3f6
|
@ -48,8 +48,7 @@ Quick start-up guide:
|
||||||
sudo make install
|
sudo make install
|
||||||
cd
|
cd
|
||||||
|
|
||||||
5. You need imlib2 installed. any release from 1.0.0 on will do.
|
5. You already have Edje. now build it:
|
||||||
6. You already have Edje. now build it:
|
|
||||||
|
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
make
|
make
|
||||||
|
|
|
@ -142,14 +142,6 @@ AC_PATH_GENERIC(embryo, 0.9.1,
|
||||||
EMBRYO_PREFIX=`$EMBRYO_CONFIG --prefix`
|
EMBRYO_PREFIX=`$EMBRYO_CONFIG --prefix`
|
||||||
AC_DEFINE_UNQUOTED(EMBRYO_PREFIX, "${EMBRYO_PREFIX}", [Embryo prefix])
|
AC_DEFINE_UNQUOTED(EMBRYO_PREFIX, "${EMBRYO_PREFIX}", [Embryo prefix])
|
||||||
|
|
||||||
if test "x$have_edje_cc" = "xyes"; then
|
|
||||||
AC_PATH_GENERIC(imlib2, 1.0.0,
|
|
||||||
[ have_imlib2="yes"],
|
|
||||||
[ have_imlib2="no" ],
|
|
||||||
)
|
|
||||||
AC_DEFINE(HAVE_IMLIB, 1, [Imlib2 is installed])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for location of Vim data files])
|
AC_MSG_CHECKING([for location of Vim data files])
|
||||||
install_vim="yes";
|
install_vim="yes";
|
||||||
AC_ARG_WITH(vim,
|
AC_ARG_WITH(vim,
|
||||||
|
@ -229,11 +221,3 @@ debian/changelog
|
||||||
],[
|
],[
|
||||||
chmod +x edje-config
|
chmod +x edje-config
|
||||||
])
|
])
|
||||||
|
|
||||||
if test "x$have_edje_cc" = "xyes"; then
|
|
||||||
if test "x$have_imlib2" = "xno"; then
|
|
||||||
echo
|
|
||||||
echo "WARNING: Building edje_cc without Imlib2 support!"
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ Source: edje
|
||||||
Section: libs
|
Section: libs
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Sytse Wielinga <s.b.wielinga@student.utwente.nl>
|
Maintainer: Sytse Wielinga <s.b.wielinga@student.utwente.nl>
|
||||||
Build-Depends: libimlib2-dev, libeet-dev, libecore-dev, libevas-dev, libembryo-dev, debhelper (>> 4.0.0), automake-1.7 | automaken, libtool
|
Build-Depends: libeet-dev, libecore-dev, libevas-dev, libembryo-dev, debhelper (>> 4.0.0), automake-1.7 | automaken, libtool
|
||||||
Standards-Version: 3.6.1.0
|
Standards-Version: 3.6.1.0
|
||||||
|
|
||||||
Package: edje0-bin
|
Package: edje0-bin
|
||||||
|
|
|
@ -6,7 +6,7 @@ SECTION = "e/libs"
|
||||||
PRIORITY = "optional"
|
PRIORITY = "optional"
|
||||||
include edje.oe
|
include edje.oe
|
||||||
inherit native
|
inherit native
|
||||||
DEPENDS = "evas-native ecore-native embryo-native eet-native imlib2-native"
|
DEPENDS = "evas-native ecore-native embryo-native eet-native"
|
||||||
|
|
||||||
EXTRA_OECONF = "--enable-fb-only"
|
EXTRA_OECONF = "--enable-fb-only"
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config-native"
|
||||||
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
|
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
|
||||||
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config-native"
|
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config-native"
|
||||||
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config-native"
|
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config-native"
|
||||||
export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config-native"
|
|
||||||
|
|
||||||
do_stage() {
|
do_stage() {
|
||||||
for i in edje edje_ls edje_cc; do
|
for i in edje edje_ls edje_cc; do
|
||||||
|
|
|
@ -4,7 +4,7 @@ HOMEPAGE = "http://www.enlightenment.org"
|
||||||
MAINTAINER = "Carsten Haitzler (Rasterman) <raster@rasterman.com>"
|
MAINTAINER = "Carsten Haitzler (Rasterman) <raster@rasterman.com>"
|
||||||
SECTION = "e/libs"
|
SECTION = "e/libs"
|
||||||
PRIORITY = "optional"
|
PRIORITY = "optional"
|
||||||
DEPENDS = "evas ecore embryo eet imlib2"
|
DEPENDS = "evas ecore embryo eet"
|
||||||
PV = "0.5.0"
|
PV = "0.5.0"
|
||||||
PR = "1"
|
PR = "1"
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ export EET_CONFIG = "${STAGING_BINDIR}/eet-config"
|
||||||
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config"
|
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config"
|
||||||
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config"
|
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config"
|
||||||
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config"
|
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config"
|
||||||
export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config"
|
|
||||||
|
|
||||||
LEAD_SONAME = "libedje.so"
|
LEAD_SONAME = "libedje.so"
|
||||||
|
|
||||||
|
|
|
@ -80,10 +80,6 @@ you need:
|
||||||
- Ecore (library)
|
- Ecore (library)
|
||||||
- Eet (library)
|
- Eet (library)
|
||||||
|
|
||||||
To fully build Edje and run the Edje builder (edje_cc) you also need:
|
|
||||||
|
|
||||||
- Imlib2 (library)
|
|
||||||
|
|
||||||
Evas needs to be build with the PNG and EET image loaders enabled at a
|
Evas needs to be build with the PNG and EET image loaders enabled at a
|
||||||
minimum. Edje uses X for the test program, so you will need the SOFTWARE_X11
|
minimum. Edje uses X for the test program, so you will need the SOFTWARE_X11
|
||||||
engine built into Evas as well. A suggested configure list is below in the
|
engine built into Evas as well. A suggested configure list is below in the
|
||||||
|
@ -95,12 +91,6 @@ definitely optional.
|
||||||
|
|
||||||
Eet has no options so just build and install it.
|
Eet has no options so just build and install it.
|
||||||
|
|
||||||
Imlib2 has options, but it will probably select the right ones when you build
|
|
||||||
and install it. You really want as many image loaders enabled as you can
|
|
||||||
manage. It's suggested at a minimum to have the PNG and JPEG loaders, but
|
|
||||||
include whatever loaders correspond to the image formats you want supported
|
|
||||||
for loading up and including into an Edje compiled file.
|
|
||||||
|
|
||||||
It is suggested right now that you get the latest CVS versions of the
|
It is suggested right now that you get the latest CVS versions of the
|
||||||
required libraries. You also need to build them in the right order and make
|
required libraries. You also need to build them in the right order and make
|
||||||
sure the right options are enabled in the required libraries. Here is a
|
sure the right options are enabled in the required libraries. Here is a
|
||||||
|
@ -147,9 +137,6 @@ quick "cheat sheet" on how to get started.
|
||||||
sudo make install
|
sudo make install
|
||||||
cd
|
cd
|
||||||
|
|
||||||
|
|
||||||
5. You need Imlib2 installed. Any release from 1.0.0 and up will do.
|
|
||||||
|
|
||||||
@endverbatim
|
@endverbatim
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ HOMEPAGE = "http://www.enlightenment.org"
|
||||||
MAINTAINER = "Carsten Haitzler (Rasterman) <raster@rasterman.com>"
|
MAINTAINER = "Carsten Haitzler (Rasterman) <raster@rasterman.com>"
|
||||||
SECTION = "e/libs"
|
SECTION = "e/libs"
|
||||||
PRIORITY = "optional"
|
PRIORITY = "optional"
|
||||||
DEPENDS = "evas ecore embryo eet imlib2"
|
DEPENDS = "evas ecore embryo eet"
|
||||||
PV = "0.5.0"
|
PV = "0.5.0"
|
||||||
PR = "1"
|
PR = "1"
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ export EET_CONFIG = "${STAGING_BINDIR}/eet-config"
|
||||||
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config"
|
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config"
|
||||||
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config"
|
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config"
|
||||||
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config"
|
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config"
|
||||||
export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config"
|
|
||||||
|
|
||||||
LEAD_SONAME = "libedje.so"
|
LEAD_SONAME = "libedje.so"
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ datadir=@datadir@/edje
|
||||||
|
|
||||||
Name: edje
|
Name: edje
|
||||||
Description: Enlightened graphical design and layout engine.
|
Description: Enlightened graphical design and layout engine.
|
||||||
Requires: ecore evas eet imlib2
|
Requires: ecore evas eet
|
||||||
Version: @VERSION@
|
Version: @VERSION@
|
||||||
Libs: -L${libdir} -ledje
|
Libs: -L${libdir} -ledje
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
|
|
|
@ -13,7 +13,7 @@ Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project
|
||||||
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
|
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
|
||||||
#BuildSuggests: xorg-x11-devel vim-enhanced
|
#BuildSuggests: xorg-x11-devel vim-enhanced
|
||||||
BuildRequires: libjpeg-devel zlib-devel eet-devel XFree86-devel
|
BuildRequires: libjpeg-devel zlib-devel eet-devel XFree86-devel
|
||||||
BuildRequires: embryo-devel imlib2-devel >= 1.2.0 evas-devel ecore-devel
|
BuildRequires: embryo-devel evas-devel ecore-devel
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
@ -37,7 +37,7 @@ Summary: Edje headers, static libraries, documentation and test programs
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Requires: libjpeg-devel zlib-devel eet-devel XFree86-devel
|
Requires: libjpeg-devel zlib-devel eet-devel XFree86-devel
|
||||||
Requires: embryo-devel imlib2-devel >= 1.2.0 evas-devel ecore-devel
|
Requires: embryo-devel evas-devel ecore-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Headers, static libraries, test programs and documentation for Edje
|
Headers, static libraries, test programs and documentation for Edje
|
||||||
|
|
|
@ -6,7 +6,7 @@ SECTION = "e/libs"
|
||||||
PRIORITY = "optional"
|
PRIORITY = "optional"
|
||||||
include edje.oe
|
include edje.oe
|
||||||
inherit native
|
inherit native
|
||||||
DEPENDS = "evas-native ecore-native embryo-native eet-native imlib2-native"
|
DEPENDS = "evas-native ecore-native embryo-native eet-native"
|
||||||
|
|
||||||
EXTRA_OECONF = "--enable-fb-only"
|
EXTRA_OECONF = "--enable-fb-only"
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config-native"
|
||||||
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
|
export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config-native"
|
||||||
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config-native"
|
export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config-native"
|
||||||
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config-native"
|
export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config-native"
|
||||||
export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config-native"
|
|
||||||
|
|
||||||
do_stage() {
|
do_stage() {
|
||||||
for i in edje edje_ls edje_cc; do
|
for i in edje edje_ls edje_cc; do
|
||||||
|
|
|
@ -7,7 +7,6 @@ INCLUDES = \
|
||||||
@EET_CFLAGS@ \
|
@EET_CFLAGS@ \
|
||||||
@EVAS_CFLAGS@ \
|
@EVAS_CFLAGS@ \
|
||||||
@ECORE_CFLAGS@ \
|
@ECORE_CFLAGS@ \
|
||||||
@IMLIB2_CFLAGS@ \
|
|
||||||
@EMBRYO_CFLAGS@
|
@EMBRYO_CFLAGS@
|
||||||
|
|
||||||
bin_SCRIPTS = \
|
bin_SCRIPTS = \
|
||||||
|
@ -49,8 +48,7 @@ edje_cc_handlers.c \
|
||||||
edje_cc_sources.c
|
edje_cc_sources.c
|
||||||
|
|
||||||
edje_cc_LDADD = \
|
edje_cc_LDADD = \
|
||||||
$(top_builddir)/src/lib/libedje.la \
|
$(top_builddir)/src/lib/libedje.la
|
||||||
@IMLIB2_LIBS@
|
|
||||||
|
|
||||||
edje_cc_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
edje_cc_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
||||||
|
|
||||||
|
@ -62,8 +60,7 @@ edje_cc_mem.c \
|
||||||
edje_cc_sources.c
|
edje_cc_sources.c
|
||||||
|
|
||||||
edje_decc_LDADD = \
|
edje_decc_LDADD = \
|
||||||
$(top_builddir)/src/lib/libedje.la \
|
$(top_builddir)/src/lib/libedje.la
|
||||||
@IMLIB2_LIBS@
|
|
||||||
|
|
||||||
edje_decc_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
edje_decc_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
||||||
|
|
||||||
|
@ -73,8 +70,7 @@ edje_thumb.c \
|
||||||
edje_thumb.h
|
edje_thumb.h
|
||||||
|
|
||||||
edje_thumb_LDADD = \
|
edje_thumb_LDADD = \
|
||||||
$(top_builddir)/src/lib/libedje.la \
|
$(top_builddir)/src/lib/libedje.la
|
||||||
@IMLIB2_LIBS@
|
|
||||||
|
|
||||||
edje_thumb_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
edje_thumb_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
|
||||||
|
|
||||||
|
|
|
@ -19,9 +19,6 @@ int no_comp = 0;
|
||||||
int no_raw = 0;
|
int no_raw = 0;
|
||||||
int min_quality = 0;
|
int min_quality = 0;
|
||||||
int max_quality = 100;
|
int max_quality = 100;
|
||||||
int scale_lossy = 100;
|
|
||||||
int scale_comp = 100;
|
|
||||||
int scale_raw = 100;
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
main_help(void)
|
main_help(void)
|
||||||
|
@ -40,9 +37,6 @@ main_help(void)
|
||||||
"-no-raw Do NOT allow images to be stored with zero compression (raw)\n"
|
"-no-raw Do NOT allow images to be stored with zero compression (raw)\n"
|
||||||
"-min-quality VAL Do NOT allow lossy images with quality < VAL (0-100)\n"
|
"-min-quality VAL Do NOT allow lossy images with quality < VAL (0-100)\n"
|
||||||
"-max-quality VAL Do NOT allow lossy images with quality > VAL (0-100)\n"
|
"-max-quality VAL Do NOT allow lossy images with quality > VAL (0-100)\n"
|
||||||
"-scale-lossy VAL Scale lossy image pixels by this percentage factor (0 - 100)\n"
|
|
||||||
"-scale-comp VAL Scale lossless compressed image pixels by this percentage factor (0 - 100)\n"
|
|
||||||
"-scale-raw VAL Scale uncompressed (raw) image pixels by this percentage factor (0 - 100)\n"
|
|
||||||
"-Ddefine_val=to CPP style define to define input macro definitions to the .edc source\n"
|
"-Ddefine_val=to CPP style define to define input macro definitions to the .edc source\n"
|
||||||
,progname);
|
,progname);
|
||||||
}
|
}
|
||||||
|
@ -104,27 +98,6 @@ main(int argc, char **argv)
|
||||||
if (max_quality < 0) max_quality = 0;
|
if (max_quality < 0) max_quality = 0;
|
||||||
if (max_quality > 100) max_quality = 100;
|
if (max_quality > 100) max_quality = 100;
|
||||||
}
|
}
|
||||||
else if ((!strcmp(argv[i], "-scale-lossy")) && (i < (argc - 1)))
|
|
||||||
{
|
|
||||||
i++;
|
|
||||||
scale_lossy = atoi(argv[i]);
|
|
||||||
if (scale_lossy < 0) scale_lossy = 0;
|
|
||||||
if (scale_lossy > 100) scale_lossy = 100;
|
|
||||||
}
|
|
||||||
else if ((!strcmp(argv[i], "-scale-comp")) && (i < (argc - 1)))
|
|
||||||
{
|
|
||||||
i++;
|
|
||||||
scale_comp = atoi(argv[i]);
|
|
||||||
if (scale_comp < 0) scale_comp = 0;
|
|
||||||
if (scale_comp > 100) scale_comp = 100;
|
|
||||||
}
|
|
||||||
else if ((!strcmp(argv[i], "-scale-raw")) && (i < (argc - 1)))
|
|
||||||
{
|
|
||||||
i++;
|
|
||||||
scale_raw = atoi(argv[i]);
|
|
||||||
if (scale_raw < 0) scale_raw = 0;
|
|
||||||
if (scale_raw > 100) scale_raw = 100;
|
|
||||||
}
|
|
||||||
else if (!strncmp(argv[i], "-D", 2))
|
else if (!strncmp(argv[i], "-D", 2))
|
||||||
{
|
{
|
||||||
defines = evas_list_append(defines, mem_strdup(argv[i]));
|
defines = evas_list_append(defines, mem_strdup(argv[i]));
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
#define EDJE_CC_H
|
#define EDJE_CC_H
|
||||||
|
|
||||||
#include "edje_main.h"
|
#include "edje_main.h"
|
||||||
/* Imlib2 stuff for loading up input images */
|
|
||||||
#define X_DISPLAY_MISSING
|
|
||||||
#include <Imlib2.h>
|
|
||||||
/* done Imlib2 stuff */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -136,9 +132,6 @@ extern int no_comp;
|
||||||
extern int no_raw;
|
extern int no_raw;
|
||||||
extern int min_quality;
|
extern int min_quality;
|
||||||
extern int max_quality;
|
extern int max_quality;
|
||||||
extern int scale_lossy;
|
|
||||||
extern int scale_comp;
|
|
||||||
extern int scale_raw;
|
|
||||||
extern int line;
|
extern int line;
|
||||||
extern Evas_List *stack;
|
extern Evas_List *stack;
|
||||||
extern Evas_List *params;
|
extern Evas_List *params;
|
||||||
|
|
|
@ -308,9 +308,15 @@ data_write(void)
|
||||||
free(fdata);
|
free(fdata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef HAVE_IMLIB
|
|
||||||
if ((edje_file) && (edje_file->image_dir))
|
if ((edje_file) && (edje_file->image_dir))
|
||||||
{
|
{
|
||||||
|
Ecore_Evas *ee;
|
||||||
|
Evas *evas;
|
||||||
|
|
||||||
|
ecore_init();
|
||||||
|
ecore_evas_init();
|
||||||
|
ee = ecore_evas_buffer_new(1, 1);
|
||||||
|
evas = ecore_evas_get(ee);
|
||||||
for (l = edje_file->image_dir->entries; l; l = l->next)
|
for (l = edje_file->image_dir->entries; l; l = l->next)
|
||||||
{
|
{
|
||||||
Edje_Image_Directory_Entry *img;
|
Edje_Image_Directory_Entry *img;
|
||||||
|
@ -318,70 +324,53 @@ data_write(void)
|
||||||
img = l->data;
|
img = l->data;
|
||||||
if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
|
if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
|
||||||
{
|
{
|
||||||
Imlib_Image im;
|
Evas_Object *im;
|
||||||
Evas_List *l;
|
Evas_List *ll;
|
||||||
|
|
||||||
im = NULL;
|
im = NULL;
|
||||||
imlib_set_cache_size(0);
|
for (ll = img_dirs; ll; ll = ll->next)
|
||||||
for (l = img_dirs; l; l = l->next)
|
|
||||||
{
|
{
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s/%s",
|
snprintf(buf, sizeof(buf), "%s/%s",
|
||||||
(char *)(l->data), img->entry);
|
(char *)(ll->data), img->entry);
|
||||||
im = imlib_load_image(buf);
|
im = evas_object_image_add(evas);
|
||||||
if (im) break;
|
if (im)
|
||||||
|
{
|
||||||
|
evas_object_image_file_set(im, buf, NULL);
|
||||||
|
if (evas_object_image_load_error_get(im) ==
|
||||||
|
EVAS_LOAD_ERROR_NONE)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
evas_object_del(im);
|
||||||
|
im = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!im)
|
||||||
|
{
|
||||||
|
im = evas_object_image_add(evas);
|
||||||
|
if (im)
|
||||||
|
{
|
||||||
|
evas_object_image_file_set(im, img->entry, NULL);
|
||||||
|
if (evas_object_image_load_error_get(im) !=
|
||||||
|
EVAS_LOAD_ERROR_NONE)
|
||||||
|
{
|
||||||
|
evas_object_del(im);
|
||||||
|
im = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!im) im = imlib_load_image(img->entry);
|
|
||||||
if (im)
|
if (im)
|
||||||
{
|
{
|
||||||
DATA32 *im_data;
|
void *im_data;
|
||||||
int im_w, im_h;
|
int im_w, im_h;
|
||||||
int im_alpha;
|
int im_alpha;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
|
|
||||||
imlib_context_set_image(im);
|
evas_object_image_size_get(im, &im_w, &im_h);
|
||||||
im_w = imlib_image_get_width();
|
im_alpha = evas_object_image_alpha_get(im);
|
||||||
im_h = imlib_image_get_height();
|
im_data = evas_object_image_data_get(im, 0);
|
||||||
if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
|
|
||||||
(img->source_param == 0) &&
|
|
||||||
(scale_raw != 100))
|
|
||||||
{
|
|
||||||
im = imlib_create_cropped_scaled_image(0, 0,
|
|
||||||
im_w, im_h,
|
|
||||||
(im_w * scale_raw) / 100,
|
|
||||||
(im_h * scale_raw) / 100);
|
|
||||||
imlib_free_image();
|
|
||||||
imlib_context_set_image(im);
|
|
||||||
im_w = imlib_image_get_width();
|
|
||||||
im_h = imlib_image_get_height();
|
|
||||||
}
|
|
||||||
else if ((img->source_type == EDJE_IMAGE_SOURCE_TYPE_INLINE_PERFECT) &&
|
|
||||||
(img->source_param == 1) &&
|
|
||||||
(scale_comp != 100))
|
|
||||||
{
|
|
||||||
im = imlib_create_cropped_scaled_image(0, 0,
|
|
||||||
im_w, im_h,
|
|
||||||
(im_w * scale_comp) / 100,
|
|
||||||
(im_h * scale_comp) / 100);
|
|
||||||
imlib_free_image();
|
|
||||||
imlib_context_set_image(im);
|
|
||||||
im_w = imlib_image_get_width();
|
|
||||||
im_h = imlib_image_get_height();
|
|
||||||
}
|
|
||||||
else if (scale_lossy != 100)
|
|
||||||
{
|
|
||||||
im = imlib_create_cropped_scaled_image(0, 0,
|
|
||||||
im_w, im_h,
|
|
||||||
(im_w * scale_lossy) / 100,
|
|
||||||
(im_h * scale_lossy) / 100);
|
|
||||||
imlib_free_image();
|
|
||||||
imlib_context_set_image(im);
|
|
||||||
im_w = imlib_image_get_width();
|
|
||||||
im_h = imlib_image_get_height();
|
|
||||||
}
|
|
||||||
im_alpha = imlib_image_has_alpha();
|
|
||||||
im_data = imlib_image_get_data_for_reading_only();
|
|
||||||
if ((im_data) && (im_w > 0) && (im_h > 0))
|
if ((im_data) && (im_w > 0) && (im_h > 0))
|
||||||
{
|
{
|
||||||
int mode, qual;
|
int mode, qual;
|
||||||
|
@ -454,8 +443,10 @@ data_write(void)
|
||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
char *file = NULL;
|
||||||
|
|
||||||
if (stat(imlib_image_get_filename(), &st) != 0)
|
evas_object_image_file_get(im, &file, NULL);
|
||||||
|
if ((file) && (stat(file, &st) != 0))
|
||||||
st.st_size = 0;
|
st.st_size = 0;
|
||||||
input_bytes += st.st_size;
|
input_bytes += st.st_size;
|
||||||
input_raw_bytes += im_w * im_h * 4;
|
input_raw_bytes += im_w * im_h * 4;
|
||||||
|
@ -465,8 +456,7 @@ data_write(void)
|
||||||
100 - (100 * (double)bytes) / ((double)(st.st_size))
|
100 - (100 * (double)bytes) / ((double)(st.st_size))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (im_data) imlib_image_put_back_data(im_data);
|
evas_object_del(im);
|
||||||
imlib_free_image();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -476,8 +466,10 @@ data_write(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ecore_evas_free(ee);
|
||||||
|
ecore_evas_shutdown();
|
||||||
|
ecore_shutdown();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* sanity checks for parts and programs */
|
/* sanity checks for parts and programs */
|
||||||
for (l = edje_collections; l; l = l->next)
|
for (l = edje_collections; l; l = l->next)
|
||||||
|
@ -487,64 +479,9 @@ data_write(void)
|
||||||
|
|
||||||
pc = l->data;
|
pc = l->data;
|
||||||
for (ll = pc->parts; ll; ll = ll->next)
|
for (ll = pc->parts; ll; ll = ll->next)
|
||||||
{
|
check_part (pc, ll->data, ef);
|
||||||
check_part (pc, ll->data, ef);
|
|
||||||
|
|
||||||
/*
|
|
||||||
Edje_Part *ep = ll->data;
|
|
||||||
Edje_Part_Description *epd = ep->default_desc;
|
|
||||||
|
|
||||||
if (epd->text.font)
|
|
||||||
{
|
|
||||||
Evas_List *lll;
|
|
||||||
|
|
||||||
for (lll = fonts; lll; lll = lll->next)
|
|
||||||
{
|
|
||||||
Font *fn;
|
|
||||||
|
|
||||||
fn = lll->data;
|
|
||||||
if (!strcmp(fn->name, epd->text.font))
|
|
||||||
{
|
|
||||||
char *s;
|
|
||||||
|
|
||||||
s = malloc(strlen(epd->text.font) + strlen("fonts/") + 1);
|
|
||||||
strcpy(s, "fonts/");
|
|
||||||
strcat(s, epd->text.font);
|
|
||||||
free(epd->text.font);
|
|
||||||
epd->text.font = s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (l3 = ep->other_desc; l3; l3 = l3->next)
|
|
||||||
{
|
|
||||||
epd = l3->data;
|
|
||||||
if (epd->text.font)
|
|
||||||
{
|
|
||||||
Evas_List *lll;
|
|
||||||
|
|
||||||
for (lll = fonts; lll; lll = lll->next)
|
|
||||||
{
|
|
||||||
Font *fn;
|
|
||||||
|
|
||||||
fn = lll->data;
|
|
||||||
if (!strcmp(fn->name, epd->text.font))
|
|
||||||
{
|
|
||||||
char *s;
|
|
||||||
|
|
||||||
s = malloc(strlen(epd->text.font) + strlen("fonts/") + 1);
|
|
||||||
strcpy(s, "fonts/");
|
|
||||||
strcat(s, epd->text.font);
|
|
||||||
free(epd->text.font);
|
|
||||||
epd->text.font = s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
for (ll = pc->programs; ll; ll = ll->next)
|
for (ll = pc->programs; ll; ll = ll->next)
|
||||||
check_program (pc, ll->data, ef);
|
check_program (pc, ll->data, ef);
|
||||||
}
|
}
|
||||||
for (l = edje_collections; l; l = l->next)
|
for (l = edje_collections; l; l = l->next)
|
||||||
{
|
{
|
||||||
|
|
|
@ -132,7 +132,6 @@ output(void)
|
||||||
|
|
||||||
ef = eet_open(file_in, EET_FILE_MODE_READ);
|
ef = eet_open(file_in, EET_FILE_MODE_READ);
|
||||||
|
|
||||||
#ifdef HAVE_IMLIB
|
|
||||||
if (edje_file->image_dir)
|
if (edje_file->image_dir)
|
||||||
{
|
{
|
||||||
for (l = edje_file->image_dir->entries; l; l = l->next)
|
for (l = edje_file->image_dir->entries; l; l = l->next)
|
||||||
|
@ -142,56 +141,40 @@ output(void)
|
||||||
ei = l->data;
|
ei = l->data;
|
||||||
if ((ei->source_type) && (ei->entry))
|
if ((ei->source_type) && (ei->entry))
|
||||||
{
|
{
|
||||||
DATA32 *pix;
|
Ecore_Evas *ee;
|
||||||
int w, h, alpha, comp, qual, lossy;
|
Evas *evas;
|
||||||
|
Evas_Object *im;
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
|
char out[4096];
|
||||||
|
char *pp;
|
||||||
|
|
||||||
|
ecore_init();
|
||||||
|
ecore_evas_init();
|
||||||
|
ee = ecore_evas_buffer_new(1, 1);
|
||||||
|
evas = ecore_evas_get(ee);
|
||||||
|
im = evas_object_image_add(evas);
|
||||||
snprintf(buf, sizeof(buf), "images/%i", ei->id);
|
snprintf(buf, sizeof(buf), "images/%i", ei->id);
|
||||||
pix = eet_data_image_read(ef, buf, &w, &h, &alpha, &comp, &qual, &lossy);
|
evas_object_image_file_set(im, file_in, buf);
|
||||||
if (pix)
|
snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry);
|
||||||
|
printf("Output Image: %s\n", out);
|
||||||
|
pp = strdup(out);
|
||||||
|
p = strrchr(pp, '/');
|
||||||
|
*p = 0;
|
||||||
|
if (strstr(pp, "../"))
|
||||||
{
|
{
|
||||||
Imlib_Image im;
|
printf("ERROR: potential security violation. attempt to write in parent dir.\n");
|
||||||
char out[4096];
|
exit (-1);
|
||||||
char *pp;
|
|
||||||
|
|
||||||
snprintf(out, sizeof(out), "%s/%s", outdir, ei->entry);
|
|
||||||
printf("Output Image: %s\n", out);
|
|
||||||
pp = strdup(out);
|
|
||||||
p = strrchr(pp, '/');
|
|
||||||
*p = 0;
|
|
||||||
if (strstr(pp, "../"))
|
|
||||||
{
|
|
||||||
printf("ERROR: potential security violation. attempt to write in parent dir.\n");
|
|
||||||
exit (-1);
|
|
||||||
}
|
|
||||||
e_file_mkpath(pp);
|
|
||||||
free(pp);
|
|
||||||
im = imlib_create_image_using_data(w, h, pix);
|
|
||||||
imlib_context_set_image(im);
|
|
||||||
if (alpha)
|
|
||||||
imlib_image_set_has_alpha(1);
|
|
||||||
if ((lossy) && (!alpha))
|
|
||||||
{
|
|
||||||
imlib_image_set_format("jpg");
|
|
||||||
imlib_image_attach_data_value("quality", NULL, qual, NULL);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
imlib_image_set_format("png");
|
|
||||||
}
|
|
||||||
if (strstr(out, "../"))
|
|
||||||
{
|
|
||||||
printf("ERROR: potential security violation. attempt to write in parent dir.\n");
|
|
||||||
exit (-1);
|
|
||||||
}
|
|
||||||
imlib_save_image(out);
|
|
||||||
imlib_free_image();
|
|
||||||
free(pix);
|
|
||||||
}
|
}
|
||||||
|
e_file_mkpath(pp);
|
||||||
|
free(pp);
|
||||||
|
evas_object_image_save(im, out, NULL, "quality=100 compress=9");
|
||||||
|
evas_object_del(im);
|
||||||
|
ecore_evas_free(ee);
|
||||||
|
ecore_evas_shutdown();
|
||||||
|
ecore_shutdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
for (l = srcfiles->list; l; l = l->next)
|
for (l = srcfiles->list; l; l = l->next)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,10 +2,6 @@
|
||||||
#define EDJE_DECC_H
|
#define EDJE_DECC_H
|
||||||
|
|
||||||
#include "edje_main.h"
|
#include "edje_main.h"
|
||||||
/* Imlib2 stuff for loading up input images */
|
|
||||||
#define X_DISPLAY_MISSING
|
|
||||||
#include <Imlib2.h>
|
|
||||||
/* done Imlib2 stuff */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
#include "edje_thumb.h"
|
#include "edje_thumb.h"
|
||||||
|
|
||||||
static void save_pixels(const int *pixels, int w, int h, char *out);
|
|
||||||
static void args_parse(void);
|
static void args_parse(void);
|
||||||
static void help_show(void);
|
static void help_show(void);
|
||||||
static int signal_exit(void *data, int ev_type, void *ev);
|
static int signal_exit(void *data, int ev_type, void *ev);
|
||||||
static int frame_grab(void *data);
|
static int frame_grab(void *data);
|
||||||
|
|
||||||
Ecore_Evas *ee = NULL;
|
Ecore_Evas *ee = NULL, *ee_im = NULL, *ee_im2 = NULL;
|
||||||
Evas *evas = NULL;
|
Evas *evas = NULL, *evas_im = NULL, *evas_im2 = NULL;
|
||||||
Evas_Object *edje = NULL;
|
Evas_Object *edje = NULL, *im = NULL, *im2 = NULL;
|
||||||
char *file = NULL;
|
char *file = NULL;
|
||||||
char *group = NULL;
|
char *group = NULL;
|
||||||
char *outfile = NULL;
|
char *outfile = NULL;
|
||||||
|
@ -31,15 +30,28 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
args_parse();
|
args_parse();
|
||||||
|
|
||||||
ee = ecore_evas_buffer_new(w, h);
|
ee = ecore_evas_buffer_new(outw, outh);
|
||||||
if (!ee)
|
|
||||||
{
|
|
||||||
printf("Cannot create buffer canvas! ERROR!\n");
|
|
||||||
exit(-1);
|
|
||||||
}
|
|
||||||
evas = ecore_evas_get(ee);
|
evas = ecore_evas_get(ee);
|
||||||
|
|
||||||
edje = edje_object_add(evas);
|
im = ecore_evas_object_image_new(ee);
|
||||||
|
evas_object_move(im, 0, 0);
|
||||||
|
evas_object_resize(im, outw, outh);
|
||||||
|
evas_object_image_fill_set(im, 0, 0, outw, outh);
|
||||||
|
evas_object_show(im);
|
||||||
|
evas_object_image_size_set(im, outw, outh);
|
||||||
|
ee_im = evas_object_data_get(im, "Ecore_Evas");
|
||||||
|
evas_im = ecore_evas_get(ee_im);
|
||||||
|
|
||||||
|
im2 = ecore_evas_object_image_new(ee_im);
|
||||||
|
evas_object_move(im2, 0, 0);
|
||||||
|
evas_object_resize(im2, outw, outh);
|
||||||
|
evas_object_image_fill_set(im2, 0, 0, outw, outh);
|
||||||
|
evas_object_show(im2);
|
||||||
|
evas_object_image_size_set(im2, w, h);
|
||||||
|
ee_im2 = evas_object_data_get(im2, "Ecore_Evas");
|
||||||
|
evas_im2 = ecore_evas_get(ee_im2);
|
||||||
|
|
||||||
|
edje = edje_object_add(evas_im2);
|
||||||
if (!edje_object_file_set(edje, file, group))
|
if (!edje_object_file_set(edje, file, group))
|
||||||
{
|
{
|
||||||
printf("Cannot load file %s, group %s\n", file, group);
|
printf("Cannot load file %s, group %s\n", file, group);
|
||||||
|
@ -58,10 +70,8 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const int *pixels;
|
ecore_evas_buffer_pixels_get(ee);
|
||||||
|
evas_object_image_save(im, outfile, NULL, "quality=100 compress=9");
|
||||||
pixels = ecore_evas_buffer_pixels_get(ee);
|
|
||||||
save_pixels(pixels, w, h, outfile);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_object_del(edje);
|
evas_object_del(edje);
|
||||||
|
@ -72,27 +82,6 @@ main(int argc, char **argv)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
save_pixels(const int *pixels, int w, int h, char *out)
|
|
||||||
{
|
|
||||||
Imlib_Image im;
|
|
||||||
|
|
||||||
im = imlib_create_image_using_data(w, h, (DATA32 *) pixels);
|
|
||||||
imlib_context_set_image(im);
|
|
||||||
imlib_image_set_irrelevant_alpha(0);
|
|
||||||
imlib_image_set_has_alpha(1);
|
|
||||||
if ((w != outw) || (h != outh))
|
|
||||||
{
|
|
||||||
Imlib_Image im2;
|
|
||||||
|
|
||||||
im2 = imlib_create_cropped_scaled_image(0, 0, w, h, outw, outh);
|
|
||||||
imlib_free_image();
|
|
||||||
imlib_context_set_image(im2);
|
|
||||||
}
|
|
||||||
imlib_save_image(out);
|
|
||||||
imlib_free_image();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
args_parse(void)
|
args_parse(void)
|
||||||
{
|
{
|
||||||
|
@ -202,11 +191,10 @@ static int
|
||||||
frame_grab(void *data)
|
frame_grab(void *data)
|
||||||
{
|
{
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
const int *pixels;
|
|
||||||
|
|
||||||
pixels = ecore_evas_buffer_pixels_get(ee);
|
|
||||||
snprintf(buf, sizeof(buf), outfile, frnum);
|
snprintf(buf, sizeof(buf), outfile, frnum);
|
||||||
save_pixels(pixels, w, h, buf);
|
ecore_evas_buffer_pixels_get(ee);
|
||||||
|
evas_object_image_save(im, buf, NULL, "quality=100 compress=9");
|
||||||
frnum++;
|
frnum++;
|
||||||
if (frnum == frames)
|
if (frnum == frames)
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,9 +14,5 @@
|
||||||
#include <Ecore_Evas.h>
|
#include <Ecore_Evas.h>
|
||||||
#include <Eet.h>
|
#include <Eet.h>
|
||||||
#include "Edje.h"
|
#include "Edje.h"
|
||||||
#define X_DISPLAY_MISSING
|
|
||||||
#include <Imlib2.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue