/*********************************************************/
/* This source code copyright (c) 1991-2001, Aaron Giles */
/* See the Read Me file for licensing information.       */
/* Contact email: mac@aarongiles.com                     */
/*********************************************************/

#ifndef __CWINDOW__
#define __CWINDOW__

pascal OSErr WindowAccessor(DescType classWanted, AEDesc *container, 
	DescType containerClass, DescType keyForm, AEDesc *keyData, 
	AEDesc *resultToken, long theRefCon);
pascal OSErr WinPropertyAccessor(DescType classWanted, AEDesc *container, 
	DescType containerClass, DescType keyForm, AEDesc *keyData, 
	AEDesc *resultToken, long theRefCon);
OSErr GetWindowData(WindowPtr theWindow, DescType typeWanted, AEDesc *theData);
OSErr GetWinPropertyData(WindowPtr theWindow, DescType theProperty, DescType typeWanted, 
	AEDesc *theData);
OSErr SetWinPropertyData(WindowPtr theWindow, DescType theProperty, AEDesc *theData);
OSErr GetAbsoluteWindow(AEDesc *keyData, ObjectTokenHandle *theList);
OSErr GetNamedWindow(AEDesc *keyData, ObjectTokenHandle *theList);
short CountWindows(void);
WindowPtr IndexedWindow(short index);
short GetWindowIndex(WindowPtr theWindow);
OSErr MakeWinPropertyObject(WindowPtr theWindow, DescType theProperty, AEDesc *theObject);
OSErr MakeWindowObject(WindowPtr theWindow, AEDesc *theObject);
ObjectTokenHandle MakeAllWindowsToken(void);
ObjectTokenHandle MakeSingleObjectToken(Ptr theObject);
OSErr DoSetWindowBounds(WindowPtr theWindow, Rect *bounds);
OSErr DoSetWindowFull(WindowPtr theWindow, Boolean full);
OSErr DoSetWindowTitle(WindowPtr theWindow, StringPtr theString);
extern OSErr DoSetWindowVisible(WindowPtr theWindow, Boolean visible);

#endif
