inheritedPageAttribute method
Value of an inheritable page attribute (/Rotate, /CropBox, …),
looked up on the page itself and then on its ancestors.
Returns the raw value (it may still be an indirect reference).
Implementation
dynamic inheritedPageAttribute(PdfDictToken pageDict, String key) {
final direct = pageDict.values[key];
if (direct != null) return direct;
var parentVal = pageDict.values[PdfNameTokens.parent];
for (var depth = 0; depth < 32; depth++) {
final parentRef = PdfParserObjects.asRef(parentVal);
if (parentRef == null) return null;
final parentObj =
_getObjectNoStream(parentRef.obj) ?? _getObject(parentRef.obj);
if (parentObj == null || parentObj.value is! PdfDictToken) return null;
final parentDict = parentObj.value as PdfDictToken;
final value = parentDict.values[key];
if (value != null) return value;
parentVal = parentDict.values[PdfNameTokens.parent];
}
return null;
}