import { _ as _export_sfc, D as resolveComponent, c as createElementBlock, I as createVNode, w as withCtx, a8 as createStaticVNode, l as createBaseVNode, a as createTextVNode, o as openBlock } from "./chunks/framework.DyMmIvSC.js"; const __pageData = JSON.parse('{"title":"Quantum Painter","description":"","frontmatter":{},"headers":[],"relativePath":"quantum_painter.md","filePath":"quantum_painter.md"}'); const _sfc_main = { name: "quantum_painter.md" }; const _hoisted_1 = /* @__PURE__ */ createStaticVNode('

Quantum Painter

Quantum Painter is the standardised API for graphical displays. It currently includes support for basic drawing primitives, as well as custom images, animations, and fonts.

Due to the complexity, there is no support for Quantum Painter on AVR-based boards.

To enable overall Quantum Painter to be built into your firmware, add the following to rules.mk:

make
QUANTUM_PAINTER_ENABLE = yes\nQUANTUM_PAINTER_DRIVERS += ......

You will also likely need to select an appropriate driver in rules.mk, which is listed below.

WARNING

Quantum Painter is not currently integrated with system-level operations such as when the keyboard goes into suspend. Users will need to handle this manually at the current time.

The QMK CLI can be used to convert from normal images such as PNG files or animated GIFs, as well as fonts from TTF files.

Supported devices:

Display PanelPanel TypeSizeComms TransportDriver
GC9A01RGB LCD (circular)240x240SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += gc9a01_spi
ILI9163RGB LCD128x128SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += ili9163_spi
ILI9341RGB LCD240x320SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += ili9341_spi
ILI9486RGB LCD320x480SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += ili9486_spi
ILI9488RGB LCD320x480SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += ili9488_spi
SSD1351RGB OLED128x128SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += ssd1351_spi
ST7735RGB LCD132x162, 80x160SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += st7735_spi
ST7789RGB LCD240x320, 240x240SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += st7789_spi
SH1106 (SPI)Monochrome OLED128x64SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += sh1106_spi
SH1106 (I2C)Monochrome OLED128x64I2CQUANTUM_PAINTER_DRIVERS += sh1106_i2c
SSD1306 (SPI)Monochrome OLED128x64SPI + D/C + RSTQUANTUM_PAINTER_DRIVERS += sh1106_spi
SSD1306 (I2C)Monochrome OLED128x32I2CQUANTUM_PAINTER_DRIVERS += sh1106_i2c
SurfaceVirtualUser-definedNoneQUANTUM_PAINTER_DRIVERS += surface

Quantum Painter Configuration

OptionDefaultPurpose
QUANTUM_PAINTER_DISPLAY_TIMEOUT30000This controls the amount of time (in milliseconds) that all displays will remain on after the last user input. If set to 0, the display will remain on indefinitely.
QUANTUM_PAINTER_TASK_THROTTLE1This controls the amount of time (in milliseconds) that the Quantum Painter internal task will wait between each execution. Affects animations, display timeout, and LVGL timing if enabled.
QUANTUM_PAINTER_NUM_IMAGES8The maximum number of images/animations that can be loaded at any one time.
QUANTUM_PAINTER_NUM_FONTS4The maximum number of fonts that can be loaded at any one time.
QUANTUM_PAINTER_CONCURRENT_ANIMATIONS4The maximum number of animations that can be executed at the same time.
QUANTUM_PAINTER_LOAD_FONTS_TO_RAMFALSEWhether or not fonts should be loaded to RAM. Relevant for fonts stored in off-chip persistent storage, such as external flash.
QUANTUM_PAINTER_PIXDATA_BUFFER_SIZE1024The limit of the amount of pixel data that can be transmitted in one transaction to the display. Higher values require more RAM on the MCU.
QUANTUM_PAINTER_SUPPORTS_256_PALETTEFALSEIf 256-color palettes are supported. Requires significantly more RAM on the MCU.
QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORSFALSEIf native color range is supported. Requires significantly more RAM on the MCU.
QUANTUM_PAINTER_DEBUGunsetPrints out significant amounts of debugging information to CONSOLE output. Significant performance degradation, use only for debugging.
QUANTUM_PAINTER_DEBUG_ENABLE_FLUSH_TASK_OUTPUTunsetBy default, debug output is disabled while the internal task is flushing the display(s). If you want to keep it enabled, add this to your config.h. Note: Console will get clogged.

Drivers have their own set of configurable options, and are described in their respective sections.

Quantum Painter CLI Commands

', 14); const _hoisted_15 = /* @__PURE__ */ createBaseVNode("p", null, "This command converts images to a format usable by QMK, i.e. the QGF File Format.", -1); const _hoisted_16 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Usage"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_17 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "usage: qmk painter-convert-graphics [-h] [-w] [-d] [-r] -f FORMAT [-o OUTPUT] -i INPUT [-v]") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "options:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -h, --help show this help message and exit") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -w, --raw Writes out the QGF file as raw data instead of c/h combo.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -d, --no-deltas Disables the use of delta frames when encoding animations.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -r, --no-rle Disables the use of RLE when encoding images.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -f FORMAT, --format FORMAT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Output format, valid types: rgb888, rgb565, pal256, pal16, pal4, pal2, mono256, mono16, mono4, mono2") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -o OUTPUT, --output OUTPUT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Specify output directory. Defaults to same directory as input.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -i INPUT, --input INPUT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Specify input graphic file.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -v, --verbose Turns on verbose output.") ]) ]) ]) ], -1); const _hoisted_18 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "INPUT"), /* @__PURE__ */ createTextVNode(" argument can be any image file loadable by Python's Pillow module. Common formats include PNG, or Animated GIF.") ], -1); const _hoisted_19 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "OUTPUT"), /* @__PURE__ */ createTextVNode(" argument needs to be a directory, and will default to the same directory as the input argument.") ], -1); const _hoisted_20 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "FORMAT"), /* @__PURE__ */ createTextVNode(" argument can be any of the following:") ], -1); const _hoisted_21 = /* @__PURE__ */ createBaseVNode("table", null, [ /* @__PURE__ */ createBaseVNode("thead", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("th", null, "Format"), /* @__PURE__ */ createBaseVNode("th", null, "Meaning") ]) ]), /* @__PURE__ */ createBaseVNode("tbody", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "rgb888") ]), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createTextVNode("16,777,216 colors in 8-8-8 RGB format (requires "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORS"), /* @__PURE__ */ createTextVNode(")") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "rgb565") ]), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createTextVNode("65,536 colors in 5-6-5 RGB format (requires "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORS"), /* @__PURE__ */ createTextVNode(")") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "pal256") ]), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createTextVNode("256-color palette (requires "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_SUPPORTS_256_PALETTE"), /* @__PURE__ */ createTextVNode(")") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "pal16") ]), /* @__PURE__ */ createBaseVNode("td", null, "16-color palette") ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "pal4") ]), /* @__PURE__ */ createBaseVNode("td", null, "4-color palette") ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "pal2") ]), /* @__PURE__ */ createBaseVNode("td", null, "2-color palette") ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "mono256") ]), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createTextVNode("256-shade grayscale (requires "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_SUPPORTS_256_PALETTE"), /* @__PURE__ */ createTextVNode(")") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "mono16") ]), /* @__PURE__ */ createBaseVNode("td", null, "16-shade grayscale") ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "mono4") ]), /* @__PURE__ */ createBaseVNode("td", null, "4-shade grayscale") ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "mono2") ]), /* @__PURE__ */ createBaseVNode("td", null, "2-shade grayscale") ]) ]) ], -1); const _hoisted_22 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Examples"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_23 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "$ cd /home/qmk/qmk_firmware/keyboards/my_keeb") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "$ qmk painter-convert-graphics -f mono16 -i my_image.gif -o ./generated/") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.h...") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/my_image.qgf.c...") ]) ]) ]) ], -1); const _hoisted_24 = /* @__PURE__ */ createBaseVNode("p", null, "This command converts a TTF font to an intermediate format for editing, before converting to the QFF File Format.", -1); const _hoisted_25 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Usage"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_26 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "usage: qmk painter-make-font-image [-h] [-a] [-u UNICODE_GLYPHS] [-n] [-s SIZE] -o OUTPUT -f FONT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "optional arguments:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -h, --help show this help message and exit") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -a, --no-aa Disable anti-aliasing on fonts.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -u UNICODE_GLYPHS, --unicode-glyphs UNICODE_GLYPHS") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Also generate the specified unicode glyphs.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -n, --no-ascii Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -s SIZE, --size SIZE Specify font size. Default 12.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -o OUTPUT, --output OUTPUT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Specify output image path.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -f FONT, --font FONT Specify input font file.") ]) ]) ]) ], -1); const _hoisted_27 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "FONT"), /* @__PURE__ */ createTextVNode(" argument is generally a TrueType Font file (TTF).") ], -1); const _hoisted_28 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "OUTPUT"), /* @__PURE__ */ createTextVNode(" argument is the output image to generate, generally something like "), /* @__PURE__ */ createBaseVNode("code", null, "my_font.png"), /* @__PURE__ */ createTextVNode(".") ], -1); const _hoisted_29 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "UNICODE_GLYPHS"), /* @__PURE__ */ createTextVNode(" argument allows for specifying extra unicode glyphs to generate, and accepts a string.") ], -1); const _hoisted_30 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Examples"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_31 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, '$ qmk painter-make-font-image --font NotoSans-ExtraCondensedBold.ttf --size 11 -o noto11.png --unicode-glyphs "ĄȽɂɻɣɈʣ"') ]) ]) ]) ], -1); const _hoisted_32 = /* @__PURE__ */ createBaseVNode("p", null, "This command converts an intermediate font image to the QFF File Format.", -1); const _hoisted_33 = /* @__PURE__ */ createBaseVNode("p", null, "This command expects an image that conforms to the following format:", -1); const _hoisted_34 = /* @__PURE__ */ createBaseVNode("ul", null, [ /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("Top-left pixel (at "), /* @__PURE__ */ createBaseVNode("code", null, "0,0"), /* @__PURE__ */ createTextVNode(') is the "delimiter" color: '), /* @__PURE__ */ createBaseVNode("ul", null, [ /* @__PURE__ */ createBaseVNode("li", null, "Each glyph in the font starts when a pixel of this color is found on the first row"), /* @__PURE__ */ createBaseVNode("li", null, "The first row is discarded when converting to the QFF format") ]) ]), /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("The number of delimited glyphs must match the supplied arguments to the command: "), /* @__PURE__ */ createBaseVNode("ul", null, [ /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("The full ASCII set "), /* @__PURE__ */ createBaseVNode("code", null, "0x20..0x7E"), /* @__PURE__ */ createTextVNode(" (if "), /* @__PURE__ */ createBaseVNode("code", null, "--no-ascii"), /* @__PURE__ */ createTextVNode(" was not specified)") ]), /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("The corresponding number of unicode glyphs if any were specified with "), /* @__PURE__ */ createBaseVNode("code", null, "--unicode-glyphs") ]) ]) ]), /* @__PURE__ */ createBaseVNode("li", null, "The order of the glyphs matches the ASCII set, if any, followed by the Unicode glyph set, if any.") ], -1); const _hoisted_35 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Usage"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_36 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "usage: qmk painter-convert-font-image [-h] [-w] [-r] -f FORMAT [-u UNICODE_GLYPHS] [-n] [-o OUTPUT] [-i INPUT]") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "options:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -h, --help show this help message and exit") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -w, --raw Writes out the QFF file as raw data instead of c/h combo.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -r, --no-rle Disable the use of RLE to minimise converted image size.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -f FORMAT, --format FORMAT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Output format, valid types: rgb565, pal256, pal16, pal4, pal2, mono256, mono16, mono4, mono2") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -u UNICODE_GLYPHS, --unicode-glyphs UNICODE_GLYPHS") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Also generate the specified unicode glyphs.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -n, --no-ascii Disables output of the full ASCII character set (0x20..0x7E), exporting only the glyphs specified.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -o OUTPUT, --output OUTPUT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Specify output directory. Defaults to same directory as input.") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " -i INPUT, --input INPUT") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, " Specify input graphic file.") ]) ]) ]) ], -1); const _hoisted_37 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The same arguments for "), /* @__PURE__ */ createBaseVNode("code", null, "--no-ascii"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "--unicode-glyphs"), /* @__PURE__ */ createTextVNode(" need to be specified, as per "), /* @__PURE__ */ createBaseVNode("code", null, "qmk painter-make-font-image"), /* @__PURE__ */ createTextVNode(".") ], -1); const _hoisted_38 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("strong", null, "Examples"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_39 = /* @__PURE__ */ createBaseVNode("div", { class: "language- vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "$ cd /home/qmk/qmk_firmware/keyboards/my_keeb") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, '$ qmk painter-convert-font-image --input noto11.png -f mono4 --unicode-glyphs "ĄȽɂɻɣɈʣ"') ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.h...") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", null, "Writing /home/qmk/qmk_firmware/keyboards/my_keeb/generated/noto11.qff.c...") ]) ]) ]) ], -1); const _hoisted_40 = /* @__PURE__ */ createBaseVNode("h2", { id: "quantum-painter-drivers", tabindex: "-1" }, [ /* @__PURE__ */ createTextVNode("Quantum Painter Display Drivers "), /* @__PURE__ */ createBaseVNode("a", { class: "header-anchor", href: "#quantum-painter-drivers", "aria-label": 'Permalink to "Quantum Painter Display Drivers {#quantum-painter-drivers}"' }, "​") ], -1); const _hoisted_41 = /* @__PURE__ */ createBaseVNode("p", null, "Most TFT display panels use a 5-pin interface -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins.", -1); const _hoisted_42 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("For these displays, QMK's "), /* @__PURE__ */ createBaseVNode("code", null, "spi_master"), /* @__PURE__ */ createTextVNode(" must already be correctly configured for the platform you're building for.") ], -1); const _hoisted_43 = /* @__PURE__ */ createBaseVNode("p", null, "The pin assignments for SPI CS, D/C, and RST are specified during device construction.", -1); const _hoisted_44 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the GC9A01 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_45 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += gc9a01_spi") ]) ]) ]) ], -1); const _hoisted_46 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a GC9A01 device in firmware can then be done with the following API:", -1); const _hoisted_47 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_gc9a01_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_48 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_gc9a01_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_49 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_50 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " GC9A01_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_51 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with GC9A01", -1); const _hoisted_52 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ILI9163 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_53 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += ili9163_spi") ]) ]) ]) ], -1); const _hoisted_54 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ILI9163 device in firmware can then be done with the following API:", -1); const _hoisted_55 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ili9163_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_56 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_ili9163_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_57 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_58 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ILI9163_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_59 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with ILI9163", -1); const _hoisted_60 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ILI9341 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_61 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += ili9341_spi") ]) ]) ]) ], -1); const _hoisted_62 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ILI9341 device in firmware can then be done with the following API:", -1); const _hoisted_63 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ili9341_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_64 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_ili9341_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_65 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_66 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ILI9341_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_67 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with ILI9341", -1); const _hoisted_68 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ILI9486 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_69 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += ili9486_spi") ]) ]) ]) ], -1); const _hoisted_70 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ILI9486 device in firmware can then be done with the following API:", -1); const _hoisted_71 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ili9486_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_72 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("There's another variant for this "), /* @__PURE__ */ createBaseVNode("a", { href: "https://www.waveshare.com/wiki/3.5inch_TFT_Touch_Shield", target: "_blank", rel: "noreferrer" }, "Waveshare module"), /* @__PURE__ */ createTextVNode(", because it has a quirky SPI->Parallel converter. You can create it with:") ], -1); const _hoisted_73 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ili9486_make_spi_waveshare_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_74 = /* @__PURE__ */ createBaseVNode("p", null, "The device handle returned from these functions can be used to perform all other drawing operations.", -1); const _hoisted_75 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_76 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ILI9486_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_77 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb888 is compatible with ILI9486 Native color format rgb565 is compatible with ILI9486 Waveshare", -1); const _hoisted_78 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ILI9488 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_79 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += ili9488_spi") ]) ]) ]) ], -1); const _hoisted_80 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ILI9488 device in firmware can then be done with the following API:", -1); const _hoisted_81 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ili9488_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_82 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_ili9488_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_83 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_84 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ILI9488_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_85 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb888 is compatible with ILI9488", -1); const _hoisted_86 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ST7735 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_87 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += st7735_spi") ]) ]) ]) ], -1); const _hoisted_88 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ST7735 device in firmware can then be done with the following API:", -1); const _hoisted_89 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_st7735_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_90 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_st7735_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_91 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_92 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ST7735_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_93 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with ST7735", -1); const _hoisted_94 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Some ST7735 devices are known to have different drawing offsets -- despite being a 132x162 pixel display controller internally, some display panels are only 80x160, or smaller. These may require an offset to be applied; see "), /* @__PURE__ */ createBaseVNode("code", null, "qp_set_viewport_offsets"), /* @__PURE__ */ createTextVNode(" above for information on how to override the offsets if they aren't correctly rendered.") ]) ], -1); const _hoisted_95 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the ST7789 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_96 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += st7789_spi") ]) ]) ]) ], -1); const _hoisted_97 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a ST7789 device in firmware can then be done with the following API:", -1); const _hoisted_98 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_st7789_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_99 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_st7789_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_100 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_101 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " ST7789_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_102 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with ST7789", -1); const _hoisted_103 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Some ST7789 devices are known to have different drawing offsets -- despite being a 240x320 pixel display controller internally, some display panels are only 240x240, or smaller. These may require an offset to be applied; see "), /* @__PURE__ */ createBaseVNode("code", null, "qp_set_viewport_offsets"), /* @__PURE__ */ createTextVNode(" above for information on how to override the offsets if they aren't correctly rendered.") ]) ], -1); const _hoisted_104 = /* @__PURE__ */ createBaseVNode("p", null, "OLED displays tend to use 5-pin SPI when at larger resolutions, or when using color -- SPI SCK, SPI MOSI, SPI CS, D/C, and RST pins. Smaller OLEDs may use I2C instead.", -1); const _hoisted_105 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("When using these displays, either "), /* @__PURE__ */ createBaseVNode("code", null, "spi_master"), /* @__PURE__ */ createTextVNode(" or "), /* @__PURE__ */ createBaseVNode("code", null, "i2c_master"), /* @__PURE__ */ createTextVNode(" must already be correctly configured for both the platform and panel you're building for.") ], -1); const _hoisted_106 = /* @__PURE__ */ createBaseVNode("p", null, "For SPI, the pin assignments for SPI CS, D/C, and RST are specified during device construction -- for I2C the panel's address is specified instead.", -1); const _hoisted_107 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the SSD1351 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_108 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += ssd1351_spi") ]) ]) ]) ], -1); const _hoisted_109 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a SSD1351 device in firmware can then be done with the following API:", -1); const _hoisted_110 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ssd1351_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_111 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_ssd1351_make_spi_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_112 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_113 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " SSD1351_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_114 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format rgb565 is compatible with SSD1351", -1); const _hoisted_115 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for the SH1106 in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_116 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "# For SPI:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += sh1106_spi") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "# For I2C:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += sh1106_i2c") ]) ]) ]) ], -1); const _hoisted_117 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a SH1106 device in firmware can then be done with the following APIs:", -1); const _hoisted_118 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// SPI-based SH1106:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_sh1106_make_spi_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " chip_select_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " dc_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "pin_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " reset_pin"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_divisor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " spi_mode"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// I2C-based SH1106:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_sh1106_make_i2c_device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " i2c_address"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_119 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_sh1106_make_???_device"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_120 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of displays of each type can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_121 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 SPI displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " SH1106_NUM_SPI_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 I2C displays:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " SH1106_NUM_I2C_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_122 = /* @__PURE__ */ createBaseVNode("p", null, "Native color format mono2 is compatible with SH1106", -1); const _hoisted_123 = /* @__PURE__ */ createBaseVNode("p", null, "SSD1306 and SH1106 are almost entirely identical, to the point of being indisinguishable by Quantum Painter. Enable SH1106 support in Quantum Painter and create SH1106 devices in firmware to perform drawing operations on SSD1306 displays.", -1); const _hoisted_124 = /* @__PURE__ */ createBaseVNode("p", null, 'Quantum Painter has a surface driver which is able to target a buffer in RAM. In general, surfaces keep track of the "dirty" region -- the area that has been drawn to since the last flush -- so that when transferring to the display they can transfer the minimal amount of data to achieve the end result.', -1); const _hoisted_125 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, "These generally require significant amounts of RAM, so at large sizes and/or higher bit depths, they may not be usable on all MCUs.") ], -1); const _hoisted_126 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Enabling support for surfaces in Quantum Painter is done by adding the following to "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_127 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_ENABLE = yes") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "QUANTUM_PAINTER_DRIVERS += surface") ]) ]) ]) ], -1); const _hoisted_128 = /* @__PURE__ */ createBaseVNode("p", null, "Creating a surface in firmware can then be done with the following APIs:", -1); const _hoisted_129 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 16bpp RGB565 surface:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_make_rgb565_surface"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "buffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 1bpp monochrome surface:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_make_mono1bpp_surface"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " panel_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "buffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_130 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "buffer"), /* @__PURE__ */ createTextVNode(" is a user-supplied area of memory, which can be statically allocated using "), /* @__PURE__ */ createBaseVNode("code", null, "SURFACE_REQUIRED_BUFFER_BYTE_SIZE"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_131 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// Buffer required for a 240x80 16bpp surface:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " framebuffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "["), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "SURFACE_REQUIRED_BUFFER_BYTE_SIZE"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "240"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "80"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "16"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ")];") ]) ]) ]) ], -1); const _hoisted_132 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The device handle returned from the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_make_?????_surface"), /* @__PURE__ */ createTextVNode(" function can be used to perform all other drawing operations.") ], -1); const _hoisted_133 = /* @__PURE__ */ createBaseVNode("p", null, "Example:", -1); const _hoisted_134 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_surface;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " my_framebuffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "["), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "SURFACE_REQUIRED_BUFFER_BYTE_SIZE"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "240"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "80"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "16"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ")];"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Allocate a buffer for a 16bpp 240x80 RGB565 display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_kb"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_surface "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_rgb565_make_surface"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "240"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "80"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", my_framebuffer);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_init"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(my_surface, QP_ROTATION_0);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_135 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The maximum number of surfaces can be configured by changing the following in your "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(" (default is 1):") ], -1); const _hoisted_136 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// 3 surfaces:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#define"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " SURFACE_NUM_DEVICES"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 3") ]) ]) ]) ], -1); const _hoisted_137 = /* @__PURE__ */ createBaseVNode("p", null, "To transfer the contents of the surface to another display of the same pixel format, the following API can be invoked:", -1); const _hoisted_138 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_surface_draw"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " surface"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " display"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " entire_surface"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_139 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "surface"), /* @__PURE__ */ createTextVNode(" is the surface to copy out from. The "), /* @__PURE__ */ createBaseVNode("code", null, "display"), /* @__PURE__ */ createTextVNode(" is the target display to draw into. "), /* @__PURE__ */ createBaseVNode("code", null, "x"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createTextVNode(" are the target location to draw the surface pixel data. Under normal circumstances, the location should be consistent, as the dirty region is calculated with respect to the "), /* @__PURE__ */ createBaseVNode("code", null, "x"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "y"), /* @__PURE__ */ createTextVNode(" coordinates -- changing those will result in partial, overlapping draws. "), /* @__PURE__ */ createBaseVNode("code", null, "entire_surface"), /* @__PURE__ */ createTextVNode(" whether the entire surface should be drawn, instead of just the dirty region.") ], -1); const _hoisted_140 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, "The surface and display panel must have the same native pixel format.") ], -1); const _hoisted_141 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Calling "), /* @__PURE__ */ createBaseVNode("code", null, "qp_flush()"), /* @__PURE__ */ createTextVNode(" on the surface resets its dirty region. Copying the surface contents to the display also automatically resets the dirty region.") ]) ], -1); const _hoisted_142 = /* @__PURE__ */ createStaticVNode('

Quantum Painter Drawing API

All APIs require a painter_device_t object as their first parameter -- this object comes from the specific device initialisation, and instructions on creating it can be found in each driver's respective section.

To use any of the APIs, you need to include qp.h:

c
#include <qp.h>
', 4); const _hoisted_146 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The coordinate system used in Quantum Painter generally accepts "), /* @__PURE__ */ createBaseVNode("code", null, "left"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "top"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "right"), /* @__PURE__ */ createTextVNode(", and "), /* @__PURE__ */ createBaseVNode("code", null, "bottom"), /* @__PURE__ */ createTextVNode(" instead of x/y/width/height, and each coordinate is inclusive of where pixels should be drawn. This is required as some datatypes used by display panels have a maximum value of "), /* @__PURE__ */ createBaseVNode("code", null, "255"), /* @__PURE__ */ createTextVNode(" -- for any value or geometry extent that matches "), /* @__PURE__ */ createBaseVNode("code", null, "256"), /* @__PURE__ */ createTextVNode(", this would be represented as a "), /* @__PURE__ */ createBaseVNode("code", null, "0"), /* @__PURE__ */ createTextVNode(", instead.") ], -1); const _hoisted_147 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Drawing a horizontal line 8 pixels long, starting from 4 pixels inside the left side of the display, will need "), /* @__PURE__ */ createBaseVNode("code", null, "left=4"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "right=11"), /* @__PURE__ */ createTextVNode(".") ]) ], -1); const _hoisted_148 = /* @__PURE__ */ createBaseVNode("p", null, "All color data matches the standard QMK HSV triplet definitions:", -1); const _hoisted_149 = /* @__PURE__ */ createBaseVNode("ul", null, [ /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("Hue is of the range "), /* @__PURE__ */ createBaseVNode("code", null, "0...255"), /* @__PURE__ */ createTextVNode(" and is internally mapped to 0...360 degrees.") ]), /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("Saturation is of the range "), /* @__PURE__ */ createBaseVNode("code", null, "0...255"), /* @__PURE__ */ createTextVNode(" and is internally mapped to 0...100% saturation.") ]), /* @__PURE__ */ createBaseVNode("li", null, [ /* @__PURE__ */ createTextVNode("Value is of the range "), /* @__PURE__ */ createBaseVNode("code", null, "0...255"), /* @__PURE__ */ createTextVNode(" and is internally mapped to 0...100% brightness.") ]) ], -1); const _hoisted_150 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, "Colors used in Quantum Painter are not subject to the RGB lighting CIE curve, if it is enabled.") ], -1); const _hoisted_151 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_init"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_rotation_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " rotation"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_152 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_init"), /* @__PURE__ */ createTextVNode(" function is used to initialise a display device after it has been created. This accepts a rotation parameter ("), /* @__PURE__ */ createBaseVNode("code", null, "QP_ROTATION_0"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "QP_ROTATION_90"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "QP_ROTATION_180"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "QP_ROTATION_270"), /* @__PURE__ */ createTextVNode("), which makes sure that the orientation of what's drawn on the display is correct.") ], -1); const _hoisted_153 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " display;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_kb"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " display "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " qp_make_.......;"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Create the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_init"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, QP_ROTATION_0);"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Initialise the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_154 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_power"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " power_on"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_155 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_power"), /* @__PURE__ */ createTextVNode(" function instructs the display whether or not the display panel should be on or off.") ], -1); const _hoisted_156 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("If there is a separate backlight controlled through the normal QMK backlight API, this is not controlled by the "), /* @__PURE__ */ createBaseVNode("code", null, "qp_power"), /* @__PURE__ */ createTextVNode(" function and needs to be manually handled elsewhere.") ]) ], -1); const _hoisted_157 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_backlight "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " suspend_power_down_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (last_backlight "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "=="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_backlight "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " get_backlight_level"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " backlight_set"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " rgb_matrix_set_suspend_state"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "true"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_power"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "false"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " suspend_wakeup_init_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_power"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "true"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " rgb_matrix_set_suspend_state"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "false"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (last_backlight "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "!="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " backlight_set"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_backlight);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_backlight "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_158 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_clear"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_159 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_clear"), /* @__PURE__ */ createTextVNode(" function clears the display's screen.") ], -1); const _hoisted_160 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_161 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_flush"), /* @__PURE__ */ createTextVNode(' function ensures that all drawing operations are "pushed" to the display. This should be done as the last operation whenever a sequence of draws occur, and guarantees that any changes are applied.') ], -1); const _hoisted_162 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Some display panels may seem to work even without a call to "), /* @__PURE__ */ createBaseVNode("code", null, "qp_flush"), /* @__PURE__ */ createTextVNode(" -- this may be because the driver cannot queue drawing operations and needs to display them immediately when invoked. In general, calling "), /* @__PURE__ */ createBaseVNode("code", null, "qp_flush"), /* @__PURE__ */ createTextVNode(' at the end is still considered "best practice".') ]) ], -1); const _hoisted_163 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw a rect based off the current RGB color") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_rect"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "7"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "rgb_matrix_get_hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(), "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_164 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_setpixel"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_165 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_setpixel"), /* @__PURE__ */ createTextVNode(" can be used to set a specific pixel on the screen to the supplied color.") ], -1); const _hoisted_166 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Using "), /* @__PURE__ */ createBaseVNode("code", null, "qp_setpixel"), /* @__PURE__ */ createTextVNode(" for large amounts of drawing operations is inefficient and should be avoided unless they cannot be achieved with other drawing APIs.") ]) ], -1); const _hoisted_167 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw a 240px high vertical rainbow line on X=0:") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " for"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "<"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "++"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "i) {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_setpixel"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_168 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_line"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x1"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y1"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_169 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_line"), /* @__PURE__ */ createTextVNode(" can be used to draw lines on the screen with the supplied color.") ], -1); const _hoisted_170 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw 8px-wide rainbow down the left side of the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " for"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "<"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "++"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "i) {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_line"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "7"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_171 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_rect"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " left"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " top"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " right"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " bottom"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " filled"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_172 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_rect"), /* @__PURE__ */ createTextVNode(" can be used to draw rectangles on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the rectangle will be left as-is.") ], -1); const _hoisted_173 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw 8px-wide rainbow filled rectangles down the left side of the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " for"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "<"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "8"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_rect"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "7"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "7"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "true"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_174 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_circle"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " radius"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " filled"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_175 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_circle"), /* @__PURE__ */ createTextVNode(" can be used to draw circles on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the circle will be left as-is.") ], -1); const _hoisted_176 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw r=4 filled circles down the left side of the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " for"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "<"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "8"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_circle"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "4"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "4"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "4"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "true"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_177 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ellipse"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sizex"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sizey"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " filled"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_178 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_ellipse"), /* @__PURE__ */ createTextVNode(" can be used to draw ellipses on the screen with the supplied color, with or without a background fill. If not filled, any pixels inside the ellipses will be left as-is.") ], -1); const _hoisted_179 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "timer_elapsed32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(last_draw) "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, ">"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 33"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Throttle to 30fps") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " last_draw "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " timer_read32"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "();") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, " // Draw 16x8 filled ellipses down the left side of the display") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " for"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 0"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "<"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " 239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "; i"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "8"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_ellipse"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "8"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "4"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "+"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "16"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "8"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", i, "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "255"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "true"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_flush"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_180 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Making an image available for use requires compiling it into your firmware. To do so, assuming you've created "), /* @__PURE__ */ createBaseVNode("code", null, "my_image.qgf.c"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "my_image.qgf.h"), /* @__PURE__ */ createTextVNode(" as per the CLI examples above, you'd add the following to your "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_181 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "SRC += my_image.qgf.c") ]) ]) ]) ], -1); const _hoisted_182 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("...and in your "), /* @__PURE__ */ createBaseVNode("code", null, "keymap.c"), /* @__PURE__ */ createTextVNode(", you'd add to the top of the file:") ], -1); const _hoisted_183 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#include"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, ' "my_image.qgf.h"') ]) ]) ]) ], -1); const _hoisted_184 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_load_image_mem"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "buffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_185 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_load_image_mem"), /* @__PURE__ */ createTextVNode(" function loads a QGF image from memory or flash.") ], -1); const _hoisted_186 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("code", null, "qp_load_image_mem"), /* @__PURE__ */ createTextVNode(" returns a handle to the loaded image, which can then be used to draw to the screen using "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawimage"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawimage_recolor"), /* @__PURE__ */ createTextVNode(", "), /* @__PURE__ */ createBaseVNode("code", null, "qp_animate"), /* @__PURE__ */ createTextVNode(", or "), /* @__PURE__ */ createBaseVNode("code", null, "qp_animate_recolor"), /* @__PURE__ */ createTextVNode(". If an image is no longer required, it can be unloaded by calling "), /* @__PURE__ */ createBaseVNode("code", null, "qp_close_image"), /* @__PURE__ */ createTextVNode(" below.") ], -1); const _hoisted_187 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("See the "), /* @__PURE__ */ createBaseVNode("a", { href: "./quantum_painter#quantum-painter-cli" }, "CLI Commands"), /* @__PURE__ */ createTextVNode(" for instructions on how to convert images to "), /* @__PURE__ */ createBaseVNode("a", { href: "./quantum_painter_qgf" }, "QGF"), /* @__PURE__ */ createTextVNode(".") ], -1); const _hoisted_188 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The total number of images available to load at any one time is controlled by the configurable option "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_NUM_IMAGES"), /* @__PURE__ */ createTextVNode(" in the table above. If more images are required, the number should be increased in "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(".") ]) ], -1); const _hoisted_189 = /* @__PURE__ */ createBaseVNode("p", null, "Image information is available through accessing the handle:", -1); const _hoisted_190 = /* @__PURE__ */ createBaseVNode("table", null, [ /* @__PURE__ */ createBaseVNode("thead", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("th", null, "Property"), /* @__PURE__ */ createBaseVNode("th", null, "Accessor") ]) ]), /* @__PURE__ */ createBaseVNode("tbody", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, "Width"), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "image->width") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, "Height"), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "image->height") ]) ]), /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, "Frame Count"), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "image->frame_count") ]) ]) ]) ], -1); const _hoisted_191 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_close_image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_192 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_close_image"), /* @__PURE__ */ createTextVNode(" function releases resources related to the loading of the supplied image.") ], -1); const _hoisted_193 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawimage"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawimage_recolor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_194 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawimage"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawimage_recolor"), /* @__PURE__ */ createTextVNode(" functions draw the supplied image to the screen at the supplied location, with the latter function allowing for monochrome-based images to be recolored.") ], -1); const _hoisted_195 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// Draw an image on the bottom-right of the 240x320 display on initialisation") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_kb"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_load_image_mem"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(gfx_my_image);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (my_image "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "!="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " NULL"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawimage"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image->width), ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "319"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image->height), my_image);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_196 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "deferred_token "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "qp_animate"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "deferred_token "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, "qp_animate_recolor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " image"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_197 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_animate"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "qp_animate_recolor"), /* @__PURE__ */ createTextVNode(" functions draw the supplied image to the screen at the supplied location, with the latter function allowing for monochrome-based animations to be recolored. They also set up internal timing such that each frame is rendered at the correct time as per the animated image.") ], -1); const _hoisted_198 = /* @__PURE__ */ createBaseVNode("p", null, "Once an image has been set to animate, it will loop indefinitely until stopped, with no user intervention required.", -1); const _hoisted_199 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Both functions return a "), /* @__PURE__ */ createBaseVNode("code", null, "deferred_token"), /* @__PURE__ */ createTextVNode(", which can then be used to stop the animation, using "), /* @__PURE__ */ createBaseVNode("code", null, "qp_stop_animation"), /* @__PURE__ */ createTextVNode(" below.") ], -1); const _hoisted_200 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// Animate an image on the bottom-right of the 240x320 display on initialisation") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " painter_image_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " deferred_token my_anim;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_kb"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_load_image_mem"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(gfx_my_image);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (my_image "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "!="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " NULL"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_anim "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_animate"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image->width), ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "319"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_image->height), my_image);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_201 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_stop_animation"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(deferred_token "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "anim_token"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_202 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_stop_animation"), /* @__PURE__ */ createTextVNode(" function stops the previously-started animation.") ], -1); const _hoisted_203 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " housekeeping_task_user"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (some_random_stop_reason) {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_stop_animation"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(my_anim);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_204 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Making a font available for use requires compiling it into your firmware. To do so, assuming you've created "), /* @__PURE__ */ createBaseVNode("code", null, "my_font.qff.c"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "my_font.qff.h"), /* @__PURE__ */ createTextVNode(" as per the CLI examples above, you'd add the following to your "), /* @__PURE__ */ createBaseVNode("code", null, "rules.mk"), /* @__PURE__ */ createTextVNode(":") ], -1); const _hoisted_205 = /* @__PURE__ */ createBaseVNode("div", { class: "language-make vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "make"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "SRC += noto11.qff.c") ]) ]) ]) ], -1); const _hoisted_206 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("...and in your "), /* @__PURE__ */ createBaseVNode("code", null, "keymap.c"), /* @__PURE__ */ createTextVNode(", you'd add to the top of the file:") ], -1); const _hoisted_207 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "#include"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, ' "noto11.qff.h"') ]) ]) ]) ], -1); const _hoisted_208 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_load_font_mem"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "buffer"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_209 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_load_font_mem"), /* @__PURE__ */ createTextVNode(" function loads a QFF font from memory or flash.") ], -1); const _hoisted_210 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createBaseVNode("code", null, "qp_load_font_mem"), /* @__PURE__ */ createTextVNode(" returns a handle to the loaded font, which can then be measured using "), /* @__PURE__ */ createBaseVNode("code", null, "qp_textwidth"), /* @__PURE__ */ createTextVNode(", or drawn to the screen using "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawtext"), /* @__PURE__ */ createTextVNode(", or "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawtext_recolor"), /* @__PURE__ */ createTextVNode(". If a font is no longer required, it can be unloaded by calling "), /* @__PURE__ */ createBaseVNode("code", null, "qp_close_font"), /* @__PURE__ */ createTextVNode(" below.") ], -1); const _hoisted_211 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("See the "), /* @__PURE__ */ createBaseVNode("a", { href: "./quantum_painter#quantum-painter-cli" }, "CLI Commands"), /* @__PURE__ */ createTextVNode(" for instructions on how to convert TTF fonts to "), /* @__PURE__ */ createBaseVNode("a", { href: "./quantum_painter_qff" }, "QFF"), /* @__PURE__ */ createTextVNode(".") ], -1); const _hoisted_212 = /* @__PURE__ */ createBaseVNode("div", { class: "tip custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "TIP"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The total number of fonts available to load at any one time is controlled by the configurable option "), /* @__PURE__ */ createBaseVNode("code", null, "QUANTUM_PAINTER_NUM_FONTS"), /* @__PURE__ */ createTextVNode(" in the table above. If more fonts are required, the number should be increased in "), /* @__PURE__ */ createBaseVNode("code", null, "config.h"), /* @__PURE__ */ createTextVNode(".") ]) ], -1); const _hoisted_213 = /* @__PURE__ */ createBaseVNode("p", null, "Font information is available through accessing the handle:", -1); const _hoisted_214 = /* @__PURE__ */ createBaseVNode("table", null, [ /* @__PURE__ */ createBaseVNode("thead", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("th", null, "Property"), /* @__PURE__ */ createBaseVNode("th", null, "Accessor") ]) ]), /* @__PURE__ */ createBaseVNode("tbody", null, [ /* @__PURE__ */ createBaseVNode("tr", null, [ /* @__PURE__ */ createBaseVNode("td", null, "Line Height"), /* @__PURE__ */ createBaseVNode("td", null, [ /* @__PURE__ */ createBaseVNode("code", null, "image->line_height") ]) ]) ]) ], -1); const _hoisted_215 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_close_font"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " font"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_216 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_close_font"), /* @__PURE__ */ createTextVNode(" function releases resources related to the loading of the supplied font.") ], -1); const _hoisted_217 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_textwidth"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " font"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " char"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "str"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_218 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_textwidth"), /* @__PURE__ */ createTextVNode(" function allows measurement of how many pixels wide the supplied string would result in, for the given font.") ], -1); const _hoisted_219 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawtext"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " font"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " char"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "str"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "int16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawtext_recolor"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " font"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " char"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "str"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_fg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " hue_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " sat_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint8_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " val_bg"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_220 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawtext"), /* @__PURE__ */ createTextVNode(" and "), /* @__PURE__ */ createBaseVNode("code", null, "qp_drawtext_recolor"), /* @__PURE__ */ createTextVNode(" functions draw the supplied string to the screen at the given location using the font supplied, with the latter function allowing for monochrome-based fonts to be recolored.") ], -1); const _hoisted_221 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6A737D", "--shiki-dark": "#6A737D" } }, "// Draw a text message on the bottom-right of the 240x320 display on initialisation") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " painter_font_handle_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_font;") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " keyboard_post_init_kb"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_font "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_load_font_mem"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(font_noto11);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " if"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " (my_font "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "!="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, " NULL"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ") {") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " static"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " char"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "text "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#032F62", "--shiki-dark": "#9ECBFF" } }, ' "Hello from QMK!"'), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ";") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " int16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " width "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "="), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_textwidth"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(my_font, text);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_drawtext"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "(display, ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "239"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " width), ("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "319"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " -"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " my_font->line_height), my_font, text);") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, " }") ]), /* @__PURE__ */ createTextVNode("\n"), /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "}") ]) ]) ]) ], -1); const _hoisted_222 = /* @__PURE__ */ createBaseVNode("p", null, "These functions allow external code to retrieve the current width, height, rotation, and drawing offsets.", -1); const _hoisted_223 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_224 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_225 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_rotation_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_rotation"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_226 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_offset_x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_227 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_offset_y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_228 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Convenience function to call all the previous ones at once. Note: You can pass "), /* @__PURE__ */ createBaseVNode("code", null, "NULL"), /* @__PURE__ */ createTextVNode(" for the values you are not interested in.") ], -1); const _hoisted_229 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_get_geometry"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "width"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "height"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_rotation_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "rotation"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "offset_x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "offset_y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_230 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_set_viewport_offsets"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " offset_x"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " offset_y"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_231 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_set_viewport_offsets"), /* @__PURE__ */ createTextVNode(" function can be used to offset all subsequent drawing operations. For example, if a display controller is internally 240x320, but the display panel is 240x240 and has a Y offset of 80 pixels, you could invoke "), /* @__PURE__ */ createBaseVNode("code", null, "qp_set_viewport_offsets(display, 0, 80);"), /* @__PURE__ */ createTextVNode(" and the drawing positioning would be corrected.") ], -1); const _hoisted_232 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_viewport"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " left"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " top"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " right"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint16_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " bottom"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_233 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_viewport"), /* @__PURE__ */ createTextVNode(" function controls where raw pixel data is written to.") ], -1); const _hoisted_234 = /* @__PURE__ */ createBaseVNode("div", { class: "language-c vp-adaptive-theme" }, [ /* @__PURE__ */ createBaseVNode("button", { title: "Copy Code", class: "copy" }), /* @__PURE__ */ createBaseVNode("span", { class: "lang" }, "c"), /* @__PURE__ */ createBaseVNode("pre", { class: "shiki shiki-themes github-light github-dark vp-code" }, [ /* @__PURE__ */ createBaseVNode("code", null, [ /* @__PURE__ */ createBaseVNode("span", { class: "line" }, [ /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "bool"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#6F42C1", "--shiki-dark": "#B392F0" } }, " qp_pixdata"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, "("), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#005CC5", "--shiki-dark": "#79B8FF" } }, "painter_device_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " device"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "const"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " void"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, " *"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, "pixel_data"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ", "), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#D73A49", "--shiki-dark": "#F97583" } }, "uint32_t"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#E36209", "--shiki-dark": "#FFAB70" } }, " native_pixel_count"), /* @__PURE__ */ createBaseVNode("span", { style: { "--shiki-light": "#24292E", "--shiki-dark": "#E1E4E8" } }, ");") ]) ]) ]) ], -1); const _hoisted_235 = /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("The "), /* @__PURE__ */ createBaseVNode("code", null, "qp_pixdata"), /* @__PURE__ */ createTextVNode(" function allows raw pixel data to be streamed to the display. It requires a native pixel count rather than the number of bytes to transfer, to ensure display panel data alignment is respected. E.g. for display panels using RGB565 internal format, sending 10 pixels will result in 20 bytes of transfer.") ], -1); const _hoisted_236 = /* @__PURE__ */ createBaseVNode("div", { class: "warning custom-block" }, [ /* @__PURE__ */ createBaseVNode("p", { class: "custom-block-title" }, "WARNING"), /* @__PURE__ */ createBaseVNode("p", null, [ /* @__PURE__ */ createTextVNode("Under normal circumstances, users will not need to manually call either "), /* @__PURE__ */ createBaseVNode("code", null, "qp_viewport"), /* @__PURE__ */ createTextVNode(" or "), /* @__PURE__ */ createBaseVNode("code", null, "qp_pixdata"), /* @__PURE__ */ createTextVNode(". These allow for writing of raw pixel information, in the display panel's native format, to the area defined by the viewport.") ]) ], -1); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_PluginTabsTab = resolveComponent("PluginTabsTab"); const _component_PluginTabs = resolveComponent("PluginTabs"); return openBlock(), createElementBlock("div", null, [ _hoisted_1, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "`qmk painter-convert-graphics`" }, { default: withCtx(() => [ _hoisted_15, _hoisted_16, _hoisted_17, _hoisted_18, _hoisted_19, _hoisted_20, _hoisted_21, _hoisted_22, _hoisted_23 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "`qmk painter-make-font-image`" }, { default: withCtx(() => [ _hoisted_24, _hoisted_25, _hoisted_26, _hoisted_27, _hoisted_28, _hoisted_29, _hoisted_30, _hoisted_31 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "`qmk painter-convert-font-image`" }, { default: withCtx(() => [ _hoisted_32, _hoisted_33, _hoisted_34, _hoisted_35, _hoisted_36, _hoisted_37, _hoisted_38, _hoisted_39 ]), _: 1 }) ]), _: 1 }), _hoisted_40, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "LCD" }, { default: withCtx(() => [ _hoisted_41, _hoisted_42, _hoisted_43, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "GC9A01" }, { default: withCtx(() => [ _hoisted_44, _hoisted_45, _hoisted_46, _hoisted_47, _hoisted_48, _hoisted_49, _hoisted_50, _hoisted_51 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ILI9163" }, { default: withCtx(() => [ _hoisted_52, _hoisted_53, _hoisted_54, _hoisted_55, _hoisted_56, _hoisted_57, _hoisted_58, _hoisted_59 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ILI9341" }, { default: withCtx(() => [ _hoisted_60, _hoisted_61, _hoisted_62, _hoisted_63, _hoisted_64, _hoisted_65, _hoisted_66, _hoisted_67 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ILI9486" }, { default: withCtx(() => [ _hoisted_68, _hoisted_69, _hoisted_70, _hoisted_71, _hoisted_72, _hoisted_73, _hoisted_74, _hoisted_75, _hoisted_76, _hoisted_77 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ILI9488" }, { default: withCtx(() => [ _hoisted_78, _hoisted_79, _hoisted_80, _hoisted_81, _hoisted_82, _hoisted_83, _hoisted_84, _hoisted_85 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ST7735" }, { default: withCtx(() => [ _hoisted_86, _hoisted_87, _hoisted_88, _hoisted_89, _hoisted_90, _hoisted_91, _hoisted_92, _hoisted_93, _hoisted_94 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "ST7789" }, { default: withCtx(() => [ _hoisted_95, _hoisted_96, _hoisted_97, _hoisted_98, _hoisted_99, _hoisted_100, _hoisted_101, _hoisted_102, _hoisted_103 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "OLED" }, { default: withCtx(() => [ _hoisted_104, _hoisted_105, _hoisted_106, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "SSD1351" }, { default: withCtx(() => [ _hoisted_107, _hoisted_108, _hoisted_109, _hoisted_110, _hoisted_111, _hoisted_112, _hoisted_113, _hoisted_114 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "SH1106" }, { default: withCtx(() => [ _hoisted_115, _hoisted_116, _hoisted_117, _hoisted_118, _hoisted_119, _hoisted_120, _hoisted_121, _hoisted_122 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "SSD1306" }, { default: withCtx(() => [ _hoisted_123 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Surface" }, { default: withCtx(() => [ _hoisted_124, _hoisted_125, _hoisted_126, _hoisted_127, _hoisted_128, _hoisted_129, _hoisted_130, _hoisted_131, _hoisted_132, _hoisted_133, _hoisted_134, _hoisted_135, _hoisted_136, _hoisted_137, _hoisted_138, _hoisted_139, _hoisted_140, _hoisted_141 ]), _: 1 }) ]), _: 1 }), _hoisted_142, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "General Notes" }, { default: withCtx(() => [ _hoisted_146, _hoisted_147, _hoisted_148, _hoisted_149, _hoisted_150 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Device Control" }, { default: withCtx(() => [ createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Display Initialisation" }, { default: withCtx(() => [ _hoisted_151, _hoisted_152, _hoisted_153 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Display Power" }, { default: withCtx(() => [ _hoisted_154, _hoisted_155, _hoisted_156, _hoisted_157 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Display Clear" }, { default: withCtx(() => [ _hoisted_158, _hoisted_159 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Display Flush" }, { default: withCtx(() => [ _hoisted_160, _hoisted_161, _hoisted_162, _hoisted_163 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Drawing Primitives" }, { default: withCtx(() => [ createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Set Pixel" }, { default: withCtx(() => [ _hoisted_164, _hoisted_165, _hoisted_166, _hoisted_167 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw Line" }, { default: withCtx(() => [ _hoisted_168, _hoisted_169, _hoisted_170 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw Rect" }, { default: withCtx(() => [ _hoisted_171, _hoisted_172, _hoisted_173 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw Circle" }, { default: withCtx(() => [ _hoisted_174, _hoisted_175, _hoisted_176 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw Ellipse" }, { default: withCtx(() => [ _hoisted_177, _hoisted_178, _hoisted_179 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Image Functions" }, { default: withCtx(() => [ _hoisted_180, _hoisted_181, _hoisted_182, _hoisted_183, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Load Image" }, { default: withCtx(() => [ _hoisted_184, _hoisted_185, _hoisted_186, _hoisted_187, _hoisted_188, _hoisted_189, _hoisted_190 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Unload Image" }, { default: withCtx(() => [ _hoisted_191, _hoisted_192 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw image" }, { default: withCtx(() => [ _hoisted_193, _hoisted_194, _hoisted_195 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Animate Image" }, { default: withCtx(() => [ _hoisted_196, _hoisted_197, _hoisted_198, _hoisted_199, _hoisted_200 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Stop Animation" }, { default: withCtx(() => [ _hoisted_201, _hoisted_202, _hoisted_203 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Font Functions" }, { default: withCtx(() => [ _hoisted_204, _hoisted_205, _hoisted_206, _hoisted_207, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Load Font" }, { default: withCtx(() => [ _hoisted_208, _hoisted_209, _hoisted_210, _hoisted_211, _hoisted_212, _hoisted_213, _hoisted_214 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Unload Font" }, { default: withCtx(() => [ _hoisted_215, _hoisted_216 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Measure Text" }, { default: withCtx(() => [ _hoisted_217, _hoisted_218 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Draw Text" }, { default: withCtx(() => [ _hoisted_219, _hoisted_220, _hoisted_221 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Advanced Functions" }, { default: withCtx(() => [ createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Getters" }, { default: withCtx(() => [ _hoisted_222, createVNode(_component_PluginTabs, null, { default: withCtx(() => [ createVNode(_component_PluginTabsTab, { label: "Width" }, { default: withCtx(() => [ _hoisted_223 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Height" }, { default: withCtx(() => [ _hoisted_224 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Rotation" }, { default: withCtx(() => [ _hoisted_225 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Offset X" }, { default: withCtx(() => [ _hoisted_226 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Offset Y" }, { default: withCtx(() => [ _hoisted_227 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Everything" }, { default: withCtx(() => [ _hoisted_228, _hoisted_229 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Set Viewport Offsets" }, { default: withCtx(() => [ _hoisted_230, _hoisted_231 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Set Viewport" }, { default: withCtx(() => [ _hoisted_232, _hoisted_233 ]), _: 1 }), createVNode(_component_PluginTabsTab, { label: "Stream Pixel Data" }, { default: withCtx(() => [ _hoisted_234, _hoisted_235, _hoisted_236 ]), _: 1 }) ]), _: 1 }) ]), _: 1 }) ]), _: 1 }) ]); } const quantum_painter = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { __pageData, quantum_painter as default };