mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-03 10:30:24 +01:00
Note that PS backend has now been switched over to use cairo_paginated_surface_t.
Switch from ARGB32 to RGB24 for intermediate image surface since that's all that the current users of cairo_paginated_surface support anyway. Switch cairo_ps_surface_t over to use the new cairo_paginated_surface_t. This drastically simplifies the implementation, but temporarily puts the PostScript output back into the land of one-image-per-page. To be fixed soon though with improvements to cairo_paginated_surface_t. Everything still passes the test suite which is good. The test suite currently does no testing of multi-page output, which is quite bad.
This commit is contained in:
parent
c23d7d4758
commit
ebeaeeccec
4 changed files with 259 additions and 560 deletions
34
ChangeLog
34
ChangeLog
|
|
@ -1,3 +1,37 @@
|
|||
2006-01-11 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* ROADMAP: Note that PS backend has now been switched over to use
|
||||
cairo_paginated_surface_t.
|
||||
|
||||
* src/cairo-paginated-surface.c:
|
||||
(_cairo_paginated_surface_acquire_source_image), (_paint_page),
|
||||
(_cairo_paginated_surface_snapshot): Switch from ARGB32 to RGB24
|
||||
for intermediate image surface since that's all that the current
|
||||
users of cairo_paginated_surface support anyway.
|
||||
|
||||
* src/cairo-ps-surface.c: (_cairo_ps_surface_emit_header),
|
||||
(_cairo_ps_surface_emit_footer),
|
||||
(_cairo_ps_surface_create_for_stream_internal),
|
||||
(_cairo_surface_is_ps), (cairo_ps_surface_set_dpi),
|
||||
(_cairo_ps_surface_finish), (_cairo_ps_surface_start_page),
|
||||
(_cairo_ps_surface_copy_page), (_cairo_ps_surface_show_page),
|
||||
(_cairo_ps_surface_add_fallback_area),
|
||||
(_cairo_ps_surface_composite), (_cairo_ps_surface_fill_rectangles),
|
||||
(_cairo_ps_surface_composite_trapezoids),
|
||||
(_cairo_ps_surface_path_move_to), (_cairo_ps_surface_path_line_to),
|
||||
(_cairo_ps_surface_path_curve_to),
|
||||
(_cairo_ps_surface_path_close_path),
|
||||
(_cairo_ps_surface_intersect_clip_path),
|
||||
(_cairo_ps_surface_get_extents),
|
||||
(_cairo_ps_surface_old_show_glyphs), (_cairo_ps_surface_fill):
|
||||
Switch cairo_ps_surface_t over to use the new
|
||||
cairo_paginated_surface_t. This drastically simplifies the
|
||||
implementation, but temporarily puts the PostScript output back
|
||||
into the land of one-image-per-page. To be fixed soon though with
|
||||
improvements to cairo_paginated_surface_t. Everything still passes
|
||||
the test suite which is good. The test suite currently does no
|
||||
testing of multi-page output, which is quite bad.
|
||||
|
||||
2006-01-11 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* ROADMAP: Note that from here on out, the PDF output should
|
||||
|
|
|
|||
11
ROADMAP
11
ROADMAP
|
|
@ -16,19 +16,10 @@ The release won't happen without these being complete.
|
|||
✓a. Incorporate into test suite
|
||||
|
||||
✓b. Correct output for the entire test suite
|
||||
✓clip-operator
|
||||
✓composite-integer-translate-source
|
||||
✓linear-gradient
|
||||
✓operator-clear
|
||||
✓operator-source
|
||||
✓self-copy
|
||||
✓text-pattern
|
||||
✓trap-clip
|
||||
✓unbounded-operator
|
||||
|
||||
2. Image fallbacks at finer-than-whole-page granularity
|
||||
|
||||
a. Switch to using cairo_paginated_surface_t
|
||||
✓a. Switch to using cairo_paginated_surface_t
|
||||
|
||||
b. Add analysis and clever replay to
|
||||
cairo_paginated_surface_t
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface,
|
|||
|
||||
_cairo_surface_get_extents (surface->target, &extents);
|
||||
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
|
||||
extents.width, extents.height);
|
||||
|
||||
_cairo_meta_surface_replay (surface->meta, image);
|
||||
|
|
@ -191,7 +191,7 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
cairo_surface_t *image;
|
||||
cairo_pattern_t *pattern;
|
||||
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
|
||||
surface->width, surface->height);
|
||||
|
||||
_cairo_meta_surface_replay (surface->meta, image);
|
||||
|
|
@ -375,7 +375,7 @@ _cairo_paginated_surface_snapshot (void *abstract_other)
|
|||
|
||||
_cairo_surface_get_extents (other->target, &extents);
|
||||
|
||||
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
|
||||
extents.width,
|
||||
extents.height);
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue