home *** CD-ROM | disk | FTP | other *** search
- /*
- * MandelVroom 2.0
- *
- * (c) Copyright 1987,1989 Kevin L. Clague, San Jose, CA
- *
- * All rights reserved.
- *
- * Permission is hereby granted to distribute this program's source
- * executable, and documentation for non-comercial purposes, so long as the
- * copyright notices are not removed from the sources, executable or
- * documentation. This program may not be distributed for a profit without
- * the express written consent of the author Kevin L. Clague.
- *
- * This program is not in the public domain.
- *
- * Fred Fish is expressly granted permission to distribute this program's
- * source and executable as part of the "Fred Fish freely redistributable
- * Amiga software library."
- *
- * Permission is expressly granted for this program and it's source to be
- * distributed as part of the Amicus Amiga software disks, and the
- * First Amiga User Group's Hot Mix disks.
- *
- * contents: this file contains functions to open, display and close the
- * statistics window.
- */
-
- #include "mandp.h"
-
- struct Window *StatsWind;
-
- UBYTE StatsOpen;
-
- static
- struct NewWindow NewStats = {
- 0,200-100, /* start position */
- 90,120, /* width, height */
- (UBYTE) 0, (UBYTE) 1, /* detail pen, block pen */
- NULL, /* IDCMP flags */
- /* MandWind flags */
- WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH,
- (struct Gadget *) NULL, /* first gadget */
- (struct Image *) NULL, /* user checkmark */
- (UBYTE *) "Statistics", /* window title */
- (struct Screen *) NULL, /* pointer to screen */
- (struct BitMap *) NULL, /* pointer to superbitmap */
- 80,80,80,80, /* sizing */
- CUSTOMSCREEN /* type of screen */
- };
-
- static
- UBYTE StartString[80], EndString[80], GapString[80], SizeString[80];
- static
- UBYTE MagString[30];
-
- static
- struct IntuiText MagIntui = {
- 1, 0, JAM1, 8, 52, NULL,
- (UBYTE *) MagString, NULL
- };
-
- static
- struct IntuiText SizeIntui = {
- 1, 0, JAM1, 8, 44, NULL,
- (UBYTE *) SizeString, &MagIntui
- };
-
- static
- struct IntuiText GapIntui = {
- 1, 0, JAM1, 8, 36, NULL,
- (UBYTE *) GapString, &SizeIntui
- };
-
- static
- struct IntuiText EndIntui = {
- 1, 0, JAM1, 8, 28, NULL,
- (UBYTE *) EndString, &GapIntui
- };
-
- static
- struct IntuiText StartIntui = {
- 1, 0, JAM1, 8, 20, NULL,
- (UBYTE *) StartString, &EndIntui
- };
-
- static
- struct IntuiText RealIntui = {
- 1, 0, JAM1, 8, 12, NULL,
- (UBYTE *) " Real Imag", &StartIntui
- };
-
- /*
- * Open the statistics window
- */
- OpenStatsWind( Pict )
- struct Picture *Pict;
- {
- struct Window *OpenMyWind();
-
- if (StatsWind == (struct Window *) NULL) {
-
- StatsWind = OpenMyWind( &NewStats, screen, NULL, 320, 80);
-
- } else {
- WindowToFront( StatsWind );
- }
- ShowStats( Pict );
- StatsOpen = 1;
- } /* OpenStatsWind */
-
- /*
- * Close the statistics window
- */
- CloseStatsWind()
- {
- if (StatsWind != (struct Window *) NULL) {
- CloseMyWind( StatsWind, NULL);
- StatsWind = (struct Window *) NULL;
- }
- } /* CloseStatsWind */
-
- ShowStats( Pict )
- register struct Picture *Pict;
- {
- register LONG Mag;
-
- if (StatsWind) {
-
- ClearWindow( StatsWind, 0);
-
- Mag = (LONG) 4.0 / (Pict->ImagHigh - Pict->ImagLow);
-
- sprintf( StartString, "Start %15.12f %15.12f", Pict->RealLow, Pict->ImagLow );
- sprintf( EndString, "End %15.12f %15.12f", Pict->RealHigh, Pict->ImagHigh );
- sprintf( GapString, "Gap %15.12f %15.12f", Pict->RealGap, Pict->ImagGap );
- sprintf( SizeString, "Size %15d %15d", Pict->CountX, Pict->CountY );
- sprintf( MagString, "Mag %15d", Mag );
-
- PrintIText( StatsWind->RPort, &RealIntui, 0, 0 );
- }
- }
-
- ClearWindow( Window, pen )
- register struct Window *Window;
- int pen;
- {
- register struct RastPort *RPort;
- register LONG bot, right;
-
- RPort = Window->RPort;
-
- SetAPen( RPort, (long) pen);
-
- bot = Window->Height - Window->BorderBottom;
- right = Window->Width - Window->BorderRight;
-
- RectFill( RPort, Window->BorderLeft-1, Window->BorderTop-1, right, bot );
- }
-
-
-