From 78408fe60aa3f832d161313896539a0dc97ba03d Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 10 Jul 2007 00:13:26 +0000 Subject: [PATCH] 1. fix a lot of things so they pass make distcheck - so many things have broken. guys - need to be more careful! 2. asparagus 3. some extra docs/comments for evas SVN revision: 30696 --- legacy/ecore/configure.in | 2 +- legacy/edje/configure.in | 2 +- legacy/eet/configure.in | 2 +- legacy/efreet/configure.in | 2 +- legacy/efreet/src/lib/Makefile.am | 3 +- legacy/embryo/configure.in | 2 +- legacy/emotion/Makefile.am | 3 +- legacy/emotion/configure.in | 2 +- legacy/evas/Makefile.am | 1 - legacy/evas/configure.in | 2 +- legacy/evas/src/lib/Evas.h | 1 - .../evas/src/lib/canvas/evas_object_image.c | 77 ++++++++++++++++++- .../src/lib/engines/common/evas_image_main.c | 2 - 13 files changed, 84 insertions(+), 17 deletions(-) diff --git a/legacy/ecore/configure.in b/legacy/ecore/configure.in index ee8c63df19..10ad4b0eee 100644 --- a/legacy/ecore/configure.in +++ b/legacy/ecore/configure.in @@ -4,7 +4,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(ecore, 0.9.9.039) +AM_INIT_AUTOMAKE(ecore, 0.9.9.040) AM_CONFIG_HEADER(config.h) AC_C_BIGENDIAN diff --git a/legacy/edje/configure.in b/legacy/edje/configure.in index 8be4a26d94..3503dd337a 100644 --- a/legacy/edje/configure.in +++ b/legacy/edje/configure.in @@ -7,7 +7,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(edje, 0.5.0.039) +AM_INIT_AUTOMAKE(edje, 0.5.0.040) AM_CONFIG_HEADER(config.h) AC_PROG_CC diff --git a/legacy/eet/configure.in b/legacy/eet/configure.in index aa1e156f45..65ab2cd4e8 100644 --- a/legacy/eet/configure.in +++ b/legacy/eet/configure.in @@ -5,7 +5,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(eet, 0.9.10.039) +AM_INIT_AUTOMAKE(eet, 0.9.10.040) AM_CONFIG_HEADER(config.h) AC_PROG_CC diff --git a/legacy/efreet/configure.in b/legacy/efreet/configure.in index 2a57d727bf..67ed7c6086 100644 --- a/legacy/efreet/configure.in +++ b/legacy/efreet/configure.in @@ -1,7 +1,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST -AM_INIT_AUTOMAKE(efreet, 0.0.3.004) +AM_INIT_AUTOMAKE(efreet, 0.0.3.005) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX diff --git a/legacy/efreet/src/lib/Makefile.am b/legacy/efreet/src/lib/Makefile.am index 0c35a1c322..f9df5ca433 100644 --- a/legacy/efreet/src/lib/Makefile.am +++ b/legacy/efreet/src/lib/Makefile.am @@ -38,7 +38,8 @@ EFREETMIMEHEADERS = \ Efreet_Mime.h EFREETMIMESOURCES = \ -efreet_mime.c +efreet_mime.c \ +$(EFREETMIMEHEADERS) libefreet_mime_la_SOURCES = \ $(EFREETMIMESOURCES) diff --git a/legacy/embryo/configure.in b/legacy/embryo/configure.in index 2e39aff0a1..1c53a0944f 100644 --- a/legacy/embryo/configure.in +++ b/legacy/embryo/configure.in @@ -5,7 +5,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(embryo, 0.9.1.039) +AM_INIT_AUTOMAKE(embryo, 0.9.1.040) AM_CONFIG_HEADER(config.h) AC_C_BIGENDIAN diff --git a/legacy/emotion/Makefile.am b/legacy/emotion/Makefile.am index 4a8eb48358..6d9ad5be2a 100644 --- a/legacy/emotion/Makefile.am +++ b/legacy/emotion/Makefile.am @@ -15,8 +15,7 @@ EXTRA_DIST = README AUTHORS COPYING COPYING-PLAIN \ emotion.pc.in debian/changelog debian/control \ debian/copyright debian/rules debian/libemotion0.install \ debian/libemotion0-dev.install debian/emotion0-bin.install \ - debian/libemotion0-gstreamer.install debian/libemotion0-xine.install \ - debian/docs + debian/libemotion0-gstreamer.install debian/libemotion0-xine.install pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = emotion.pc diff --git a/legacy/emotion/configure.in b/legacy/emotion/configure.in index 430bcb7d67..8de0d412df 100644 --- a/legacy/emotion/configure.in +++ b/legacy/emotion/configure.in @@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script. rm -f config.cache AC_INIT(configure.in) -AM_INIT_AUTOMAKE(emotion, 0.0.1.006) +AM_INIT_AUTOMAKE(emotion, 0.0.1.007) AM_CONFIG_HEADER(config.h) AC_C_BIGENDIAN diff --git a/legacy/evas/Makefile.am b/legacy/evas/Makefile.am index c33b793b31..d3db0ac9ed 100644 --- a/legacy/evas/Makefile.am +++ b/legacy/evas/Makefile.am @@ -44,7 +44,6 @@ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN evas.c.in gendoc \ evas.spec.in evas.spec \ debian/changelog \ debian/changelog.in \ - debian/compat \ debian/control \ debian/copyright \ debian/libevas0-all.install \ diff --git a/legacy/evas/configure.in b/legacy/evas/configure.in index 881c9bf536..caaaedded3 100644 --- a/legacy/evas/configure.in +++ b/legacy/evas/configure.in @@ -5,7 +5,7 @@ AC_INIT(configure.in) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX -AM_INIT_AUTOMAKE(evas, 0.9.9.039) +AM_INIT_AUTOMAKE(evas, 0.9.9.040) AM_CONFIG_HEADER(config.h) AC_C_BIGENDIAN diff --git a/legacy/evas/src/lib/Evas.h b/legacy/evas/src/lib/Evas.h index fe831fd19b..b450ac5c37 100644 --- a/legacy/evas/src/lib/Evas.h +++ b/legacy/evas/src/lib/Evas.h @@ -67,7 +67,6 @@ typedef enum _Evas_Colorspace /* these are not currently supported - but planned for the future */ EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */ EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */ - EVAS_COLORSPACE_RGB565, /**< 16bit rgb565 */ EVAS_COLORSPACE_RGB565_A5P /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */ } Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */ diff --git a/legacy/evas/src/lib/canvas/evas_object_image.c b/legacy/evas/src/lib/canvas/evas_object_image.c index 773a3cdd5a..1a38197ae9 100644 --- a/legacy/evas/src/lib/canvas/evas_object_image.c +++ b/legacy/evas/src/lib/canvas/evas_object_image.c @@ -91,6 +91,77 @@ static const Evas_Object_Func object_func = * @defgroup Evas_Object_Image Image Object Functions * * Functions used to create and manipulate image objects. + * + * Note - Image objects may return or accept "image data" in multiple formats. + * This is based on the colorspace of an object. Here is a rundown on formats: + * + * EVAS_COLORSPACE_ARGB8888: + * + * This pixel format is a linear block of pixels, starting at the top-left row + * by row until the bottom right of the image or pixel region. All pixels are + * 32-bit unsigned int's with the high-byte being alpha and the low byte being + * blue in the format ARGB. Alpha may ore may not be used by evas depending on + * the alpha flag of the image, but if not used, should be set to 0xff anyway. + * + * This colorspace uses premultiplied alpha. That means that R, G and B cannot + * exceed A in value. The conversion from non-premultiplied colorspace is: + * + * R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255; + * + * So 50% transparent blue will be: 0x80000080. This will not be "dark" - just + * 50% transparent. Values are 0 == black, 255 == solid or full red, green or + * blue. + * + * EVAS_COLORSPACE_YCBCR422P601_PL: + * + * This is a pointer-list indirected set of YUV (YCbCr) pixel data. This means + * that the data returned or set is not actual pixel data, but pointers TO + * lines of pixel data. The list of pointers will first be N rows of pointers + * to the Y plane - pointing to the first pixel at the start of each row in + * the Y plane. N is the height of the image data in pixels. Each pixel in the + * Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will + * point to rows in the U plane, and the next N / 2 pointers will point to + * the V plane rows. U and V planes are half the horizontal and vertical + * resolution of the U plane. + * + * Row order is top to bottom and row pixels are stored left to right. + * + * There is a limitation that these images MUST be a multiple of 2 pixels in + * size horizontally or vertically. This is due to the U and V planes being + * half resolution. Also note that this assumes the itu601 YUV colorspace + * specification. This is defined for standard television and mpeg streams. + * HDTV may use the itu709 specification. + * + * Values are 0 to 255, indicating full or no signal in that plane + * respectively. + * + * EVAS_COLORSPACE_YCBCR422P709_PL: + * + * Not implemented yet. + * + * EVAS_COLORSPACE_RGB565_A5P: + * + * In the process of being implemented in 1 engine only. This may change. + * + * This is a pointer to image data for 16-bit half-word pixel data in 16bpp + * RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-byte + * containing red and the low byte containing blue, per pixel. This data is + * packed row by row from the top-left to the bottom right. + * + * If the image has an alpha channel enabled there will be an extra alpha plane + * after the color pixel plane. If not, then this data will not exist and + * should not be accessed in any way. This plane is a set of pixels with 1 + * byte per pixel defining the alpha values of all pixels in the image from + * the top-left to the bottom right of the image, row by row. Even though + * the values of the alpha pixels can be 0 to 255, only values 0 through to 32 + * are used, 32 being solid and 0 being transparent. + * + * RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 + * being black and 31 or 63 being full red, green or blue respectively. This + * colorspace is also pre-multiplied like EVAS_COLORSPACE_ARGB8888 so: + * + * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32; + * */ /** @@ -583,7 +654,7 @@ evas_object_image_load_error_get(Evas_Object *obj) * Sets the raw image data. * load for the given image object. * @param obj The given image object. - * @param data The given data as 32 bit unsigned integer in format ARGB. + * @param data The given data is a pointer to image data whose format is specific to the colorspace of the image. * @ingroup Evas_Object_Image */ EAPI void @@ -645,7 +716,7 @@ evas_object_image_data_set(Evas_Object *obj, void *data) * load for the given image object. * @param obj The given image object. * @param for_writing FIXME: who knows? - * @return A pointer to the raw data as 32 bit unsigned integer in format ARGB. + * @return data The given data is a pointer to image data whose format is specific to the colorspace of the image. * @ingroup Evas_Object_Image */ EAPI void * @@ -707,7 +778,7 @@ evas_object_image_data_get(Evas_Object *obj, Evas_Bool for_writing) * @see evas_object_image_data_get * * @param obj The given image object. - * @param data pointer to the new pixel buffer + * @param data The given data is a pointer to image data whose format is specific to the colorspace of the image. * @ingroup Evas_Object_Image_Data * @ingroup Evas_Object_Image_Size */ diff --git a/legacy/evas/src/lib/engines/common/evas_image_main.c b/legacy/evas/src/lib/engines/common/evas_image_main.c index a3cfd2de7d..35fdd1bf55 100644 --- a/legacy/evas/src/lib/engines/common/evas_image_main.c +++ b/legacy/evas/src/lib/engines/common/evas_image_main.c @@ -349,8 +349,6 @@ evas_common_image_colorspace_normalize(RGBA_Image *im) im->image->w, im->image->h); #endif break; - case EVAS_COLORSPACE_YCBCR422P709_PL: - break; default: break; }