]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Sat, 10 Oct 2009 22:14:56 +0000 (22:14 +0000)
committerjsancho <devnull@localhost>
Sat, 10 Oct 2009 22:14:56 +0000 (22:14 +0000)
gacela_GL.lisp
gacela_draw.lisp
gacela_ttf.lisp

index 961a29a50688b8f74e25c52d0e756492742fd135..8b532f33e7f3a21022e8cfe76081d074f9e20eda 100644 (file)
   "}"
   "return textures;")
 
+(defcfun "void gacela_glDeleteTextures (int n, object textures)" 0
+  "GLuint text[n];"
+  "int i, t;"
+  "for (i = 0; i < n; i++) {"
+  ((nth (int i) textures) t)
+  "text[i] = t;"
+  "}"
+  "glDeleteTextures (n, &text[0]);")
+
 (defcfun "void gacela_glBindTexture (int target, int texture)" 0
   "glBindTexture (target, texture);")
 
 (defentry glVertex3f (float float float) (void "gacela_glVertex3f"))
 (defentry glViewport (int int int int) (void "gacela_glViewport"))
 (defentry glGenTextures (int) (object "gacela_glGenTextures"))
+(defentry glDeleteTextures (int object) (void "gacela_glDeleteTextures"))
 (defentry glBindTexture (int int) (void "gacela_glBindTexture"))
 (defentry glTexImage2D (int int int int int int int int int) (void "gacela_glTexImage2D"))
 (defentry glTexParameteri (int int int) (void "gacela_glTexParameteri"))
index c04fc8916fe1ac57e9b51e0b9fad5f3cbf255d8f..79c3edbaf22e3785d16379588ef10003bb63316d 100644 (file)
                      (glTexParameteri GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER min-filter)
                      (glTexParameteri GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER mag-filter)
                      (SDL_FreeSurface image)
-                     (set-resource key `(:id-texture ,texture :width ,real-w :height ,real-h) nil :static static)
+                     (set-resource key
+                                   `(:id-texture ,texture :width ,real-w :height ,real-h)
+                                   (lambda () (glDeleteTextures 1 `(,texture)))
+                                   :static static)
                      key)))))))))
 
 (defun draw-image-function (filename)
index 63b4b2d6326df139dbddb059e6995d83847afd8e..6fbe4e58c958bcffc2d9b692403455cc6760ae16 100644 (file)
             (cond ((/= font 0)
                    (ftglSetFontFaceSize font size 72)
                    (ftglSetFontCharMap font encoding)
-                   (set-resource key `(:id-font ,font) nil :static static)
+                   (set-resource key
+                                 `(:id-font ,font)
+                                 (lambda () (ftglDestroyFont font))
+                                 :static static)
                    key)))))))
 
 (defun render-text (text font)