1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// Every number reaching this crate came from an untrusted file by way of
// `pdfrum-page`: index with `get()` and do arithmetic with `checked_*`.
// The engine's own machinery. Private: the surface is the
// `pub use` block below plus the four modules a *backend* implementing
// `RasterBackend` has to reach into, which are declared separately under
// "The backend seam".
// # The backend seam
//
// Four modules stay public because a crate implementing [`RasterBackend`]
// needs more than the trait's own signatures name: it rasterizes coverage,
// composites it, blits an LCD glyph, and rounds alpha. Doing any of those in
// the oracle's arithmetic means calling the engine's. `pdfrum-raster-agg` is
// the in-tree proof — a backend written against exactly these four and
// nothing else. Each module's own header says what a backend takes from it.
//
// A `///` on any of these lines would move the whole module's rustdoc into
// this scope and break every intra-module link in it, so the prose lives
// where the items do.
// The walk's own phase timers and allocation counters. Public *with the
// default-off `profiling` feature and only then*: the module always
// exists, because the walk calls its entry points unconditionally and they
// compile to empty inline functions with the feature off, but its forty-five
// reporting items are part of the instrument rather than of the crate a
// `cargo add pdfrum-render` reaches, which is why the committed API
// snapshots deliberately do not cover the `profiling` feature.
// Its own docs make the
// argument for the thread-local, and it holds.
pub use ;
pub use RenderCaches;
pub use ;
pub use Error;
pub use ;
pub use ;
pub use ;
/// A decoded image as a pixmap, composed the way a page draw would compose
/// it: its mask applied, its matte removed, a stencil painted black.
///
/// For an image that is not on a page — a `/Thumb`, an embedded file — where
/// there is no graphics state to take a fill colour or a transfer function
/// from.