API referenceCore SDK

pdfGetInkList

Read back an Ink annotation's full multi-stroke point data

C
BOOL32 __stdcall pdfGetInkList(void* List, float* Points, uint32_t* Count);
Delphi
function pdfGetInkList(const List: Pointer; Points: PSingle; Count: PCardinal): LongBool; stdcall;

Purpose. Read back an Ink annotation's full multi-stroke point data through the InkList object-descriptor handle minted by pdfGetAnnotEx (Annotation Lifecycle and Enumeration) — the consumer side of the multi-stroke readback mechanism referenced there.

Description. Follows the standard two-call convention: Points = nil first to discover the total flattened x,y float count via Count^, then a second call with a sized buffer to copy up to min(Count^, total) floats. Every stroke's points are flattened into one contiguous x,y,x,y,... stream — per-stroke boundaries are not indicated in this flattened output; a caller needing per-stroke separation must cross-reference the stroke count/boundaries via the lower-level GetInkStrokeCountH/GetInkStrokeH mechanism (not directly exposed as a public ABI function itself).

Parameters.

ParameterDescription
ListAn InkList object handle from pdfGetAnnotEx.
Pointsnil for a size query, or a buffer for the fill call.
CountIn/out: buffer capacity in (fill call), actual/total point-float count out.

Return value. True if List resolves; False otherwise.

See also. pdfGetAnnotEx, pdfInkAnnot.

C# (P/Invoke)

wrappers/dotnet/LumasPdf.cs
[return: MarshalAs(UnmanagedType.Bool)]
Area
Core SDK
Category

Getters

Exported names

pdfGetInkList

String variants

The …A form takes UTF-8, …W takes UTF-16; a bare name aliases the ANSI form.

See working code

Worked examples — complete programs in ten languages.