Added missing documentation to the source code in the Playdate bindings target.
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
internal import CPlaydate
|
||||
|
||||
/// The cached `playdate->sprite` C API table.
|
||||
private var spriteAPI: UnsafePointer<playdate_sprite> { Playdate.spriteAPI.unsafelyUnwrapped }
|
||||
|
||||
/// A sprite: a drawable object with position, z-order, and collision
|
||||
/// support. Wraps `LCDSprite`. Static members wrap the global sprite
|
||||
/// system functions.
|
||||
///
|
||||
/// The binding stores a back-reference to each `Sprite` wrapper in the
|
||||
/// underlying `LCDSprite`'s userdata slot, so callbacks and queries can
|
||||
/// recover the wrapper. Do not mix these wrappers with C code that sets
|
||||
/// its own sprite userdata; use `userdata` for per-sprite storage instead.
|
||||
public final class Sprite {
|
||||
let pointer: OpaquePointer
|
||||
let isOwned: Bool
|
||||
@@ -269,11 +275,13 @@ public final class Sprite {
|
||||
set { spriteAPI.pointee.setUpdatesEnabled.unsafelyUnwrapped(pointer, newValue ? 1 : 0) }
|
||||
}
|
||||
|
||||
/// Whether the sprite participates in collisions.
|
||||
public var collisionsEnabled: Bool {
|
||||
get { spriteAPI.pointee.collisionsEnabled.unsafelyUnwrapped(pointer) != 0 }
|
||||
set { spriteAPI.pointee.setCollisionsEnabled.unsafelyUnwrapped(pointer, newValue ? 1 : 0) }
|
||||
}
|
||||
|
||||
/// Whether the sprite is drawn.
|
||||
public var isVisible: Bool {
|
||||
get { spriteAPI.pointee.isVisible.unsafelyUnwrapped(pointer) != 0 }
|
||||
set { spriteAPI.pointee.setVisible.unsafelyUnwrapped(pointer, newValue ? 1 : 0) }
|
||||
|
||||
@@ -3,9 +3,13 @@ internal import CPlaydate
|
||||
extension Sprite {
|
||||
/// How a sprite reacts when a collision occurs.
|
||||
public enum CollisionResponse: UInt32, Sendable {
|
||||
/// The sprite slides along the edge of the other sprite.
|
||||
case slide = 0
|
||||
/// The sprite stops at the point of collision.
|
||||
case freeze = 1
|
||||
/// The sprite passes through, still reporting the collision.
|
||||
case overlap = 2
|
||||
/// The sprite bounces off the other sprite.
|
||||
case bounce = 3
|
||||
|
||||
init(_ response: SpriteCollisionResponseType) {
|
||||
|
||||
@@ -7,6 +7,7 @@ public struct Rect: Sendable {
|
||||
public var width: Float
|
||||
public var height: Float
|
||||
|
||||
/// Creates a rect from an origin and size.
|
||||
public init(x: Float, y: Float, width: Float, height: Float) {
|
||||
self.x = x
|
||||
self.y = y
|
||||
|
||||
Reference in New Issue
Block a user