[comp.sys.mac] ZoomWindow Help Wanted

jdm@ut-ngp.UUCP (Jim Meiss) (11/18/86)

References:



	I am a novitiate both to C and to MacIntosh programing, so
please pardon the question if it turns out to be trivail.
	I would like to implement the zoom box on a window using
Lightspeed C v. 1.05, MacPlus, etc. According to Tech Note #57 (the only
thing I have seen written on the subject) one uses a window of type 8, and
as far as I can tell, the following code fragment.
	This gets me a window that zooms out okay, but will not zoom in.
How come??? Perhaps my problem is in the definition of the functions TrackBox
and ZoomWindow...

	Another question: Can I set the size the window zooms to...say I don't
want it to be full screen?

-------------------------------------
/* Code Fragment for Zoom Windows */

enum {
	inDesk,
	inMenuBar,
	inSysWindow,
	inContent,
	inDrag,
	inGrow,
	inGoAway,
	inZoomIn,
	inZoomOut
};
.
.
pascal Boolean 		*TrackBox() = 0xA83B; 
pascal void 		*ZoomWindow() = 0xA83A;
.
.
.

main()
{

	WindowPtr		whichWindow;
	EventRecord		myEvent;
	
	InitGraf(&thePort);		
	InitFonts();
	InitWindows();
	InitMenus();
	TEInit();
	
	for(;;)  /* forever */
	{

	SystemTask();

	if (GetNextEvent(everyEvent, &myEvent)) 
	{
		switch(myEvent.what)
		{
		case mouseDown:
		switch (FindWindow( myEvent.where, &whichWindow ))
		{
		.
		.
			case inZoomIn:
			   if(TrackBox(whichWindow,myEvent.where,inZoomIn))
				ZoomWindow(whichWindow,inZoomOut,0);
			   break;
			case inZoomOut:
			   if(TrackBox(whichWindow,myEvent.where,inZoomOut))
				ZoomWindow(whichWindow,inZoomOut,0);
			   break;
			default: 
			   break;
		} /* end switch findwindow */
		break;
		.
		.
		default:
			break;
		}  /* end switch which event */
		.
		.
	} /* end if event */
	} /* end forever */
} /* end main */
-------------------------------------]

					Thanks for your help,

					Jim Meiss
					ut-npg!jdm