remove transform stuff - never was implemented anyway so no effective
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 19 Aug 2010 07:32:44 +0000 (07:32 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 19 Aug 2010 07:32:44 +0000 (07:32 +0000)
break.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@51384 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/Evas.h
src/lib/canvas/evas_object_image.c
src/lib/canvas/evas_transform.c

index 049fb36..b358541 100644 (file)
@@ -166,7 +166,6 @@ typedef enum _Evas_Object_Table_Homogeneous_Mode
   EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
 } Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */
 
-typedef struct _Evas_Transform Evas_Transform; /**< An Evas projective or affine transform */
 typedef struct _Evas_Coord_Rectangle  Evas_Coord_Rectangle; /**< A generic rectangle handle */
 typedef struct _Evas_Point                   Evas_Point; /**< integer point */
 
@@ -227,13 +226,6 @@ typedef int           Evas_Coord;
 typedef int           Evas_Font_Size;
 typedef int           Evas_Angle;
 
-struct _Evas_Transform /** An affine or projective coordinate transformation matrix */
-{
-   float mxx, mxy, mxz;
-   float myx, myy, myz;
-   float mzx, mzy, mzz;
-};
-
 struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */
 {
    Evas_Coord x; /**< top-left x co-ordinate of rectangle */
@@ -1208,8 +1200,6 @@ typedef void      (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object *obj
    EAPI void              evas_object_image_fill_get        (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
    EAPI void              evas_object_image_fill_spread_set   (Evas_Object *obj, int tile_mode) EINA_ARG_NONNULL(1);
    EAPI int               evas_object_image_fill_spread_get   (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
-   EAPI void              evas_object_image_fill_transform_set (Evas_Object *obj, Evas_Transform *t) EINA_ARG_NONNULL(1);
-   EAPI void              evas_object_image_fill_transform_get (const Evas_Object *obj, Evas_Transform *t) EINA_ARG_NONNULL(1, 2);
    EAPI void              evas_object_image_size_set        (Evas_Object *obj, int w, int h) EINA_ARG_NONNULL(1);
    EAPI void              evas_object_image_size_get        (const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
    EAPI int               evas_object_image_stride_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
@@ -2148,20 +2138,6 @@ struct _Evas_Smart_Cb_Description
    EAPI void              evas_data_argb_premul             (unsigned int *data, unsigned int len);
    EAPI void              evas_data_argb_unpremul           (unsigned int *data, unsigned int len);
 
-/* Evas utility routines for working with transforms */
-   /* Set t to the identity */
-   EAPI void              evas_transform_identity_set       (Evas_Transform *t);
-   /* Left-multiply t by an xy rotation defined by the given angle (in degrees) */
-   EAPI void              evas_transform_rotate             (double angle, Evas_Transform *t);
-   /* Left-multiply t by an xy translation defined by the given dx, dy values */
-   EAPI void              evas_transform_translate          (float dx, float dy, Evas_Transform *t);
-   /* Left-multiply t by an xy scaling defined by the given sx, sy factors */
-   EAPI void              evas_transform_scale              (float sx, float sy, Evas_Transform *t);
-   /* Left-multiply t by an xy shearing defined by the given sh, sv values */
-   EAPI void              evas_transform_shear              (float sh, float sv, Evas_Transform *t);
-   /* Left-multiply t by the given transform l */
-   EAPI void              evas_transform_compose            (Evas_Transform *l, Evas_Transform *t);
-
 /* string and font handling */
    EAPI int               evas_string_char_next_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
    EAPI int               evas_string_char_prev_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
index d5d94f2..ca04c5a 100644 (file)
@@ -15,8 +15,7 @@ struct _Evas_Object_Image
    DATA32            magic;
 
    struct {
-      Evas_Common_Transform  transform;
-      int         spread;
+      int                  spread;
       Evas_Coord_Rectangle fill;
       struct {
         short         w, h, stride;
@@ -681,86 +680,6 @@ evas_object_image_fill_spread_get(const Evas_Object *obj)
    return o->cur.spread;
 }
 
-EAPI void
-evas_object_image_fill_transform_set(Evas_Object *obj, Evas_Transform *t)
-{
-   Evas_Object_Image *o;
-
-   MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
-   return;
-   MAGIC_CHECK_END();
-   o = (Evas_Object_Image *)(obj->object_data);
-   MAGIC_CHECK(o, Evas_Object_Image, MAGIC_OBJ_IMAGE);
-   return;
-   MAGIC_CHECK_END();
-   if (!t)
-     {
-       o->cur.transform.mxx = 1;
-       o->cur.transform.mxy = 0;
-       o->cur.transform.mxz = 0;
-       o->cur.transform.myx = 0;
-       o->cur.transform.myy = 1;
-       o->cur.transform.myz = 0;
-       o->cur.transform.mzx = 0;
-       o->cur.transform.mzy = 0;
-       o->cur.transform.mzz = 1;
-
-       o->changed = 1;
-       evas_object_change(obj);
-       return;
-     }
-   if ( (o->cur.transform.mxx == t->mxx) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) ||
-        (o->cur.transform.mxy == t->mxy) )
-           return;
-
-   o->cur.transform.mxx = t->mxx;
-   o->cur.transform.mxy = t->mxy;
-   o->cur.transform.mxz = t->mxz;
-   o->cur.transform.myx = t->myx;
-   o->cur.transform.myy = t->myy;
-   o->cur.transform.myz = t->myz;
-   o->cur.transform.mzx = t->mzx;
-   o->cur.transform.mzy = t->mzy;
-   o->cur.transform.mzz = t->mzz;
-
-   o->changed = 1;
-   evas_object_change(obj);
-}
-
-/*FIXME: To be documented*/
-EAPI void
-evas_object_image_fill_transform_get(const Evas_Object *obj, Evas_Transform *t)
-{
-   Evas_Object_Image *o;
-
-   MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
-   return;
-   MAGIC_CHECK_END();
-   o = (Evas_Object_Image *)(obj->object_data);
-   MAGIC_CHECK(o, Evas_Object_Image, MAGIC_OBJ_IMAGE);
-   return;
-   MAGIC_CHECK_END();
-   if (t)
-     {
-        t->mxx = o->cur.transform.mxx;
-        t->mxy = o->cur.transform.mxy;
-        t->mxz = o->cur.transform.mxz;
-        t->myx = o->cur.transform.myx;
-        t->myy = o->cur.transform.myy;
-        t->myz = o->cur.transform.myz;
-        t->mzx = o->cur.transform.mzx;
-        t->mzy = o->cur.transform.mzy;
-        t->mzz = o->cur.transform.mzz;
-     }
-}
-
 /**
  * Sets the size of the given image object.
  *
@@ -815,8 +734,9 @@ evas_object_image_size_set(Evas_Object *obj, int w, int h)
            (obj->layer->evas->engine.data.output,
                o->engine_data, o->content_hint);
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
         else
            stride = w;
      }
@@ -993,6 +913,8 @@ evas_object_image_data_set(Evas_Object *obj, void *data)
                                                                              o->cur.cspace);
         if (o->engine_data)
           {
+             int stride = 0;
+             
              if (obj->layer->evas->engine.func->image_scale_hint_set)
                 obj->layer->evas->engine.func->image_scale_hint_set
                 (obj->layer->evas->engine.data.output,
@@ -1000,11 +922,15 @@ evas_object_image_data_set(Evas_Object *obj, void *data)
              if (obj->layer->evas->engine.func->image_content_hint_set)
                 obj->layer->evas->engine.func->image_content_hint_set
                 (obj->layer->evas->engine.data.output,
-                    o->engine_data, o->content_hint);
+                    o->engine_data, o->content_hint); 
              if (obj->layer->evas->engine.func->image_stride_get)
-                obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                                o->engine_data, &o->cur.image.stride);
-          }
+                obj->layer->evas->engine.func->image_stride_get
+                (obj->layer->evas->engine.data.output,
+                    o->engine_data, &stride);
+             else
+                stride = o->cur.image.w;
+             o->cur.image.stride = stride;
+         }
      }
    else
      {
@@ -1081,9 +1007,15 @@ evas_object_image_data_get(const Evas_Object *obj, Eina_Bool for_writing)
                                                                  &data);
    if (o->engine_data)
      {
+        int stride = 0;
+
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &o->cur.image.stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
+        else
+           stride = o->cur.image.w;
+        o->cur.image.stride = stride;
      }
    o->pixels_checked_out++;
    if (for_writing)
@@ -1183,6 +1115,8 @@ evas_object_image_data_copy_set(Evas_Object *obj, void *data)
                                                                              o->cur.cspace);
    if (o->engine_data)
      {
+        int stride = 0;
+
         o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output,
                                                                         o->engine_data,
                                                                         o->cur.has_alpha);
@@ -1195,8 +1129,12 @@ evas_object_image_data_copy_set(Evas_Object *obj, void *data)
            (obj->layer->evas->engine.data.output,
                o->engine_data, o->content_hint);
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &o->cur.image.stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
+        else
+           stride = o->cur.image.w;
+        o->cur.image.stride = stride;
      }
    o->pixels_checked_out = 0;
    EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o);
@@ -1265,6 +1203,8 @@ evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
    o->cur.has_alpha = has_alpha;
    if (o->engine_data)
      {
+        int stride = 0;
+        
 #ifdef EVAS_FRAME_QUEUING
         evas_common_pipe_op_image_flush(o->engine_data);
 #endif
@@ -1280,8 +1220,12 @@ evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
            (obj->layer->evas->engine.data.output,
                o->engine_data, o->content_hint);
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &o->cur.image.stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
+        else
+           stride = o->cur.image.w;
+        o->cur.image.stride = stride;
      }
    evas_object_image_data_update_add(obj, 0, 0, o->cur.image.w, o->cur.image.h);
    EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o);
@@ -2011,13 +1955,19 @@ evas_object_image_scale_hint_set(Evas_Object *obj, Evas_Image_Scale_Hint hint)
    o->scale_hint = hint;
    if (o->engine_data)
      {
+        int stride = 0;
+        
         if (obj->layer->evas->engine.func->image_scale_hint_set)
            obj->layer->evas->engine.func->image_scale_hint_set
            (obj->layer->evas->engine.data.output,
                o->engine_data, o->scale_hint);
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &o->cur.image.stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
+        else
+           stride = o->cur.image.w;
+        o->cur.image.stride = stride;
      }
 }
 
@@ -2073,13 +2023,19 @@ evas_object_image_content_hint_set(Evas_Object *obj, Evas_Image_Content_Hint hin
    o->content_hint = hint;
    if (o->engine_data)
      {
+        int stride = 0;
+        
         if (obj->layer->evas->engine.func->image_content_hint_set)
            obj->layer->evas->engine.func->image_content_hint_set
            (obj->layer->evas->engine.data.output,
                o->engine_data, o->content_hint);
         if (obj->layer->evas->engine.func->image_stride_get)
-           obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                           o->engine_data, &o->cur.image.stride);
+           obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
+        else
+           stride = o->cur.image.w;
+        o->cur.image.stride = stride;
      }
 }
 
@@ -2243,10 +2199,11 @@ evas_object_image_unload(Evas_Object *obj, Eina_Bool dirty)
    if (dirty)
      {
         if (o->engine_data)
-          o->engine_data = obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
-                                                                             o->engine_data,
-                                                                             0, 0,
-                                                                             o->cur.image.w, o->cur.image.h);
+          o->engine_data = obj->layer->evas->engine.func->image_dirty_region
+           (obj->layer->evas->engine.data.output,
+               o->engine_data,
+               0, 0,
+               o->cur.image.w, o->cur.image.h);
      }
    if (o->engine_data)
      obj->layer->evas->engine.func->image_free(obj->layer->evas->engine.data.output,
@@ -2277,27 +2234,32 @@ evas_object_image_load(Evas_Object *obj)
    lo.region.y = o->load_opts.region.y;
    lo.region.w = o->load_opts.region.w;
    lo.region.h = o->load_opts.region.h;
-   o->engine_data = obj->layer->evas->engine.func->image_load(obj->layer->evas->engine.data.output,
-                                                             o->cur.file,
-                                                             o->cur.key,
-                                                             &o->load_error,
-                                                             &lo);
+   o->engine_data = obj->layer->evas->engine.func->image_load
+      (obj->layer->evas->engine.data.output,
+          o->cur.file,
+          o->cur.key,
+          &o->load_error,
+          &lo);
    if (o->engine_data)
      {
        int w, h;
        int stride;
 
-       obj->layer->evas->engine.func->image_size_get(obj->layer->evas->engine.data.output,
-                                                     o->engine_data, &w, &h);
+       obj->layer->evas->engine.func->image_size_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &w, &h);
        if (obj->layer->evas->engine.func->image_stride_get)
-         obj->layer->evas->engine.func->image_stride_get(obj->layer->evas->engine.data.output,
-                                                         o->engine_data, &stride);
+         obj->layer->evas->engine.func->image_stride_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data, &stride);
        else
          stride = w;
-       o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get(obj->layer->evas->engine.data.output,
-                                                                         o->engine_data);
-       o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get(obj->layer->evas->engine.data.output,
-                                                                           o->engine_data);
+       o->cur.has_alpha = obj->layer->evas->engine.func->image_alpha_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data);
+       o->cur.cspace = obj->layer->evas->engine.func->image_colorspace_get
+           (obj->layer->evas->engine.data.output,
+               o->engine_data);
        o->cur.image.w = w;
        o->cur.image.h = h;
        o->cur.image.stride = stride;
@@ -2390,7 +2352,6 @@ evas_object_image_new(void)
    o->cur.border.fill = 1;
    o->cur.border.scale = 1.0;
    o->cur.cspace = EVAS_COLORSPACE_ARGB8888;
-   o->cur.transform.mxx = o->cur.transform.myy = o->cur.transform.mzz = 1;
    o->cur.spread = EVAS_TEXTURE_REPEAT;
    o->cur.opaque_valid = 0;
    o->prev = o->cur;
@@ -3145,10 +3106,11 @@ evas_object_image_is_inside(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
    
    stride = o->cur.image.stride;
    
-   o->engine_data = obj->layer->evas->engine.func->image_data_get(obj->layer->evas->engine.data.output,
-                                                                 o->engine_data,
-                                                                 0,
-                                                                 &data);
+   o->engine_data = obj->layer->evas->engine.func->image_data_get
+      (obj->layer->evas->engine.data.output,
+          o->engine_data,
+          0,
+          &data);
    if (!data)
      return 0;
 
index 024e173..b28c2cc 100644 (file)
@@ -1,162 +1,2 @@
 #include "evas_common.h"
 #include "evas_private.h"
-#include <math.h>
-
-/**
- * @addtogroup Evas_Utils
- * @{
- */
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_identity_set(Evas_Transform *t)
-{
-   if (t)
-     {
-       t->mxx = t->myy = t->mzz = 1;
-       t->mxy = t->mxz = 0;
-       t->myx = t->myz = 0;
-       t->mzx = t->mzy = 0;
-     }
-}
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_rotate(double angle, Evas_Transform *t)
-{
-   double ca, sa;
-   float mxx, mxy, mxz;
-   float myx, myy, myz;
-
-   if (!t) return;
-
-   angle = (angle * M_PI) / 180.0;
-   ca = cos(angle);  sa = sin(angle);
-   if ((ca == 1) && (sa == 0)) return;
-
-   mxx = t->mxx;  mxy = t->mxy;  mxz = t->mxz;
-   myx = t->myx;  myy = t->myy;  myz = t->myz;
-
-   t->mxx = (ca * mxx) + (sa * myx);
-   t->mxy = (ca * mxy) + (sa * myy);
-   t->mxz = (ca * mxz) + (sa * myz);
-
-   t->myx = (-sa * mxx) + (ca * myx);
-   t->myy = (-sa * mxy) + (ca * myy);
-   t->myz = (-sa * mxz) + (ca * myz);
-}
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_translate(float dx, float dy, Evas_Transform *t)
-{
-   if (!t) return;
-   if (!dx && !dy) return;
-
-   t->mxx = dx * t->mzx;
-   t->mxy = dx * t->mzy;
-   t->mxz = dx * t->mzz;
-
-   t->myx = dy * t->mzx;
-   t->myy = dy * t->mzy;
-   t->myz = dy * t->mzz;
-}
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_scale(float sx, float sy, Evas_Transform *t)
-{
-   if (!t) return;
-   if ((sx == 1) && (sy == 1)) return;
-
-   t->mxx = sx * t->mxx;
-   t->mxy = sx * t->mxy;
-   t->mxz = sx * t->mxz;
-
-   t->myx = sy * t->myx;
-   t->myy = sy * t->myy;
-   t->myz = sy * t->myz;
-}
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_shear(float sh, float sv, Evas_Transform *t)
-{
-   float mxx, mxy, mxz;
-   float myx, myy, myz;
-
-   if (!t) return;
-   if ((sh == 1) && (sv == 1)) return;
-
-   mxx = t->mxx;  mxy = t->mxy;  mxz = t->mxz;
-   myx = t->myx;  myy = t->myy;  myz = t->myz;
-
-   t->mxx = mxx + (sh * myx);
-   t->mxy = mxy + (sh * myy);
-   t->mxz = mxz + (sh * myz);
-
-   t->myx = (sv * mxx) + myx;
-   t->myy = (sv * mxy) + myy;
-   t->myz = (sv * mxz) + myz;
-}
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- *
- */
-EAPI void
-evas_transform_compose(Evas_Transform *l, Evas_Transform *t)
-{
-   float mxx, mxy, mxz;
-   float myx, myy, myz;
-   float mzx, mzy, mzz;
-
-   if (!t || !l) return;
-
-   mxx = t->mxx;  mxy = t->mxy;  mxz = t->mxz;
-   myx = t->myx;  myy = t->myy;  myz = t->myz;
-   mzx = t->mzx;  mzy = t->mzy;  mzz = t->mzz;
-
-   t->mxx = (l->mxx * mxx) + (l->mxy * myx) + (l->mxz * mzx);
-   t->mxy = (l->mxx * mxy) + (l->mxy * myy) + (l->mxz * mzy);
-   t->mxz = (l->mxx * mxz) + (l->mxy * myz) + (l->mxz * mzz);
-
-   t->myx = (l->myx * mxx) + (l->myy * myx) + (l->myz * mzx);
-   t->myy = (l->myx * mxy) + (l->myy * myy) + (l->myz * mzy);
-   t->myz = (l->myx * mxz) + (l->myy * myz) + (l->myz * mzz);
-
-   t->mzx = (l->mzx * mxx) + (l->mzy * myx) + (l->mzz * mzx);
-   t->mzy = (l->mzx * mxy) + (l->mzy * myy) + (l->mzz * mzy);
-   t->mzz = (l->mzx * mxz) + (l->mzy * myz) + (l->mzz * mzz);
-}
-
-/**
- * @}
- */