function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): Boolean;
| Subtype | TPdfAnnotationSubtype. Testovaný subtyp: anUnknown, anText, anLink, anFreeText, anLine, anSquare, anCircle, anPolygon, anPolyLine, anHighlight, anUnderline, anSquiggly, anStrikeout, anStamp, anCaret, anInk, anPopup, anFileAttachment, anSound, anMovie, anWidget, anScreen, anPrinterMark, anTrapNet, anWaterMark, anThreed, anRichMedia, anXfaWidget, anRedact |
| Result | Boolean. True, když modul podporuje tento subtyp pro obsluhu na úrovni objektů |
Protějšek IsAnnotationSubtypeSupported na úrovni objektů. Zatímco ono volání hlásí, zda lze subtyp vytvořit přes CreateAnnotation, tohle se modulu ptá, zda podporuje obsluhu objektů daného subtypu — dotaz, který řídí API anotačních objektů jako AnnotationObjectInfo a AnnotationObjectCount, které čtou a upravují stránkové objekty vykreslené uvnitř anotace
Odpověď se liší mezi sestaveními PDFium. Předchozí test umožní aplikaci dopředu povolit nebo zakázat funkci editace na úrovni objektů místo pozdějšího selhání na skutečném volání
Když načtené sestavení PDFium neexportuje nativní dotaz (FPDFAnnot_IsObjectSupportedSubtype), výsledkem je False, což ponechává volajícího na konzervativní straně
if Pdf1.IsAnnotationObjectSubtypeSupported(anStamp) then
BtnEditStampObjects.Enabled := True
else
// no object-level stamp editing on this PDFium build
BtnEditStampObjects.Enabled := False;