repos
/
qt.opengl
/ annotate_shade
summary
|
shortlog
|
log
|
tree
|
commit
|
commitdiff
|
headdiff
|
annotate
|
headblob
|
headfilediff
|
filehistory
normal
|
plain
|
shade
|
zebra
Add missing GLuint GLint and GLenum type translators.
Annotate for file /src/qt.opengl.lisp
2010-02-28 tobias
1
;;; Copyright (C) 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
08:14:44 '
2
;;;
'
3
;;; This program is free software: you can redistribute it and/or modify
'
4
;;; it under the terms of the GNU General Public License as published by
'
5
;;; the Free Software Foundation, either version 3 of the License, or
'
6
;;; (at your option) any later version.
'
7
;;;
'
8
;;; This program is distributed in the hope that it will be useful,
'
9
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
'
10
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
'
11
;;; GNU General Public License for more details.
'
12
;;;
'
13
;;; You should have received a copy of the GNU General Public License
'
14
;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
'
15
;;;
'
16
;;; As a special exception, the copyright holders of this library give you
'
17
;;; permission to link this library with independent modules to produce an
'
18
;;; executable, regardless of the license terms of these independent
'
19
;;; modules, and to copy and distribute the resulting executable under
'
20
;;; terms of your choice, provided that you also meet, for each linked
'
21
;;; independent module, the terms and conditions of the license of that
'
22
;;; module. An independent module is a module which is not derived from or
'
23
;;; based on this library. If you modify this library, you may extend this
'
24
;;; exception to your version of the library, but you are not obligated to
'
25
;;; do so. If you do not wish to do so, delete this exception statement
'
26
;;; from your version.
'
27
'
28
(in-package :qt.opengl)
'
29
'
30
(smoke:define-smoke-module :cl-smoke.qt libsmokeqtopengl
'
31
(*qtopengl-smoke* "qtopengl_Smoke")
'
32
(init-qtopengl-smoke "init_qtopengl_Smoke"))
'
33
2010-03-10 tobias
34
;;; OpenGL type conversion using the types as defined in:
17:16:16 '
35
;;; http://www.opengl.org/registry/ABI/#2
'
36
;;; Note: this is probably not that portable.
'
37
'
38
;;; GLuint
'
39
(defun coerce-gluint (pointer)
'
40
(mem-ref pointer :unsigned-int))
'
41
'
42
(define-to-lisp-translation "GLuint" coerce-gluint foreign-free)
'
43
'
44
(defun to-gluint (integer)
'
45
(make-auto-pointer (foreign-alloc :unsigned-int :initial-element integer)))
'
46
'
47
(define-from-lisp-translation "GLuint" integer to-gluint)
'
48
'
49
;;; GLint
'
50
(defun coerce-glint (pointer)
'
51
(mem-ref pointer :int))
'
52
'
53
(define-to-lisp-translation "GLint" coerce-glint foreign-free)
'
54
'
55
(defun to-glint (integer)
'
56
(make-auto-pointer (foreign-alloc :int :initial-element integer)))
'
57
'
58
(define-from-lisp-translation "GLint" integer to-glint)
'
59
'
60
;;; GLenum
'
61
; no GLenum returned, thus no to-lisp translation
'
62
(define-from-lisp-translation "GLenum" integer to-gluint)