^XG — Recall Graphic
Plain English
Recalls a graphic that was **previously stored** in printer memory and places it at the current `^FO` position. The graphic must exist on one of the printer storage devices first — uploaded via `~DG` (download GRF), `~DY` (download arbitrary file), or transferred from USB. The leading `d:` selects which storage device: `R:` = volatile RAM (lost on power-off, fastest), `E:` = onboard flash (persistent, default if `d:` omitted), `B:` = optional non-volatile memory (when fitted). Like `^IM` but adds optional `mx,my` magnification, so the same stored asset can render at multiple sizes without re-uploading.
When to use
For repeat-use logos, headers, watermarks — upload once, recall many. `mx` and `my` independently scale the recalled bitmap from 1× to 10× (integer factors only — fractional scaling is not supported). Use `R:` during development for quick iteration, `E:` for shipped firmware so the asset survives reboot. If you only need 1:1 placement of a fixed-size image inline, prefer `^IM`; if the asset already lives in flash and you want sizing flexibility, prefer `^XG`.
Syntax
^XGd:name.GRF,mx,my
Parameters
| Parameter | Description |
|---|---|
d | Storage device: `R:` RAM (volatile, fast), `E:` flash (default, persistent), `B:` optional memory module |
name.GRF | Filename of a previously stored graphic (typically `.GRF`; some firmware also accepts `.PNG`/`.BMP` recalled by name) |
mx | Horizontal magnification factor, integer 1–10 |
my | Vertical magnification factor, integer 1–10 |
Example
^XA ^FO50,50 ^XGE:LOGO.GRF,2,2^FS ^XZ
Recall `LOGO.GRF` from onboard flash (`E:`) and render at 2× horizontal, 2× vertical magnification at FO 50,50. Assumes `LOGO.GRF` was previously stored via `~DG` or USB import.