1 ;;;; cl-devil -- DevIL binding for CL. See README for licensing information.
5 (define-foreign-library il
6 (:unix
(:or
"libIL" "libIL.so.1"))
7 (t (:default
"libIL")))
8 (use-foreign-library il
)
10 (defctype handle
:pointer
)
49 (:colour-index
#x1900
)
56 (:luminance-alpha
#x190A
))
60 (:unsigned-byte
#x1401
)
62 (:unsigned-short
#x1403
)
64 (:unsigned-int
#x1405
)
68 (defcenum palette-type
79 (:invalid-enum
#x0501
)
80 (:out-of-memory
#x0502
)
81 (:format-not-supported
#x0503
)
82 (:internal-error
#x0504
)
83 (:invalid-value
#x0505
)
84 (:illegal-operation
#x0506
)
85 (:illegal-file-value
#x0507
)
86 (:invalid-file-header
#x0508
)
87 (:invalid-param
#x0509
)
88 (:could-not-open-file
#x050A
)
89 (:invalid-extension
#x050B
)
90 (:file-already-exists
#x050C
)
91 (:out-format-same
#x050D
)
92 (:stack-overflow
#x050E
)
93 (:stack-underflow
#x050F
)
94 (:invalid-conversion
#x0510
)
95 (:bad-dimensions
#x0511
)
96 (:file-read-error
#x0512
)
97 (:file-write-error
#x0512
)
98 (:lib-gif-error
#x05E1
)
99 (:lib-jpeg-error
#x05E2
)
100 (:lib-png-error
#x05E3
)
101 (:lib-tiff-error
#x05E4
)
102 (:lib-mng-error
#x05E5
)
103 (:unknown-error
#x05FF
))
106 (:file-overwrite
#x0620
)
109 (:use-key-color
#x0635
)
110 (:png-alpha-index
#x0724
)
111 (:version-num
#x0DE2
)
112 (:image-width
#x0DE4
)
113 (:image-height
#x0DE5
)
114 (:image-depth
#x0DE6
)
115 (:image-size-of-data
#x0DE7
)
117 (:image-bytes-per-pixel
#x0DE8
)
118 (:image-bits-per-pixel
#x0DE9
)
119 (:image-format
#x0DEA
)
121 (:palette-type
#x0DEC
)
122 (:palette-size
#x0DED
)
123 (:palette-bpp
#x0DEE
)
124 (:palette-num-cols
#x0DEF
)
125 (:palette-base-type
#x0DF0
)
127 (:num-mipmaps
#x0DF2
)
129 (:active-image
#x0DF4
)
130 (:active-mipmap
#x0DF5
)
131 (:active-layer
#x0DF6
)
133 (:image-duration
#x0DF8
)
134 (:image-planesize
#x0DF9
)
138 (:image-cubeflags
#x0DFD
)
139 (:image-origin
#x0DFE
)
140 (:image-channels
#x0DFF
))
142 (define-foreign-type pathname-string-type
()
144 (:actual-type
:string
)
145 (:simple-parser pathname-string
))
146 (eval-when (:compile-toplevel
:load-toplevel
)
147 (defmethod expand-to-foreign-dyn (value var body
(type pathname-string-type
))
148 `(with-foreign-string (,var
(if (pathnamep ,value
) (namestring ,value
) ,value
))
151 (defcfun ("ilInit" init
) :void
)
152 (defcfun ("ilShutDown" shutdown
) :void
)
153 (defcfun ("ilGenImages" %gen-images
) :void
(num :int
) (images :pointer
))
154 (defcfun ("ilBindImage" bind-image
) :void
(image :int
))
155 (defcfun ("ilDeleteImages" delete-images
) :void
(num :int
) (images :pointer
))
156 (defcfun ("ilLoadImage" load-image
) :boolean
(file-name pathname-string
))
157 (defcfun ("ilLoad" load
) :boolean
(type image-type
) (file-name pathname-string
))
158 (defcfun ("ilLoadF" load-f
) :boolean
(type image-type
) (file handle
))
159 (defcfun ("ilLoadL" load-l
) :boolean
(type image-type
) (lump :pointer
) (size :uint
))
160 (defcfun ("ilSaveImage" save-image
) :boolean
(file-name pathname-string
))
161 (defcfun ("ilSave" save
) :boolean
(type image-type
) (file-name pathname-string
))
162 (defcfun ("ilSaveF" save-f
) :boolean
(type image-type
) (file handle
))
163 (defcfun ("ilSaveL" save-l
) :boolean
(type image-type
) (lump :pointer
) (size :uint
))
164 (defcfun ("ilTexImage" tex-image
) :boolean
165 (width :uint
) (height :uint
) (depth :uint
) (bpp :uint8
) (format data-format
) (type data-type
) (data :pointer
))
166 (defcfun ("ilGetData" get-data
) :pointer
)
167 (defcfun ("ilCopyPixels" copy-pixels
) :uint
168 (x-offset :uint
) (y-offset :uint
) (z-offset :uint
) (width :uint
) (height :uint
) (depth :uint
) (format data-format
) (type data-type
) (data :pointer
))
169 (defcfun ("ilSetData" set-data
) :pointer
)
170 (defcfun ("ilSetPixels" set-pixels
) :uint
171 (x-offset :uint
) (y-offset :uint
) (z-offset :uint
) (width :uint
) (height :uint
) (depth :uint
) (format data-format
) (type data-type
) (data :pointer
))
172 (defcfun ("ilCopyImage" copy-image
) :boolean
(source :uint
))
173 (defcfun ("ilOverlayImage" overlay-image
) :boolean
(source :uint
) (x-coord :int
) (y-coord :int
) (z-coord :int
))
174 (defcfun ("ilBlit" blit
) :boolean
(source :uint
) (dest-x :int
) (dest-y :int
) (dest-z :int
) (src-x :int
) (src-y :int
) (src-z :int
) (width :uint
) (height :uint
) (depth :uint
))
175 (defcfun ("ilGetError" get-error
) error
)
177 (defcfun ("ilKeyColour" key-color
) :void
(red :float
) (green :float
) (blue :float
) (alpha :float
))
178 (defcfun ("ilGetPalette" get-palette
) :pointer
)
179 (defcfun ("ilRegisterPal" register-palette
) :void
(palette :pointer
) (size :uint
) (type palette-type
))
181 (defcfun ("ilGetInteger" get-integer
) :uint
(mode mode
))
182 (defcfun ("ilSetInteger" set-integer
) :void
(mode mode
) (param :int
))
183 (defcfun ("ilEnable" enable
) :boolean
(mode mode
))
184 (defcfun ("ilDisable" disable
) :boolean
(mode mode
))
185 (defcfun ("ilIsEnabled" enabled-p
) :boolean
(mode mode
))
187 (defcfun ("ilConvertImage" convert-image
) :boolean
(format data-format
) (type data-type
))
188 (defcfun ("ilFlipImage" flip-image
) :boolean
)
190 (defcfun ("ilDetermineType" determine-type
) image-type
(pathname pathname-string
))