summaryrefslogtreecommitdiff
path: root/legacy/evas/src/lib/engines/common/evas_draw_main.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--legacy/evas/src/lib/engines/common/evas_draw_main.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/legacy/evas/src/lib/engines/common/evas_draw_main.c b/legacy/evas/src/lib/engines/common/evas_draw_main.c
index 2161954a0e..2470e04027 100644
--- a/legacy/evas/src/lib/engines/common/evas_draw_main.c
+++ b/legacy/evas/src/lib/engines/common/evas_draw_main.c
@@ -496,6 +496,47 @@ evas_common_draw_context_cutout_split(Cutout_Rect *in, Cutout_Rect *split)
496 return out; 496 return out;
497 } 497 }
498 return NULL; 498 return NULL;
499#undef INX1
500#undef INX2
501#undef SPX1
502#undef SPX2
503#undef INY1
504#undef INY2
505#undef SPY1
506#undef SPY2
507#undef X1_IN
508#undef X2_IN
509#undef Y1_IN
510#undef Y2_IN
511#undef R_NEW
512}
513
514Cutout_Rect *
515evas_common_draw_context_cutout_merge(Cutout_Rect *in, Cutout_Rect *merge)
516{
517 /* 1 input rect, multiple out */
518 Cutout_Rect *out;
519 Cutout_Rect *r;
520 Evas_Object_List *l;
521
522 for (l = (Evas_Object_List *)in; l; l = l->next)
523 {
524 r = (Cutout_Rect *)l;
525
526 merge = evas_common_draw_context_cutouts_split(merge, r);
527 if (!merge) return in;
528 }
529 r = merge;
530 out = in;
531 while (r)
532 {
533 Cutout_Rect *r2;
534
535 r2 = r;
536 r = evas_object_list_remove(r, r);
537 out = evas_object_list_append(out, r2);
538 }
539 return out;
499} 540}
500 541
501Gfx_Func_Blend_Src_Dst 542Gfx_Func_Blend_Src_Dst