API reference › Rendering & Viewer
rasAbortInvisible
Three abort granularities: a single IRAS rasterizer, all
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);
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.
| Parameter | Description |
|---|---|
RasPtr | *(Abort only)* Target rasterizer. |
CachePtr | *(AbortInvisible/AbortTile)* Target page cache. |
CtrlType, FirstVisible, LastVisible, PageNum, IndexX, IndexY, Zoom | Accepted 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)
public static extern void rasAbortInvisible(IntPtr CachePtr, TPDFCtrlType CtrlType, int FirstVisible, int LastVisible);
Rasterizer/Rendering
rasAbortInvisible
The …A form takes UTF-8, …W
takes UTF-16; a bare name aliases the ANSI form.
Worked examples — complete programs in ten languages.