summaryrefslogtreecommitdiffstats
path: root/Mac/Modules/ColorPickermodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/Modules/ColorPickermodule.c')
-rw-r--r--Mac/Modules/ColorPickermodule.c92
1 files changed, 92 insertions, 0 deletions
diff --git a/Mac/Modules/ColorPickermodule.c b/Mac/Modules/ColorPickermodule.c
new file mode 100644
index 0000000..5101d25
--- /dev/null
+++ b/Mac/Modules/ColorPickermodule.c
@@ -0,0 +1,92 @@
+/******************************************************************
+Copyright 1998 by Just van Rossum, Den Haag, The Netherlands.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Just van Rossum not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+JUST VAN ROSSUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL JUST VAN ROSSUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#include <ColorPicker.h>
+#include "Python.h"
+
+
+/* ----------------------------------------------------- */
+
+extern QdRGB_Convert(PyObject *v, RGBColorPtr p_itself);
+extern PyObject *QdRGB_New(RGBColorPtr itself);
+
+static char cp_GetColor__doc__[] =
+"GetColor(prompt, (r, g, b)) -> (r, g, b), ok"
+;
+
+static PyObject *
+cp_GetColor(self, args)
+ PyObject *self; /* Not used */
+ PyObject *args;
+{
+ RGBColor inColor, outColor;
+ Boolean ok;
+ Point where = {0, 0};
+ char * prompt;
+ Str255 pprompt;
+
+ if (!PyArg_ParseTuple(args, "sO&", &prompt, QdRGB_Convert, &inColor))
+ return NULL;
+
+ BlockMove(prompt, pprompt + 1, strlen(prompt));
+ pprompt[0] = strlen(prompt);
+
+ ok = GetColor(where, pprompt, &inColor, &outColor);
+
+ return Py_BuildValue("O&h", QdRGB_New, &outColor, ok);
+}
+
+/* List of methods defined in the module */
+
+static struct PyMethodDef cp_methods[] = {
+ {"GetColor", (PyCFunction)cp_GetColor, METH_VARARGS, cp_GetColor__doc__},
+ {NULL, (PyCFunction)NULL, 0, NULL} /* sentinel */
+};
+
+
+/* Initialization function for the module (*must* be called initColorPicker) */
+
+static char cp_module_documentation[] =
+""
+;
+
+void initColorPicker();
+
+void initColorPicker()
+{
+ PyObject *m;
+
+ /* Create the module and add the functions */
+ m = Py_InitModule4("ColorPicker", cp_methods,
+ cp_module_documentation,
+ (PyObject*)NULL,PYTHON_API_VERSION);
+
+ /* Add symbolic constants to the module here */
+
+ /* XXXX Add constants here */
+
+ /* Check for errors */
+ if (PyErr_Occurred())
+ Py_FatalError("can't initialize module ColorPicker");
+}
+