annotate Mac/Modules/ColorPickermodule.c @ 32527:0da660e05e69 legacy-trunk

"#if WITH_THREAD" is incorrect; must be #ifdef instead; WITH_THREAD isn't always set to an integer value when it's defined.
author Tim Peters <tim.peters@gmail.com>
date Wed, 07 Jul 2004 20:42:07 +0000
parents e543b3f0d906
children 6df0394abbf1
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
29251
3a8b1d16b7c6 modernized ColorPicker somewhat
Just van Rossum <just@letterror.com>
parents: 13606
diff changeset
24 #include <Carbon/Carbon.h>
8102
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"
13606
c9a4a1316170 pymactoolbox.h contains protoypes for all externally visible toolbox module
Jack Jansen <jack.jansen@cwi.nl>
parents: 8153
diff changeset
26 #include "pymactoolbox.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 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
31 "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
32 ;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 static PyObject *
29493
abc2a20dc3a3 This wasn't ansified. Fixed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 29251
diff changeset
35 cp_GetColor(PyObject *self, PyObject *args)
8102
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 RGBColor inColor, outColor;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 Boolean ok;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 Point where = {0, 0};
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
40 Str255 prompt;
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
42 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
43 return NULL;
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44
8153
995fb55b3e6a New versions from Just.
Jack Jansen <jack.jansen@cwi.nl>
parents: 8102
diff changeset
45 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
46
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
47 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
48 }
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
50 /* 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
51
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 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
53 {"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
54 {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
55 };
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
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 /* 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
59
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60 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
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
29493
abc2a20dc3a3 This wasn't ansified. Fixed.
Jack Jansen <jack.jansen@cwi.nl>
parents: 29251
diff changeset
64 void initColorPicker(void)
8102
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 {
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 PyObject *m;
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 /* 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
69 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
70 cp_module_documentation,
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 (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
72
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 /* 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
74
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75 /* 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
76
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 /* Check for errors */
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
78 if (PyErr_Occurred())
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
79 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
80 }
427f3489e52b Added ColorPicker and Printing modules, donated by Just. In config.c
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
81