render: texture: Define custom record type printer for texture atlas.
authorDavid Thompson <dthompson2@worcester.edu>
Sun, 28 Jan 2018 15:31:32 +0000 (10:31 -0500)
committerDavid Thompson <dthompson2@worcester.edu>
Mon, 29 Jan 2018 23:56:01 +0000 (18:56 -0500)
* chickadee/render/texture.scm (display-texture): New procedure.

chickadee/render/texture.scm

index ba7233a..960b7d0 100644 (file)
@@ -269,6 +269,14 @@ magnification.  Valid values are 'nearest and 'linear.  By default,
   (texture texture-atlas-texture)
   (vector texture-atlas-vector))
 
   (texture texture-atlas-texture)
   (vector texture-atlas-vector))
 
+(define (display-texture-atlas atlas port)
+  (format port
+          "#<texture-atlas texture: ~a size: ~d>"
+          (texture-atlas-texture atlas)
+          (vector-length (texture-atlas-vector atlas))))
+
+(set-record-type-printer! <texture-atlas> display-texture-atlas)
+
 (define (list->texture-atlas texture rects)
   "Return a new atlas for TEXTURE containing RECTS, a list of texture
 coordinate rects denoting the various tiles within."
 (define (list->texture-atlas texture rects)
   "Return a new atlas for TEXTURE containing RECTS, a list of texture
 coordinate rects denoting the various tiles within."