forked from enlightenment/efl
1. diable a bunch of engines from auto-detecting stuff. you have to manually
--enable gl, qtopia and directfb enigines - they are either incomplete, buggy or simply used so little that its not worth building unless the user REALLY wants the support. SVN revision: 18424
This commit is contained in:
parent
8a632ab09c
commit
6f24506e8b
|
@ -188,6 +188,8 @@ PKG_CHECK_MODULES(
|
||||||
[ have_evas_software_xcb="yes" ],
|
[ have_evas_software_xcb="yes" ],
|
||||||
[ have_evas_software_xcb="no" ])
|
[ have_evas_software_xcb="no" ])
|
||||||
|
|
||||||
|
## manually disable xcb engine by default - not auto detected.
|
||||||
|
have_evas_software_xcb="no"
|
||||||
## Manual override
|
## Manual override
|
||||||
AC_MSG_CHECKING(whether software xcb backend is to be built)
|
AC_MSG_CHECKING(whether software xcb backend is to be built)
|
||||||
AC_ARG_ENABLE(software-xcb, [ --enable-software-xcb enable the Software XCB rendering backend], [
|
AC_ARG_ENABLE(software-xcb, [ --enable-software-xcb enable the Software XCB rendering backend], [
|
||||||
|
@ -239,6 +241,8 @@ PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
|
||||||
[ have_evas_directfb="yes" ],
|
[ have_evas_directfb="yes" ],
|
||||||
[ have_evas_directfb="no" ]
|
[ have_evas_directfb="no" ]
|
||||||
)
|
)
|
||||||
|
## manually disable directfb engine by default - not auto detected.
|
||||||
|
have_evas_directfb="no"
|
||||||
## Manual override
|
## Manual override
|
||||||
AC_MSG_CHECKING(whether directfb backend is to be built)
|
AC_MSG_CHECKING(whether directfb backend is to be built)
|
||||||
AC_ARG_ENABLE(directfb, [ --enable-directfb enable the DirectFB rendering backend], [
|
AC_ARG_ENABLE(directfb, [ --enable-directfb enable the DirectFB rendering backend], [
|
||||||
|
@ -352,6 +356,8 @@ AC_CHECK_HEADER(qdirectpainter_qws.h,
|
||||||
#include <qpainter.h>
|
#include <qpainter.h>
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
## manually disable qtopia engine by default - not auto detected.
|
||||||
|
have_evas_qtopia="no"
|
||||||
## Manual override
|
## Manual override
|
||||||
AC_MSG_CHECKING(whether software qtopia backend is to be built)
|
AC_MSG_CHECKING(whether software qtopia backend is to be built)
|
||||||
AC_ARG_ENABLE(software-qtopia, [ --enable-software-qtopia enable the Software Qtopia rendering backend], [
|
AC_ARG_ENABLE(software-qtopia, [ --enable-software-qtopia enable the Software Qtopia rendering backend], [
|
||||||
|
@ -405,6 +411,8 @@ ENGINE_GL_X11_PRG="";
|
||||||
],
|
],
|
||||||
[ have_evas_gl_x11="no" ]
|
[ have_evas_gl_x11="no" ]
|
||||||
)
|
)
|
||||||
|
## manually disable gl engine by default - not auto detected.
|
||||||
|
have_evas_gl_x11="no"
|
||||||
## Manual override
|
## Manual override
|
||||||
AC_MSG_CHECKING(whether gl x11 backend is to be built)
|
AC_MSG_CHECKING(whether gl x11 backend is to be built)
|
||||||
AC_ARG_ENABLE(gl-x11, [ --enable-gl-x11 enable the OpenGL X11 display engine], [
|
AC_ARG_ENABLE(gl-x11, [ --enable-gl-x11 enable the OpenGL X11 display engine], [
|
||||||
|
|
|
@ -2062,6 +2062,11 @@ setup(void)
|
||||||
|
|
||||||
ob = evas_object_image_add(evas);
|
ob = evas_object_image_add(evas);
|
||||||
evas_object_image_file_set(ob, IM "e_logo.png", NULL);
|
evas_object_image_file_set(ob, IM "e_logo.png", NULL);
|
||||||
|
|
||||||
|
// evas_object_image_save(ob, "t.png", NULL, "compress=9");
|
||||||
|
// evas_object_image_save(ob, "t.jpg", NULL, "quality=20 compress=7");
|
||||||
|
// evas_object_image_save(ob, "t.eet", "key", "quality=50");
|
||||||
|
|
||||||
evas_object_image_size_get(ob, &iw, &ih);
|
evas_object_image_size_get(ob, &iw, &ih);
|
||||||
evas_object_move(ob, (win_w - iw) / 2, 0);
|
evas_object_move(ob, (win_w - iw) / 2, 0);
|
||||||
evas_object_resize(ob, iw, ih);
|
evas_object_resize(ob, iw, ih);
|
||||||
|
|
|
@ -388,6 +388,7 @@ extern "C" {
|
||||||
EAPI void evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale);
|
EAPI void evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale);
|
||||||
EAPI Evas_Bool evas_object_image_smooth_scale_get(Evas_Object *obj);
|
EAPI Evas_Bool evas_object_image_smooth_scale_get(Evas_Object *obj);
|
||||||
EAPI void evas_object_image_reload (Evas_Object *obj);
|
EAPI void evas_object_image_reload (Evas_Object *obj);
|
||||||
|
EAPI Evas_Bool evas_object_image_save (Evas_Object *obj, const char *file, const char *key, const char *flags);
|
||||||
EAPI Evas_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels);
|
EAPI Evas_Bool evas_object_image_pixels_import (Evas_Object *obj, Evas_Pixel_Import_Source *pixels);
|
||||||
EAPI void evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data);
|
EAPI void evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *o), void *data);
|
||||||
EAPI void evas_object_image_pixels_dirty_set (Evas_Object *obj, Evas_Bool dirty);
|
EAPI void evas_object_image_pixels_dirty_set (Evas_Object *obj, Evas_Bool dirty);
|
||||||
|
|
|
@ -839,6 +839,72 @@ evas_object_image_reload(Evas_Object *obj)
|
||||||
evas_object_change(obj);
|
evas_object_change(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To be documented.
|
||||||
|
*
|
||||||
|
* FIXME: To be fixed.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Evas_Bool
|
||||||
|
evas_object_image_save(Evas_Object *obj, const char *file, const char *key, const char *flags)
|
||||||
|
{
|
||||||
|
Evas_Object_Image *o;
|
||||||
|
DATA32 *data = NULL;
|
||||||
|
int quality = 80, compress = 9, ok = 0;
|
||||||
|
RGBA_Image *im;
|
||||||
|
|
||||||
|
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
|
||||||
|
return 0;
|
||||||
|
MAGIC_CHECK_END();
|
||||||
|
o = (Evas_Object_Image *)(obj->object_data);
|
||||||
|
MAGIC_CHECK(o, Evas_Object_Image, MAGIC_OBJ_IMAGE);
|
||||||
|
return 0;
|
||||||
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
|
if (!o->engine_data) return 0;
|
||||||
|
o->engine_data = obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output,
|
||||||
|
o->engine_data,
|
||||||
|
0,
|
||||||
|
&data);
|
||||||
|
if (flags)
|
||||||
|
{
|
||||||
|
char *p, *pp;
|
||||||
|
char *tflags;
|
||||||
|
|
||||||
|
tflags = strdup(flags);
|
||||||
|
if (tflags)
|
||||||
|
{
|
||||||
|
p = tflags;
|
||||||
|
while (p)
|
||||||
|
{
|
||||||
|
pp = strchr(p, ' ');
|
||||||
|
if (pp) *pp = 0;
|
||||||
|
sscanf(p, "quality=%i", &quality);
|
||||||
|
sscanf(p, "compress=%i", &compress);
|
||||||
|
if (pp) p = pp + 1;
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
free(tflags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
im = evas_common_image_new();
|
||||||
|
if (im)
|
||||||
|
{
|
||||||
|
if (o->cur.has_alpha) im->flags |= RGBA_IMAGE_HAS_ALPHA;
|
||||||
|
im->image = evas_common_image_surface_new(im);
|
||||||
|
if (im->image)
|
||||||
|
{
|
||||||
|
im->image->data = data;
|
||||||
|
im->image->w = o->cur.image.w;
|
||||||
|
im->image->h = o->cur.image.h;
|
||||||
|
im->image->no_free = 1;
|
||||||
|
ok = evas_common_save_image_to_file(im, file, key, quality, compress);
|
||||||
|
}
|
||||||
|
evas_common_image_free(im);
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To be documented.
|
* To be documented.
|
||||||
*
|
*
|
||||||
|
|
|
@ -38,6 +38,7 @@ evas_font_main.c \
|
||||||
evas_font_query.c \
|
evas_font_query.c \
|
||||||
evas_gradient_main.c \
|
evas_gradient_main.c \
|
||||||
evas_image_load.c \
|
evas_image_load.c \
|
||||||
|
evas_image_save.c \
|
||||||
evas_image_main.c \
|
evas_image_main.c \
|
||||||
evas_line_main.c \
|
evas_line_main.c \
|
||||||
evas_polygon_main.c \
|
evas_polygon_main.c \
|
||||||
|
|
|
@ -742,6 +742,7 @@ void evas_common_image_dirty (RGBA_Image *im);
|
||||||
|
|
||||||
RGBA_Image *evas_common_load_image_from_file (const char *file, const char *key);
|
RGBA_Image *evas_common_load_image_from_file (const char *file, const char *key);
|
||||||
void evas_common_load_image_data_from_file(RGBA_Image *im);
|
void evas_common_load_image_data_from_file(RGBA_Image *im);
|
||||||
|
int evas_common_save_image_to_file (RGBA_Image *im, const char *file, const char *key, int quality, int compress);
|
||||||
|
|
||||||
/****/
|
/****/
|
||||||
void evas_common_rectangle_init (void);
|
void evas_common_rectangle_init (void);
|
||||||
|
|
Loading…
Reference in New Issue