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:
Guido van Rossum 2007-05-11 16:50:42 +00:00
parent bdde01168f
commit 0368b726a1
57 changed files with 842 additions and 22519 deletions

View file

@ -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}

View file

@ -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}

View file

@ -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}

View file

@ -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}

View file

@ -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}

View file

@ -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!

View file

@ -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}

View file

@ -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.

View file

@ -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}

View file

@ -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

View file

@ -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}