From fd78de3a744e833982ea7390c99faae8b81a751c Mon Sep 17 00:00:00 2001
From: Jack Jansen <jack.jansen@cwi.nl>
Date: Tue, 20 Jun 2000 07:42:00 +0000
Subject: [PATCH] Under carbon use the GetQDGlobalxxx methods to implement
 Qd.qd.member access.

---
 Mac/Modules/qd/Qdmodule.c   | 42 +++++++++++++++++++++++++++++++++++++
 Mac/Modules/qd/qdsupport.py | 42 +++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)

diff --git a/Mac/Modules/qd/Qdmodule.c b/Mac/Modules/qd/Qdmodule.c
index a5e68715de..d4f91d44f3 100644
--- a/Mac/Modules/qd/Qdmodule.c
+++ b/Mac/Modules/qd/Qdmodule.c
@@ -447,6 +447,48 @@ static PyObject *QDGA_getattr(self, name)
 		if ( strcmp(name, "randSeed") == 0 ) 
 			return Py_BuildValue("l", &qd.randSeed);
 			
+#else
+
+		if ( strcmp(name, "arrow") == 0 ) {
+			Cursor rv;
+			GetQDGlobalsArrow(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "black") == 0 ) {
+			Pattern rv;
+			GetQDGlobalsBlack(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "white") == 0 )  {
+			Pattern rv;
+			GetQDGlobalsWhite(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "gray") == 0 )  {
+			Pattern rv;
+			GetQDGlobalsGray(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "ltGray") == 0 )  {
+			Pattern rv;
+			GetQDGlobalsLightGray(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "dkGray") == 0 )  {
+			Pattern rv;
+			GetQDGlobalsDarkGray(&rv);
+			return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+		}
+		if ( strcmp(name, "screenBits") == 0 ) {
+			BitMap rv;
+			GetQDGlobalsScreenBits(&rv);
+			return BMObj_New(&rv);
+		}
+		if ( strcmp(name, "thePort") == 0 ) 
+			return GrafObj_New(GetQDGlobalsThePort());
+		if ( strcmp(name, "randSeed") == 0 ) 
+			return Py_BuildValue("l", GetQDGlobalsRandomSeed());
+			
 #endif
 	return Py_FindMethodInChain(&QDGA_chain, (PyObject *)self, name);
 }
diff --git a/Mac/Modules/qd/qdsupport.py b/Mac/Modules/qd/qdsupport.py
index 671b359341..3be0b0c711 100644
--- a/Mac/Modules/qd/qdsupport.py
+++ b/Mac/Modules/qd/qdsupport.py
@@ -282,6 +282,48 @@ class QDGlobalsAccessObjectDefinition(ObjectDefinition):
 	if ( strcmp(name, "randSeed") == 0 ) 
 		return Py_BuildValue("l", &qd.randSeed);
 		""")
+		Output("#else")
+		Output("""
+	if ( strcmp(name, "arrow") == 0 ) {
+		Cursor rv;
+		GetQDGlobalsArrow(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "black") == 0 ) {
+		Pattern rv;
+		GetQDGlobalsBlack(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "white") == 0 )  {
+		Pattern rv;
+		GetQDGlobalsWhite(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "gray") == 0 )  {
+		Pattern rv;
+		GetQDGlobalsGray(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "ltGray") == 0 )  {
+		Pattern rv;
+		GetQDGlobalsLightGray(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "dkGray") == 0 )  {
+		Pattern rv;
+		GetQDGlobalsDarkGray(&rv);
+		return PyString_FromStringAndSize((char *)&rv, sizeof(rv));
+	}
+	if ( strcmp(name, "screenBits") == 0 ) {
+		BitMap rv;
+		GetQDGlobalsScreenBits(&rv);
+		return BMObj_New(&rv);
+	}
+	if ( strcmp(name, "thePort") == 0 ) 
+		return GrafObj_New(GetQDGlobalsThePort());
+	if ( strcmp(name, "randSeed") == 0 ) 
+		return Py_BuildValue("l", GetQDGlobalsRandomSeed());
+		""")
 		Output("#endif")
 
 # Create the generator groups and link them
-- 
2.50.1