mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-04-25 09:40:47 +02:00
[directfb] Unbounded operators are unsupported.
Currently the emulation of Porter-Duff operators does not correctly handle the unbounded operators.
This commit is contained in:
parent
1f35f31c4e
commit
ae9d17c015
1 changed files with 10 additions and 0 deletions
|
|
@ -720,6 +720,10 @@ _directfb_prepare_composite (cairo_directfb_surface_t *dst,
|
|||
DFBSurfaceBlendFunction dblend;
|
||||
const cairo_color_t *color;
|
||||
|
||||
/* XXX Unbounded operators are not handled correctly */
|
||||
if (! _cairo_operator_bounded_by_source (op))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
if (! _directfb_get_operator (op, &sblend, &dblend))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
|
|
@ -1097,6 +1101,9 @@ _cairo_directfb_surface_fill_rectangles (void *abstract_surface
|
|||
"%s( dst=%p, op=%d, color=%p, rects=%p, n_rects=%d ).\n",
|
||||
__FUNCTION__, dst, op, color, rects, n_rects);
|
||||
|
||||
if (! _cairo_operator_bounded_by_source (op))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
if (! _directfb_get_operator (op, &sblend, &dblend))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
|
|
@ -1714,8 +1721,11 @@ _cairo_directfb_surface_show_glyphs (void *abstract_dst,
|
|||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
}
|
||||
|
||||
/* XXX Unbounded operators are not handled correctly */
|
||||
if (! _cairo_operator_bounded_by_mask (op))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
if (! _cairo_operator_bounded_by_source (op))
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
if (! _directfb_get_operator (op, &sblend, &dblend) ||
|
||||
sblend == DSBF_DESTALPHA || sblend == DSBF_INVDESTALPHA)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue