mirror of
https://github.com/python/cpython.git
synced 2025-11-03 11:23:31 +00:00
Merged revisions 55225-55227,55229-55269 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
r55238 | guido.van.rossum | 2007-05-10 16:46:05 -0700 (Thu, 10 May 2007) | 9 lines
Merged revisions 55227 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r55227 | guido.van.rossum | 2007-05-10 10:20:15 -0700 (Thu, 10 May 2007) | 2 lines
Fix a bug in test_c_api() that caused a negative refcount.
........
................
r55246 | neal.norwitz | 2007-05-11 00:01:52 -0700 (Fri, 11 May 2007) | 1 line
Remove commands.getstatus() it is obsolete.
................
r55248 | neal.norwitz | 2007-05-11 00:29:05 -0700 (Fri, 11 May 2007) | 2 lines
Remove bsddb185 support.
................
r55249 | neal.norwitz | 2007-05-11 00:29:50 -0700 (Fri, 11 May 2007) | 1 line
Remove bsddb185 module too
................
r55250 | neal.norwitz | 2007-05-11 00:32:13 -0700 (Fri, 11 May 2007) | 1 line
bsddb185: Gotta remove from the file checked in, not Setup
................
r55251 | neal.norwitz | 2007-05-11 00:53:26 -0700 (Fri, 11 May 2007) | 1 line
Remove obsolete IRIX modules (as much as I could find, there is probably more)
................
r55252 | neal.norwitz | 2007-05-11 00:55:35 -0700 (Fri, 11 May 2007) | 1 line
Remove SGI turd.
................
r55254 | georg.brandl | 2007-05-11 03:11:01 -0700 (Fri, 11 May 2007) | 2 lines
Add a case for set comprehensions to the "cannot assign to" switch.
................
r55255 | georg.brandl | 2007-05-11 03:11:25 -0700 (Fri, 11 May 2007) | 2 lines
Fix wrong imports.
................
r55261 | georg.brandl | 2007-05-11 07:37:48 -0700 (Fri, 11 May 2007) | 2 lines
Remove removed tex files.
................
r55262 | georg.brandl | 2007-05-11 08:28:41 -0700 (Fri, 11 May 2007) | 2 lines
Commit PEP 3132 implementation.
................
r55264 | georg.brandl | 2007-05-11 08:50:19 -0700 (Fri, 11 May 2007) | 2 lines
Check in the inevitable AST version number and format Py_ssize_t with %zd.
................
r55265 | neal.norwitz | 2007-05-11 09:12:22 -0700 (Fri, 11 May 2007) | 1 line
Remove mention of os.popen* and popen2.* since these will be removed.
................
r55266 | neal.norwitz | 2007-05-11 09:19:57 -0700 (Fri, 11 May 2007) | 1 line
Get doc to build again (almost, the doc is fine)
................
r55267 | neal.norwitz | 2007-05-11 09:21:02 -0700 (Fri, 11 May 2007) | 1 line
Really get doc to build (remove use of string module)
................
r55269 | neal.norwitz | 2007-05-11 09:29:43 -0700 (Fri, 11 May 2007) | 1 line
Add some notes to cleanup later
................
This commit is contained in:
parent
bdde01168f
commit
0368b726a1
57 changed files with 842 additions and 22519 deletions
|
|
@ -429,22 +429,17 @@ and how to embed it in other applications.
|
|||
% OTHER PLATFORM-SPECIFIC STUFF
|
||||
% =============
|
||||
|
||||
% XXX(nnorwitz): all these modules (down to next comment) need to be (re)moved.
|
||||
%\input{libamoeba} % AMOEBA ONLY
|
||||
|
||||
%\input{libstdwin} % STDWIN ONLY
|
||||
|
||||
\input{libsgi} % SGI IRIX ONLY
|
||||
\input{libal}
|
||||
\input{libcd}
|
||||
\input{libfl}
|
||||
\input{libfm}
|
||||
\input{libgl}
|
||||
\input{libimgfile}
|
||||
\input{libjpeg}
|
||||
%\input{libpanel}
|
||||
|
||||
\input{libsun} % SUNOS ONLY
|
||||
\input{libsunaudio}
|
||||
% XXX(nnorwitz): the modules below this comment should be kept.
|
||||
|
||||
\input{windows} % MS Windows ONLY
|
||||
\input{libmsilib}
|
||||
|
|
|
|||
|
|
@ -1,181 +0,0 @@
|
|||
\section{\module{al} ---
|
||||
Audio functions on the SGI}
|
||||
|
||||
\declaremodule{builtin}{al}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Audio functions on the SGI.}
|
||||
|
||||
|
||||
This module provides access to the audio facilities of the SGI Indy
|
||||
and Indigo workstations. See section 3A of the IRIX man pages for
|
||||
details. You'll need to read those man pages to understand what these
|
||||
functions do! Some of the functions are not available in IRIX
|
||||
releases before 4.0.5. Again, see the manual to check whether a
|
||||
specific function is available on your platform.
|
||||
|
||||
All functions and methods defined in this module are equivalent to
|
||||
the C functions with \samp{AL} prefixed to their name.
|
||||
|
||||
Symbolic constants from the C header file \code{<audio.h>} are
|
||||
defined in the standard module
|
||||
\refmodule[al-constants]{AL}\refstmodindex{AL}, see below.
|
||||
|
||||
\warning{The current version of the audio library may dump core
|
||||
when bad argument values are passed rather than returning an error
|
||||
status. Unfortunately, since the precise circumstances under which
|
||||
this may happen are undocumented and hard to check, the Python
|
||||
interface can provide no protection against this kind of problems.
|
||||
(One example is specifying an excessive queue size --- there is no
|
||||
documented upper limit.)}
|
||||
|
||||
The module defines the following functions:
|
||||
|
||||
|
||||
\begin{funcdesc}{openport}{name, direction\optional{, config}}
|
||||
The name and direction arguments are strings. The optional
|
||||
\var{config} argument is a configuration object as returned by
|
||||
\function{newconfig()}. The return value is an \dfn{audio port
|
||||
object}; methods of audio port objects are described below.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{newconfig}{}
|
||||
The return value is a new \dfn{audio configuration object}; methods of
|
||||
audio configuration objects are described below.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{queryparams}{device}
|
||||
The device argument is an integer. The return value is a list of
|
||||
integers containing the data returned by \cfunction{ALqueryparams()}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getparams}{device, list}
|
||||
The \var{device} argument is an integer. The list argument is a list
|
||||
such as returned by \function{queryparams()}; it is modified in place
|
||||
(!).
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setparams}{device, list}
|
||||
The \var{device} argument is an integer. The \var{list} argument is a
|
||||
list such as returned by \function{queryparams()}.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
\subsection{Configuration Objects \label{al-config-objects}}
|
||||
|
||||
Configuration objects returned by \function{newconfig()} have the
|
||||
following methods:
|
||||
|
||||
\begin{methoddesc}[audio configuration]{getqueuesize}{}
|
||||
Return the queue size.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{setqueuesize}{size}
|
||||
Set the queue size.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{getwidth}{}
|
||||
Get the sample width.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{setwidth}{width}
|
||||
Set the sample width.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{getchannels}{}
|
||||
Get the channel count.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{setchannels}{nchannels}
|
||||
Set the channel count.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{getsampfmt}{}
|
||||
Get the sample format.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{setsampfmt}{sampfmt}
|
||||
Set the sample format.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{getfloatmax}{}
|
||||
Get the maximum value for floating sample formats.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio configuration]{setfloatmax}{floatmax}
|
||||
Set the maximum value for floating sample formats.
|
||||
\end{methoddesc}
|
||||
|
||||
|
||||
\subsection{Port Objects \label{al-port-objects}}
|
||||
|
||||
Port objects, as returned by \function{openport()}, have the following
|
||||
methods:
|
||||
|
||||
\begin{methoddesc}[audio port]{closeport}{}
|
||||
Close the port.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getfd}{}
|
||||
Return the file descriptor as an int.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getfilled}{}
|
||||
Return the number of filled samples.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getfillable}{}
|
||||
Return the number of fillable samples.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{readsamps}{nsamples}
|
||||
Read a number of samples from the queue, blocking if necessary.
|
||||
Return the data as a string containing the raw data, (e.g., 2 bytes per
|
||||
sample in big-endian byte order (high byte, low byte) if you have set
|
||||
the sample width to 2 bytes).
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{writesamps}{samples}
|
||||
Write samples into the queue, blocking if necessary. The samples are
|
||||
encoded as described for the \method{readsamps()} return value.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getfillpoint}{}
|
||||
Return the `fill point'.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{setfillpoint}{fillpoint}
|
||||
Set the `fill point'.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getconfig}{}
|
||||
Return a configuration object containing the current configuration of
|
||||
the port.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{setconfig}{config}
|
||||
Set the configuration from the argument, a configuration object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[audio port]{getstatus}{list}
|
||||
Get status information on last error.
|
||||
\end{methoddesc}
|
||||
|
||||
|
||||
\section{\module{AL} ---
|
||||
Constants used with the \module{al} module}
|
||||
|
||||
\declaremodule[al-constants]{standard}{AL}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Constants used with the \module{al} module.}
|
||||
|
||||
|
||||
This module defines symbolic constants needed to use the built-in
|
||||
module \refmodule{al} (see above); they are equivalent to those defined
|
||||
in the C header file \code{<audio.h>} except that the name prefix
|
||||
\samp{AL_} is omitted. Read the module source for a complete list of
|
||||
the defined names. Suggested use:
|
||||
|
||||
\begin{verbatim}
|
||||
import al
|
||||
from AL import *
|
||||
\end{verbatim}
|
||||
|
|
@ -94,14 +94,6 @@ interpretation.
|
|||
\end{funcdesc}
|
||||
|
||||
|
||||
\begin{notice}
|
||||
Beginning in 2.3 some \UNIX{} versions of Python may have a \module{bsddb185}
|
||||
module. This is present \emph{only} to allow backwards compatibility with
|
||||
systems which ship with the old Berkeley DB 1.85 database library. The
|
||||
\module{bsddb185} module should never be used directly in new code.
|
||||
\end{notice}
|
||||
|
||||
|
||||
\begin{seealso}
|
||||
\seemodule{dbhash}{DBM-style interface to the \module{bsddb}}
|
||||
\end{seealso}
|
||||
|
|
|
|||
|
|
@ -1,304 +0,0 @@
|
|||
\section{\module{cd} ---
|
||||
CD-ROM access on SGI systems}
|
||||
|
||||
\declaremodule{builtin}{cd}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Interface to the CD-ROM on Silicon Graphics systems.}
|
||||
|
||||
|
||||
This module provides an interface to the Silicon Graphics CD library.
|
||||
It is available only on Silicon Graphics systems.
|
||||
|
||||
The way the library works is as follows. A program opens the CD-ROM
|
||||
device with \function{open()} and creates a parser to parse the data
|
||||
from the CD with \function{createparser()}. The object returned by
|
||||
\function{open()} can be used to read data from the CD, but also to get
|
||||
status information for the CD-ROM device, and to get information about
|
||||
the CD, such as the table of contents. Data from the CD is passed to
|
||||
the parser, which parses the frames, and calls any callback
|
||||
functions that have previously been added.
|
||||
|
||||
An audio CD is divided into \dfn{tracks} or \dfn{programs} (the terms
|
||||
are used interchangeably). Tracks can be subdivided into
|
||||
\dfn{indices}. An audio CD contains a \dfn{table of contents} which
|
||||
gives the starts of the tracks on the CD. Index 0 is usually the
|
||||
pause before the start of a track. The start of the track as given by
|
||||
the table of contents is normally the start of index 1.
|
||||
|
||||
Positions on a CD can be represented in two ways. Either a frame
|
||||
number or a tuple of three values, minutes, seconds and frames. Most
|
||||
functions use the latter representation. Positions can be both
|
||||
relative to the beginning of the CD, and to the beginning of the
|
||||
track.
|
||||
|
||||
Module \module{cd} defines the following functions and constants:
|
||||
|
||||
|
||||
\begin{funcdesc}{createparser}{}
|
||||
Create and return an opaque parser object. The methods of the parser
|
||||
object are described below.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{msftoframe}{minutes, seconds, frames}
|
||||
Converts a \code{(\var{minutes}, \var{seconds}, \var{frames})} triple
|
||||
representing time in absolute time code into the corresponding CD
|
||||
frame number.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{open}{\optional{device\optional{, mode}}}
|
||||
Open the CD-ROM device. The return value is an opaque player object;
|
||||
methods of the player object are described below. The device is the
|
||||
name of the SCSI device file, e.g. \code{'/dev/scsi/sc0d4l0'}, or
|
||||
\code{None}. If omitted or \code{None}, the hardware inventory is
|
||||
consulted to locate a CD-ROM drive. The \var{mode}, if not omitted,
|
||||
should be the string \code{'r'}.
|
||||
\end{funcdesc}
|
||||
|
||||
The module defines the following variables:
|
||||
|
||||
\begin{excdesc}{error}
|
||||
Exception raised on various errors.
|
||||
\end{excdesc}
|
||||
|
||||
\begin{datadesc}{DATASIZE}
|
||||
The size of one frame's worth of audio data. This is the size of the
|
||||
audio data as passed to the callback of type \code{audio}.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{BLOCKSIZE}
|
||||
The size of one uninterpreted frame of audio data.
|
||||
\end{datadesc}
|
||||
|
||||
The following variables are states as returned by
|
||||
\function{getstatus()}:
|
||||
|
||||
\begin{datadesc}{READY}
|
||||
The drive is ready for operation loaded with an audio CD.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{NODISC}
|
||||
The drive does not have a CD loaded.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{CDROM}
|
||||
The drive is loaded with a CD-ROM. Subsequent play or read operations
|
||||
will return I/O errors.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{ERROR}
|
||||
An error occurred while trying to read the disc or its table of
|
||||
contents.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{PLAYING}
|
||||
The drive is in CD player mode playing an audio CD through its audio
|
||||
jacks.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{PAUSED}
|
||||
The drive is in CD layer mode with play paused.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{STILL}
|
||||
The equivalent of \constant{PAUSED} on older (non 3301) model Toshiba
|
||||
CD-ROM drives. Such drives have never been shipped by SGI.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{audio}
|
||||
\dataline{pnum}
|
||||
\dataline{index}
|
||||
\dataline{ptime}
|
||||
\dataline{atime}
|
||||
\dataline{catalog}
|
||||
\dataline{ident}
|
||||
\dataline{control}
|
||||
Integer constants describing the various types of parser callbacks
|
||||
that can be set by the \method{addcallback()} method of CD parser
|
||||
objects (see below).
|
||||
\end{datadesc}
|
||||
|
||||
|
||||
\subsection{Player Objects}
|
||||
\label{player-objects}
|
||||
|
||||
Player objects (returned by \function{open()}) have the following
|
||||
methods:
|
||||
|
||||
\begin{methoddesc}[CD player]{allowremoval}{}
|
||||
Unlocks the eject button on the CD-ROM drive permitting the user to
|
||||
eject the caddy if desired.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{bestreadsize}{}
|
||||
Returns the best value to use for the \var{num_frames} parameter of
|
||||
the \method{readda()} method. Best is defined as the value that
|
||||
permits a continuous flow of data from the CD-ROM drive.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{close}{}
|
||||
Frees the resources associated with the player object. After calling
|
||||
\method{close()}, the methods of the object should no longer be used.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{eject}{}
|
||||
Ejects the caddy from the CD-ROM drive.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{getstatus}{}
|
||||
Returns information pertaining to the current state of the CD-ROM
|
||||
drive. The returned information is a tuple with the following values:
|
||||
\var{state}, \var{track}, \var{rtime}, \var{atime}, \var{ttime},
|
||||
\var{first}, \var{last}, \var{scsi_audio}, \var{cur_block}.
|
||||
\var{rtime} is the time relative to the start of the current track;
|
||||
\var{atime} is the time relative to the beginning of the disc;
|
||||
\var{ttime} is the total time on the disc. For more information on
|
||||
the meaning of the values, see the man page \manpage{CDgetstatus}{3dm}.
|
||||
The value of \var{state} is one of the following: \constant{ERROR},
|
||||
\constant{NODISC}, \constant{READY}, \constant{PLAYING},
|
||||
\constant{PAUSED}, \constant{STILL}, or \constant{CDROM}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{gettrackinfo}{track}
|
||||
Returns information about the specified track. The returned
|
||||
information is a tuple consisting of two elements, the start time of
|
||||
the track and the duration of the track.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{msftoblock}{min, sec, frame}
|
||||
Converts a minutes, seconds, frames triple representing a time in
|
||||
absolute time code into the corresponding logical block number for the
|
||||
given CD-ROM drive. You should use \function{msftoframe()} rather than
|
||||
\method{msftoblock()} for comparing times. The logical block number
|
||||
differs from the frame number by an offset required by certain CD-ROM
|
||||
drives.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{play}{start, play}
|
||||
Starts playback of an audio CD in the CD-ROM drive at the specified
|
||||
track. The audio output appears on the CD-ROM drive's headphone and
|
||||
audio jacks (if fitted). Play stops at the end of the disc.
|
||||
\var{start} is the number of the track at which to start playing the
|
||||
CD; if \var{play} is 0, the CD will be set to an initial paused
|
||||
state. The method \method{togglepause()} can then be used to commence
|
||||
play.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{playabs}{minutes, seconds, frames, play}
|
||||
Like \method{play()}, except that the start is given in minutes,
|
||||
seconds, and frames instead of a track number.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{playtrack}{start, play}
|
||||
Like \method{play()}, except that playing stops at the end of the
|
||||
track.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{playtrackabs}{track, minutes, seconds, frames, play}
|
||||
Like \method{play()}, except that playing begins at the specified
|
||||
absolute time and ends at the end of the specified track.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{preventremoval}{}
|
||||
Locks the eject button on the CD-ROM drive thus preventing the user
|
||||
from arbitrarily ejecting the caddy.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{readda}{num_frames}
|
||||
Reads the specified number of frames from an audio CD mounted in the
|
||||
CD-ROM drive. The return value is a string representing the audio
|
||||
frames. This string can be passed unaltered to the
|
||||
\method{parseframe()} method of the parser object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{seek}{minutes, seconds, frames}
|
||||
Sets the pointer that indicates the starting point of the next read of
|
||||
digital audio data from a CD-ROM. The pointer is set to an absolute
|
||||
time code location specified in \var{minutes}, \var{seconds}, and
|
||||
\var{frames}. The return value is the logical block number to which
|
||||
the pointer has been set.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{seekblock}{block}
|
||||
Sets the pointer that indicates the starting point of the next read of
|
||||
digital audio data from a CD-ROM. The pointer is set to the specified
|
||||
logical block number. The return value is the logical block number to
|
||||
which the pointer has been set.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{seektrack}{track}
|
||||
Sets the pointer that indicates the starting point of the next read of
|
||||
digital audio data from a CD-ROM. The pointer is set to the specified
|
||||
track. The return value is the logical block number to which the
|
||||
pointer has been set.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{stop}{}
|
||||
Stops the current playing operation.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD player]{togglepause}{}
|
||||
Pauses the CD if it is playing, and makes it play if it is paused.
|
||||
\end{methoddesc}
|
||||
|
||||
|
||||
\subsection{Parser Objects}
|
||||
\label{cd-parser-objects}
|
||||
|
||||
Parser objects (returned by \function{createparser()}) have the
|
||||
following methods:
|
||||
|
||||
\begin{methoddesc}[CD parser]{addcallback}{type, func, arg}
|
||||
Adds a callback for the parser. The parser has callbacks for eight
|
||||
different types of data in the digital audio data stream. Constants
|
||||
for these types are defined at the \module{cd} module level (see above).
|
||||
The callback is called as follows: \code{\var{func}(\var{arg}, type,
|
||||
data)}, where \var{arg} is the user supplied argument, \var{type} is
|
||||
the particular type of callback, and \var{data} is the data returned
|
||||
for this \var{type} of callback. The type of the data depends on the
|
||||
\var{type} of callback as follows:
|
||||
|
||||
\begin{tableii}{l|p{4in}}{code}{Type}{Value}
|
||||
\lineii{audio}{String which can be passed unmodified to
|
||||
\function{al.writesamps()}.}
|
||||
\lineii{pnum}{Integer giving the program (track) number.}
|
||||
\lineii{index}{Integer giving the index number.}
|
||||
\lineii{ptime}{Tuple consisting of the program time in minutes,
|
||||
seconds, and frames.}
|
||||
\lineii{atime}{Tuple consisting of the absolute time in minutes,
|
||||
seconds, and frames.}
|
||||
\lineii{catalog}{String of 13 characters, giving the catalog number
|
||||
of the CD.}
|
||||
\lineii{ident}{String of 12 characters, giving the ISRC
|
||||
identification number of the recording. The string consists of two
|
||||
characters country code, three characters owner code, two characters
|
||||
giving the year, and five characters giving a serial number.}
|
||||
\lineii{control}{Integer giving the control bits from the CD
|
||||
subcode data}
|
||||
\end{tableii}
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD parser]{deleteparser}{}
|
||||
Deletes the parser and frees the memory it was using. The object
|
||||
should not be used after this call. This call is done automatically
|
||||
when the last reference to the object is removed.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD parser]{parseframe}{frame}
|
||||
Parses one or more frames of digital audio data from a CD such as
|
||||
returned by \method{readda()}. It determines which subcodes are
|
||||
present in the data. If these subcodes have changed since the last
|
||||
frame, then \method{parseframe()} executes a callback of the
|
||||
appropriate type passing to it the subcode data found in the frame.
|
||||
Unlike the \C{} function, more than one frame of digital audio data
|
||||
can be passed to this method.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD parser]{removecallback}{type}
|
||||
Removes the callback for the given \var{type}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[CD parser]{resetparser}{}
|
||||
Resets the fields of the parser used for tracking subcodes to an
|
||||
initial state. \method{resetparser()} should be called after the disc
|
||||
has been changed.
|
||||
\end{methoddesc}
|
||||
|
|
@ -35,16 +35,6 @@ Like \function{getstatusoutput()}, except the exit status is ignored
|
|||
and the return value is a string containing the command's output.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getstatus}{file}
|
||||
Return the output of \samp{ls -ld \var{file}} as a string. This
|
||||
function uses the \function{getoutput()} function, and properly
|
||||
escapes backslashes and dollar signs in the argument.
|
||||
|
||||
\deprecated{2.6}{This function is nonobvious and useless,
|
||||
also the name is misleading in the presence of
|
||||
\function{getstatusoutput()}.}
|
||||
\end{funcdesc}
|
||||
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
|
|
@ -57,8 +47,6 @@ Example:
|
|||
(256, 'sh: /bin/junk: not found')
|
||||
>>> commands.getoutput('ls /bin/ls')
|
||||
'/bin/ls'
|
||||
>>> commands.getstatus('/bin/ls')
|
||||
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
|
||||
\end{verbatim}
|
||||
|
||||
\begin{seealso}
|
||||
|
|
|
|||
|
|
@ -1,507 +0,0 @@
|
|||
\section{\module{fl} ---
|
||||
FORMS library for graphical user interfaces}
|
||||
|
||||
\declaremodule{builtin}{fl}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{FORMS library for applications with graphical user
|
||||
interfaces.}
|
||||
|
||||
|
||||
This module provides an interface to the FORMS Library\index{FORMS
|
||||
Library} by Mark Overmars\index{Overmars, Mark}. The source for the
|
||||
library can be retrieved by anonymous ftp from host
|
||||
\samp{ftp.cs.ruu.nl}, directory \file{SGI/FORMS}. It was last tested
|
||||
with version 2.0b.
|
||||
|
||||
Most functions are literal translations of their C equivalents,
|
||||
dropping the initial \samp{fl_} from their name. Constants used by
|
||||
the library are defined in module \refmodule[fl-constants]{FL}
|
||||
described below.
|
||||
|
||||
The creation of objects is a little different in Python than in C:
|
||||
instead of the `current form' maintained by the library to which new
|
||||
FORMS objects are added, all functions that add a FORMS object to a
|
||||
form are methods of the Python object representing the form.
|
||||
Consequently, there are no Python equivalents for the C functions
|
||||
\cfunction{fl_addto_form()} and \cfunction{fl_end_form()}, and the
|
||||
equivalent of \cfunction{fl_bgn_form()} is called
|
||||
\function{fl.make_form()}.
|
||||
|
||||
Watch out for the somewhat confusing terminology: FORMS uses the word
|
||||
\dfn{object} for the buttons, sliders etc. that you can place in a form.
|
||||
In Python, `object' means any value. The Python interface to FORMS
|
||||
introduces two new Python object types: form objects (representing an
|
||||
entire form) and FORMS objects (representing one button, slider etc.).
|
||||
Hopefully this isn't too confusing.
|
||||
|
||||
There are no `free objects' in the Python interface to FORMS, nor is
|
||||
there an easy way to add object classes written in Python. The FORMS
|
||||
interface to GL event handling is available, though, so you can mix
|
||||
FORMS with pure GL windows.
|
||||
|
||||
\strong{Please note:} importing \module{fl} implies a call to the GL
|
||||
function \cfunction{foreground()} and to the FORMS routine
|
||||
\cfunction{fl_init()}.
|
||||
|
||||
\subsection{Functions Defined in Module \module{fl}}
|
||||
\nodename{FL Functions}
|
||||
|
||||
Module \module{fl} defines the following functions. For more
|
||||
information about what they do, see the description of the equivalent
|
||||
C function in the FORMS documentation:
|
||||
|
||||
\begin{funcdesc}{make_form}{type, width, height}
|
||||
Create a form with given type, width and height. This returns a
|
||||
\dfn{form} object, whose methods are described below.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{do_forms}{}
|
||||
The standard FORMS main loop. Returns a Python object representing
|
||||
the FORMS object needing interaction, or the special value
|
||||
\constant{FL.EVENT}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{check_forms}{}
|
||||
Check for FORMS events. Returns what \function{do_forms()} above
|
||||
returns, or \code{None} if there is no event that immediately needs
|
||||
interaction.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{set_event_call_back}{function}
|
||||
Set the event callback function.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{set_graphics_mode}{rgbmode, doublebuffering}
|
||||
Set the graphics modes.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{get_rgbmode}{}
|
||||
Return the current rgb mode. This is the value of the C global
|
||||
variable \cdata{fl_rgbmode}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{show_message}{str1, str2, str3}
|
||||
Show a dialog box with a three-line message and an OK button.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{show_question}{str1, str2, str3}
|
||||
Show a dialog box with a three-line message and YES and NO buttons.
|
||||
It returns \code{1} if the user pressed YES, \code{0} if NO.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{show_choice}{str1, str2, str3, but1\optional{,
|
||||
but2\optional{, but3}}}
|
||||
Show a dialog box with a three-line message and up to three buttons.
|
||||
It returns the number of the button clicked by the user
|
||||
(\code{1}, \code{2} or \code{3}).
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{show_input}{prompt, default}
|
||||
Show a dialog box with a one-line prompt message and text field in
|
||||
which the user can enter a string. The second argument is the default
|
||||
input string. It returns the string value as edited by the user.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{show_file_selector}{message, directory, pattern, default}
|
||||
Show a dialog box in which the user can select a file. It returns
|
||||
the absolute filename selected by the user, or \code{None} if the user
|
||||
presses Cancel.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{get_directory}{}
|
||||
\funcline{get_pattern}{}
|
||||
\funcline{get_filename}{}
|
||||
These functions return the directory, pattern and filename (the tail
|
||||
part only) selected by the user in the last
|
||||
\function{show_file_selector()} call.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{qdevice}{dev}
|
||||
\funcline{unqdevice}{dev}
|
||||
\funcline{isqueued}{dev}
|
||||
\funcline{qtest}{}
|
||||
\funcline{qread}{}
|
||||
%\funcline{blkqread}{?}
|
||||
\funcline{qreset}{}
|
||||
\funcline{qenter}{dev, val}
|
||||
\funcline{get_mouse}{}
|
||||
\funcline{tie}{button, valuator1, valuator2}
|
||||
These functions are the FORMS interfaces to the corresponding GL
|
||||
functions. Use these if you want to handle some GL events yourself
|
||||
when using \function{fl.do_events()}. When a GL event is detected that
|
||||
FORMS cannot handle, \function{fl.do_forms()} returns the special value
|
||||
\constant{FL.EVENT} and you should call \function{fl.qread()} to read
|
||||
the event from the queue. Don't use the equivalent GL functions!
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{color}{}
|
||||
\funcline{mapcolor}{}
|
||||
\funcline{getmcolor}{}
|
||||
See the description in the FORMS documentation of
|
||||
\cfunction{fl_color()}, \cfunction{fl_mapcolor()} and
|
||||
\cfunction{fl_getmcolor()}.
|
||||
\end{funcdesc}
|
||||
|
||||
\subsection{Form Objects}
|
||||
\label{form-objects}
|
||||
|
||||
Form objects (returned by \function{make_form()} above) have the
|
||||
following methods. Each method corresponds to a C function whose
|
||||
name is prefixed with \samp{fl_}; and whose first argument is a form
|
||||
pointer; please refer to the official FORMS documentation for
|
||||
descriptions.
|
||||
|
||||
All the \method{add_*()} methods return a Python object representing
|
||||
the FORMS object. Methods of FORMS objects are described below. Most
|
||||
kinds of FORMS object also have some methods specific to that kind;
|
||||
these methods are listed here.
|
||||
|
||||
\begin{flushleft}
|
||||
|
||||
\begin{methoddesc}[form]{show_form}{placement, bordertype, name}
|
||||
Show the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{hide_form}{}
|
||||
Hide the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{redraw_form}{}
|
||||
Redraw the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{set_form_position}{x, y}
|
||||
Set the form's position.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{freeze_form}{}
|
||||
Freeze the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{unfreeze_form}{}
|
||||
Unfreeze the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{activate_form}{}
|
||||
Activate the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{deactivate_form}{}
|
||||
Deactivate the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{bgn_group}{}
|
||||
Begin a new group of objects; return a group object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{end_group}{}
|
||||
End the current group of objects.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{find_first}{}
|
||||
Find the first object in the form.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{find_last}{}
|
||||
Find the last object in the form.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_box}{type, x, y, w, h, name}
|
||||
Add a box object to the form.
|
||||
No extra methods.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_text}{type, x, y, w, h, name}
|
||||
Add a text object to the form.
|
||||
No extra methods.
|
||||
\end{methoddesc}
|
||||
|
||||
%\begin{methoddesc}[form]{add_bitmap}{type, x, y, w, h, name}
|
||||
%Add a bitmap object to the form.
|
||||
%\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_clock}{type, x, y, w, h, name}
|
||||
Add a clock object to the form. \\
|
||||
Method:
|
||||
\method{get_clock()}.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_button}{type, x, y, w, h, name}
|
||||
Add a button object to the form. \\
|
||||
Methods:
|
||||
\method{get_button()},
|
||||
\method{set_button()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_lightbutton}{type, x, y, w, h, name}
|
||||
Add a lightbutton object to the form. \\
|
||||
Methods:
|
||||
\method{get_button()},
|
||||
\method{set_button()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_roundbutton}{type, x, y, w, h, name}
|
||||
Add a roundbutton object to the form. \\
|
||||
Methods:
|
||||
\method{get_button()},
|
||||
\method{set_button()}.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_slider}{type, x, y, w, h, name}
|
||||
Add a slider object to the form. \\
|
||||
Methods:
|
||||
\method{set_slider_value()},
|
||||
\method{get_slider_value()},
|
||||
\method{set_slider_bounds()},
|
||||
\method{get_slider_bounds()},
|
||||
\method{set_slider_return()},
|
||||
\method{set_slider_size()},
|
||||
\method{set_slider_precision()},
|
||||
\method{set_slider_step()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_valslider}{type, x, y, w, h, name}
|
||||
Add a valslider object to the form. \\
|
||||
Methods:
|
||||
\method{set_slider_value()},
|
||||
\method{get_slider_value()},
|
||||
\method{set_slider_bounds()},
|
||||
\method{get_slider_bounds()},
|
||||
\method{set_slider_return()},
|
||||
\method{set_slider_size()},
|
||||
\method{set_slider_precision()},
|
||||
\method{set_slider_step()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_dial}{type, x, y, w, h, name}
|
||||
Add a dial object to the form. \\
|
||||
Methods:
|
||||
\method{set_dial_value()},
|
||||
\method{get_dial_value()},
|
||||
\method{set_dial_bounds()},
|
||||
\method{get_dial_bounds()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_positioner}{type, x, y, w, h, name}
|
||||
Add a positioner object to the form. \\
|
||||
Methods:
|
||||
\method{set_positioner_xvalue()},
|
||||
\method{set_positioner_yvalue()},
|
||||
\method{set_positioner_xbounds()},
|
||||
\method{set_positioner_ybounds()},
|
||||
\method{get_positioner_xvalue()},
|
||||
\method{get_positioner_yvalue()},
|
||||
\method{get_positioner_xbounds()},
|
||||
\method{get_positioner_ybounds()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_counter}{type, x, y, w, h, name}
|
||||
Add a counter object to the form. \\
|
||||
Methods:
|
||||
\method{set_counter_value()},
|
||||
\method{get_counter_value()},
|
||||
\method{set_counter_bounds()},
|
||||
\method{set_counter_step()},
|
||||
\method{set_counter_precision()},
|
||||
\method{set_counter_return()}.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_input}{type, x, y, w, h, name}
|
||||
Add a input object to the form. \\
|
||||
Methods:
|
||||
\method{set_input()},
|
||||
\method{get_input()},
|
||||
\method{set_input_color()},
|
||||
\method{set_input_return()}.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_menu}{type, x, y, w, h, name}
|
||||
Add a menu object to the form. \\
|
||||
Methods:
|
||||
\method{set_menu()},
|
||||
\method{get_menu()},
|
||||
\method{addto_menu()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_choice}{type, x, y, w, h, name}
|
||||
Add a choice object to the form. \\
|
||||
Methods:
|
||||
\method{set_choice()},
|
||||
\method{get_choice()},
|
||||
\method{clear_choice()},
|
||||
\method{addto_choice()},
|
||||
\method{replace_choice()},
|
||||
\method{delete_choice()},
|
||||
\method{get_choice_text()},
|
||||
\method{set_choice_fontsize()},
|
||||
\method{set_choice_fontstyle()}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[form]{add_browser}{type, x, y, w, h, name}
|
||||
Add a browser object to the form. \\
|
||||
Methods:
|
||||
\method{set_browser_topline()},
|
||||
\method{clear_browser()},
|
||||
\method{add_browser_line()},
|
||||
\method{addto_browser()},
|
||||
\method{insert_browser_line()},
|
||||
\method{delete_browser_line()},
|
||||
\method{replace_browser_line()},
|
||||
\method{get_browser_line()},
|
||||
\method{load_browser()},
|
||||
\method{get_browser_maxline()},
|
||||
\method{select_browser_line()},
|
||||
\method{deselect_browser_line()},
|
||||
\method{deselect_browser()},
|
||||
\method{isselected_browser_line()},
|
||||
\method{get_browser()},
|
||||
\method{set_browser_fontsize()},
|
||||
\method{set_browser_fontstyle()},
|
||||
\method{set_browser_specialkey()}.
|
||||
\end{methoddesc}
|
||||
|
||||
%---
|
||||
|
||||
\begin{methoddesc}[form]{add_timer}{type, x, y, w, h, name}
|
||||
Add a timer object to the form. \\
|
||||
Methods:
|
||||
\method{set_timer()},
|
||||
\method{get_timer()}.
|
||||
\end{methoddesc}
|
||||
\end{flushleft}
|
||||
|
||||
Form objects have the following data attributes; see the FORMS
|
||||
documentation:
|
||||
|
||||
\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
|
||||
\lineiii{window}{int (read-only)}{GL window id}
|
||||
\lineiii{w}{float}{form width}
|
||||
\lineiii{h}{float}{form height}
|
||||
\lineiii{x}{float}{form x origin}
|
||||
\lineiii{y}{float}{form y origin}
|
||||
\lineiii{deactivated}{int}{nonzero if form is deactivated}
|
||||
\lineiii{visible}{int}{nonzero if form is visible}
|
||||
\lineiii{frozen}{int}{nonzero if form is frozen}
|
||||
\lineiii{doublebuf}{int}{nonzero if double buffering on}
|
||||
\end{tableiii}
|
||||
|
||||
\subsection{FORMS Objects}
|
||||
\label{forms-objects}
|
||||
|
||||
Besides methods specific to particular kinds of FORMS objects, all
|
||||
FORMS objects also have the following methods:
|
||||
|
||||
\begin{methoddesc}[FORMS object]{set_call_back}{function, argument}
|
||||
Set the object's callback function and argument. When the object
|
||||
needs interaction, the callback function will be called with two
|
||||
arguments: the object, and the callback argument. (FORMS objects
|
||||
without a callback function are returned by \function{fl.do_forms()}
|
||||
or \function{fl.check_forms()} when they need interaction.) Call this
|
||||
method without arguments to remove the callback function.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{delete_object}{}
|
||||
Delete the object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{show_object}{}
|
||||
Show the object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{hide_object}{}
|
||||
Hide the object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{redraw_object}{}
|
||||
Redraw the object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{freeze_object}{}
|
||||
Freeze the object.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[FORMS object]{unfreeze_object}{}
|
||||
Unfreeze the object.
|
||||
\end{methoddesc}
|
||||
|
||||
%\begin{methoddesc}[FORMS object]{handle_object}{} XXX
|
||||
%\end{methoddesc}
|
||||
|
||||
%\begin{methoddesc}[FORMS object]{handle_object_direct}{} XXX
|
||||
%\end{methoddesc}
|
||||
|
||||
FORMS objects have these data attributes; see the FORMS documentation:
|
||||
|
||||
\begin{tableiii}{l|l|l}{member}{Name}{C Type}{Meaning}
|
||||
\lineiii{objclass}{int (read-only)}{object class}
|
||||
\lineiii{type}{int (read-only)}{object type}
|
||||
\lineiii{boxtype}{int}{box type}
|
||||
\lineiii{x}{float}{x origin}
|
||||
\lineiii{y}{float}{y origin}
|
||||
\lineiii{w}{float}{width}
|
||||
\lineiii{h}{float}{height}
|
||||
\lineiii{col1}{int}{primary color}
|
||||
\lineiii{col2}{int}{secondary color}
|
||||
\lineiii{align}{int}{alignment}
|
||||
\lineiii{lcol}{int}{label color}
|
||||
\lineiii{lsize}{float}{label font size}
|
||||
\lineiii{label}{string}{label string}
|
||||
\lineiii{lstyle}{int}{label style}
|
||||
\lineiii{pushed}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{focus}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{belowmouse}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{frozen}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{active}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{input}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{visible}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{radio}{int (read-only)}{(see FORMS docs)}
|
||||
\lineiii{automatic}{int (read-only)}{(see FORMS docs)}
|
||||
\end{tableiii}
|
||||
|
||||
|
||||
\section{\module{FL} ---
|
||||
Constants used with the \module{fl} module}
|
||||
|
||||
\declaremodule[fl-constants]{standard}{FL}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Constants used with the \module{fl} module.}
|
||||
|
||||
|
||||
This module defines symbolic constants needed to use the built-in
|
||||
module \refmodule{fl} (see above); they are equivalent to those defined in
|
||||
the C header file \code{<forms.h>} except that the name prefix
|
||||
\samp{FL_} is omitted. Read the module source for a complete list of
|
||||
the defined names. Suggested use:
|
||||
|
||||
\begin{verbatim}
|
||||
import fl
|
||||
from FL import *
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\section{\module{flp} ---
|
||||
Functions for loading stored FORMS designs}
|
||||
|
||||
\declaremodule{standard}{flp}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Functions for loading stored FORMS designs.}
|
||||
|
||||
|
||||
This module defines functions that can read form definitions created
|
||||
by the `form designer' (\program{fdesign}) program that comes with the
|
||||
FORMS library (see module \refmodule{fl} above).
|
||||
|
||||
For now, see the file \file{flp.doc} in the Python library source
|
||||
directory for a description.
|
||||
|
||||
XXX A complete description should be inserted here!
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
\section{\module{fm} ---
|
||||
\emph{Font Manager} interface}
|
||||
|
||||
\declaremodule{builtin}{fm}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{\emph{Font Manager} interface for SGI workstations.}
|
||||
|
||||
|
||||
This module provides access to the IRIS \emph{Font Manager} library.
|
||||
\index{Font Manager, IRIS}
|
||||
\index{IRIS Font Manager}
|
||||
It is available only on Silicon Graphics machines.
|
||||
See also: \emph{4Sight User's Guide}, section 1, chapter 5: ``Using
|
||||
the IRIS Font Manager.''
|
||||
|
||||
This is not yet a full interface to the IRIS Font Manager.
|
||||
Among the unsupported features are: matrix operations; cache
|
||||
operations; character operations (use string operations instead); some
|
||||
details of font info; individual glyph metrics; and printer matching.
|
||||
|
||||
It supports the following operations:
|
||||
|
||||
\begin{funcdesc}{init}{}
|
||||
Initialization function.
|
||||
Calls \cfunction{fminit()}.
|
||||
It is normally not necessary to call this function, since it is called
|
||||
automatically the first time the \module{fm} module is imported.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{findfont}{fontname}
|
||||
Return a font handle object.
|
||||
Calls \code{fmfindfont(\var{fontname})}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{enumerate}{}
|
||||
Returns a list of available font names.
|
||||
This is an interface to \cfunction{fmenumerate()}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{prstr}{string}
|
||||
Render a string using the current font (see the \function{setfont()} font
|
||||
handle method below).
|
||||
Calls \code{fmprstr(\var{string})}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setpath}{string}
|
||||
Sets the font search path.
|
||||
Calls \code{fmsetpath(\var{string})}.
|
||||
(XXX Does not work!?!)
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{fontpath}{}
|
||||
Returns the current font search path.
|
||||
\end{funcdesc}
|
||||
|
||||
Font handle objects support the following operations:
|
||||
|
||||
\begin{methoddesc}[font handle]{scalefont}{factor}
|
||||
Returns a handle for a scaled version of this font.
|
||||
Calls \code{fmscalefont(\var{fh}, \var{factor})}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[font handle]{setfont}{}
|
||||
Makes this font the current font.
|
||||
Note: the effect is undone silently when the font handle object is
|
||||
deleted.
|
||||
Calls \code{fmsetfont(\var{fh})}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[font handle]{getfontname}{}
|
||||
Returns this font's name.
|
||||
Calls \code{fmgetfontname(\var{fh})}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[font handle]{getcomment}{}
|
||||
Returns the comment string associated with this font.
|
||||
Raises an exception if there is none.
|
||||
Calls \code{fmgetcomment(\var{fh})}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[font handle]{getfontinfo}{}
|
||||
Returns a tuple giving some pertinent data about this font.
|
||||
This is an interface to \code{fmgetfontinfo()}.
|
||||
The returned tuple contains the following numbers:
|
||||
\code{(}\var{printermatched}, \var{fixed_width}, \var{xorig},
|
||||
\var{yorig}, \var{xsize}, \var{ysize}, \var{height},
|
||||
\var{nglyphs}\code{)}.
|
||||
\end{methoddesc}
|
||||
|
||||
\begin{methoddesc}[font handle]{getstrwidth}{string}
|
||||
Returns the width, in pixels, of \var{string} when drawn in this font.
|
||||
Calls \code{fmgetstrwidth(\var{fh}, \var{string})}.
|
||||
\end{methoddesc}
|
||||
|
|
@ -1,224 +0,0 @@
|
|||
\section{\module{gl} ---
|
||||
\emph{Graphics Library} interface}
|
||||
|
||||
\declaremodule{builtin}{gl}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Functions from the Silicon Graphics \emph{Graphics Library}.}
|
||||
|
||||
|
||||
This module provides access to the Silicon Graphics
|
||||
\emph{Graphics Library}.
|
||||
It is available only on Silicon Graphics machines.
|
||||
|
||||
\warning{Some illegal calls to the GL library cause the Python
|
||||
interpreter to dump core.
|
||||
In particular, the use of most GL calls is unsafe before the first
|
||||
window is opened.}
|
||||
|
||||
The module is too large to document here in its entirety, but the
|
||||
following should help you to get started.
|
||||
The parameter conventions for the C functions are translated to Python as
|
||||
follows:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
All (short, long, unsigned) int values are represented by Python
|
||||
integers.
|
||||
\item
|
||||
All float and double values are represented by Python floating point
|
||||
numbers.
|
||||
In most cases, Python integers are also allowed.
|
||||
\item
|
||||
All arrays are represented by one-dimensional Python lists.
|
||||
In most cases, tuples are also allowed.
|
||||
\item
|
||||
\begin{sloppypar}
|
||||
All string and character arguments are represented by Python strings,
|
||||
for instance,
|
||||
\code{winopen('Hi There!')}
|
||||
and
|
||||
\code{rotate(900, 'z')}.
|
||||
\end{sloppypar}
|
||||
\item
|
||||
All (short, long, unsigned) integer arguments or return values that are
|
||||
only used to specify the length of an array argument are omitted.
|
||||
For example, the C call
|
||||
|
||||
\begin{verbatim}
|
||||
lmdef(deftype, index, np, props)
|
||||
\end{verbatim}
|
||||
|
||||
is translated to Python as
|
||||
|
||||
\begin{verbatim}
|
||||
lmdef(deftype, index, props)
|
||||
\end{verbatim}
|
||||
|
||||
\item
|
||||
Output arguments are omitted from the argument list; they are
|
||||
transmitted as function return values instead.
|
||||
If more than one value must be returned, the return value is a tuple.
|
||||
If the C function has both a regular return value (that is not omitted
|
||||
because of the previous rule) and an output argument, the return value
|
||||
comes first in the tuple.
|
||||
Examples: the C call
|
||||
|
||||
\begin{verbatim}
|
||||
getmcolor(i, &red, &green, &blue)
|
||||
\end{verbatim}
|
||||
|
||||
is translated to Python as
|
||||
|
||||
\begin{verbatim}
|
||||
red, green, blue = getmcolor(i)
|
||||
\end{verbatim}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
The following functions are non-standard or have special argument
|
||||
conventions:
|
||||
|
||||
\begin{funcdesc}{varray}{argument}
|
||||
%JHXXX the argument-argument added
|
||||
Equivalent to but faster than a number of
|
||||
\code{v3d()}
|
||||
calls.
|
||||
The \var{argument} is a list (or tuple) of points.
|
||||
Each point must be a tuple of coordinates
|
||||
\code{(\var{x}, \var{y}, \var{z})} or \code{(\var{x}, \var{y})}.
|
||||
The points may be 2- or 3-dimensional but must all have the
|
||||
same dimension.
|
||||
Float and int values may be mixed however.
|
||||
The points are always converted to 3D double precision points
|
||||
by assuming \code{\var{z} = 0.0} if necessary (as indicated in the man page),
|
||||
and for each point
|
||||
\code{v3d()}
|
||||
is called.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{nvarray}{}
|
||||
Equivalent to but faster than a number of
|
||||
\code{n3f}
|
||||
and
|
||||
\code{v3f}
|
||||
calls.
|
||||
The argument is an array (list or tuple) of pairs of normals and points.
|
||||
Each pair is a tuple of a point and a normal for that point.
|
||||
Each point or normal must be a tuple of coordinates
|
||||
\code{(\var{x}, \var{y}, \var{z})}.
|
||||
Three coordinates must be given.
|
||||
Float and int values may be mixed.
|
||||
For each pair,
|
||||
\code{n3f()}
|
||||
is called for the normal, and then
|
||||
\code{v3f()}
|
||||
is called for the point.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{vnarray}{}
|
||||
Similar to
|
||||
\code{nvarray()}
|
||||
but the pairs have the point first and the normal second.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{nurbssurface}{s_k, t_k, ctl, s_ord, t_ord, type}
|
||||
% XXX s_k[], t_k[], ctl[][]
|
||||
Defines a nurbs surface.
|
||||
The dimensions of
|
||||
\code{\var{ctl}[][]}
|
||||
are computed as follows:
|
||||
\code{[len(\var{s_k}) - \var{s_ord}]},
|
||||
\code{[len(\var{t_k}) - \var{t_ord}]}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{nurbscurve}{knots, ctlpoints, order, type}
|
||||
Defines a nurbs curve.
|
||||
The length of ctlpoints is
|
||||
\code{len(\var{knots}) - \var{order}}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{pwlcurve}{points, type}
|
||||
Defines a piecewise-linear curve.
|
||||
\var{points}
|
||||
is a list of points.
|
||||
\var{type}
|
||||
must be
|
||||
\code{N_ST}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{pick}{n}
|
||||
\funcline{select}{n}
|
||||
The only argument to these functions specifies the desired size of the
|
||||
pick or select buffer.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{endpick}{}
|
||||
\funcline{endselect}{}
|
||||
These functions have no arguments.
|
||||
They return a list of integers representing the used part of the
|
||||
pick/select buffer.
|
||||
No method is provided to detect buffer overrun.
|
||||
\end{funcdesc}
|
||||
|
||||
Here is a tiny but complete example GL program in Python:
|
||||
|
||||
\begin{verbatim}
|
||||
import gl, GL, time
|
||||
|
||||
def main():
|
||||
gl.foreground()
|
||||
gl.prefposition(500, 900, 500, 900)
|
||||
w = gl.winopen('CrissCross')
|
||||
gl.ortho2(0.0, 400.0, 0.0, 400.0)
|
||||
gl.color(GL.WHITE)
|
||||
gl.clear()
|
||||
gl.color(GL.RED)
|
||||
gl.bgnline()
|
||||
gl.v2f(0.0, 0.0)
|
||||
gl.v2f(400.0, 400.0)
|
||||
gl.endline()
|
||||
gl.bgnline()
|
||||
gl.v2f(400.0, 0.0)
|
||||
gl.v2f(0.0, 400.0)
|
||||
gl.endline()
|
||||
time.sleep(5)
|
||||
|
||||
main()
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\begin{seealso}
|
||||
\seetitle[http://pyopengl.sourceforge.net/]
|
||||
{PyOpenGL: The Python OpenGL Binding}
|
||||
{An interface to OpenGL\index{OpenGL} is also available;
|
||||
see information about the
|
||||
\strong{PyOpenGL}\index{PyOpenGL} project online at
|
||||
\url{http://pyopengl.sourceforge.net/}. This may be a
|
||||
better option if support for SGI hardware from before
|
||||
about 1996 is not required.}
|
||||
\end{seealso}
|
||||
|
||||
|
||||
\section{\module{DEVICE} ---
|
||||
Constants used with the \module{gl} module}
|
||||
|
||||
\declaremodule{standard}{DEVICE}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Constants used with the \module{gl} module.}
|
||||
|
||||
This modules defines the constants used by the Silicon Graphics
|
||||
\emph{Graphics Library} that C programmers find in the header file
|
||||
\code{<gl/device.h>}.
|
||||
Read the module source file for details.
|
||||
|
||||
|
||||
\section{\module{GL} ---
|
||||
Constants used with the \module{gl} module}
|
||||
|
||||
\declaremodule[gl-constants]{standard}{GL}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Constants used with the \module{gl} module.}
|
||||
|
||||
This module contains constants used by the Silicon Graphics
|
||||
\emph{Graphics Library} from the C header file \code{<gl/gl.h>}.
|
||||
Read the module source file for details.
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
\section{\module{imgfile} ---
|
||||
Support for SGI imglib files}
|
||||
|
||||
\declaremodule{builtin}{imgfile}
|
||||
\platform{IRIX}
|
||||
\modulesynopsis{Support for SGI imglib files.}
|
||||
|
||||
|
||||
The \module{imgfile} module allows Python programs to access SGI imglib image
|
||||
files (also known as \file{.rgb} files). The module is far from
|
||||
complete, but is provided anyway since the functionality that there is
|
||||
enough in some cases. Currently, colormap files are not supported.
|
||||
|
||||
The module defines the following variables and functions:
|
||||
|
||||
\begin{excdesc}{error}
|
||||
This exception is raised on all errors, such as unsupported file type, etc.
|
||||
\end{excdesc}
|
||||
|
||||
\begin{funcdesc}{getsizes}{file}
|
||||
This function returns a tuple \code{(\var{x}, \var{y}, \var{z})} where
|
||||
\var{x} and \var{y} are the size of the image in pixels and
|
||||
\var{z} is the number of
|
||||
bytes per pixel. Only 3 byte RGB pixels and 1 byte greyscale pixels
|
||||
are currently supported.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{read}{file}
|
||||
This function reads and decodes the image on the specified file, and
|
||||
returns it as a Python string. The string has either 1 byte greyscale
|
||||
pixels or 4 byte RGBA pixels. The bottom left pixel is the first in
|
||||
the string. This format is suitable to pass to \function{gl.lrectwrite()},
|
||||
for instance.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{readscaled}{file, x, y, filter\optional{, blur}}
|
||||
This function is identical to read but it returns an image that is
|
||||
scaled to the given \var{x} and \var{y} sizes. If the \var{filter} and
|
||||
\var{blur} parameters are omitted scaling is done by
|
||||
simply dropping or duplicating pixels, so the result will be less than
|
||||
perfect, especially for computer-generated images.
|
||||
|
||||
Alternatively, you can specify a filter to use to smooth the image
|
||||
after scaling. The filter forms supported are \code{'impulse'},
|
||||
\code{'box'}, \code{'triangle'}, \code{'quadratic'} and
|
||||
\code{'gaussian'}. If a filter is specified \var{blur} is an optional
|
||||
parameter specifying the blurriness of the filter. It defaults to \code{1.0}.
|
||||
|
||||
\function{readscaled()} makes no attempt to keep the aspect ratio
|
||||
correct, so that is the users' responsibility.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{ttob}{flag}
|
||||
This function sets a global flag which defines whether the scan lines
|
||||
of the image are read or written from bottom to top (flag is zero,
|
||||
compatible with SGI GL) or from top to bottom(flag is one,
|
||||
compatible with X). The default is zero.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{write}{file, data, x, y, z}
|
||||
This function writes the RGB or greyscale data in \var{data} to image
|
||||
file \var{file}. \var{x} and \var{y} give the size of the image,
|
||||
\var{z} is 1 for 1 byte greyscale images or 3 for RGB images (which are
|
||||
stored as 4 byte values of which only the lower three bytes are used).
|
||||
These are the formats returned by \function{gl.lrectread()}.
|
||||
\end{funcdesc}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
\chapter{SGI IRIX Specific Services}
|
||||
\label{sgi}
|
||||
|
||||
The modules described in this chapter provide interfaces to features
|
||||
that are unique to SGI's IRIX operating system (versions 4 and 5).
|
||||
|
||||
\localmoduletable
|
||||
|
|
@ -46,11 +46,6 @@ document these.
|
|||
|
||||
\item[\module{posixpath}]
|
||||
--- Implementation of \module{os.path} on \POSIX.
|
||||
|
||||
\item[\module{bsddb185}]
|
||||
--- Backwards compatibility module for systems which still use the Berkeley
|
||||
DB 1.85 module. It is normally only available on certain BSD \UNIX-based
|
||||
systems. It should never be used directly.
|
||||
\end{description}
|
||||
|
||||
|
||||
|
|
@ -97,17 +92,3 @@ installing the shared object if using dynamically-loaded extensions.
|
|||
--- Measure time intervals to high resolution (use \function{time.clock()}
|
||||
instead).
|
||||
\end{description}
|
||||
|
||||
\section{SGI-specific Extension modules}
|
||||
|
||||
The following are SGI specific, and may be out of touch with the
|
||||
current version of reality.
|
||||
|
||||
\begin{description}
|
||||
\item[\module{cl}]
|
||||
--- Interface to the SGI compression library.
|
||||
|
||||
\item[\module{sv}]
|
||||
--- Interface to the ``simple video'' board on SGI Indigo
|
||||
(obsolete hardware).
|
||||
\end{description}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue