All pastes #191548 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-10-05 02:39 UTC
rendered paste body
void rotate_left(Ewl_Widget *w, void *event, void *data)
{
 unsigned int *im_data, *im_data_new;
 int index, ind, i, j, ni, nj, ew, eh, nw, nh;

 im_data = evas_object_image_data_get(EWL_IMAGE(image_view)->image, FALSE);
 evas_object_image_size_get(EWL_IMAGE(image_view)->image, &ew, &eh);
 index = 0;

 im_data_new = malloc(sizeof(unsigned int) * ew * eh);

 nw = eh;
 nh = ew;

 for (i = 0; i < nh; i++)
 {
  for (j = 0; j < nw; j++)
  {
   ni = j;
   nj = nh - i - 1;

   ind = ni * nw + nj;

   im_data_new[index] = im_data[ind];
   index++;
  }
 }

 evas_object_image_size_set(EWL_IMAGE(image_view)->image, nw, nh);
 evas_object_image_data_set(EWL_IMAGE(image_view)->image, im_data_new);
 evas_object_image_data_update_add(EWL_IMAGE(image_view)->image, 0, 0, nw, n
h);
 ewl_image_size_set(EWL_IMAGE(image_view), nw, nh);
}