Added debian_gregale directory
authoretrunko <eblima@gmail.com>
Sat, 8 Dec 2007 22:37:58 +0000 (22:37 +0000)
committeretrunko <eblima@gmail.com>
Sat, 8 Dec 2007 22:37:58 +0000 (22:37 +0000)
13 files changed:
trunk/ecore/debian_chinook/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/ecore/debian_chinook/patches/series [new file with mode: 0644]
trunk/ecore/debian_gregale/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/ecore/debian_gregale/patches/series [new file with mode: 0644]
trunk/edje/debian_gregale/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/edje/debian_gregale/patches/series [new file with mode: 0644]
trunk/eet/debian_gregale/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/eet/debian_gregale/patches/series [new file with mode: 0644]
trunk/embryo/debian_gregale/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/embryo/debian_gregale/patches/series [new file with mode: 0644]
trunk/evas/debian_gregale/patches/01_dont_overwrite_changelog [new file with mode: 0644]
trunk/evas/debian_gregale/patches/02_evas_colorspace_convert [new file with mode: 0644]
trunk/evas/debian_gregale/patches/series [new file with mode: 0644]

diff --git a/trunk/ecore/debian_chinook/patches/01_dont_overwrite_changelog b/trunk/ecore/debian_chinook/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..e85df5c
--- /dev/null
@@ -0,0 +1,24 @@
+Index: ecore/Makefile.am
+===================================================================
+--- ecore.orig/Makefile.am     2007-07-16 10:23:10.000000000 +0300
++++ ecore/Makefile.am  2007-08-18 21:08:17.000000000 +0300
+@@ -9,7 +9,6 @@
+                      ecore_docs.tar.gz ecore.c \
+                      README \
+                      ecore.spec \
+-                     debian/changelog \
+                      ecore-con.pc \
+                      ecore-config.pc \
+                      ecore-desktop.pc \
+Index: ecore/configure.in
+===================================================================
+--- ecore.orig/configure.in    2007-07-28 22:54:40.000000000 +0300
++++ ecore/configure.in 2007-08-18 21:08:04.000000000 +0300
+@@ -857,7 +857,6 @@
+ src/lib/ecore_directfb/Makefile
+ README
+ ecore.spec
+-debian/changelog
+ ])
+ echo
diff --git a/trunk/ecore/debian_chinook/patches/series b/trunk/ecore/debian_chinook/patches/series
new file mode 100644 (file)
index 0000000..9f2346c
--- /dev/null
@@ -0,0 +1 @@
+01_dont_overwrite_changelog
diff --git a/trunk/ecore/debian_gregale/patches/01_dont_overwrite_changelog b/trunk/ecore/debian_gregale/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..e85df5c
--- /dev/null
@@ -0,0 +1,24 @@
+Index: ecore/Makefile.am
+===================================================================
+--- ecore.orig/Makefile.am     2007-07-16 10:23:10.000000000 +0300
++++ ecore/Makefile.am  2007-08-18 21:08:17.000000000 +0300
+@@ -9,7 +9,6 @@
+                      ecore_docs.tar.gz ecore.c \
+                      README \
+                      ecore.spec \
+-                     debian/changelog \
+                      ecore-con.pc \
+                      ecore-config.pc \
+                      ecore-desktop.pc \
+Index: ecore/configure.in
+===================================================================
+--- ecore.orig/configure.in    2007-07-28 22:54:40.000000000 +0300
++++ ecore/configure.in 2007-08-18 21:08:04.000000000 +0300
+@@ -857,7 +857,6 @@
+ src/lib/ecore_directfb/Makefile
+ README
+ ecore.spec
+-debian/changelog
+ ])
+ echo
diff --git a/trunk/ecore/debian_gregale/patches/series b/trunk/ecore/debian_gregale/patches/series
new file mode 100644 (file)
index 0000000..9f2346c
--- /dev/null
@@ -0,0 +1 @@
+01_dont_overwrite_changelog
diff --git a/trunk/edje/debian_gregale/patches/01_dont_overwrite_changelog b/trunk/edje/debian_gregale/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..f93daf4
--- /dev/null
@@ -0,0 +1,23 @@
+Index: edje/Makefile.am
+===================================================================
+--- edje.orig/Makefile.am      2007-07-01 21:03:33.000000000 +0300
++++ edje/Makefile.am   2007-08-19 12:18:53.000000000 +0300
+@@ -4,7 +4,7 @@
+                        config.h.in config.sub configure install-sh \
+                      ltconfig ltmain.sh missing mkinstalldirs \
+                      stamp-h.in edje_docs.tar edje_docs.tar.gz edje.c \
+-                     debian/changelog edje.spec
++                     edje.spec
+ ### this is all fine and great - but edje should not be going and installing
+ ### data in another software's data dir - it's just wrong. not to mention this
+Index: edje/configure.in
+===================================================================
+--- edje.orig/configure.in     2007-07-10 03:13:23.000000000 +0300
++++ edje/configure.in  2007-08-19 12:19:35.000000000 +0300
+@@ -144,5 +144,4 @@
+ src/Makefile
+ src/lib/Makefile
+ src/bin/Makefile
+-debian/changelog
+ ])
diff --git a/trunk/edje/debian_gregale/patches/series b/trunk/edje/debian_gregale/patches/series
new file mode 100644 (file)
index 0000000..9f2346c
--- /dev/null
@@ -0,0 +1 @@
+01_dont_overwrite_changelog
diff --git a/trunk/eet/debian_gregale/patches/01_dont_overwrite_changelog b/trunk/eet/debian_gregale/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..8585746
--- /dev/null
@@ -0,0 +1,26 @@
+Index: eet/configure.in
+===================================================================
+--- eet.orig/configure.in      2007-07-10 03:13:23.000000000 +0300
++++ eet/configure.in   2007-08-18 12:54:18.000000000 +0300
+@@ -133,7 +133,6 @@
+ src/lib/Makefile
+ README
+ eet.spec
+-debian/changelog
+ ])
+Index: eet/Makefile.am
+===================================================================
+--- eet.orig/Makefile.am       2007-03-22 19:07:46.000000000 +0200
++++ eet/Makefile.am    2007-08-18 12:54:18.000000000 +0300
+@@ -7,8 +7,7 @@
+                      eet_docs.tar.gz \
+                      README \
+                      eet.pc \
+-                     eet.spec \
+-                     debian/changelog
++                     eet.spec
+ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN eet.c.in \
+            README.in README \
diff --git a/trunk/eet/debian_gregale/patches/series b/trunk/eet/debian_gregale/patches/series
new file mode 100644 (file)
index 0000000..9f2346c
--- /dev/null
@@ -0,0 +1 @@
+01_dont_overwrite_changelog
diff --git a/trunk/embryo/debian_gregale/patches/01_dont_overwrite_changelog b/trunk/embryo/debian_gregale/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..6263a9e
--- /dev/null
@@ -0,0 +1,24 @@
+Index: embryo/Makefile.am
+===================================================================
+--- embryo.orig/Makefile.am    2007-07-01 20:37:02.000000000 +0300
++++ embryo/Makefile.am 2007-08-19 11:55:45.000000000 +0300
+@@ -7,8 +7,7 @@
+                      embryo_docs.tar.gz embryo.c \
+                      README \
+                      embryo.pc \
+-                     embryo.spec \
+-                     debian/changelog
++                     embryo.spec
+ bin_SCRIPTS = 
+Index: embryo/configure.in
+===================================================================
+--- embryo.orig/configure.in   2007-07-10 03:13:23.000000000 +0300
++++ embryo/configure.in        2007-08-19 11:56:00.000000000 +0300
+@@ -87,5 +87,4 @@
+ src/bin/Makefile
+ README
+ embryo.spec
+-debian/changelog
+ ])
diff --git a/trunk/embryo/debian_gregale/patches/series b/trunk/embryo/debian_gregale/patches/series
new file mode 100644 (file)
index 0000000..9f2346c
--- /dev/null
@@ -0,0 +1 @@
+01_dont_overwrite_changelog
diff --git a/trunk/evas/debian_gregale/patches/01_dont_overwrite_changelog b/trunk/evas/debian_gregale/patches/01_dont_overwrite_changelog
new file mode 100644 (file)
index 0000000..c4ad91d
--- /dev/null
@@ -0,0 +1,26 @@
+Index: evas/Makefile.am
+===================================================================
+--- evas.orig/Makefile.am      2007-08-17 12:16:26.000000000 +0300
++++ evas/Makefile.am   2007-08-18 15:55:25.000000000 +0300
+@@ -24,8 +24,7 @@
+                      evas-direct3d.pc \
+                      evas-sdl.pc \
+                      evas.pc \
+-                     evas.spec \
+-                     debian/changelog
++                     evas.spec
+ bin_SCRIPTS = 
+Index: evas/configure.in
+===================================================================
+--- evas.orig/configure.in     2007-08-17 12:12:21.000000000 +0300
++++ evas/configure.in  2007-08-18 15:55:47.000000000 +0300
+@@ -2244,7 +2244,6 @@
+ src/lib/include/Makefile
+ README
+ evas.spec
+-debian/changelog
+ ])
+ #####################################################################
diff --git a/trunk/evas/debian_gregale/patches/02_evas_colorspace_convert b/trunk/evas/debian_gregale/patches/02_evas_colorspace_convert
new file mode 100644 (file)
index 0000000..139b54c
--- /dev/null
@@ -0,0 +1,238 @@
+diff --git a/src/lib/Evas.h b/src/lib/Evas.h
+index 18864ce..a56fd92 100644
+--- a/src/lib/Evas.h
++++ b/src/lib/Evas.h
+@@ -478,6 +478,7 @@ extern "C" {
+    EAPI void              evas_object_image_size_get        (Evas_Object *obj, int *w, int *h);
+    EAPI int               evas_object_image_stride_get      (Evas_Object *obj);
+    EAPI int               evas_object_image_load_error_get  (Evas_Object *obj);
++   EAPI void             *evas_object_image_data_convert    (Evas_Object *obj, Evas_Colorspace to_cspace);
+    EAPI void              evas_object_image_data_set        (Evas_Object *obj, void *data);
+    EAPI void             *evas_object_image_data_get        (Evas_Object *obj, Evas_Bool for_writing);
+    EAPI void              evas_object_image_data_copy_set   (Evas_Object *obj, void *data);
+diff --git a/src/lib/canvas/evas_object_image.c b/src/lib/canvas/evas_object_image.c
+index 6a8df55..92b0651 100644
+--- a/src/lib/canvas/evas_object_image.c
++++ b/src/lib/canvas/evas_object_image.c
+@@ -69,6 +69,8 @@ static int evas_object_image_is_opaque(Evas_Object *obj);
+ static int evas_object_image_was_opaque(Evas_Object *obj);
+ static int evas_object_image_is_inside(Evas_Object *obj, Evas_Coord x, Evas_Coord y);
++static void *evas_object_image_data_convert_internal(Evas_Object_Image *o, void *data, Evas_Colorspace to_cspace);
++
+ static const Evas_Object_Func object_func =
+ {
+    /* methods (compulsory) */
+@@ -708,6 +710,46 @@ evas_object_image_load_error_get(Evas_Object *obj)
+  */
+ /**
++ * Converts the raw image data of the given image object to the
++ * specified colorspace.
++ *
++ * Note that this function does not modify the raw image data.
++ * If the requested colorspace is the same as the image colorspace
++ * nothing is done and NULL is returned. You should use
++ * evas_object_image_colorspace_get() to check the current image
++ * colorspace.
++ *
++ * See @ref evas_object_image_colorspace_get.
++ *
++ * @param obj The given image object.
++ * @param to_cspace The colorspace to which the image raw data will be converted.
++ * @return data A newly allocated data in the format specified by to_cspace.
++ * @ingroup Evas_Object_Image_Data
++ */
++EAPI void *
++evas_object_image_data_convert(Evas_Object *obj, Evas_Colorspace to_cspace)
++{
++   Evas_Object_Image *o;
++   DATA32 *data;
++
++   MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
++   return NULL;
++   MAGIC_CHECK_END();
++   o = (Evas_Object_Image *)(obj->object_data);
++   MAGIC_CHECK(o, Evas_Object_Image, MAGIC_OBJ_IMAGE);
++   return NULL;
++   MAGIC_CHECK_END();
++   if (!o->engine_data) return NULL;
++   if (!o->cur.cspace == to_cspace) return NULL;
++   data = NULL;
++   o->engine_data = obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output,
++                                                                o->engine_data,
++                                                                0,
++                                                                &data);
++   return evas_object_image_data_convert_internal(o, data, to_cspace);
++}
++
++/**
+  * Sets the raw image data of the given image object.
+  *
+  * Note that the raw data must be of the same size and colorspace
+@@ -1126,11 +1168,22 @@ evas_object_image_save(Evas_Object *obj, const char *file, const char *key, cons
+      {
+       if (o->cur.has_alpha) im->flags |= RGBA_IMAGE_HAS_ALPHA;
+-        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);
++      if (o->cur.cspace == EVAS_COLORSPACE_ARGB8888)
++        im->image->data = data;
++      else
++        im->image->data = evas_object_image_data_convert_internal(o,
++                                                                  data,
++                                                                  EVAS_COLORSPACE_ARGB8888);
++      if (im->image->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);
++
++           if (o->cur.cspace != EVAS_COLORSPACE_ARGB8888)
++             free(im->image->data);
++        }
+       evas_cache_image_drop(im);
+      }
+@@ -2376,3 +2429,36 @@ evas_object_image_is_inside(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+    return (a != 0);
+ }
++
++static void *
++evas_object_image_data_convert_internal(Evas_Object_Image *o, void *data, Evas_Colorspace to_cspace)
++{
++   void *out = NULL;
++
++   if (!data)
++     return NULL;
++
++   switch (o->cur.cspace)
++     {
++      case EVAS_COLORSPACE_ARGB8888:
++        out = evas_common_convert_argb8888_to(data,
++                                              o->cur.image.w,
++                                              o->cur.image.h,
++                                              o->cur.image.stride,
++                                              o->cur.has_alpha,
++                                              to_cspace);
++        break;
++      case EVAS_COLORSPACE_RGB565_A5P:
++        out = evas_common_convert_rgb565_a5p_to(data,
++                                                o->cur.image.w,
++                                                o->cur.image.h,
++                                                o->cur.image.stride,
++                                                o->cur.has_alpha,
++                                                to_cspace);
++        break;
++      default:
++        break;
++     }
++
++   return out;
++}
+diff --git a/src/lib/engines/common/Makefile.am b/src/lib/engines/common/Makefile.am
+index c15675b..3d5fd7c 100644
+--- a/src/lib/engines/common/Makefile.am
++++ b/src/lib/engines/common/Makefile.am
+@@ -21,6 +21,7 @@ evas_op_mul_main_.c \
+ evas_blend_main.c \
+ evas_blit_main.c \
+ evas_convert_color.c \
++evas_convert_colorspace.c \
+ evas_convert_gry_1.c \
+ evas_convert_gry_4.c \
+ evas_convert_gry_8.c \
+diff --git a/src/lib/engines/common/evas_convert_colorspace.c b/src/lib/engines/common/evas_convert_colorspace.c
+new file mode 100644
+index 0000000..287bd2e
+--- /dev/null
++++ b/src/lib/engines/common/evas_convert_colorspace.c
+@@ -0,0 +1,69 @@
++#include "evas_common.h"
++
++#define CONVERT_RGB_565_TO_RGB_888(s) \
++      (((((s) << 3) & 0xf8) | (((s) >> 2) & 0x7)) | \
++       ((((s) << 5) & 0xfc00) | (((s) >> 1) & 0x300)) | \
++       ((((s) << 8) & 0xf80000) | (((s) << 3) & 0x70000)))
++
++#define CONVERT_A5P_TO_A8(s) \
++      ((((s) << 3) & 0xf8) | (((s) >> 2) & 0x7))
++
++static inline void *
++evas_common_convert_argb8888_to_rgb565_a5p(void *data, int w, int h, int stride, Evas_Bool has_alpha)
++{
++}
++
++static inline void *
++evas_common_convert_rgb565_a5p_to_argb8888(void *data, int w, int h, int stride, Evas_Bool has_alpha)
++{
++   DATA16 *src, *end;
++   DATA32 *ret, *dst;
++   int r, g, b;
++
++   src = data;
++   end = src + (stride * h);
++   ret = malloc(w * h * sizeof(DATA32));
++
++   dst = ret;
++   if (has_alpha)
++     {
++      DATA8 *alpha;
++
++      alpha = end;
++      for (; src < end; src++, alpha++, dst++)
++        *dst = (CONVERT_A5P_TO_A8(*alpha) << 24) |
++                CONVERT_RGB_565_TO_RGB_888(*src);
++     }
++   else
++     {
++      for (; src < end; src++, dst++)
++        *dst = CONVERT_RGB_565_TO_RGB_888(*src);
++     }
++   return ret;
++}
++
++EAPI void *
++evas_common_convert_argb8888_to(void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace)
++{
++   switch (cspace)
++     {
++      case EVAS_COLORSPACE_RGB565_A5P:
++        return evas_common_convert_argb8888_to_rgb565_a5p(data, w, h, stride, has_alpha);
++      default:
++        break;
++     }
++   return NULL;
++}
++
++EAPI void *
++evas_common_convert_rgb565_a5p_to(void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace)
++{
++   switch (cspace)
++     {
++      case EVAS_COLORSPACE_ARGB8888:
++        return evas_common_convert_rgb565_a5p_to_argb8888(data, w, h, stride, has_alpha);
++      default:
++        break;
++     }
++   return NULL;
++}
+diff --git a/src/lib/include/evas_common.h b/src/lib/include/evas_common.h
+index a61ed6d..4c724b1 100644
+--- a/src/lib/include/evas_common.h
++++ b/src/lib/include/evas_common.h
+@@ -998,6 +998,9 @@ EAPI void evas_common_convert_color_rgb_to_hsv                     (int r, int g
+ EAPI void evas_common_convert_color_hsv_to_rgb_int                 (int h, int s, int v, int *r, int *g, int *b);
+ EAPI void evas_common_convert_color_rgb_to_hsv_int                 (int r, int g, int b, int *h, int *s, int *v);
++EAPI void *evas_common_convert_argb8888_to                         (void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace);
++EAPI void *evas_common_convert_rgb565_a5p_to                       (void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace);
++
+ /****/
+ EAPI void evas_common_scale_init                            (void);
diff --git a/trunk/evas/debian_gregale/patches/series b/trunk/evas/debian_gregale/patches/series
new file mode 100644 (file)
index 0000000..ddf84be
--- /dev/null
@@ -0,0 +1,2 @@
+01_dont_overwrite_changelog
+02_evas_colorspace_convert