From 0f81864da5a037eaf09c0fd652932978d53ae403 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Fri, 6 Sep 2024 23:19:30 +0200 Subject: [PATCH] ADD getBitmapTableInfo --- src/playdate/bindings/graphics.nim | 2 ++ src/playdate/graphics.nim | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/playdate/bindings/graphics.nim b/src/playdate/bindings/graphics.nim index adb9262..97cbfee 100644 --- a/src/playdate/bindings/graphics.nim +++ b/src/playdate/bindings/graphics.nim @@ -189,6 +189,8 @@ sdktype: table: LCDBitmapTablePtr; outerr: ptr cstring) {.cdecl, raises: [].} getTableBitmap {.importc: "getTableBitmap".}: proc (table: LCDBitmapTablePtr; idx: cint): LCDBitmapPtr {.cdecl, raises: [].} + getBitmapTableInfo {.importc: "getBitmapTableInfo".}: proc (table: LCDBitmapTablePtr; + outCount: ptr cint; outCellsWide: ptr cint) {.cdecl, raises: [].} loadFont {.importc: "loadFont".}: proc (path: cstring, outErr: ptr cstring): LCDFontPtr {.cdecl, raises: [].} diff --git a/src/playdate/graphics.nim b/src/playdate/graphics.nim index f7df425..3ac374a 100644 --- a/src/playdate/graphics.nim +++ b/src/playdate/graphics.nim @@ -227,6 +227,12 @@ proc getBitmap*(this: LCDBitmapTable, index: int): LCDBitmap = return LCDTableBitmap(resource: resource, free: false, table: this) return nil +proc getBitmapTableInfo*(this: LCDBitmapTable): tuple[count: int, cellsWide: int] = + privateAccess(PlaydateGraphics) + var count, cellsWide: cint + playdate.graphics.getBitmapTableInfo(this.resource, addr(count), addr(cellsWide)) + return (count.int, cellsWide.int) + proc newFont*(this: ptr PlaydateGraphics, path: string): LCDFont {.raises: [IOError]} = privateAccess(PlaydateGraphics) privateAccess(LCDFont)