pub enum Appearance {
Untouched,
Generated(GeneratedAp),
Suppressed,
}Expand description
What an overlay says about one annotation.
Three states, not two, and the third is why this is an enum rather than an
Option. “Nothing was generated” and “this annotation draws nothing” are
different instructions: the first falls through to whatever /AP the file
carries, the second suppresses it. A field whose appearance has been
cleared — focus left it and it went back to drawing nothing — needs the
second, and expressing it as the absence of an entry would make it
indistinguishable from the first.
use pdfrum_doc::{AnnotOverlay, ap::Appearance};
let mut overlay = AnnotOverlay::with_capacity(2);
assert_eq!(overlay.appearance(0), &Appearance::Untouched);
// Suppressed is not the same as untouched: it says "draw nothing",
// even for an annotation the file gave an `/AP`.
overlay.set_appearance(0, Appearance::Suppressed);
assert!(overlay.get(0).is_none());Variants§
Untouched
Nothing to say. The file’s own /AP is used, if it has one.
Generated(GeneratedAp)
Draw this instead of the file’s /AP.
Suppressed
Draw nothing at all, even if the file carries an /AP.
Nothing sets this yet. It exists so a cleared appearance has a spelling that is not “absent”, which is what keeps the merge below able to express one later without changing shape.
Trait Implementations§
Source§impl Clone for Appearance
impl Clone for Appearance
Source§fn clone(&self) -> Appearance
fn clone(&self) -> Appearance
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more