annotate Modules/cstubs @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents d40cd910d684
children 6f1db534dfae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
1 /***********************************************************
2061
172ba04a5191 Added 1995 to copyright message.
Guido van Rossum <guido@python.org>
parents: 1746
diff changeset
2 Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
172ba04a5191 Added 1995 to copyright message.
Guido van Rossum <guido@python.org>
parents: 1746
diff changeset
3 The Netherlands.
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
4
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
5 All Rights Reserved
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
6
4503
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
7 Permission to use, copy, modify, and distribute this software and its
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
8 documentation for any purpose and without fee is hereby granted,
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
9 provided that the above copyright notice appear in all copies and that
4503
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
10 both that copyright notice and this permission notice appear in
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
11 supporting documentation, and that the names of Stichting Mathematisch
4503
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
12 Centrum or CWI or Corporation for National Research Initiatives or
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
13 CNRI not be used in advertising or publicity pertaining to
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
14 distribution of the software without specific, written prior
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
15 permission.
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
16
4503
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
17 While CWI is the initial source for this software, a modified version
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
18 is made available by the Corporation for National Research Initiatives
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
19 (CNRI) at the Internet address ftp://ftp.python.org.
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
20
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
21 STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
22 REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
23 MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
24 CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
25 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
26 PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
27 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
65d2d8e67da3 New permission notice, includes CNRI.
Guido van Rossum <guido@python.org>
parents: 2061
diff changeset
28 PERFORMANCE OF THIS SOFTWARE.
1746
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
29
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
30 ******************************************************************/
1940892d2fe3 Merge alpha100 branch back to main trunk
Guido van Rossum <guido@python.org>
parents: 1443
diff changeset
31
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 /*
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 Input used to generate the Python module "glmodule.c".
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
34 The stub generator is a Python script called "cgen.py".
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 Each definition must be contained on one line:
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
37
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 <returntype> <name> <type> <arg> <type> <arg>
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
39
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 <returntype> can be: void, short, long (XXX maybe others?)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
41
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 <type> can be: char, string, short, float, long, or double
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 string indicates a null terminated string;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 if <type> is char and <arg> begins with a *, the * is stripped
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 and <type> is changed into string
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
46
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 <arg> has the form <mode> or <mode>[<subscript>]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 where <mode> can be
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 s: arg is sent
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 r: arg is received (arg is a pointer)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 and <subscript> can be (N and I are numbers):
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 N
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
53 argI
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 retval
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 N*argI
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
56 N*I
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 N*retval
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
58 In the case where the subscript consists of two parts
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
59 separated by *, the first part is the width of the matrix, and
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
60 the second part is the length of the matrix. This order is
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
61 opposite from the order used in C to declare a two-dimensional
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
62 matrix.
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
64
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
65 /*
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
66 * An attempt has been made to make this module switch threads on qread
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
67 * calls. It is far from safe, though.
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
68 */
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
69
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 #include <gl.h>
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 #include <device.h>
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents: 6
diff changeset
72
4626
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
73 #ifdef __sgi
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
74 extern int devport();
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
75 extern int textwritemask();
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
76 extern int pagewritemask();
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
77 extern int gewrite();
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
78 extern int gettp();
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
79 #endif
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
80
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
81 #include "Python.h"
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 #include "cgensupport.h"
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
83
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 /*
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
85 Some stubs are too complicated for the stub generator.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 We can include manually written versions of them here.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 A line starting with '%' gives the name of the function so the stub
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 generator can include it in the table of functions.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
90
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
91 % qread
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
92
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
93 static PyObject *
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
94 gl_qread(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
95 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
96 PyObject *args;
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
97 {
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
98 long retval;
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
99 short arg1 ;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
100 Py_BEGIN_ALLOW_THREADS
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
101 retval = qread( & arg1 );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
102 Py_END_ALLOW_THREADS
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
103 { PyObject *v = PyTuple_New( 2 );
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
104 if (v == NULL) return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
105 PyTuple_SetItem(v, 0, mknewlongobject(retval));
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
106 PyTuple_SetItem(v, 1, mknewshortobject(arg1));
947
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
107 return v;
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
108 }
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
109 }
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
110
260d96db112f Modified to allow other threads to run in a multithreaded environment.
Jack Jansen <jack.jansen@cwi.nl>
parents: 906
diff changeset
111
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
112 /*
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
113 varray -- an array of v.. calls.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
114 The argument is an array (maybe list or tuple) of points.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
115 Each point must be a tuple or list of coordinates (x, y, z).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 The points may be 2- or 3-dimensional but must all have the
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
117 same dimension. Float and int values may be mixed however.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
118 The points are always converted to 3D double precision points
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 by assuming z=0.0 if necessary (as indicated in the man page),
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
120 and for each point v3d() is called.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
121 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
122
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
123 % varray
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
124
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
125 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
126 gl_varray(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
127 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
128 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
130 PyObject *v, *w=NULL;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
131 int i, n, width;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
132 double vec[3];
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
133 PyObject * (*getitem) Py_FPROTO((PyObject *, int));
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
134
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
135 if (!PyArg_GetObject(args, 1, 0, &v))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
136 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
137
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
138 if (PyList_Check(v)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
139 n = PyList_Size(v);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
140 getitem = PyList_GetItem;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
141 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
142 else if (PyTuple_Check(v)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
143 n = PyTuple_Size(v);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
144 getitem = PyTuple_GetItem;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
145 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
146 else {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
147 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
148 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
149 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
150
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
151 if (n == 0) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
152 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
153 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
155 if (n > 0)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 w = (*getitem)(v, 0);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
157
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
158 width = 0;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
159 if (w == NULL) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
160 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
161 else if (PyList_Check(w)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
162 width = PyList_Size(w);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
163 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
164 else if (PyTuple_Check(w)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
165 width = PyTuple_Size(w);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
166 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
167
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
168 switch (width) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
169 case 2:
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
170 vec[2] = 0.0;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
171 /* Fall through */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
172 case 3:
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
173 break;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
174 default:
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
175 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
176 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
177 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
178
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
179 for (i = 0; i < n; i++) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
180 w = (*getitem)(v, i);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
181 if (!PyArg_GetDoubleArray(w, 1, 0, width, vec))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
182 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
183 v3d(vec);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
184 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
185
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
186 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
187 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
188 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
189
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
190 /*
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
191 vnarray, nvarray -- an array of n3f and v3f calls.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
192 The argument is an array (list or tuple) of pairs of points and normals.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
193 Each pair is a tuple (NOT a list) of a point and a normal for that point.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
194 Each point or normal must be a tuple (NOT a list) of coordinates (x, y, z).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
195 Three coordinates must be given. Float and int values may be mixed.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
196 For each pair, n3f() is called for the normal, and then v3f() is called
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
197 for the vector.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
198
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
199 vnarray and nvarray differ only in the order of the vector and normal in
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
200 the pair: vnarray expects (v, n) while nvarray expects (n, v).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
201 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
202
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
203 static PyObject *gen_nvarray(); /* Forward */
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
204
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
205 % nvarray
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
206
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
207 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
208 gl_nvarray(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
209 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
210 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
211 {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
212 return gen_nvarray(args, 0);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
213 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
214
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
215 % vnarray
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
216
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
217 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
218 gl_vnarray(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
219 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
220 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
221 {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
222 return gen_nvarray(args, 1);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
223 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
224
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
225 /* Generic, internal version of {nv,nv}array: inorm indicates the
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
226 argument order, 0: normal first, 1: vector first. */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
227
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
228 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
229 gen_nvarray(args, inorm)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
230 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
231 int inorm;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
232 {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
233 PyObject *v, *w, *wnorm, *wvec;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
234 int i, n;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
235 float norm[3], vec[3];
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
236 PyObject * (*getitem) Py_FPROTO((PyObject *, int));
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
237
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
238 if (!PyArg_GetObject(args, 1, 0, &v))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
239 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
240
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
241 if (PyList_Check(v)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
242 n = PyList_Size(v);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
243 getitem = PyList_GetItem;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
244 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
245 else if (PyTuple_Check(v)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
246 n = PyTuple_Size(v);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
247 getitem = PyTuple_GetItem;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
248 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
249 else {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
250 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
251 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
252 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
253
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
254 for (i = 0; i < n; i++) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
255 w = (*getitem)(v, i);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
256 if (!PyTuple_Check(w) || PyTuple_Size(w) != 2) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
257 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
258 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
259 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
260 wnorm = PyTuple_GetItem(w, inorm);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
261 wvec = PyTuple_GetItem(w, 1 - inorm);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
262 if (!PyArg_GetFloatArray(wnorm, 1, 0, 3, norm) ||
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
263 !PyArg_GetFloatArray(wvec, 1, 0, 3, vec))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
264 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
265 n3f(norm);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
266 v3f(vec);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
267 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
268
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
269 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
270 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
271 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
272
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
273 /* nurbssurface(s_knots[], t_knots[], ctl[][], s_order, t_order, type).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
274 The dimensions of ctl[] are computed as follows:
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
275 [len(s_knots) - s_order], [len(t_knots) - t_order]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
276 */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
277
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
278 % nurbssurface
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
279
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
280 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
281 gl_nurbssurface(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
282 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
283 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
284 {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
285 long arg1 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
286 double * arg2 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
287 long arg3 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
288 double * arg4 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
289 double *arg5 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
290 long arg6 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
291 long arg7 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
292 long arg8 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
293 long ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
294 long s_byte_stride, t_byte_stride;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
295 long s_nctl, t_nctl;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
296 long s, t;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
297 PyObject *v, *w, *pt;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
298 double *pnext;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
299 if (!PyArg_GetLongArraySize(args, 6, 0, &arg1))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
300 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
301 if ((arg2 = PyMem_NEW(double, arg1 )) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
302 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
303 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
304 if (!PyArg_GetDoubleArray(args, 6, 0, arg1 , arg2))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
305 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
306 if (!PyArg_GetLongArraySize(args, 6, 1, &arg3))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
307 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
308 if ((arg4 = PyMem_NEW(double, arg3 )) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
309 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
310 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
311 if (!PyArg_GetDoubleArray(args, 6, 1, arg3 , arg4))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
312 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
313 if (!PyArg_GetLong(args, 6, 3, &arg6))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
314 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
315 if (!PyArg_GetLong(args, 6, 4, &arg7))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
316 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
317 if (!PyArg_GetLong(args, 6, 5, &arg8))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
318 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
319 if (arg8 == N_XYZ)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
320 ncoords = 3;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
321 else if (arg8 == N_XYZW)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
322 ncoords = 4;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
323 else {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
324 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
325 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
326 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
327 s_nctl = arg1 - arg6;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
328 t_nctl = arg3 - arg7;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
329 if (!PyArg_GetObject(args, 6, 2, &v))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
330 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
331 if (!PyList_Check(v) || PyList_Size(v) != s_nctl) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
332 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
333 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
334 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
335 if ((arg5 = PyMem_NEW(double, s_nctl*t_nctl*ncoords )) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
336 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
337 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
338 pnext = arg5;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
339 for (s = 0; s < s_nctl; s++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
340 w = PyList_GetItem(v, s);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
341 if (w == NULL || !PyList_Check(w) ||
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
342 PyList_Size(w) != t_nctl) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
343 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
344 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
345 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
346 for (t = 0; t < t_nctl; t++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
347 pt = PyList_GetItem(w, t);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
348 if (!PyArg_GetDoubleArray(pt, 1, 0, ncoords, pnext))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
349 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
350 pnext += ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
351 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
352 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
353 s_byte_stride = sizeof(double) * ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
354 t_byte_stride = s_byte_stride * s_nctl;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
355 nurbssurface( arg1 , arg2 , arg3 , arg4 ,
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
356 s_byte_stride , t_byte_stride , arg5 , arg6 , arg7 , arg8 );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
357 PyMem_DEL(arg2);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
358 PyMem_DEL(arg4);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
359 PyMem_DEL(arg5);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
360 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
361 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
362 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
363
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
364 /* nurbscurve(knots, ctlpoints, order, type).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
365 The length of ctlpoints is len(knots)-order. */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
366
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
367 %nurbscurve
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
368
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
369 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
370 gl_nurbscurve(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
371 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
372 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
373 {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
374 long arg1 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
375 double * arg2 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
376 long arg3 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
377 double * arg4 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
378 long arg5 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
379 long arg6 ;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
380 int ncoords, npoints;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
381 int i;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
382 PyObject *v;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
383 double *pnext;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
384 if (!PyArg_GetLongArraySize(args, 4, 0, &arg1))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
385 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
386 if ((arg2 = PyMem_NEW(double, arg1 )) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
387 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
388 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
389 if (!PyArg_GetDoubleArray(args, 4, 0, arg1 , arg2))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
390 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
391 if (!PyArg_GetLong(args, 4, 2, &arg5))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
392 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
393 if (!PyArg_GetLong(args, 4, 3, &arg6))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
394 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
395 if (arg6 == N_ST)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
396 ncoords = 2;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
397 else if (arg6 == N_STW)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
398 ncoords = 3;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
399 else {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
400 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
401 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
402 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
403 npoints = arg1 - arg5;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
404 if (!PyArg_GetObject(args, 4, 1, &v))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
405 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
406 if (!PyList_Check(v) || PyList_Size(v) != npoints) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
407 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
408 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
409 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
410 if ((arg4 = PyMem_NEW(double, npoints*ncoords )) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
411 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
412 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
413 pnext = arg4;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
414 for (i = 0; i < npoints; i++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
415 if (!PyArg_GetDoubleArray(PyList_GetItem(v, i), 1, 0, ncoords, pnext))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
416 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
417 pnext += ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
418 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
419 arg3 = (sizeof(double)) * ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
420 nurbscurve( arg1 , arg2 , arg3 , arg4 , arg5 , arg6 );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
421 PyMem_DEL(arg2);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
422 PyMem_DEL(arg4);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
423 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
424 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
425 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
426
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
427 /* pwlcurve(points, type).
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
428 Points is a list of points. Type must be N_ST. */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
429
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
430 %pwlcurve
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
431
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
432 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
433 gl_pwlcurve(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
434 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
435 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
436 {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
437 PyObject *v;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
438 long type;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
439 double *data, *pnext;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
440 long npoints, ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
441 int i;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
442 if (!PyArg_GetObject(args, 2, 0, &v))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
443 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
444 if (!PyArg_GetLong(args, 2, 1, &type))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
445 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
446 if (!PyList_Check(v)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
447 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
448 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
449 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
450 npoints = PyList_Size(v);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
451 if (type == N_ST)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
452 ncoords = 2;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
453 else {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
454 PyErr_BadArgument();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
455 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
456 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
457 if ((data = PyMem_NEW(double, npoints*ncoords)) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
458 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
459 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
460 pnext = data;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
461 for (i = 0; i < npoints; i++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
462 if (!PyArg_GetDoubleArray(PyList_GetItem(v, i), 1, 0, ncoords, pnext))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
463 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
464 pnext += ncoords;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
465 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
466 pwlcurve(npoints, data, sizeof(double)*ncoords, type);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
467 PyMem_DEL(data);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
468 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
469 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
470 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
471
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
472
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
473 /* Picking and Selecting */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
474
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
475 static short *pickbuffer = NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
476 static long pickbuffersize;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
477
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
478 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
479 pick_select(args, func)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
480 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
481 void (*func)();
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
482 {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
483 if (!PyArg_GetLong(args, 1, 0, &pickbuffersize))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
484 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
485 if (pickbuffer != NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
486 PyErr_SetString(PyExc_RuntimeError,
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
487 "pick/gselect: already picking/selecting");
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
488 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
489 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
490 if ((pickbuffer = PyMem_NEW(short, pickbuffersize)) == NULL) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
491 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
492 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
493 (*func)(pickbuffer, pickbuffersize);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
494 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
495 return Py_None;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
496 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
497
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
498 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
499 endpick_select(args, func)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
500 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
501 long (*func)();
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
502 {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
503 PyObject *v, *w;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
504 int i, nhits, n;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
505 if (!PyArg_NoArgs(args))
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
506 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
507 if (pickbuffer == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
508 PyErr_SetString(PyExc_RuntimeError,
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
509 "endpick/endselect: not in pick/select mode");
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
510 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
511 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
512 nhits = (*func)(pickbuffer);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
513 if (nhits < 0) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
514 nhits = -nhits; /* How to report buffer overflow otherwise? */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
515 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
516 /* Scan the buffer to see how many integers */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
517 n = 0;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
518 for (; nhits > 0; nhits--) {
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
519 n += 1 + pickbuffer[n];
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
520 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
521 v = PyList_New(n);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
522 if (v == NULL)
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
523 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
524 /* XXX Could do it nicer and interpret the data structure here,
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
525 returning a list of lists. But this can be done in Python... */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
526 for (i = 0; i < n; i++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
527 w = PyInt_FromLong((long)pickbuffer[i]);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
528 if (w == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
529 Py_DECREF(v);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
530 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
531 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
532 PyList_SetItem(v, i, w);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
533 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
534 PyMem_DEL(pickbuffer);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
535 pickbuffer = NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
536 return v;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
537 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
538
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
539 extern void pick(), gselect();
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
540 extern long endpick(), endselect();
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
541
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
542 %pick
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
543 static PyObject *gl_pick(self, args) PyObject *self, *args; {
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
544 return pick_select(args, pick);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
545 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
546
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
547 %endpick
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
548 static PyObject *gl_endpick(self, args) PyObject *self, *args; {
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
549 return endpick_select(args, endpick);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
550 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
551
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
552 %gselect
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
553 static PyObject *gl_gselect(self, args) PyObject *self, *args; {
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
554 return pick_select(args, gselect);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
555 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
556
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
557 %endselect
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
558 static PyObject *gl_endselect(self, args) PyObject *self, *args; {
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
559 return endpick_select(args, endselect);
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
560 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
561
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
562
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
563 /* XXX The generator botches this one. Here's a quick hack to fix it. */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
564
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
565 /* XXX The generator botches this one. Here's a quick hack to fix it. */
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
566
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
567 % getmatrix float r[16]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
568
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
569 static PyObject *
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
570 gl_getmatrix(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
571 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
572 PyObject *args;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
573 {
1356
043da19302ef Several optimizations and speed improvements.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1232
diff changeset
574 Matrix arg1;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
575 PyObject *v, *w;
1356
043da19302ef Several optimizations and speed improvements.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1232
diff changeset
576 int i, j;
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
577 getmatrix( arg1 );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
578 v = PyList_New(16);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
579 if (v == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
580 return PyErr_NoMemory();
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
581 }
1356
043da19302ef Several optimizations and speed improvements.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1232
diff changeset
582 for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) {
043da19302ef Several optimizations and speed improvements.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1232
diff changeset
583 w = mknewfloatobject(arg1[i][j]);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
584 if (w == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
585 Py_DECREF(v);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
586 return NULL;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
587 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
588 PyList_SetItem(v, i*4+j, w);
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
589 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
590 return v;
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
591 }
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
592
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
593 /* Here's an alternate version that returns a 4x4 matrix instead of
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
594 a vector. Unfortunately it is incompatible with loadmatrix and
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
595 multmatrix... */
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
596
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
597 % altgetmatrix float r[4][4]
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
598
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
599 static PyObject *
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
600 gl_altgetmatrix(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
601 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
602 PyObject *args;
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
603 {
1356
043da19302ef Several optimizations and speed improvements.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1232
diff changeset
604 Matrix arg1;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
605 PyObject *v, *w;
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
606 int i, j;
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
607 getmatrix( arg1 );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
608 v = PyList_New(4);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
609 if (v == NULL) {
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
610 return NULL;
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
611 }
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
612 for (i = 0; i < 4; i++) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
613 w = PyList_New(4);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
614 if (w == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
615 Py_DECREF(v);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
616 return NULL;
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
617 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
618 PyList_SetItem(v, i, w);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
619 }
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
620 for (i = 0; i < 4; i++) {
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
621 for (j = 0; j < 4; j++) {
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
622 w = mknewfloatobject(arg1[i][j]);
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
623 if (w == NULL) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
624 Py_DECREF(v);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
625 return NULL;
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
626 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
627 PyList_SetItem(PyList_GetItem(v, i), j, w);
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
628 }
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
629 }
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
630 return v;
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
631 }
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
632
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
633 % lrectwrite
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
634
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
635 static PyObject *
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
636 gl_lrectwrite(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
637 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
638 PyObject *args;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
639 {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
640 short x1 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
641 short y1 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
642 short x2 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
643 short y2 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
644 string parray ;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
645 PyObject *s;
4626
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
646 #if 0
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
647 int pixcount;
4626
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
648 #endif
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
649 if (!PyArg_GetShort(args, 5, 0, &x1))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
650 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
651 if (!PyArg_GetShort(args, 5, 1, &y1))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
652 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
653 if (!PyArg_GetShort(args, 5, 2, &x2))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
654 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
655 if (!PyArg_GetShort(args, 5, 3, &y2))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
656 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
657 if (!PyArg_GetString(args, 5, 4, &parray))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
658 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
659 if (!PyArg_GetObject(args, 5, 4, &s))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
660 return NULL;
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
661 #if 0
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
662 /* Don't check this, it breaks experiments with pixmode(PM_SIZE, ...) */
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
663 pixcount = (long)(x2+1-x1) * (long)(y2+1-y1);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
664 if (!PyString_Check(s) || PyString_Size(s) != pixcount*sizeof(long)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
665 PyErr_SetString(PyExc_RuntimeError,
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
666 "string arg to lrectwrite has wrong size");
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
667 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
668 }
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
669 #endif
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
670 lrectwrite( x1 , y1 , x2 , y2 , (unsigned long *) parray );
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
671 Py_INCREF(Py_None);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
672 return Py_None;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
673 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
674
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
675 % lrectread
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
676
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
677 static PyObject *
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
678 gl_lrectread(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
679 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
680 PyObject *args;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
681 {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
682 short x1 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
683 short y1 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
684 short x2 ;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
685 short y2 ;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
686 PyObject *parray;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
687 int pixcount;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
688 if (!PyArg_GetShort(args, 4, 0, &x1))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
689 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
690 if (!PyArg_GetShort(args, 4, 1, &y1))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
691 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
692 if (!PyArg_GetShort(args, 4, 2, &x2))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
693 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
694 if (!PyArg_GetShort(args, 4, 3, &y2))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
695 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
696 pixcount = (long)(x2+1-x1) * (long)(y2+1-y1);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
697 parray = PyString_FromStringAndSize((char *)NULL, pixcount*sizeof(long));
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
698 if (parray == NULL)
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
699 return NULL; /* No memory */
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
700 lrectread(x1, y1, x2, y2, (unsigned long *) PyString_AsString(parray));
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
701 return parray;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
702 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
703
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
704 % readdisplay
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
705
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
706 static PyObject *
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
707 gl_readdisplay(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
708 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
709 PyObject *args;
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
710 {
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
711 short x1, y1, x2, y2;
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
712 unsigned long *parray, hints;
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
713 long size, size_ret;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
714 PyObject *rv;
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
715
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
716 if ( !PyArg_Parse(args, "hhhhl", &x1, &y1, &x2, &y2, &hints) )
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
717 return 0;
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
718 size = (long)(x2+1-x1) * (long)(y2+1-y1);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
719 rv = PyString_FromStringAndSize((char *)NULL, size*sizeof(long));
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
720 if ( rv == NULL )
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
721 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
722 parray = (unsigned long *)PyString_AsString(rv);
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
723 size_ret = readdisplay(x1, y1, x2, y2, parray, hints);
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
724 if ( size_ret != size ) {
4626
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
725 printf("gl_readdisplay: got %ld pixels, expected %ld\n",
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
726 size_ret, size);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
727 PyErr_SetString(PyExc_RuntimeError, "readdisplay returned unexpected length");
1218
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
728 return NULL;
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
729 }
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
730 return rv;
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
731 }
51223ce95a61 Added readdisplay() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1039
diff changeset
732
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
733 /* Desperately needed, here are tools to compress and decompress
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
734 the data manipulated by lrectread/lrectwrite.
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
735
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
736 gl.packrect(width, height, packfactor, bigdata) --> smalldata
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
737 makes 'bigdata' 4*(packfactor**2) times smaller by:
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
738 - turning it into B/W (a factor 4)
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
739 - replacing squares of size pacfactor by one
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
740 representative
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
741
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
742 gl.unpackrect(width, height, packfactor, smalldata) --> bigdata
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
743 is the inverse; the numeric arguments must be *the same*.
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
744
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
745 Both work best if width and height are multiples of packfactor
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
746 (in fact unpackrect will leave garbage bytes).
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
747 */
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
748
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
749 % packrect
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
750
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
751 static PyObject *
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
752 gl_packrect(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
753 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
754 PyObject *args;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
755 {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
756 long width, height, packfactor;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
757 char *s;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
758 PyObject *unpacked, *packed;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
759 int pixcount, packedcount, x, y, r, g, b;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
760 unsigned long pixel;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
761 unsigned char *p;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
762 unsigned long *parray;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
763 if (!PyArg_GetLong(args, 4, 0, &width))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
764 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
765 if (!PyArg_GetLong(args, 4, 1, &height))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
766 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
767 if (!PyArg_GetLong(args, 4, 2, &packfactor))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
768 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
769 if (!PyArg_GetString(args, 4, 3, &s)) /* For type checking only */
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
770 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
771 if (!PyArg_GetObject(args, 4, 3, &unpacked))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
772 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
773 if (width <= 0 || height <= 0 || packfactor <= 0) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
774 PyErr_SetString(PyExc_RuntimeError, "packrect args must be > 0");
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
775 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
776 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
777 pixcount = width*height;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
778 packedcount = ((width+packfactor-1)/packfactor) *
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
779 ((height+packfactor-1)/packfactor);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
780 if (PyString_Size(unpacked) != pixcount*sizeof(long)) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
781 PyErr_SetString(PyExc_RuntimeError,
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
782 "string arg to packrect has wrong size");
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
783 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
784 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
785 packed = PyString_FromStringAndSize((char *)NULL, packedcount);
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
786 if (packed == NULL)
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
787 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
788 parray = (unsigned long *) PyString_AsString(unpacked);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
789 p = (unsigned char *) PyString_AsString(packed);
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
790 for (y = 0; y < height; y += packfactor, parray += packfactor*width) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
791 for (x = 0; x < width; x += packfactor) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
792 pixel = parray[x];
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
793 r = pixel & 0xff;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
794 g = (pixel >> 8) & 0xff;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
795 b = (pixel >> 16) & 0xff;
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
796 *p++ = (30*r+59*g+11*b) / 100;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
797 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
798 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
799 return packed;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
800 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
801
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
802 % unpackrect
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
803
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
804 static unsigned long unpacktab[256];
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
805 static int unpacktab_inited = 0;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
806
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
807 static PyObject *
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
808 gl_unpackrect(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
809 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
810 PyObject *args;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
811 {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
812 long width, height, packfactor;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
813 char *s;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
814 PyObject *unpacked, *packed;
4626
94ce3e01c30c Changes to keep gcc -Wall happy.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
815 int pixcount, packedcount;
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
816 register unsigned char *p;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
817 register unsigned long *parray;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
818 if (!unpacktab_inited) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
819 register int white;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
820 for (white = 256; --white >= 0; )
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
821 unpacktab[white] = white * 0x010101L;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
822 unpacktab_inited++;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
823 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
824 if (!PyArg_GetLong(args, 4, 0, &width))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
825 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
826 if (!PyArg_GetLong(args, 4, 1, &height))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
827 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
828 if (!PyArg_GetLong(args, 4, 2, &packfactor))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
829 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
830 if (!PyArg_GetString(args, 4, 3, &s)) /* For type checking only */
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
831 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
832 if (!PyArg_GetObject(args, 4, 3, &packed))
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
833 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
834 if (width <= 0 || height <= 0 || packfactor <= 0) {
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
835 PyErr_SetString(PyExc_RuntimeError, "packrect args must be > 0");
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
836 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
837 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
838 pixcount = width*height;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
839 packedcount = ((width+packfactor-1)/packfactor) *
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
840 ((height+packfactor-1)/packfactor);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
841 if (PyString_Size(packed) != packedcount) {
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
842 PyErr_SetString(PyExc_RuntimeError,
434
487b7c62ae77 Improved RGB --> grayscale conversion.
Guido van Rossum <guido@python.org>
parents: 389
diff changeset
843 "string arg to unpackrect has wrong size");
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
844 return NULL;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
845 }
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
846 unpacked = PyString_FromStringAndSize((char *)NULL, pixcount*sizeof(long));
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
847 if (unpacked == NULL)
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
848 return NULL;
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
849 parray = (unsigned long *) PyString_AsString(unpacked);
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
850 p = (unsigned char *) PyString_AsString(packed);
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
851 if (packfactor == 1 && width*height > 0) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
852 /* Just expand bytes to longs */
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
853 register int x = width * height;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
854 do {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
855 *parray++ = unpacktab[*p++];
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
856 } while (--x >= 0);
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
857 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
858 else {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
859 register int y;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
860 for (y = 0; y < height-packfactor+1;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
861 y += packfactor, parray += packfactor*width) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
862 register int x;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
863 for (x = 0; x < width-packfactor+1; x += packfactor) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
864 register unsigned long pixel = unpacktab[*p++];
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
865 register int i;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
866 for (i = packfactor*width; (i-=width) >= 0;) {
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
867 register int j;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
868 for (j = packfactor; --j >= 0; )
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
869 parray[i+x+j] = pixel;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
870 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
871 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
872 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
873 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
874 return unpacked;
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
875 }
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
876
1039
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
877 % gversion
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
878 static PyObject *
1039
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
879 gl_gversion(self, args)
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
880 PyObject *self;
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
881 PyObject *args;
1039
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
882 {
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
883 char buf[20];
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
884 gversion(buf);
5353
d40cd910d684 Quickly renamed.
Guido van Rossum <guido@python.org>
parents: 4626
diff changeset
885 return PyString_FromString(buf);
1039
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
886 }
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
887
6aa0ee14ac2e Made struct a standard built-in module; added string args to {set,get}sockopt;
Guido van Rossum <guido@python.org>
parents: 948
diff changeset
888
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
889 /* End of manually written stubs */
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
890
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
891 %%
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
892
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
893 long getshade
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
894 if !solaris void devport short s long s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
895 void rdr2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
896 void rectfs short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
897 void rects short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
898 void rmv2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
899 void noport
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
900 void popviewport
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
901 void clear
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
902 void clearhitcode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
903 void closeobj
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
904 void cursoff
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
905 void curson
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
906 void doublebuffer
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
907 void finish
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
908 void gconfig
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
909 void ginit
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
910 void greset
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
911 void multimap
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
912 void onemap
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
913 void popattributes
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
914 void popmatrix
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
915 void pushattributes
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
916 void pushmatrix
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
917 void pushviewport
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
918 void qreset
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
919 void RGBmode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
920 void singlebuffer
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
921 void swapbuffers
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
922 void gsync
677
6441aa6a4126 Addef gflush
Guido van Rossum <guido@python.org>
parents: 434
diff changeset
923 void gflush
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
924 void tpon
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
925 void tpoff
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
926 void clkon
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
927 void clkoff
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
928 void ringbell
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
929 #void callfunc
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
930 void gbegin
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
931 void textinit
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
932 void initnames
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
933 void pclos
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
934 void popname
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
935 if !solaris void spclos
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
936 void zclear
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
937 void screenspace
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
938 void reshapeviewport
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
939 void winpush
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
940 void winpop
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
941 void foreground
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
942 void endfullscrn
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
943 if !solaris void endpupmode
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
944 void fullscrn
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
945 if !solaris void pupmode
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
946 void winconstraints
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
947 void pagecolor short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
948 void textcolor short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
949 void color short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
950 void curveit short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
951 void font short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
952 void linewidth short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
953 void setlinestyle short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
954 void setmap short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
955 void swapinterval short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
956 void writemask short s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
957 if !solaris void textwritemask short s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
958 void qdevice short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
959 void unqdevice short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
960 void curvebasis short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
961 void curveprecision short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
962 void loadname short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
963 void passthrough short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
964 void pushname short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
965 void setmonitor short s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
966 if !solaris void setshade short s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
967 void setpattern short s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
968 if !solaris void pagewritemask short s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
969 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
970 void callobj long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
971 void delobj long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
972 void editobj long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
973 void makeobj long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
974 void maketag long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
975 void chunksize long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
976 void compactify long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
977 void deltag long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
978 void lsrepeat long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
979 void objinsert long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
980 void objreplace long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
981 void winclose long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
982 void blanktime long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
983 void freepup long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
984 # This is not in the library!?
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
985 ###void pupcolor long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
986 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
987 void backbuffer long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
988 void frontbuffer long s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
989 if !solaris void lsbackup long s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
990 void resetls long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
991 void lampon long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
992 void lampoff long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
993 void setbell long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
994 void blankscreen long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
995 void depthcue long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
996 void zbuffer long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
997 void backface long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
998 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
999 void cmov2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1000 void draw2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1001 void move2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1002 void pnt2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1003 void patchbasis long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1004 void patchprecision long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1005 void pdr2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1006 void pmv2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1007 void rpdr2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1008 void rpmv2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1009 void xfpt2i long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1010 void objdelete long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1011 void patchcurves long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1012 void minsize long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1013 void maxsize long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1014 void keepaspect long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1015 void prefsize long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1016 void stepunit long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1017 void fudge long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1018 void winmove long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1019 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1020 void attachcursor short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1021 void deflinestyle short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1022 void noise short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1023 void picksize short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1024 void qenter short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1025 void setdepth short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1026 void cmov2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1027 void draw2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1028 void move2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1029 void pdr2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1030 void pmv2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1031 void pnt2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1032 void rdr2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1033 void rmv2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1034 void rpdr2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1035 void rpmv2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1036 void xfpt2s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1037 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1038 void cmov2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1039 void draw2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1040 void move2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1041 void pnt2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1042 void pdr2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1043 void pmv2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1044 void rdr2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1045 void rmv2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1046 void rpdr2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1047 void rpmv2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1048 void xfpt2 float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1049 #
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1050 void loadmatrix float s[4*4]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1051 # Really [4][4]
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1052 void multmatrix float s[4*4]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1053 # Really [4][4]
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1054 void crv float s[3*4]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1055 # Really [4][3]
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1056 void rcrv float s[4*4]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1057 # Really [4][4]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1058 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1059 # Methods that have strings.
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1060 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1061 void addtopup long s char *s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1062 void charstr char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1063 void getport char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1064 long strwidth char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1065 long winopen char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1066 void wintitle char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1067 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1068 # Methods that have 1 long (# of elements) and an array
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1069 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1070 void polf long s float s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1071 void polf2 long s float s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1072 void poly long s float s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1073 void poly2 long s float s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1074 void crvn long s float s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1075 void rcrvn long s float s[4*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1076 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1077 void polf2i long s long s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1078 void polfi long s long s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1079 void poly2i long s long s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1080 void polyi long s long s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1081 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1082 void polf2s long s short s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1083 void polfs long s short s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1084 void polys long s short s[3*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1085 void poly2s long s short s[2*arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1086 #
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1087 void defcursor short s u_short s[128]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1088 # Is this useful?
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1089 void writepixels short s u_short s[arg1]
338
794cfd455dc6 Changed some interfaces after error reports from Liberte.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1090 # Should be unsigned short...
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1091 void defbasis long s float s[4*4]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1092 if !solaris void gewrite short s short s[arg1]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1093 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1094 void rotate short s char s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1095 # This is not in the library!?
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1096 ###void setbutton short s char s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1097 void rot float s char s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1098 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1099 void circfi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1100 void circi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1101 void cmovi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1102 void drawi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1103 void movei long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1104 void pnti long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1105 void newtag long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1106 void pdri long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1107 void pmvi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1108 void rdri long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1109 void rmvi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1110 void rpdri long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1111 void rpmvi long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1112 void xfpti long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1113 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1114 void circ float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1115 void circf float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1116 void cmov float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1117 void draw float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1118 void move float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1119 void pnt float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1120 void scale float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1121 void translate float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1122 void pdr float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1123 void pmv float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1124 void rdr float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1125 void rmv float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1126 void rpdr float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1127 void rpmv float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1128 void xfpt float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1129 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1130 void RGBcolor short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1131 void RGBwritemask short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1132 void setcursor short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1133 void tie short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1134 void circfs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1135 void circs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1136 void cmovs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1137 void draws short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1138 void moves short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1139 void pdrs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1140 void pmvs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1141 void pnts short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1142 void rdrs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1143 void rmvs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1144 void rpdrs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1145 void rpmvs short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1146 void xfpts short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1147 void curorigin short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1148 void cyclemap short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1149 #
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1150 void patch float s[4*4] float s[4*4] float s[4*4]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1151 void splf long s float s[3*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1152 void splf2 long s float s[2*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1153 void splfi long s long s[3*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1154 void splf2i long s long s[2*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1155 void splfs long s short s[3*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1156 void splf2s long s short s[2*arg1] u_short s[arg1]
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1157 ###void defpattern short s short s u_short s[arg2*arg2/16]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1158 #
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1159 void rpatch float s[4*4] float s[4*4] float s[4*4] float s[4*4]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1160 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1161 # routines that send 4 floats
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1162 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1163 void ortho2 float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1164 void rect float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1165 void rectf float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1166 void xfpt4 float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1167 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1168 void textport short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1169 void mapcolor short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1170 void scrmask short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1171 void setvaluator short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1172 void viewport short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1173 void shaderange short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1174 void xfpt4s short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1175 void rectfi long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1176 void recti long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1177 void xfpt4i long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1178 void prefposition long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1179 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1180 void arc float s float s float s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1181 void arcf float s float s float s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1182 void arcfi long s long s long s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1183 void arci long s long s long s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1184 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1185 void bbox2 short s short s float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1186 void bbox2i short s short s long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1187 void bbox2s short s short s short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1188 void blink short s short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1189 void ortho float s float s float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1190 void window float s float s float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1191 void lookat float s float s float s float s float s float s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1192 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1193 void perspective short s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1194 void polarview float s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1195 # XXX getichararray not supported
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1196 #void writeRGB short s char s[arg1] char s[arg1] char s[arg1]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1197 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1198 void arcfs short s short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1199 void arcs short s short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1200 void rectcopy short s short s short s short s short s short s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1201 if !solaris void RGBcursor short s short s short s short s short s short s short s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1202 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1203 long getbutton short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1204 long getcmmode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1205 long getlsbackup
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1206 long getresetls
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1207 long getdcm
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1208 long getzbuffer
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1209 long ismex
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1210 long isobj long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1211 long isqueued short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1212 long istag long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1213 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1214 long genobj
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1215 long gentag
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1216 long getbuffer
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1217 long getcolor
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1218 long getdisplaymode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1219 long getfont
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1220 long getheight
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1221 long gethitcode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1222 long getlstyle
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1223 long getlwidth
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1224 long getmap
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1225 long getplanes
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1226 long getwritemask
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1227 long qtest
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1228 long getlsrepeat
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1229 long getmonitor
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1230 long getopenobj
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1231 long getpattern
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1232 long winget
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1233 long winattach
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1234 long getothermonitor
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1235 long newpup
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1236 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1237 long getvaluator short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1238 void winset long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1239 long dopup long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1240 void getdepth short r short r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1241 void getcpos short r short r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1242 void getsize long r long r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1243 void getorigin long r long r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1244 void getviewport short r short r short r short r
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1245 if !solaris void gettp short r short r short r short r
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1246 void getgpos float r float r float r float r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1247 void winposition long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1248 void gRGBcolor short r short r short r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1249 void gRGBmask short r short r short r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1250 void getscrmask short r short r short r short r
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1251 ###void gRGBcursor short r short r short r short r short r short r short r short r
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1252 void getmcolor short s short r short r short r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1253 void mapw long s short s short s float r float r float r float r float r float r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1254 void mapw2 long s short s short s float r float r
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1255 ###void defrasterfont short s short s short s Fontchar s[arg3] short s short s[4*arg5]
948
e5ae42ffd9a0 Fix bug introduced by Jack (duplicate def of qread)
Guido van Rossum <guido@python.org>
parents: 947
diff changeset
1256 ###long qread short r
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1257 void getcursor short r u_short r u_short r long r
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1258 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1259 # For these we receive arrays of stuff
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1260 #
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1261 ###void getdev long s short s[arg1] short r[arg1]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1262 #XXX not generated correctly yet
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1263 #void getmatrix float r[16]
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1264 ###long readpixels short s short r[retval]
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1265 ###long readRGB short s char r[retval] char r[retval] char r[retval]
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1266 ###long blkqread short s short r[arg1]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1267 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1268 # New 4D routines
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1269 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1270 void cmode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1271 void concave long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1272 void curstype long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1273 void drawmode long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1274 void gammaramp short s[256] short s[256] short s[256]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1275 long getbackface
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1276 long getdescender
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1277 long getdrawmode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1278 long getmmode
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1279 long getsm
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1280 long getvideo long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1281 void imakebackground
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1282 void lmbind short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1283 void lmdef long s long s long s float s[arg3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1284 void mmode long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1285 void normal float s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1286 void overlay long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1287 void RGBrange short s short s short s short s short s short s short s short s
1443
2ec08a9d0325 rgbimgmodule.c, Makefile, config.c: new module to read RGB image files.
Sjoerd Mullender <sjoerd@acm.org>
parents: 1356
diff changeset
1288 if !solaris void setvideo long s long s
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1289 void shademodel long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1290 void underlay long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1291 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1292 # New Personal Iris/GT Routines
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1293 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1294 void bgnclosedline
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1295 void bgnline
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1296 void bgnpoint
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1297 void bgnpolygon
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1298 void bgnsurface
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1299 void bgntmesh
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1300 void bgntrim
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1301 void endclosedline
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1302 void endline
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1303 void endpoint
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1304 void endpolygon
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1305 void endsurface
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1306 void endtmesh
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1307 void endtrim
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1308 void blendfunction long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1309 void c3f float s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1310 void c3i long s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1311 void c3s short s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1312 void c4f float s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1313 void c4i long s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1314 void c4s short s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1315 void colorf float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1316 void cpack long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1317 void czclear long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1318 void dglclose long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1319 long dglopen char *s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1320 long getgdesc long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1321 void getnurbsproperty long s float r
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1322 void glcompat long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1323 void iconsize long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1324 void icontitle char *s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1325 void lRGBrange short s short s short s short s short s short s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1326 void linesmooth long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1327 void lmcolor long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1328 void logicop long s
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1329 ###long lrectread short s short s short s short s long r[retval]
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1330 ###void lrectwrite short s short s short s short s long s[(arg2-arg1+1)*(arg4-arg3+1)]
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1331 ### Now manual, with string last arg
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1332 ###long rectread short s short s short s short s short r[retval]
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1333 ###void rectwrite short s short s short s short s short s[(arg2-arg1+1)*(arg4-arg3+1)]
6
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1334 void lsetdepth long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1335 void lshaderange short s short s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1336 void n3f float s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1337 void noborder
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1338 void pntsmooth long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1339 void readsource long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1340 void rectzoom float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1341 void sbox float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1342 void sboxi long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1343 void sboxs short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1344 void sboxf float s float s float s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1345 void sboxfi long s long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1346 void sboxfs short s short s short s short s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1347 void setnurbsproperty long s float s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1348 void setpup long s long s long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1349 void smoothline long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1350 void subpixel long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1351 void swaptmesh
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1352 long swinopen long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1353 void v2f float s[2]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1354 void v2i long s[2]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1355 void v2s short s[2]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1356 void v3f float s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1357 void v3i long s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1358 void v3s short s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1359 void v4f float s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1360 void v4i long s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1361 void v4s short s[4]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1362 void videocmd long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1363 long windepth long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1364 void wmpack long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1365 void zdraw long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1366 void zfunction long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1367 void zsource long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1368 void zwritemask long s
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1369 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1370 # uses doubles
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1371 #
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1372 void v2d double s[2]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1373 void v3d double s[3]
fc6fcd7df4f7 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1374 void v4d double s[4]
389
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1375 #
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1376 # Why isn't this here?
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1377 #
55bf66445c85 Added lrect{read,write} and pixmode().
Guido van Rossum <guido@python.org>
parents: 338
diff changeset
1378 void pixmode long s long s
906
63798cde582c Added qgetfd() to cstubs for GL.
Guido van Rossum <guido@python.org>
parents: 677
diff changeset
1379 #
63798cde582c Added qgetfd() to cstubs for GL.
Guido van Rossum <guido@python.org>
parents: 677
diff changeset
1380 # New in IRIX 4.0
63798cde582c Added qgetfd() to cstubs for GL.
Guido van Rossum <guido@python.org>
parents: 677
diff changeset
1381 #
63798cde582c Added qgetfd() to cstubs for GL.
Guido van Rossum <guido@python.org>
parents: 677
diff changeset
1382 long qgetfd
1232
afcba88c6acb Added dither() routine
Jack Jansen <jack.jansen@cwi.nl>
parents: 1218
diff changeset
1383 void dither long s