Page MenuHomePhabricator

Efl.Canvas.Group: make mask filter work on GL engine
ClosedPublic

Authored by kimcinoo on Jan 21 2020, 2:03 AM.

Details

Summary

The _gl_filter_mask defines value of gc->dc->clip.mask, and make_color but
those are not used at all, because the evas_gl_common_Filter_blend_push calls
evas_gl_common_context_image_push which doesn't care of those values.

So this patch is using evas_gl_common_image_draw to use mask and mask_color.

Test Plan

[Filter Program]
efl_gfx_filter_program_set(text,

"buffer:a(alpha); buffer:fat(alpha); buffer:rgbfat(rgba);
 curve (0:255-255:0, dst = a); blend (a, color = #00ca00ff);
 grow (1, dst = fat); blur (3, src = fat, color=#0000b9ff, ox = -2, oy = -2, dst = rgbfat);
 mask (a, src = rgbfat);padding_set(t=5);",
"name");

[Before]

[After]

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kimcinoo created this revision.Jan 21 2020, 2:03 AM
kimcinoo requested review of this revision.Jan 21 2020, 2:03 AM
kimcinoo edited the test plan for this revision. (Show Details)Jan 21 2020, 2:08 AM
Hermet accepted this revision.Jan 23 2020, 1:49 AM
This revision is now accepted and ready to land.Jan 23 2020, 1:49 AM
This revision was automatically updated to reflect the committed changes.