EAPI RGBA_Image * evas_common_image_new(unsigned int w, unsigned int h, unsigned int alpha) { if (alpha) return evas_common_image_alpha_create(w, h); return evas_common_image_create(w, h); }
EAPI RGBA_Image * evas_common_image_line_buffer_obtain(int len) { if (len < 1) return NULL; if (len < EVAS_RGBA_LINE_BUFFER_MIN_LEN) len = EVAS_RGBA_LINE_BUFFER_MIN_LEN; return evas_common_image_create(len, 1); /* if (evas_rgba_line_buffer) { if (evas_rgba_line_buffer->image->w >= len) return evas_rgba_line_buffer; evas_rgba_line_buffer->image->data = (DATA32 *)realloc(evas_rgba_line_buffer->image->data, len * sizeof(DATA32)); if (!evas_rgba_line_buffer->image->data) { evas_common_image_free(evas_rgba_line_buffer); evas_rgba_line_buffer = NULL; return NULL; } evas_rgba_line_buffer->image->w = len; return evas_rgba_line_buffer; } evas_rgba_line_buffer = evas_common_image_create(len, 1); if (!evas_rgba_line_buffer) return NULL; return evas_rgba_line_buffer; */ }
static void * eng_image_new_from_copied_data(void *data, int w, int h, DATA32 *image_data, int alpha, int cspace) { Render_Engine *re; Evas_Cairo_Image *im; re = (Render_Engine *)data; /* FIXME, cache! */ im = calloc(1, sizeof(Evas_Cairo_Image)); if (!im) return NULL; im->references = 1; im->im = evas_common_image_create(w, h); if (!im->im) { free(im); return NULL; } if (image_data) memcpy(im->im->image->data, image_data, w * h * sizeof(DATA32)); return im; }