annotate Mac/Modules/ColorPickermodule.c @ 12357:5b59ea41db4e legacy-trunk

Install the docs (with fewer rules). Add descriptions for the system variables.
author Guido van Rossum <guido@python.org>
date Mon, 10 Apr 2000 19:36:27 +0000
parents 995fb55b3e6a
children c9a4a1316170
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 /******************************************************************
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2 Copyright 1998 by Just van Rossum, Den Haag, The Netherlands.
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 All Rights Reserved
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 Permission to use, copy, modify, and distribute this software and its
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 documentation for any purpose and without fee is hereby granted,
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 provided that the above copyright notice appear in all copies and that
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 both that copyright notice and this permission notice appear in
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 supporting documentation, and that the name of Just van Rossum not be
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 used in advertising or publicity pertaining to distribution of the
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 software without specific, written prior permission.
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 JUST VAN ROSSUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 EVENT SHALL JUST VAN ROSSUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 PERFORMANCE OF THIS SOFTWARE.
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 ******************************************************************/
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 #include <ColorPicker.h>
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 #include "Python.h"
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
26 #include "macglue.h"
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 /* ----------------------------------------------------- */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 extern QdRGB_Convert(PyObject *v, RGBColorPtr p_itself);
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 extern PyObject *QdRGB_New(RGBColorPtr itself);
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33 static char cp_GetColor__doc__[] =
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 "GetColor(prompt, (r, g, b)) -> (r, g, b), ok"
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35 ;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 static PyObject *
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 cp_GetColor(self, args)
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 PyObject *self; /* Not used */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40 PyObject *args;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41 {
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 RGBColor inColor, outColor;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43 Boolean ok;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 Point where = {0, 0};
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
45 Str255 prompt;
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
46
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
47 if (!PyArg_ParseTuple(args, "O&O&", PyMac_GetStr255, prompt, QdRGB_Convert, &inColor))
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
48 return NULL;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
50 ok = GetColor(where, prompt, &inColor, &outColor);
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
51
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 return Py_BuildValue("O&h", QdRGB_New, &outColor, ok);
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
53 }
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55 /* List of methods defined in the module */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57 static struct PyMethodDef cp_methods[] = {
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 {"GetColor", (PyCFunction)cp_GetColor, METH_VARARGS, cp_GetColor__doc__},
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59 {NULL, (PyCFunction)NULL, 0, NULL} /* sentinel */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60 };
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
62
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
63 /* Initialization function for the module (*must* be called initColorPicker) */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 static char cp_module_documentation[] =
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 ""
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
67 ;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69 void initColorPicker();
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 void initColorPicker()
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72 {
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 PyObject *m;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75 /* Create the module and add the functions */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
76 m = Py_InitModule4("ColorPicker", cp_methods,
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 cp_module_documentation,
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
78 (PyObject*)NULL,PYTHON_API_VERSION);
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
79
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
80 /* Add symbolic constants to the module here */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
81
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
82 /* XXXX Add constants here */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
83
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
84 /* Check for errors */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
85 if (PyErr_Occurred())
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
86 Py_FatalError("can't initialize module ColorPicker");
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
87 }
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
88