static Eina_Bool
evas_render_updates_internal(Evas *eo_e, unsigned char make_updates, unsigned char do_draw, Evas_Render_Done_Cb done_func, void *done_data, Evas_Event_Cb updates_func, void *updates_data, Eina_Bool do_async);
-static void
-_evas_render_mode_eval(Evas_Public_Data *e);
EAPI void
evas_damage_rectangle_add(Evas *eo_e, int x, int y, int w, int h)
{
unsigned int offset = 0;
- _evas_render_mode_eval(e);
while ((surface =
e->engine.func->output_redraws_next_update_get
(e->engine.data.output,
}
}
-static void
-_evas_render_mode_eval(Evas_Public_Data *e) // eo
-{
- Evas_Opset opset;
- int i;
-
- if (!e->engine.func) return;
- if (!e->engine.func->opset_eval) return;
-
- // XXX1: walk thru active objects - figure out render ops
- for (i = 0; i < e->active_objects.count; ++i)
- {
- Evas_Object_Protected_Data *obj = eina_array_data_get(&e->active_objects, i); // eo
- Evas_Object *eo_obj; // eo
-
- if (!obj) continue;
- eo_obj = obj->object; // eo
- }
- e->engine.func->opset_eval(e->engine.data.output, &opset);
-}
-
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
typedef struct _Evas_Data_Node Evas_Data_Node;
typedef struct _Evas_Func_Node Evas_Func_Node;
typedef RGBA_Image_Loadopts Evas_Image_Load_Opts;
-typedef struct _Evas_Opset Evas_Opset;
typedef struct _Evas_Func Evas_Func;
typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func;
typedef struct _Evas_Image_Save_Func Evas_Image_Save_Func;
int (*get_opaque_rect) (Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
int (*can_map) (Evas_Object *obj);
-
- int (*opset_get) (Evas_Object *obj);
-};
-
-typedef enum _Evas_Optype
-{
- EVAS_OP_FILL_COLOR,
- EVAS_OP_BLEND_COLOR,
- EVAS_OP_COPY_PIXELS,
- EVAS_OP_BLEND_PIXELS,
- EVAS_OP_BLEND_ALPHA_MUL_PIXELS,
- EVAS_OP_BLEND_COLOR_MUL_PIXELS,
- EVAS_OP_SCALE_NEAREST_COPY_PIXELS,
- EVAS_OP_BLEND_NEAREST_COPY_PIXELS,
- EVAS_OP_SCALE_NEAREST_COPY_ALPHA_MUL_PIXELS,
- EVAS_OP_BLEND_NEAREST_COPY_COLOR_MUL_PIXELS,
- EVAS_OP_SCALE_SMOOTH_COPY_PIXELS,
- EVAS_OP_BLEND_SMOOTH_COPY_PIXELS,
- EVAS_OP_SCALE_SMOOTH_COPY_ALPHA_MUL_PIXELS,
- EVAS_OP_BLEND_SMOOTH_COPY_COLOR_MUL_PIXELS,
- EVAS_OP_BLEND_COLOR_ALPHA_MASK,
- EVAS_OP_MAP_COPY_PIXELS,
- EVAS_OP_MAP_BLEND_PIXELS,
- EVAS_OP_MAP_COPY_ALPHA_MUL_PIXELS,
- EVAS_OP_MAP_BLEND_COLOR_MUL_PIXELS,
- EVAS_OP_MAP_90MUL_COPY_PIXELS,
- EVAS_OP_MAP_90MUL_BLEND_PIXELS,
- EVAS_OP_MAP_90MUL_COPY_ALPHA_MUL_PIXELS,
- EVAS_OP_MAP_90MUL_BLEND_COLOR_MUL_PIXELS,
- EVAS_OP_COUNT // marker for last one
- // XXX: line? poly? or just made up of strips of the above?
-} Evas_Optype;
-
-struct _Evas_Opset
-{
- Eina_Bool ops[EVAS_OP_COUNT];
};
struct _Evas_Func
/* max size query */
void (*image_max_size_get) (void *data, int *maxw, int *maxh);
-
- /* pre-seed the engine with the kind of ops it will need */
- void (*opset_eval) (void *data, Evas_Opset *ops);
};
struct _Evas_Image_Load_Func