render: texture: Keep a rect for use with draw-sprite and friends.
[chickadee.git] / chickadee / render / sprite.scm
index 78a2ce5..9e96fc7 100644 (file)
@@ -329,7 +329,7 @@ void main (void) {
 
 (define* (draw-sprite* texture rect matrix #:key
                        (blend-mode 'alpha)
-                       (texcoords (texture-gl-rect texture))
+                       (texcoords (texture-gl-tex-rect texture))
                        (shader (force default-shader)))
   (if *batch?*
       (draw-sprite-batched texture rect matrix blend-mode
@@ -341,8 +341,7 @@ void main (void) {
 (define %default-scale (vec2 1.0 1.0))
 
 (define draw-sprite
-  (let ((matrix (make-null-matrix4))
-        (%rect (make-rect 0.0 0.0 0.0 0.0)))
+  (let ((matrix (make-null-matrix4)))
     (lambda* (texture
               position
               #:key
@@ -350,12 +349,7 @@ void main (void) {
               (scale %default-scale)
               (rotation 0.0)
               (blend-mode 'alpha)
-              ;; Default to an area that is the same size of the
-              ;; texture.  99% of the time that's what you want.
-              (rect (let ((r (texture-rect texture)))
-                      (set-rect-width! %rect (rect-width r))
-                      (set-rect-height! %rect (rect-height r))
-                      %rect))
+              (rect (texture-gl-rect texture))
               (shader (force default-shader)))
       "Draw TEXTURE at POSITION.
 
@@ -409,8 +403,8 @@ rendered entirely."
              (fill-y1 (+ border-y1 bottom-margin))
              (fill-x2 (- border-x2 right-margin))
              (fill-y2 (- border-y2 top-margin))
-             (prect (texture-rect texture))
-             (trect (texture-gl-rect texture))
+             (prect (texture-gl-rect texture))
+             (trect (texture-gl-tex-rect texture))
              (tw (rect-width prect))
              (th (rect-height prect))
              (border-s1 (rect-left trect))