moonbitlang/pdflite/annotation does not have a README file

    PdfBytes

    type PdfBytes = Bytes

    PDF byte strings and byte streams.

    This is an alias for MoonBit Bytes because PDF strings and streams are byte sequences, not Unicode text. Use String only after an explicit PDF text decoding step.

    PdfName

    A PDF name token stored as its raw bytes without the leading slash.

    Names are byte-oriented in the PDF file format. Keeping the original bytes avoids accidental UTF-16 or UTF-8 interpretation while still allowing explicit views and owned-byte access.

    PdfObject

    The core in-memory representation of a parsed PDF object.

    Strings and names are byte-oriented PDF values, not MoonBit Unicode strings. PdfIndirect(number) is an unresolved reference by object number; callers that need the referenced object should resolve it through a PdfDocument.

    PdfRectangle

    A normalized rectangle in PDF user-space coordinates.

    min_x and min_y are always the lower bounds, and max_x and max_y are always the upper bounds. Parsers normalize PDF rectangle arrays whose coordinates are written in the opposite order.

    PdfAnnotation

    Parsed PDF annotation dictionary.

    contents and subject are raw PDF string bytes. rectangle is required when reading from a PDF. rest preserves dictionary entries not modeled by the typed fields so they can be written back.

    PdfAnnotation::equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotation::equal(PdfAnnotation, PdfAnnotation) -> Bool

    PdfAnnotation::not_equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotation::not_equal(x : PdfAnnotation, y : PdfAnnotation) -> Bool

    PdfAnnotation::to_json

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotation::to_json(PdfAnnotation) -> Json

    PdfAnnotation::to_repr

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotation::to_repr(PdfAnnotation) ->
    Repr

    PdfAnnotationBorder

    pub(all) struct PdfAnnotationBorder {
    width : Double
    vertical_radius : Double
    horizontal_radius : Double
    style : PdfAnnotationStyle
    dash_array : Array[Int]
    } derive(Eq, ToJson,
    Debug
    )

    Parsed annotation border information.

    vertical_radius and horizontal_radius come from the legacy /Border array form. style and dash_array represent /BS dictionary entries when present.

    PdfAnnotationBorder::equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationBorder::equal(PdfAnnotationBorder, PdfAnnotationBorder) -> Bool

    PdfAnnotationBorder::not_equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationBorder::not_equal(x : PdfAnnotationBorder, y : PdfAnnotationBorder) -> Bool

    PdfAnnotationBorder::to_json

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationBorder::to_json(PdfAnnotationBorder) -> Json

    PdfAnnotationBorder::to_repr

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationBorder::to_repr(PdfAnnotationBorder) ->
    Repr

    PdfAnnotationColour

    pub(all) struct PdfAnnotationColour {
    red : Int
    green : Int
    blue : Int
    } derive(Eq, ToJson,
    Debug
    )

    RGB annotation colour from the /C entry.

    Components are stored as integer channel values after parsing PDF numbers.

    PdfAnnotationColour::equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationColour::equal(PdfAnnotationColour, PdfAnnotationColour) -> Bool

    PdfAnnotationColour::not_equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationColour::not_equal(x : PdfAnnotationColour, y : PdfAnnotationColour) -> Bool

    PdfAnnotationColour::to_json

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationColour::to_json(PdfAnnotationColour) -> Json

    PdfAnnotationColour::to_repr

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationColour::to_repr(PdfAnnotationColour) ->
    Repr

    PdfAnnotationStyle

    pub(all) enum PdfAnnotationStyle {
    AnnotationNoStyle
    AnnotationSolid
    AnnotationDashed
    AnnotationBeveled
    AnnotationInset
    AnnotationUnderlineStyle
    } derive(Eq, ToJson,
    Debug
    )

    Border style used by an annotation border dictionary.

    PdfAnnotationStyle::equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationStyle::equal(PdfAnnotationStyle, PdfAnnotationStyle) -> Bool

    PdfAnnotationStyle::not_equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationStyle::not_equal(x : PdfAnnotationStyle, y : PdfAnnotationStyle) -> Bool

    PdfAnnotationStyle::to_json

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationStyle::to_json(PdfAnnotationStyle) -> Json

    PdfAnnotationStyle::to_repr

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationStyle::to_repr(PdfAnnotationStyle) ->
    Repr

    PdfAnnotationSubtype

    pub(all) enum PdfAnnotationSubtype {
    AnnotationText
    AnnotationLink
    AnnotationFreeText
    AnnotationLine
    AnnotationSquare
    AnnotationCircle
    AnnotationPolygon
    AnnotationPolyLine
    AnnotationHighlight
    AnnotationUnderline
    AnnotationSquiggly
    AnnotationStrikeOut
    AnnotationStamp
    AnnotationCaret
    AnnotationInk
    AnnotationPopup(PdfAnnotation)
    AnnotationFileAttachment
    AnnotationSound
    AnnotationMovie
    AnnotationWidget
    AnnotationScreen
    AnnotationPrinterMark
    AnnotationTrapNet
    AnnotationWatermark
    AnnotationThreeDee
    AnnotationUnknown(
    PdfName
    )
    } derive(Eq, ToJson,
    Debug
    )

    Supported annotation subtype.

    Popup annotations embed their resolved parent annotation when available. Unknown subtype names are preserved as AnnotationUnknown.

    PdfAnnotationSubtype::equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationSubtype::equal(PdfAnnotationSubtype, PdfAnnotationSubtype) -> Bool

    PdfAnnotationSubtype::not_equal

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationSubtype::not_equal(x : PdfAnnotationSubtype, y : PdfAnnotationSubtype) -> Bool

    PdfAnnotationSubtype::to_json

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationSubtype::to_json(PdfAnnotationSubtype) -> Json

    PdfAnnotationSubtype::to_repr

    #deprecated("implicit trait-method promotion is being removed; call via the trait")
    fn PdfAnnotationSubtype::to_repr(PdfAnnotationSubtype) ->
    Repr

    pdf_annotation_make

    fn pdf_annotation_make(subtype : PdfAnnotationSubtype, contents? : Bytes?, border? : PdfAnnotationBorder, rectangle? :
    PdfRectangle
    , colour? : PdfAnnotationColour?, subject? : Bytes?) -> PdfAnnotation

    Build an annotation value with CamlPDF-compatible defaults.

    Defaults are no contents, no subject, a zero rectangle, default border, no colour, and no preserved extra dictionary entries.

    pdf_annotation_make_border

    fn pdf_annotation_make_border(width : Double, vertical_radius? : Double, horizontal_radius? : Double, style? : PdfAnnotationStyle, dash_array? : ArrayView[Int]) -> PdfAnnotationBorder

    Build an annotation border, copying the supplied dash array.