[cairo] GSoC: Scan converting rasteriser update
M Joonas Pihlaja
jpihlaja at cc.helsinki.fi
Mon Nov 10 07:28:52 PST 2008
On Sat, 8 Nov 2008, Jeff Muizelaar wrote:
> [cairo-spans] New _cairo_path_fixed_fill_to_span_renderer().
> - OUT_self doesn't really follow a the cairo style
> - OUT_converter in _begin_rendering()
OK.
> - I wonder if _cairo_path_fixed_fill_to_span_renderer() would be simpler if
> _begin_rendering and _end_rendering were not split out. I think it could
> simplify the error handling.
They're left over from the ..._stroke_to_span_renderer() I took
out.
> [cairo-spans] New cairo_delta_spans_t.
> - I need to look at this more
That's on its way out. I'm thinking I should take the tor scan
converter and shake out a mono one from it, and at that point the
current mono scan converter and delta spans can go away.
> [cairo-spans] Render clip mask surfaces with spans if we can.
> - _cairo_clip_intersect_mask_with_spans() isn't a good name
> it makes it sound like we are intersecting the mask the some spans
> when in fact we are doing an intersect between two masks()
> using a span renderer
I chose that as an alternate implementation of
_cairo_clip_intersect_mask(). Any suggestions for a good name?
> - can we use SRC to an unitialized surface instead of initializing a surface
> and then doing ADD?
Uninitialised surfaces wouldn't work since SOURCE is defined to
be bounded by the mask. Can we add an unbounded SOURCE at some
point to cairo?
> - we should also probably not construct a new surface unless the new clip
> is much smaller than the current clip otherwise it feels like we are wasting
> our time constructing a new clip when the old one will do.
But that's how cairo-clip.c works? Duplicating/cloning a clip
needs to be fast since it's done by cairo_save()/restore(), so
we're doing only shallow copies then and sharing the mask
surfaces of the clip. We could optimise the case when the
current cairo_clip_t has the only reference to the surface, but
I'd add that as a separate thing.
Joonas
More information about the cairo
mailing list