Types
LCDBitmapDrawMode {.importc: "LCDBitmapDrawMode", header: "pd_api.h".} = enum kDrawModeCopy, kDrawModeWhiteTransparent, kDrawModeBlackTransparent, kDrawModeFillWhite, kDrawModeFillBlack, kDrawModeXOR, kDrawModeNXOR, kDrawModeInverted
LCDBitmapFlip {.importc: "LCDBitmapFlip", header: "pd_api.h".} = enum kBitmapUnflipped, kBitmapFlippedX, kBitmapFlippedY, kBitmapFlippedXY
LCDColor = LCDSolidColor | LCDPattern
- Either a solid color or a pattern.
LCDFont = ref LCDFontObj
LCDFontData = LCDFontDataPtr
LCDFontGlyph = ref LCDFontGlyphObj
LCDFontLanguage {.importc: "LCDFontLanguage", header: "pd_api.h".} = enum kLCDFontLanguageEnglish, kLCDFontLanguageJapanese, kLCDFontLanguageUnknown
LCDFontPage = ref LCDFontPageObj
LCDLineCapStyle {.importc: "LCDLineCapStyle", header: "pd_api.h".} = enum kLineCapStyleButt, kLineCapStyleSquare, kLineCapStyleRound
LCDPattern = ref object
- An 8x8 pattern used for drawing. A pattern is an array of 8 numbers describing the bitmap for each row; for example, { 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55 } specifies a checkerboard pattern. An additional 8 numbers can be specified for an alpha mask bitmap.
LCDPolygonFillRule {.importc: "LCDPolygonFillRule", header: "pd_api.h".} = enum kPolygonFillNonZero, kPolygonFillEvenOdd
LCDRect {.importc: "LCDRect", header: "pd_api.h".} = object left* {.importc.}: int right* {.importc.}: int top* {.importc.}: int bottom* {.importc.}: int
LCDSolidColor {.importc: "LCDSolidColor", header: "pd_api.h".} = enum kColorBlack, kColorWhite, kColorClear, kColorXOR
PDStringEncoding {.importc: "PDStringEncoding", header: "pd_api.h".} = enum kASCIIEncoding, kUTF8Encoding, k16BitLEEncoding
PlaydateGraphics {.importc: "const struct playdate_graphics", header: "pd_api.h".} = object video* {.importc: "video".}: ptr PlaydateVideo setBackgroundColor* {.importc: "setBackgroundColor".}: proc ( color: LCDSolidColor) {.cdecl, ...raises: [].} setDrawMode* {.importc: "setDrawMode".}: proc (mode: LCDBitmapDrawMode) {. cdecl, ...raises: [].} clearClipRect* {.importc: "clearClipRect".}: proc () {.cdecl, ...raises: [].} setLineCapStyle* {.importc: "setLineCapStyle".}: proc ( endCapStyle: LCDLineCapStyle) {.cdecl, ...raises: [].} popContext* {.importc: "popContext".}: proc () {.cdecl, ...raises: [].} ## row stride = LCD_ROWSIZE ## row stride = LCD_ROWSIZE ## valid in simulator only, function is NULL on device ## 1.7 ## 1.10 ## 1.12
PlaydateVideo {.importc: "const struct playdate_video", header: "pd_api.h".} = object
Consts
LCD_COLUMNS: int = 400
LCD_ROWS: int = 240
LCD_ROWSIZE: int = 52
LCD_SCREEN_RECT = (left: 0, right: 400, top: 0, bottom: 240)
Procs
proc checkMaskCollision(this: ptr PlaydateGraphics; bitmap1: LCDBitmapPtr; x1: int; y1: int; flip1: LCDBitmapFlip; bitmap2: LCDBitmapPtr; x2: int; y2: int; flip2: LCDBitmapFlip; rect: LCDRect): int {....raises: [], tags: [RootEffect], forbids: [].}
proc clear(this: ptr PlaydateGraphics; color: LCDColor) {....raises: [], raises: [].}
proc clearBitmap(this: ptr PlaydateGraphics; bitmap: LCDBitmapPtr; bgcolor: LCDColor) {....raises: [], raises: [].}
proc display(this: ptr PlaydateGraphics) {....raises: [], tags: [RootEffect], forbids: [].}
proc drawEllipse(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int; lineWidth: int; startAngle: float32; endAngle: float32; color: LCDColor) {....raises: [].}
proc drawLine(this: ptr PlaydateGraphics; x1: int; y1: int; x2: int; y2: int; width: int; color: LCDColor) {....raises: [].}
proc drawRect(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int; color: LCDColor) {....raises: [].}
proc drawText(this: ptr PlaydateGraphics; text: string; len: uint; encoding: PDStringEncoding; x: int; y: int): int {.discardable, ...raises: [], tags: [RootEffect], forbids: [].}
proc fillEllipse(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int; startAngle: float32; endAngle: float32; color: LCDColor) {....raises: [].}
proc fillRect(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int; color: LCDColor) {....raises: [].}
proc fillTriangle(this: ptr PlaydateGraphics; x1: int; y1: int; x2: int; y2: int; x3: int; y3: int; color: LCDColor) {....raises: [].}
proc makeLCDOpaquePattern(r0, r1, r2, r3, r4, r5, r6, r7: uint8): LCDPattern {. ...raises: [], tags: [], forbids: [].}
proc makeLCDPattern(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, ra, rb, rc, rd, re, rf: uint8): LCDPattern {....raises: [], tags: [], forbids: [].}
proc makeLCDRect(x: int; y: int; width: int; height: int): LCDRect {....raises: [], tags: [], forbids: [].}
proc markUpdatedRows(this: ptr PlaydateGraphics; start: int; to: int) {. ...raises: [], tags: [RootEffect], forbids: [].}
proc setClipRect(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int) {....raises: [], tags: [RootEffect], forbids: [].}
proc setColorToPattern(this: ptr PlaydateGraphics; color: LCDPatternPtr; bitmap: LCDBitmapPtr; x: int; y: int) {....raises: [], raises: [], tags: [RootEffect], forbids: [].}
proc setDrawOffset(this: ptr PlaydateGraphics; dx: int; dy: int) {....raises: [], tags: [RootEffect], forbids: [].}
proc setScreenClipRect(this: ptr PlaydateGraphics; x: int; y: int; width: int; height: int) {....raises: [], tags: [RootEffect], forbids: [].}
proc setTextLeading(this: ptr PlaydateGraphics; lineHeightAdjustment: int) {. ...raises: [], tags: [RootEffect], forbids: [].}
proc setTextTracking(this: ptr PlaydateGraphics; tracking: int) {....raises: [], tags: [RootEffect], forbids: [].}
proc translateLCDRect(rect: LCDRect; dx: int; dy: int): LCDRect {. importc: "PDStringEncoding", header: "pd_api.h", ...raises: [], tags: [], forbids: [].}