Skip to main content

parse_visibility_expression

Function parse_visibility_expression 

Source
pub fn parse_visibility_expression(
    resolver: &Resolver<'_>,
    arr: &[PdfObj],
    depth: u32,
    sink: &WarningSink,
) -> Option<VisibilityExpr>
Expand description

Parse an OCMD /VE array into a VisibilityExpr.

The grammar from ISO 32000-2 §8.11.2.2:

expr     := array-form | ocg-ref
array-form := [ /And operand+ ]
            | [ /Or  operand+ ]
            | [ /Not operand   ]   (exactly one operand)
operand  := expr
ocg-ref  := indirect ref to an OCG dict

Returns None and emits a warning when the array is malformed (unknown leading name, wrong arity on /Not, missing operands, nested non-array non-ref leaves).