API referenceRendering & Viewer

rasAbort

Three abort granularities: a single IRAS rasterizer, all

C
void __stdcall rasAbort(IRAS RasPtr);
void __stdcall rasAbortInvisible(IPGC CachePtr, TPDFCtrlType CtrlType, int32_t FirstVisible, int32_t LastVisible);
void __stdcall rasAbortTile(IPGC CachePtr, TPDFCtrlType CtrlType, uint32_t PageNum, uint32_t IndexX, uint32_t IndexY, uint32_t Zoom);
Delphi
procedure rasAbort(RasPtr: IRAS); stdcall;
procedure rasAbortInvisible(CachePtr: IPGC; CtrlType: TPDFCtrlType; FirstVisible, LastVisible: Integer); stdcall;
procedure rasAbortTile(CachePtr: IPGC; CtrlType: TPDFCtrlType; PageNum, IndexX, IndexY, Zoom: Cardinal); stdcall;

Purpose. Three abort granularities: a single IRAS rasterizer, all pending/invisible-region renders on a page cache, and one specific tile.

Description. rasAbort sets R.Aborted := True on the target rasterizer (a flag consumed elsewhere in the render loop, not traced further in this chapter). rasAbortInvisible sets the cache's AbortReq := True and clears Busy — a real signal a worker loop is expected to observe to stop rendering pages outside FirstVisible..LastVisible (per the "GAP-7 (full): abort pending invisible-region / tile renders" comment); CtrlType, FirstVisible, and LastVisible themselves are not stored — only the blanket AbortReq/Busy flags are set, so this is a coarse whole-cache abort rather than a precisely-scoped one despite the range parameters. rasAbortTile similarly sets AbortReq/Busy and additionally clears HasLastTile (marking the just-aborted tile as not reusable) — CtrlType/PageNum/IndexX/IndexY/Zoom are likewise accepted but not individually stored, same coarse-abort pattern.

Parameters.

ParameterDescription
RasPtr*(Abort only)* Target rasterizer.
CachePtr*(AbortInvisible/AbortTile)* Target page cache.
CtrlType, FirstVisible, LastVisible, PageNum, IndexX, IndexY, ZoomAccepted but not individually stored — each function sets only coarse, whole-cache AbortReq/Busy (and, for AbortTile, HasLastTile) flags.

Return value. None (all three are procedures).

C# (P/Invoke)

wrappers/dotnet/LumasPdf.cs
public static extern void rasAbort(IntPtr RasPtr);
Area
Rendering & Viewer
Category

Rasterizer/Rendering

Exported names

rasAbort

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.