evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 26 May 2020 11:16:09 +0000 (12:16 +0100)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 26 May 2020 22:23:17 +0000 (07:23 +0900)
i noticed some junk in framespace... this happesn when solid objects
are outside the normal window content area and their solid areas are
not clipped to this inner frame area thus those areas are not "zeroed
out" next render.

@fix

src/lib/evas/canvas/evas_render.c

index d5c22a8..2c23739 100644 (file)
@@ -2763,6 +2763,15 @@ _evas_render_cutout_add(Evas_Public_Data *evas, void *context,
                            obj->cur->cache.clip.w, obj->cur->cache.clip.h);
      }
    else return;
+   if (!_is_obj_in_framespace(obj, evas))
+     {
+        int fw, fh;
+
+        fw = evas->viewport.w - evas->framespace.w;
+        fh = evas->viewport.h - evas->framespace.h;
+        RECTS_CLIP_TO_RECT(cox, coy, cow, coh,
+                           0, 0, fw, fh);
+     }
    if (cutout_margin)
      {
         cox += cutout_margin->l;