Types
BitmapData = ref BitmapDataObj
BitmapDataObj = object width*: int height*: int
BitmapView = DisplayFrame | AnyBitmapData
- Types that allow the manipulation of individual pixels.
DisplayFrame = distinct ptr array[52 * 240, uint8]
- The raw bytes in a display frame buffer.
LCDBitmap = object case of true: of false:
LCDBitmapTable = ref LCDBitmapTableObj
LCDVideoPlayer = ref LCDVideoPlayerObj
TextAlignment = enum kTextAlignmentLeft, kTextAlignmentCenter, kTextAlignmentRight
TextInRectResult = object width*: int height*: int textWasTruncated*: bool
Procs
proc `$`(view: BitmapView | LCDBitmap): string {....raises: [].}
- Render a string version of a bitmap view
proc `==`(bitmap: LCDBitmap; point: LCDBitmapPtr): bool {....raises: [], tags: [], forbids: [].}
proc clear(view: var BitmapView; x, y: int) {....raises: [].}
- Clears the color from a pixel at the given coordinate.
proc copyFrameBufferBitmap(this: ptr PlaydateGraphics): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc createPattern(this: ptr PlaydateGraphics; bitmap: LCDBitmap; x: int; y: int): LCDPattern {. ...raises: [], tags: [RootEffect], forbids: [].}
proc draw(this: LCDBitmap; x: int; y: int; flip: LCDBitmapFlip) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawRotated(this: LCDBitmap; x: int; y: int; rotation: float32; centerX: float32; centerY: float32; xScale: float32; yScale: float32) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawScaled(this: LCDBitmap; x: int; y: int; xScale: float32; yScale: float32) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawText(this: ptr PlaydateGraphics; text: string; x, y: int; encoding: PDStringEncoding = kUTF8Encoding): int {.discardable, ...raises: [], tags: [RootEffect], forbids: [].}
proc drawTextAligned(this: LCDFont; text: string; x, y: int; alignment: TextAlignment = kTextAlignmentCenter; lineHeightAdjustment: int = 0) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawTextAligned(this: ptr PlaydateGraphics; text: string; x, y: int; alignment: TextAlignment = kTextAlignmentCenter; lineHeightAdjustment: int = 0) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawTextInRect(this: LCDFont; text: string; x, y, width, height: int; lineHeightAdjustment: int = 0; truncationString: string = "..."; alignment: TextAlignment = kTextAlignmentLeft): TextInRectResult {. discardable, ...raises: [], tags: [RootEffect], forbids: [].}
proc drawTextInRect(this: ptr PlaydateGraphics; text: string; x, y, width, height: int; lineHeightAdjustment: int = 0; truncationString: string = "..."; alignment: TextAlignment = kTextAlignmentLeft): TextInRectResult {. discardable, ...raises: [], tags: [RootEffect], forbids: [].}
proc drawTiled(this: LCDBitmap; x: int; y: int; width: int; height: int; flip: LCDBitmapFlip) {....raises: [], tags: [RootEffect], forbids: [].}
proc fillPolygon[Int32x2](this: ptr PlaydateGraphics; points: openArray[Int32x2]; color: LCDColor; fillRule: LCDPolygonFillRule) {....raises: [].}
proc get(this: LCDBitmap; x, y: int): LCDSolidColor {....raises: [], tags: [RootEffect], forbids: [].}
- Reads the color of a bitmap, taking into account the color mask
proc get(view: BitmapView; x, y: int): LCDSolidColor {....raises: [].}
- Returns the color of a pixel at the given coordinate.
proc getBitmap(this: LCDBitmapTable; index: int): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc getBitmapMask(this: LCDBitmap): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc getBitmapTableInfo(this: LCDBitmapTable): tuple[count: int, cellsWide: int] {. ...raises: [], tags: [RootEffect], forbids: [].}
proc getContext(this: LCDVideoPlayer): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc getData(this: LCDBitmap): BitmapData {....raises: [], tags: [RootEffect], forbids: [].}
- Fetch the underlying bitmap data for an image.
proc getDataObj(this: LCDBitmap): BitmapDataObj {....raises: [], tags: [RootEffect], forbids: [].}
- Fetch the underlying bitmap data for an image.
proc getDebugBitmap(this: ptr PlaydateGraphics): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc getDisplayBufferBitmap(this: ptr PlaydateGraphics): LCDBitmap {....raises: [], tags: [RootEffect], forbids: [].}
proc getDisplayFrame(this: ptr PlaydateGraphics): DisplayFrame {....raises: [], tags: [RootEffect], forbids: [].}
proc getFont(this: ptr PlaydateGraphics): LCDFont {....raises: [], tags: [], forbids: [].}
proc getFontHeight(this: LCDFont): uint {....raises: [], tags: [RootEffect], forbids: [].}
proc getFontPage(this: LCDFont; c: char): LCDFontPage {....raises: [], tags: [RootEffect], forbids: [].}
proc getFrame(this: ptr PlaydateGraphics): DisplayFrame {....raises: [], tags: [RootEffect], forbids: [].}
proc getGlyphKerning(this: LCDFontGlyph; glyphCode: char; nextCode: char): int {. ...raises: [], tags: [RootEffect], forbids: [].}
proc getInfo(this: LCDVideoPlayer): tuple[width: int, height: int, frameRate: float32, frameCount: int, currentFrame: int] {....raises: [], tags: [RootEffect], forbids: [].}
proc getPageGlyph(this: LCDFontPage; c: char): LCDFontGlyph {....raises: [], tags: [RootEffect], forbids: [].}
proc getTextSize(this: LCDFont; text: string; lineHeightAdjustment: int = 0): tuple[ width: int, height: int] {....raises: [], tags: [RootEffect], forbids: [].}
proc getTextSizeInRect(this: LCDFont; text: string; x, y, width, height: int; lineHeightAdjustment: int = 0; truncationString: string = "..."; alignment: TextAlignment = kTextAlignmentLeft): TextInRectResult {. ...raises: [], tags: [RootEffect], forbids: [].}
proc getTextSizeInRect(this: ptr PlaydateGraphics; text: string; x, y, width, height: int; lineHeightAdjustment: int = 0; truncationString: string = "..."; alignment: TextAlignment = kTextAlignmentLeft): TextInRectResult {. ...raises: [], tags: [RootEffect], forbids: [].}
proc getTextWidth(this: LCDFont; text: string; len: int = text.len; encoding: PDStringEncoding = kUTF8Encoding; tracking: int = 0): int {. ...raises: [], tags: [RootEffect], forbids: [].}
proc height(frame: DisplayFrame): auto {.inline, ...raises: [], tags: [], forbids: [].}
- Return the height of the display frame buffer.
proc load(this: LCDBitmap; path: string) {....raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc load(this: LCDBitmapTable; path: string) {....raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc makeFont(this: LCDFontData; wide: bool): LCDFont {....raises: [], tags: [RootEffect], forbids: [].}
proc newBitmap(this: ptr PlaydateGraphics; path: string): LCDBitmap {. ...raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc newBitmap(this: ptr PlaydateGraphics; width: int; height: int; color: LCDColor): LCDBitmap {....raises: [].}
proc newBitmapTable(this: ptr PlaydateGraphics; count: int; width: int; height: int): LCDBitmapTable {....raises: [], tags: [RootEffect], forbids: [].}
proc newBitmapTable(this: ptr PlaydateGraphics; path: string): LCDBitmapTable {. ...raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc newFont(this: ptr PlaydateGraphics; path: string): LCDFont {. ...raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc newVideoPlayer(this: ptr PlaydateVideo; path: string): LCDVideoPlayer {. ...raises: [IOError], raises: [], tags: [RootEffect], forbids: [].}
proc pushContext(this: ptr PlaydateGraphics; target: LCDBitmap) {....raises: [], tags: [RootEffect], forbids: [].}
proc renderFrame(this: LCDVideoPlayer; index: int) {....raises: [CatchableError], raises: [], tags: [RootEffect], forbids: [].}
proc resource(bitmap: LCDBitmap): LCDBitmapPtr {....raises: [], tags: [], forbids: [].}
proc set(this: var LCDBitmap; x, y: int; color: LCDSolidColor = kColorBlack) {. ...raises: [], tags: [RootEffect], forbids: [].}
- Reads the color of a bitmap, taking into account the color mask
proc set(view: var BitmapView; x, y: int) {....raises: [].}
- Sets the pixel at x, y to black.
proc set(view: var BitmapView; x, y: int; color: LCDSolidColor) {....raises: [].}
- Sets the specific color of a pixel at the given coordinate.
proc setBitmapMask(this: LCDBitmap; mask: LCDBitmap = playdate.graphics.newBitmap( this.width, this.height, kColorWhite)): int {....raises: [], tags: [RootEffect], forbids: [].}
proc setContext(this: LCDVideoPlayer; context: LCDBitmap) {. ...raises: [CatchableError], raises: [], tags: [RootEffect], forbids: [].}
proc setFont(this: ptr PlaydateGraphics; font: LCDFont) {....raises: [], tags: [RootEffect], forbids: [].}
proc setStencilImage(this: ptr PlaydateGraphics; bitmap: LCDBitmap; tile: bool = false) {....raises: [], tags: [RootEffect], forbids: [].}
proc tileBitmap(this: LCDBitmap; x: int; y: int; width: int; height: int; flip: LCDBitmapFlip) {....raises: [], tags: [RootEffect], forbids: [].}
proc useScreenContext(this: LCDVideoPlayer) {....raises: [], tags: [RootEffect], forbids: [].}
proc width(frame: DisplayFrame): auto {.inline, ...raises: [], tags: [], forbids: [].}
- Return the width of the display frame buffer.
Converters
converter bitmapPtr(point: LCDBitmapPtr): auto {....raises: [], tags: [], forbids: [].}