From 3c1df8b7807f772887dc3d85725059c4dbe75cca Mon Sep 17 00:00:00 2001
From: Colin Okay <colin@cicadas.surf>
Date: Tue, 19 Jul 2022 06:45:16 -0500
Subject: [rename] bitmap/image

---
 src/interactive/bitmap.lisp   | 86 -------------------------------------------
 src/interactive/button.lisp   |  4 +-
 src/interactive/frameset.lisp |  2 +-
 src/interactive/image.lisp    | 86 +++++++++++++++++++++++++++++++++++++++++++
 src/package.lisp              |  2 +-
 5 files changed, 90 insertions(+), 90 deletions(-)
 delete mode 100644 src/interactive/bitmap.lisp
 create mode 100644 src/interactive/image.lisp

(limited to 'src')

diff --git a/src/interactive/bitmap.lisp b/src/interactive/bitmap.lisp
deleted file mode 100644
index 96d8e07..0000000
--- a/src/interactive/bitmap.lisp
+++ /dev/null
@@ -1,86 +0,0 @@
-;;;; bitmap.lisp
-
-(in-package #:wheelwork)
-
-(defvar *bitmap-shader-program* nil
-  "Cached for later cleanup.")
-(defvar *bitmap-vao* nil)
-
-(defvar *bitmap-count* 0
-  "Used by finalizers to determin if the shader should be destroyed.")
-
-(defun bitmap-finalizer ()
-  "executed after a bitmap has been reclaimed by gc. decrements bitmap
-count and destroys shader-program if necessary."
-  (decf *bitmap-count*)
-  (unless (plusp *bitmap-count*)
-    (when *bitmap-vao*
-      (gl:delete-vertex-arrays (list *bitmap-vao*))
-      (setf *bitmap-vao* nil))
-    (when *bitmap-shader-program*
-      (gl:delete-program *bitmap-shader-program*)
-      (setf *bitmap-shader-program* nil))))
-
-(defclass/std bitmap (affine interactive)
-  ((texture :ri :std (error "A bitmap requires a texture."))))
-
-(defmethod initialize-instance :after ((bitmap bitmap) &key)
-  (incf *bitmap-count*)
-  (trivial-garbage:finalize bitmap #'bitmap-finalizer)
-  (with-slots (base-width base-height texture) bitmap
-    (setf base-height (texture-height texture)
-          base-width (texture-width texture))
-    (unless *bitmap-shader-program*
-      (setf *bitmap-shader-program*
-            (create-shader
-             '(:vertex
-               ((vert :vec2))
-               ((transform :mat4))
-               ((values
-                 (* transform (vari:vec4 vert 0.0 1.0))
-                 vert))) ;color
-             '(:fragment
-               ((tc :vec2))
-               ((tex :sampler-2d))
-               ((let ((frag  (vari:texture tex tc)))
-                  (if (< (aref frag 3) 0.01)
-                      (vari:discard)
-                      frag))))))
-      (gl:program-uniformi
-       *bitmap-shader-program*
-       (gl:get-uniform-location *bitmap-shader-program* "TEX")
-       0))
-    (unless *bitmap-vao*
-      (setf *bitmap-vao* (gl:gen-vertex-array))
-      (gl:bind-vertex-array *bitmap-vao*)
-      (let ((vbo (gl:gen-buffer)))
-        (with-gl-array (verts :float
-                              0.0 1.0 
-                              1.0 0.0 
-                              0.0 0.0 
-                              
-                              0.0 1.0 
-                              1.0 1.0 
-                              1.0 0.0 )
-          (gl:bind-buffer :array-buffer vbo)
-          (gl:buffer-data :array-buffer :static-draw verts)))
-      (gl:enable-vertex-attrib-array 0)
-      (gl:vertex-attrib-pointer 0 2 :float 0 (* +float-size+ 2) 0)
-      (gl:bind-buffer :array-buffer 0)
-      (gl:bind-vertex-array 0))))
-
-(defmethod cleanup ((bitmap bitmap))
-  (bitmap-finalizer))
-
-(defmethod render ((bitmap bitmap))
-  (with-slots (texture) bitmap
-    (gl:active-texture 0)
-    (gl:bind-texture :texture-2d (texture-id texture))
-    (gl:use-program *bitmap-shader-program*)
-    (gl:program-uniform-matrix-4fv
-     *bitmap-shader-program*
-     (gl:get-uniform-location *bitmap-shader-program* "TRANSFORM")
-     (projected-matrix bitmap))
-    (gl:bind-vertex-array *bitmap-vao*)    
-    (gl:draw-arrays :triangles 0 6)
-    (gl:bind-vertex-array 0)))
diff --git a/src/interactive/button.lisp b/src/interactive/button.lisp
index 0a15d79..7c94663 100644
--- a/src/interactive/button.lisp
+++ b/src/interactive/button.lisp
@@ -88,8 +88,8 @@
   (make-instance
    'button
    :on-press pressed :on-release released
-   :up (make-instance 'bitmap :texture (get-asset up))
-   :down (make-instance 'bitmap :texture (get-asset down))))
+   :up (make-instance 'image :texture (get-asset up))
+   :down (make-instance 'image :texture (get-asset down))))
 
 (defun make-text-button
     (font up down
diff --git a/src/interactive/frameset.lisp b/src/interactive/frameset.lisp
index a8ba079..86f445d 100644
--- a/src/interactive/frameset.lisp
+++ b/src/interactive/frameset.lisp
@@ -77,7 +77,7 @@
            (loop for name in asset-names
                  collect
                  (make-instance
-                  'bitmap
+                  'image
                   :texture (get-asset name :asset-args asset-args))))
          (sequence
            (loop for name in sequenced-assets
diff --git a/src/interactive/image.lisp b/src/interactive/image.lisp
new file mode 100644
index 0000000..7c84df3
--- /dev/null
+++ b/src/interactive/image.lisp
@@ -0,0 +1,86 @@
+;;;; image.lisp
+
+(in-package #:wheelwork)
+
+(defvar *image-shader-program* nil
+  "Cached for later cleanup.")
+(defvar *image-vao* nil)
+
+(defvar *image-count* 0
+  "Used by finalizers to determin if the shader should be destroyed.")
+
+(defun image-finalizer ()
+  "executed after a image has been reclaimed by gc. decrements image
+count and destroys shader-program if necessary."
+  (decf *image-count*)
+  (unless (plusp *image-count*)
+    (when *image-vao*
+      (gl:delete-vertex-arrays (list *image-vao*))
+      (setf *image-vao* nil))
+    (when *image-shader-program*
+      (gl:delete-program *image-shader-program*)
+      (setf *image-shader-program* nil))))
+
+(defclass/std image (affine interactive)
+  ((texture :ri :std (error "A image requires a texture."))))
+
+(defmethod initialize-instance :after ((image image) &key)
+  (incf *image-count*)
+  (trivial-garbage:finalize image #'image-finalizer)
+  (with-slots (base-width base-height texture) image
+    (setf base-height (texture-height texture)
+          base-width (texture-width texture))
+    (unless *image-shader-program*
+      (setf *image-shader-program*
+            (create-shader
+             '(:vertex
+               ((vert :vec2))
+               ((transform :mat4))
+               ((values
+                 (* transform (vari:vec4 vert 0.0 1.0))
+                 vert))) ;color
+             '(:fragment
+               ((tc :vec2))
+               ((tex :sampler-2d))
+               ((let ((frag  (vari:texture tex tc)))
+                  (if (< (aref frag 3) 0.01)
+                      (vari:discard)
+                      frag))))))
+      (gl:program-uniformi
+       *image-shader-program*
+       (gl:get-uniform-location *image-shader-program* "TEX")
+       0))
+    (unless *image-vao*
+      (setf *image-vao* (gl:gen-vertex-array))
+      (gl:bind-vertex-array *image-vao*)
+      (let ((vbo (gl:gen-buffer)))
+        (with-gl-array (verts :float
+                              0.0 1.0 
+                              1.0 0.0 
+                              0.0 0.0 
+                              
+                              0.0 1.0 
+                              1.0 1.0 
+                              1.0 0.0 )
+          (gl:bind-buffer :array-buffer vbo)
+          (gl:buffer-data :array-buffer :static-draw verts)))
+      (gl:enable-vertex-attrib-array 0)
+      (gl:vertex-attrib-pointer 0 2 :float 0 (* +float-size+ 2) 0)
+      (gl:bind-buffer :array-buffer 0)
+      (gl:bind-vertex-array 0))))
+
+(defmethod cleanup ((image image))
+  (image-finalizer))
+
+(defmethod render ((image image))
+  (with-slots (texture) image
+    (gl:active-texture 0)
+    (gl:bind-texture :texture-2d (texture-id texture))
+    (gl:use-program *image-shader-program*)
+    (gl:program-uniform-matrix-4fv
+     *image-shader-program*
+     (gl:get-uniform-location *image-shader-program* "TRANSFORM")
+     (projected-matrix image))
+    (gl:bind-vertex-array *image-vao*)    
+    (gl:draw-arrays :triangles 0 6)
+    (gl:bind-vertex-array 0)))
diff --git a/src/package.lisp b/src/package.lisp
index eef6173..7487af8 100644
--- a/src/package.lisp
+++ b/src/package.lisp
@@ -85,7 +85,7 @@
    #:unit-visbilep
 
    ;; Specific Unit Classes and APIs
-   #:bitmap
+   #:image
    
    #:button
    #:button-bg
-- 
cgit v1.2.3