| 
									
										
										
										
											2000-05-14 22:05:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* ======================= Module HtmlRender ======================== */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "Python.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define SystemSevenOrLater 1
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "macglue.h"
 | 
					
						
							|  |  |  | #include <Memory.h>
 | 
					
						
							|  |  |  | #include <Dialogs.h>
 | 
					
						
							|  |  |  | #include <Menus.h>
 | 
					
						
							|  |  |  | #include <Controls.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *ResObj_New(Handle); | 
					
						
							|  |  |  | extern int ResObj_Convert(PyObject *, Handle *); | 
					
						
							|  |  |  | extern PyObject *OptResObj_New(Handle); | 
					
						
							|  |  |  | extern int OptResObj_Convert(PyObject *, Handle *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *WinObj_New(WindowPtr); | 
					
						
							|  |  |  | extern int WinObj_Convert(PyObject *, WindowPtr *); | 
					
						
							|  |  |  | extern PyTypeObject Window_Type; | 
					
						
							|  |  |  | #define WinObj_Check(x) ((x)->ob_type == &Window_Type)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *DlgObj_New(DialogPtr); | 
					
						
							|  |  |  | extern int DlgObj_Convert(PyObject *, DialogPtr *); | 
					
						
							|  |  |  | extern PyTypeObject Dialog_Type; | 
					
						
							|  |  |  | #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *MenuObj_New(MenuHandle); | 
					
						
							|  |  |  | extern int MenuObj_Convert(PyObject *, MenuHandle *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *CtlObj_New(ControlHandle); | 
					
						
							|  |  |  | extern int CtlObj_Convert(PyObject *, ControlHandle *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *GrafObj_New(GrafPtr); | 
					
						
							|  |  |  | extern int GrafObj_Convert(PyObject *, GrafPtr *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *BMObj_New(BitMapPtr); | 
					
						
							|  |  |  | extern int BMObj_Convert(PyObject *, BitMapPtr *); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern PyObject *WinObj_WhichWindow(WindowPtr); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <HTMLRendering.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_Error; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* --------------------- Object type HtmlObject --------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyTypeObject HtmlObject_Type; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HtmlObj_Check(x) ((x)->ob_type == &HtmlObject_Type)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct HtmlObjectObject { | 
					
						
							|  |  |  | 	PyObject_HEAD | 
					
						
							|  |  |  | 	HRReference ob_itself; | 
					
						
							|  |  |  | } HtmlObjectObject; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyObject *HtmlObj_New(itself) | 
					
						
							|  |  |  | 	HRReference itself; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	HtmlObjectObject *it; | 
					
						
							|  |  |  | 	it = PyObject_NEW(HtmlObjectObject, &HtmlObject_Type); | 
					
						
							|  |  |  | 	if (it == NULL) return NULL; | 
					
						
							|  |  |  | 	it->ob_itself = itself; | 
					
						
							|  |  |  | 	return (PyObject *)it; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | HtmlObj_Convert(v, p_itself) | 
					
						
							|  |  |  | 	PyObject *v; | 
					
						
							|  |  |  | 	HRReference *p_itself; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (!HtmlObj_Check(v)) | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		PyErr_SetString(PyExc_TypeError, "HtmlObject required"); | 
					
						
							|  |  |  | 		return 0; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	*p_itself = ((HtmlObjectObject *)v)->ob_itself; | 
					
						
							|  |  |  | 	return 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void HtmlObj_dealloc(self) | 
					
						
							|  |  |  | 	HtmlObjectObject *self; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	/* Cleanup of self->ob_itself goes here */ | 
					
						
							|  |  |  | 	PyMem_DEL(self); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRDisposeReference(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRDisposeReference(_self->ob_itself); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRSetGrafPtr(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	GrafPtr grafPtr; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      GrafObj_Convert, &grafPtr)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRSetGrafPtr(_self->ob_itself, | 
					
						
							|  |  |  | 	                    grafPtr); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRActivate(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRActivate(_self->ob_itself); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRDeactivate(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRDeactivate(_self->ob_itself); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRDraw(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	RgnHandle updateRgnH; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &updateRgnH)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRDraw(_self->ob_itself, | 
					
						
							|  |  |  | 	              updateRgnH); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRSetRenderingRect(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Rect renderingRect; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      PyMac_GetRect, &renderingRect)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRSetRenderingRect(_self->ob_itself, | 
					
						
							|  |  |  | 	                          &renderingRect); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetRenderedImageSize(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Point renderingSize; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetRenderedImageSize(_self->ob_itself, | 
					
						
							|  |  |  | 	                              &renderingSize); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildPoint, renderingSize); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRScrollToLocation(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Point location; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRScrollToLocation(_self->ob_itself, | 
					
						
							|  |  |  | 	                          &location); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildPoint, location); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRForceQuickdraw(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Boolean forceQuickdraw; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "b", | 
					
						
							|  |  |  | 	                      &forceQuickdraw)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRForceQuickdraw(_self->ob_itself, | 
					
						
							|  |  |  | 	                        forceQuickdraw); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRSetScrollbarState(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	HRScrollbarState hScrollbarState; | 
					
						
							|  |  |  | 	HRScrollbarState vScrollbarState; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "hh", | 
					
						
							|  |  |  | 	                      &hScrollbarState, | 
					
						
							|  |  |  | 	                      &vScrollbarState)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRSetScrollbarState(_self->ob_itself, | 
					
						
							|  |  |  | 	                           hScrollbarState, | 
					
						
							|  |  |  | 	                           vScrollbarState); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRSetDrawBorder(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Boolean drawBorder; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "b", | 
					
						
							|  |  |  | 	                      &drawBorder)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRSetDrawBorder(_self->ob_itself, | 
					
						
							|  |  |  | 	                       drawBorder); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRSetGrowboxCutout(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Boolean allowCutout; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "b", | 
					
						
							|  |  |  | 	                      &allowCutout)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRSetGrowboxCutout(_self->ob_itself, | 
					
						
							|  |  |  | 	                          allowCutout); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGoToFile(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	FSSpec fsspec; | 
					
						
							|  |  |  | 	Boolean addToHistory; | 
					
						
							|  |  |  | 	Boolean forceRefresh; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&bb", | 
					
						
							|  |  |  | 	                      PyMac_GetFSSpec, &fsspec, | 
					
						
							|  |  |  | 	                      &addToHistory, | 
					
						
							|  |  |  | 	                      &forceRefresh)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGoToFile(_self->ob_itself, | 
					
						
							|  |  |  | 	                  &fsspec, | 
					
						
							|  |  |  | 	                  addToHistory, | 
					
						
							|  |  |  | 	                  forceRefresh); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGoToURL(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	char * url; | 
					
						
							|  |  |  | 	Boolean addToHistory; | 
					
						
							|  |  |  | 	Boolean forceRefresh; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "sbb", | 
					
						
							|  |  |  | 	                      &url, | 
					
						
							|  |  |  | 	                      &addToHistory, | 
					
						
							|  |  |  | 	                      &forceRefresh)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGoToURL(_self->ob_itself, | 
					
						
							|  |  |  | 	                 url, | 
					
						
							|  |  |  | 	                 addToHistory, | 
					
						
							|  |  |  | 	                 forceRefresh); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGoToAnchor(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	char * anchorName; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "s", | 
					
						
							|  |  |  | 	                      &anchorName)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGoToAnchor(_self->ob_itself, | 
					
						
							|  |  |  | 	                    anchorName); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGoToPtr(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	char *buffer__in__; | 
					
						
							|  |  |  | 	long buffer__len__; | 
					
						
							|  |  |  | 	int buffer__in_len__; | 
					
						
							|  |  |  | 	Boolean addToHistory; | 
					
						
							|  |  |  | 	Boolean forceRefresh; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "s#bb", | 
					
						
							|  |  |  | 	                      &buffer__in__, &buffer__in_len__, | 
					
						
							|  |  |  | 	                      &addToHistory, | 
					
						
							|  |  |  | 	                      &forceRefresh)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	buffer__len__ = buffer__in_len__; | 
					
						
							|  |  |  | 	_err = HRGoToPtr(_self->ob_itself, | 
					
						
							|  |  |  | 	                 buffer__in__, buffer__len__, | 
					
						
							|  |  |  | 	                 addToHistory, | 
					
						
							|  |  |  | 	                 forceRefresh); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  |  buffer__error__: ; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetRootURL(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Handle rootURLH; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &rootURLH)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetRootURL(_self->ob_itself, | 
					
						
							|  |  |  | 	                    rootURLH); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetBaseURL(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Handle baseURLH; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &baseURLH)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetBaseURL(_self->ob_itself, | 
					
						
							|  |  |  | 	                    baseURLH); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetHTMLURL(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	Handle HTMLURLH; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      ResObj_Convert, &HTMLURLH)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetHTMLURL(_self->ob_itself, | 
					
						
							|  |  |  | 	                    HTMLURLH); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetTitle(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	StringPtr title; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "s", | 
					
						
							|  |  |  | 	                      &title)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetTitle(_self->ob_itself, | 
					
						
							|  |  |  | 	                  title); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRGetHTMLFile(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	FSSpec fsspec; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetHTMLFile(_self->ob_itself, | 
					
						
							|  |  |  | 	                     &fsspec); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildFSSpec, fsspec); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRUnregisterWasURLVisitedUPP(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	HRUnregisterWasURLVisitedUPP(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRUnregisterNewURLUPP(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	HRUnregisterNewURLUPP(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_HRUnregisterURLToFSSpecUPP(_self, _args) | 
					
						
							|  |  |  | 	HtmlObjectObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	HRUnregisterURLToFSSpecUPP(_self->ob_itself); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyMethodDef HtmlObj_methods[] = { | 
					
						
							|  |  |  | 	{"HRDisposeReference", (PyCFunction)HtmlObj_HRDisposeReference, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRSetGrafPtr", (PyCFunction)HtmlObj_HRSetGrafPtr, 1, | 
					
						
							|  |  |  | 	 "(GrafPtr grafPtr) -> None"}, | 
					
						
							|  |  |  | 	{"HRActivate", (PyCFunction)HtmlObj_HRActivate, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRDeactivate", (PyCFunction)HtmlObj_HRDeactivate, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRDraw", (PyCFunction)HtmlObj_HRDraw, 1, | 
					
						
							|  |  |  | 	 "(RgnHandle updateRgnH) -> None"}, | 
					
						
							|  |  |  | 	{"HRSetRenderingRect", (PyCFunction)HtmlObj_HRSetRenderingRect, 1, | 
					
						
							|  |  |  | 	 "(Rect renderingRect) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetRenderedImageSize", (PyCFunction)HtmlObj_HRGetRenderedImageSize, 1, | 
					
						
							|  |  |  | 	 "() -> (Point renderingSize)"}, | 
					
						
							|  |  |  | 	{"HRScrollToLocation", (PyCFunction)HtmlObj_HRScrollToLocation, 1, | 
					
						
							|  |  |  | 	 "() -> (Point location)"}, | 
					
						
							|  |  |  | 	{"HRForceQuickdraw", (PyCFunction)HtmlObj_HRForceQuickdraw, 1, | 
					
						
							|  |  |  | 	 "(Boolean forceQuickdraw) -> None"}, | 
					
						
							|  |  |  | 	{"HRSetScrollbarState", (PyCFunction)HtmlObj_HRSetScrollbarState, 1, | 
					
						
							|  |  |  | 	 "(HRScrollbarState hScrollbarState, HRScrollbarState vScrollbarState) -> None"}, | 
					
						
							|  |  |  | 	{"HRSetDrawBorder", (PyCFunction)HtmlObj_HRSetDrawBorder, 1, | 
					
						
							|  |  |  | 	 "(Boolean drawBorder) -> None"}, | 
					
						
							|  |  |  | 	{"HRSetGrowboxCutout", (PyCFunction)HtmlObj_HRSetGrowboxCutout, 1, | 
					
						
							|  |  |  | 	 "(Boolean allowCutout) -> None"}, | 
					
						
							|  |  |  | 	{"HRGoToFile", (PyCFunction)HtmlObj_HRGoToFile, 1, | 
					
						
							|  |  |  | 	 "(FSSpec fsspec, Boolean addToHistory, Boolean forceRefresh) -> None"}, | 
					
						
							|  |  |  | 	{"HRGoToURL", (PyCFunction)HtmlObj_HRGoToURL, 1, | 
					
						
							|  |  |  | 	 "(char * url, Boolean addToHistory, Boolean forceRefresh) -> None"}, | 
					
						
							|  |  |  | 	{"HRGoToAnchor", (PyCFunction)HtmlObj_HRGoToAnchor, 1, | 
					
						
							|  |  |  | 	 "(char * anchorName) -> None"}, | 
					
						
							|  |  |  | 	{"HRGoToPtr", (PyCFunction)HtmlObj_HRGoToPtr, 1, | 
					
						
							|  |  |  | 	 "(Buffer buffer, Boolean addToHistory, Boolean forceRefresh) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetRootURL", (PyCFunction)HtmlObj_HRGetRootURL, 1, | 
					
						
							|  |  |  | 	 "(Handle rootURLH) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetBaseURL", (PyCFunction)HtmlObj_HRGetBaseURL, 1, | 
					
						
							|  |  |  | 	 "(Handle baseURLH) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetHTMLURL", (PyCFunction)HtmlObj_HRGetHTMLURL, 1, | 
					
						
							|  |  |  | 	 "(Handle HTMLURLH) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetTitle", (PyCFunction)HtmlObj_HRGetTitle, 1, | 
					
						
							|  |  |  | 	 "(StringPtr title) -> None"}, | 
					
						
							|  |  |  | 	{"HRGetHTMLFile", (PyCFunction)HtmlObj_HRGetHTMLFile, 1, | 
					
						
							|  |  |  | 	 "() -> (FSSpec fsspec)"}, | 
					
						
							|  |  |  | 	{"HRUnregisterWasURLVisitedUPP", (PyCFunction)HtmlObj_HRUnregisterWasURLVisitedUPP, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRUnregisterNewURLUPP", (PyCFunction)HtmlObj_HRUnregisterNewURLUPP, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRUnregisterURLToFSSpecUPP", (PyCFunction)HtmlObj_HRUnregisterURLToFSSpecUPP, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{NULL, NULL, 0} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyMethodChain HtmlObj_chain = { HtmlObj_methods, NULL }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *HtmlObj_getattr(self, name) | 
					
						
							|  |  |  | 	HtmlObjectObject *self; | 
					
						
							|  |  |  | 	char *name; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return Py_FindMethodInChain(&HtmlObj_chain, (PyObject *)self, name); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HtmlObj_setattr NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HtmlObj_compare NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HtmlObj_repr NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define HtmlObj_hash NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyTypeObject HtmlObject_Type = { | 
					
						
							|  |  |  | 	PyObject_HEAD_INIT(&PyType_Type) | 
					
						
							|  |  |  | 	0, /*ob_size*/ | 
					
						
							| 
									
										
										
										
											2001-12-08 18:02:58 +00:00
										 |  |  | 	"HtmlRender.HtmlObject", /*tp_name*/ | 
					
						
							| 
									
										
										
										
											2000-05-14 22:05:36 +00:00
										 |  |  | 	sizeof(HtmlObjectObject), /*tp_basicsize*/ | 
					
						
							|  |  |  | 	0, /*tp_itemsize*/ | 
					
						
							|  |  |  | 	/* methods */ | 
					
						
							|  |  |  | 	(destructor) HtmlObj_dealloc, /*tp_dealloc*/ | 
					
						
							|  |  |  | 	0, /*tp_print*/ | 
					
						
							|  |  |  | 	(getattrfunc) HtmlObj_getattr, /*tp_getattr*/ | 
					
						
							|  |  |  | 	(setattrfunc) HtmlObj_setattr, /*tp_setattr*/ | 
					
						
							|  |  |  | 	(cmpfunc) HtmlObj_compare, /*tp_compare*/ | 
					
						
							|  |  |  | 	(reprfunc) HtmlObj_repr, /*tp_repr*/ | 
					
						
							|  |  |  | 	(PyNumberMethods *)0, /* tp_as_number */ | 
					
						
							|  |  |  | 	(PySequenceMethods *)0, /* tp_as_sequence */ | 
					
						
							|  |  |  | 	(PyMappingMethods *)0, /* tp_as_mapping */ | 
					
						
							|  |  |  | 	(hashfunc) HtmlObj_hash, /*tp_hash*/ | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ------------------- End object type HtmlObject ------------------- */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRGetHTMLRenderingLibVersion(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	NumVersion returnVers; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRGetHTMLRenderingLibVersion(&returnVers); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildNumVersion, returnVers); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRNewReference(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	HRReference hrRef; | 
					
						
							|  |  |  | 	OSType rendererType; | 
					
						
							|  |  |  | 	GrafPtr grafPtr; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&", | 
					
						
							|  |  |  | 	                      PyMac_GetOSType, &rendererType, | 
					
						
							|  |  |  | 	                      GrafObj_Convert, &grafPtr)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRNewReference(&hrRef, | 
					
						
							|  |  |  | 	                      rendererType, | 
					
						
							|  |  |  | 	                      grafPtr); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     HtmlObj_New, hrRef); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRFreeMemory(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	SInt32 _rv; | 
					
						
							|  |  |  | 	Size inBytesNeeded; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "l", | 
					
						
							|  |  |  | 	                      &inBytesNeeded)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = HRFreeMemory(inBytesNeeded); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("l", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRScreenConfigurationChanged(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	HRScreenConfigurationChanged(); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRIsHREvent(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	Boolean _rv; | 
					
						
							|  |  |  | 	EventRecord eventRecord; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&", | 
					
						
							|  |  |  | 	                      PyMac_GetEventRecord, &eventRecord)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = HRIsHREvent(&eventRecord); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("b", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRUtilCreateFullURL(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	char * rootURL; | 
					
						
							|  |  |  | 	char * linkURL; | 
					
						
							|  |  |  | 	Handle fullURLH; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "ssO&", | 
					
						
							|  |  |  | 	                      &rootURL, | 
					
						
							|  |  |  | 	                      &linkURL, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &fullURLH)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRUtilCreateFullURL(rootURL, | 
					
						
							|  |  |  | 	                           linkURL, | 
					
						
							|  |  |  | 	                           fullURLH); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRUtilGetFSSpecFromURL(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	char * rootURL; | 
					
						
							|  |  |  | 	char * linkURL; | 
					
						
							|  |  |  | 	FSSpec destSpec; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "ss", | 
					
						
							|  |  |  | 	                      &rootURL, | 
					
						
							|  |  |  | 	                      &linkURL)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRUtilGetFSSpecFromURL(rootURL, | 
					
						
							|  |  |  | 	                              linkURL, | 
					
						
							|  |  |  | 	                              &destSpec); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("O&", | 
					
						
							|  |  |  | 	                     PyMac_BuildFSSpec, destSpec); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject *Html_HRUtilGetURLFromFSSpec(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	OSStatus _err; | 
					
						
							|  |  |  | 	FSSpec fsspec; | 
					
						
							|  |  |  | 	Handle urlHandle; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "O&O&", | 
					
						
							|  |  |  | 	                      PyMac_GetFSSpec, &fsspec, | 
					
						
							|  |  |  | 	                      ResObj_Convert, &urlHandle)) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_err = HRUtilGetURLFromFSSpec(&fsspec, | 
					
						
							|  |  |  | 	                              urlHandle); | 
					
						
							|  |  |  | 	if (_err != noErr) return PyMac_Error(_err); | 
					
						
							|  |  |  | 	Py_INCREF(Py_None); | 
					
						
							|  |  |  | 	_res = Py_None; | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-05-15 15:36:52 +00:00
										 |  |  | static PyObject *Html_HRHTMLRenderingLibAvailable(_self, _args) | 
					
						
							|  |  |  | 	PyObject *_self; | 
					
						
							|  |  |  | 	PyObject *_args; | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *_res = NULL; | 
					
						
							|  |  |  | 	int _rv; | 
					
						
							|  |  |  | 	if (!PyArg_ParseTuple(_args, "")) | 
					
						
							|  |  |  | 		return NULL; | 
					
						
							|  |  |  | 	_rv = HRHTMLRenderingLibAvailable(); | 
					
						
							|  |  |  | 	_res = Py_BuildValue("i", | 
					
						
							|  |  |  | 	                     _rv); | 
					
						
							|  |  |  | 	return _res; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-05-14 22:05:36 +00:00
										 |  |  | static PyMethodDef Html_methods[] = { | 
					
						
							|  |  |  | 	{"HRGetHTMLRenderingLibVersion", (PyCFunction)Html_HRGetHTMLRenderingLibVersion, 1, | 
					
						
							|  |  |  | 	 "() -> (NumVersion returnVers)"}, | 
					
						
							|  |  |  | 	{"HRNewReference", (PyCFunction)Html_HRNewReference, 1, | 
					
						
							|  |  |  | 	 "(OSType rendererType, GrafPtr grafPtr) -> (HRReference hrRef)"}, | 
					
						
							|  |  |  | 	{"HRFreeMemory", (PyCFunction)Html_HRFreeMemory, 1, | 
					
						
							|  |  |  | 	 "(Size inBytesNeeded) -> (SInt32 _rv)"}, | 
					
						
							|  |  |  | 	{"HRScreenConfigurationChanged", (PyCFunction)Html_HRScreenConfigurationChanged, 1, | 
					
						
							|  |  |  | 	 "() -> None"}, | 
					
						
							|  |  |  | 	{"HRIsHREvent", (PyCFunction)Html_HRIsHREvent, 1, | 
					
						
							|  |  |  | 	 "(EventRecord eventRecord) -> (Boolean _rv)"}, | 
					
						
							|  |  |  | 	{"HRUtilCreateFullURL", (PyCFunction)Html_HRUtilCreateFullURL, 1, | 
					
						
							|  |  |  | 	 "(char * rootURL, char * linkURL, Handle fullURLH) -> None"}, | 
					
						
							|  |  |  | 	{"HRUtilGetFSSpecFromURL", (PyCFunction)Html_HRUtilGetFSSpecFromURL, 1, | 
					
						
							|  |  |  | 	 "(char * rootURL, char * linkURL) -> (FSSpec destSpec)"}, | 
					
						
							|  |  |  | 	{"HRUtilGetURLFromFSSpec", (PyCFunction)Html_HRUtilGetURLFromFSSpec, 1, | 
					
						
							|  |  |  | 	 "(FSSpec fsspec, Handle urlHandle) -> None"}, | 
					
						
							| 
									
										
										
										
											2000-05-15 15:36:52 +00:00
										 |  |  | 	{"HRHTMLRenderingLibAvailable", (PyCFunction)Html_HRHTMLRenderingLibAvailable, 1, | 
					
						
							|  |  |  | 	 "() -> (int _rv)"}, | 
					
						
							| 
									
										
										
										
											2000-05-14 22:05:36 +00:00
										 |  |  | 	{NULL, NULL, 0} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void initHtmlRender() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	PyObject *m; | 
					
						
							|  |  |  | 	PyObject *d; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	m = Py_InitModule("HtmlRender", Html_methods); | 
					
						
							|  |  |  | 	d = PyModule_GetDict(m); | 
					
						
							|  |  |  | 	Html_Error = PyMac_GetOSErrException(); | 
					
						
							|  |  |  | 	if (Html_Error == NULL || | 
					
						
							|  |  |  | 	    PyDict_SetItemString(d, "Error", Html_Error) != 0) | 
					
						
							|  |  |  | 		Py_FatalError("can't initialize HtmlRender.Error"); | 
					
						
							|  |  |  | 	HtmlObject_Type.ob_type = &PyType_Type; | 
					
						
							|  |  |  | 	Py_INCREF(&HtmlObject_Type); | 
					
						
							|  |  |  | 	if (PyDict_SetItemString(d, "HtmlObjectType", (PyObject *)&HtmlObject_Type) != 0) | 
					
						
							|  |  |  | 		Py_FatalError("can't initialize HtmlObjectType"); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ===================== End module HtmlRender ====================== */ | 
					
						
							|  |  |  | 
 |