annotate Modules/cstubs @ 16798:258dcafe2d0b legacy-trunk

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