Added support for cursors, and a way to get at the qd global 'arrow'
diff --git a/Mac/Modules/qd/Qdmodule.c b/Mac/Modules/qd/Qdmodule.c
index b076aa4..a9f1865 100644
--- a/Mac/Modules/qd/Qdmodule.c
+++ b/Mac/Modules/qd/Qdmodule.c
@@ -40,6 +40,9 @@
 extern PyObject *BMObj_New(BitMapPtr);
 extern int BMObj_Convert(PyObject *, BitMapPtr *);
 
+extern PyObject *PMObj_New(PixMapHandle);
+extern int PMObj_Convert(PyObject *, PixMapHandle *);
+
 extern PyObject *WinObj_WhichWindow(WindowPtr);
 
 #include <QuickDraw.h>
@@ -425,6 +428,28 @@
 	return _res;
 }
 
+static PyObject *Qd_SetCursor(_self, _args)
+	PyObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	Cursor *crsr__in__;
+	int crsr__in_len__;
+	if (!PyArg_ParseTuple(_args, "s#",
+	                      (char **)&crsr__in__, &crsr__in_len__))
+		return NULL;
+	if (crsr__in_len__ != sizeof(Cursor))
+	{
+		PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)");
+		goto crsr__error__;
+	}
+	SetCursor(crsr__in__);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+ crsr__error__: ;
+	return _res;
+}
+
 static PyObject *Qd_HideCursor(_self, _args)
 	PyObject *_self;
 	PyObject *_args;
@@ -3131,6 +3156,8 @@
 	 "(Rect r) -> None"},
 	{"InitCursor", (PyCFunction)Qd_InitCursor, 1,
 	 "() -> None"},
+	{"SetCursor", (PyCFunction)Qd_SetCursor, 1,
+	 "(Cursor crsr) -> None"},
 	{"HideCursor", (PyCFunction)Qd_HideCursor, 1,
 	 "() -> None"},
 	{"ShowCursor", (PyCFunction)Qd_ShowCursor, 1,
@@ -3453,6 +3480,16 @@
 	if (Qd_Error == NULL ||
 	    PyDict_SetItemString(d, "Error", Qd_Error) != 0)
 		Py_FatalError("can't initialize Qd.Error");
+
+	{
+		PyObject *o;
+		
+		o = PyString_FromStringAndSize((char *)&qd.arrow, sizeof(qd.arrow));
+		if (o == NULL || PyDict_SetItemString(d, "arrow", o) != 0)
+			Py_FatalError("can't initialize Qd.arrow");
+	}
+
+
 }
 
 /* ========================= End module Qd ========================== */