SDL video
Isis software documentation
SDL video
SDL is the Simple DirectMedia Layer for Linux, Mac, and Windows.
Isis provides an interface to some of the functionality of SDL, mainly
for high-efficiency direct display of video, including hardware
acceleration for full screen expansion of video windows. SDL is not
available on the Digital/Compaq Unix version of Isis. More
documentation will be added soon. Below is a summary of the available
functions, which should be fairly self-explanatory.
(sdl-init caption) # initialize SDL with caption name for window
(sdl-quit) # close SDL
(sdl-setup framesize fullscreen-flag hardware-flag doublebuf-flag)
# setup the screen surface (returns a surface)
(sdl-create framesize hardware-flag) # create and return new surface
(sdl-free surface) # free a surface made with sdl-create
(sdl-info surface) # surface info [ size steps addrs flags ]
# from this you can make an isis image
# that refers to the surface by doing:
# (new-image c-byte 3 size steps (first 3 addrs))
(sdl-update surface) # mark screen surface to be drawn
(sdl-flip surface) # swap buffers (when doublebuf turned on)
(sdl-mustlock surface) # returns True if surface must be locked
(sdl-lock surface) # lock surface (for hardware surfaces)
(sdl-unlock surface) # unlock surface (for hardware surfaces)
(sdl-blit src-surface dst-surface) # transfer source to destination
(sdl-fill surface red green blue) # fill surface with a color
(sdl-cursor show-cursor-flag) # turn cursor visibility on and off
(sdl-mouse) # query mouse info,
# returns [ [xpos ypos] lbutton mbutton rbutton ]
(sdl-enable event-type) # enable this kind of event
(sdl-ignore event-type) # disable this kind of event
# event type constants:
sdl-event-active # mouse or input focus gain/loss
sdl-event-key-down # key press
sdl-event-key-up # key release
sdl-event-mouse-motion # mouse motion
sdl-event-mouse-down # mouse button press
sdl-event-mouse-up # mouse button release
sdl-event-quit # quit signal was received
sdl-event-resize # window resized
(sdl-poll) # return next event, or Null if none pending
(sdl-wait) # wait for and return next event, or Null if error
# sdl-poll and sdl-wait will return one of these lists:
[ sdl-event-active kind state ] # (see below) state is boolean
[ sdl-event-key-down keysym unicode ] # keysym and unicode are integers
[ sdl-event-key-up keysym unicode ]
[ sdl-event-mouse-motion [xpos ypos] ]
[ sdl-event-mouse-down buttonnum [xpos ypos]]
[ sdl-event-mouse-up buttonnum [xpos ypos]]
[ sdl-event-quit ]
[ sdl-event-resize [xsize ysize]]
# active event kind constants:
sdl-active-mouse
sdl-active-input
sdl-active-app
Requirements:
Scripts:
|
|
Other:
| Needs SDL library
|