mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-05 15:48:00 +02:00
directfb: Discard long broken code and return to basics
Rewrite the directfb backend as nothing more than a simpler image compositor onto a shadowfb that is flushed back to the dfb surface as required. Future refinements would be to add damage tracking, and to mix the useful directfb operations (such as solid fills and alpha blends). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
f4309795e9
commit
a349a312dc
3 changed files with 336 additions and 1666 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -85,6 +85,52 @@ _cairo_image_traps_compositor_get (void);
|
|||
cairo_private const cairo_compositor_t *
|
||||
_cairo_image_spans_compositor_get (void);
|
||||
|
||||
#define _cairo_image_default_compositor_get _cairo_image_spans_compositor_get
|
||||
|
||||
cairo_private cairo_int_status_t
|
||||
_cairo_image_surface_paint (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
const cairo_clip_t *clip);
|
||||
|
||||
cairo_private cairo_int_status_t
|
||||
_cairo_image_surface_mask (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
const cairo_pattern_t *mask,
|
||||
const cairo_clip_t *clip);
|
||||
|
||||
cairo_private cairo_int_status_t
|
||||
_cairo_image_surface_stroke (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
const cairo_path_fixed_t *path,
|
||||
const cairo_stroke_style_t *style,
|
||||
const cairo_matrix_t *ctm,
|
||||
const cairo_matrix_t *ctm_inverse,
|
||||
double tolerance,
|
||||
cairo_antialias_t antialias,
|
||||
const cairo_clip_t *clip);
|
||||
|
||||
cairo_private cairo_int_status_t
|
||||
_cairo_image_surface_fill (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
const cairo_path_fixed_t *path,
|
||||
cairo_fill_rule_t fill_rule,
|
||||
double tolerance,
|
||||
cairo_antialias_t antialias,
|
||||
const cairo_clip_t *clip);
|
||||
|
||||
cairo_private cairo_int_status_t
|
||||
_cairo_image_surface_glyphs (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
cairo_glyph_t *glyphs,
|
||||
int num_glyphs,
|
||||
cairo_scaled_font_t *scaled_font,
|
||||
const cairo_clip_t *clip);
|
||||
|
||||
cairo_private void
|
||||
_cairo_image_surface_init (cairo_image_surface_t *surface,
|
||||
pixman_image_t *pixman_image,
|
||||
|
|
|
|||
|
|
@ -865,7 +865,7 @@ _cairo_image_surface_get_extents (void *abstract_surface,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
cairo_int_status_t
|
||||
_cairo_image_surface_paint (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
|
|
@ -876,7 +876,7 @@ _cairo_image_surface_paint (void *abstract_surface,
|
|||
&surface->base, op, source, clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
cairo_int_status_t
|
||||
_cairo_image_surface_mask (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
|
|
@ -888,7 +888,7 @@ _cairo_image_surface_mask (void *abstract_surface,
|
|||
&surface->base, op, source, mask, clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
cairo_int_status_t
|
||||
_cairo_image_surface_stroke (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
|
|
@ -907,7 +907,7 @@ _cairo_image_surface_stroke (void *abstract_surface,
|
|||
tolerance, antialias, clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
cairo_int_status_t
|
||||
_cairo_image_surface_fill (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
|
|
@ -924,7 +924,7 @@ _cairo_image_surface_fill (void *abstract_surface,
|
|||
clip);
|
||||
}
|
||||
|
||||
static cairo_int_status_t
|
||||
cairo_int_status_t
|
||||
_cairo_image_surface_glyphs (void *abstract_surface,
|
||||
cairo_operator_t op,
|
||||
const cairo_pattern_t *source,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue