home *** CD-ROM | disk | FTP | other *** search
/ ftp.ncsa.uiuc.edu / ftp.ncsa.uiuc.edu.zip / ftp.ncsa.uiuc.edu / Contour / globals.p < prev    next >
Text File  |  2017-03-03  |  4KB  |  158 lines

  1. {$U-}
  2. {$R-}
  3. unit Globals(10);
  4. interface
  5. uses
  6.     MemTypes, Quickdraw, OSIntf, ToolIntf,MacPrint,FixMath,Graf3D;
  7.     
  8. const
  9.     {menu stuff}
  10.     AppleMenuID = 256;
  11.     FileMenuID = 257;
  12.     EditMenuID = 258;
  13.     PlotMenuID = 1000;
  14.     GoodiesMenuID = 2000;
  15.  
  16.     {alert box id number.}
  17.     dimenID = 1033;
  18.     okItem = 1;
  19.     hditem = 2;
  20.     vditem = 3;
  21.     MagItem = 6;
  22.     levelItem = 9;
  23.     xaxisitem = 12;
  24.     yaxisitem = 13;
  25.     minItem = 16;
  26.     maxItem = 18;
  27.     cancelItem = 19;
  28.     maxLevels = 40;
  29.  
  30.     IEalertID = 29410;
  31.     ZBalertID = 5147;
  32.  
  33.     {window IDs}
  34.     WindResID = 256;
  35.   
  36.     {Zoom in/out cursor ID}
  37.     ZorroID = 4120;
  38.  
  39.  {Unique contours ID}
  40.  resID = 161;
  41.  
  42.     ScrollBarWidth = 16;
  43.     HSBarID = 256;        { Scroll Bar resources }
  44.     VSBarID = 257;
  45.  
  46.     minDataX = 0;        {minimum x and y indices for data matrix}
  47.     minDataY = 0;
  48.     maxRows = 30;        {number of rows processed in one disk read}
  49.  maxWidth = 1024;
  50.                         {during contour plot}
  51.  
  52.     numPatterns = 10;    {number of shade intensities}
  53.  
  54.  MaxWindows = 5;
  55.  
  56. type
  57.     DataType = array[1..25,1..25] of integer;
  58.     ArrayPtr = ^list;
  59.     list = packed array[0..0] of char;
  60.     boolPtr = ^boolList;
  61.     boolList = array[0..0] of boolean;
  62.  dimenHandle = ^dimenPtr;
  63.  dimenPtr = ^dimensions;
  64.  dimensions = record
  65.     maxX,maxY : integer;
  66.     gridSize : longint;
  67.     NoOfLevels,
  68.     xOrigin,yOrigin,
  69.     minData,maxData : integer;
  70.  end;
  71.  
  72. var
  73.     {Menu stuff}
  74.     FileMenu,EditMenu,
  75.     PlotMenu, GoodiesMenu : MenuHandle;
  76.  
  77.     ClockCursor : CursHandle; {handle to the waiting watch cursor}
  78.     PatList : array[1..numPatterns] of Pattern;        { selected standard patterns }
  79.  
  80.     Finished : Boolean;    {used to terminate the program}
  81.  
  82.  
  83.     {Screen stuff}
  84.     DragArea : Rect;          {holds the area where window can be dragged in}
  85.     GrowArea : Rect;          {holds the area to which a windows size can change}
  86.     currentGridSize : longint;
  87.  gridSize : array[1..MaxWindows] of longint;    { number of pixels per grid region }
  88.     Screen : rect;
  89.   
  90.     {window stuff}
  91.     bounds : rect;
  92.     contourWindow : array[1..maxWindows] of WindowPtr;
  93.     ThreeDWindow : array[1..maxWindows] of WindowPtr;
  94.     HorizontalScrollBar,VerticalScrollBar : array[1..maxWindows] of ControlHandle;
  95.     plotRect : array[1..maxWindows] of Rect; { area in which to plot}
  96.   
  97.     {events}
  98.     theEvent : EventRecord;
  99.   
  100.     {cursors}
  101.     Cross : CursHandle;
  102.     Watch : CursHandle;
  103.     Zorro : CursHandle;
  104.   
  105.     {3D stuff}
  106.     my3DPort: array [1..maxWindows] of Port3D;
  107.     xTops,yTops,
  108.     xDegrees,yDegrees,zDegrees : array[1..maxWindows] of integer;
  109.     TDHBar, TDVBar : array[1..maxWindows] of ControlHandle;
  110.     toggle : array[1..maxWindows] of boolean;
  111.     myRect : array[1..maxWindows] of rect;
  112.     data3D : DataType;
  113.     xLow,xHigh,yLow,yHigh,
  114.     xStep,yStep : integer;
  115.     secondTime : array[1..maxWindows] of boolean;
  116.  
  117.     newGridSize : longint;
  118.     zooming,zoomed,selection : array[1..maxWindows] of boolean;
  119.     marqueeState : array[1..maxWindows] of PenState;
  120.     marqueeRect : array[1..maxWindows] of rect;
  121.   
  122.   
  123.     maxX,maxY,
  124.     NoOflevels,
  125.     xOrigin,yOrigin,
  126.     minData,maxData : array[1..maxWindows] of integer;
  127.  
  128.  data : array[0..maxRows] of ArrayPtr;
  129.     upHill : boolPtr;
  130.     ContourLevel : array[1..maxWindows] of array[1..maxLevels] of integer;
  131.  
  132.     clipRgn : RgnHandle;
  133.     shadeSurface : array[1..maxWindows] of boolean;
  134.     gridOn : array[1..maxWindows] of boolean;
  135.     toggleAxis : array[1..maxWindows] of boolean;
  136.   
  137.     {file Stuff}
  138.     theFile : array[1..maxWindows] of integer;
  139.     resultCode : OSErr;
  140.     count : longint;
  141.   
  142.     {printer stuff}
  143.     prRecHdl : THPrint;
  144.     myPrPort : TPPrPort;
  145.     PrStRec : TPrStatus;
  146.     defaultPage : rect;
  147.  
  148.  newFile : array[1..maxWindows] of boolean;
  149.  dimen : array[1..maxWindows] of dimenHandle; 
  150.  resName : array[1..maxWindows] of string[63];
  151.  
  152.  oldWindowIndex,
  153.  windowIndex : 0..maxWindows;
  154.  NoOfWindows : integer;
  155.   
  156.  implementation
  157.  end.
  158.