home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / sound / chaneler.sit / Channelizer.ƒ / WindowLayout.pas < prev    next >
Pascal/Delphi Source File  |  1989-09-08  |  4KB  |  180 lines

  1. unit WindowLayout;
  2. { Copyright ⌐ 1989 Chris Muir, Entropy Engineering.        }
  3. { Internet:    (hplabs,pacbell,ucbvax,apple) !well!cbm     }
  4. { Pan:        ZMS                                            }
  5. { US Mail:    360 Elizabeth St. San Francisco, CA 94114    }
  6.  
  7. {+++++++++++++++++++++++    History    +++++++++++++++++++++++}
  8.  
  9. { 0.0c        ╩July 30, 1989    cbm}
  10. {    started the tedious task of changing all the globals' names to start with g }
  11.  
  12. { 0.0b        ╩July 25, 1989    cbm}
  13. {    added some more globals }
  14.  
  15. { 0.0a        ╩July 19, 1989    cbm}
  16. {    Started keeping history }
  17.  
  18.  
  19. interface
  20.  
  21.     uses
  22.         QuickDraw, ToolIntf;
  23.  
  24.     procedure InitMessyVar;
  25.  
  26.     function PopUpMenuSelect (menu: MenuHandle; top, left, popUpItem: INTEGER): LONGINT;
  27.     inline
  28.         $A80B;
  29.  
  30.  
  31.     var                { Main global variables }
  32.         gTheFont: integer;        { Main Font }
  33.         gMonoFont: integer;
  34.         gTitleFont: integer;        { Font for section Titles }
  35.         gGraphicMenu: MenuHandle;
  36.         gFlipFlag: boolean;
  37.         gTheWorld: SysEnvRec;
  38.         gInColor: boolean;                { true if >= 4 bits / pixel }
  39.         gOnlyGreys: boolean;            { true if >= 4 bits / pixel AND not in color }
  40.         gNumPix: integer;
  41.         gInBackground: boolean;
  42.         gMyWindow: WindowPtr;
  43.         gMyPt: Point;
  44.         gMyEvent: EventRecord;
  45.         gXferFlag: boolean;            { Transfer to new program flag }
  46.         gDoneFlag: boolean;            { Exit program flag }
  47.         gMidiOutChanRect: rect;
  48.         gMidiOutLabelRect: rect;
  49.         gInUserNumericals: RgnHandle;
  50.         gTheBackground: integer;
  51.         gMyPixPat: PixPatHandle;
  52.         gMyGreyRgn: RgnHandle;
  53.         gAppleMenu: MenuHandle;            { Used for DAs }
  54.         gOptionMenu: MenuHandle;        { Used to handle Options }
  55.  
  56.         gFSOops: OsErr;
  57.  
  58.     const
  59.         on = true;
  60.         off = false;
  61.         zero = 0;
  62.         NumMin = 0;
  63.         NumMax = 128;
  64.  
  65.         ModDistance = 11;
  66.  
  67.         AbsTop = 5;
  68.         AbsLeft = 7;
  69.  
  70.         hor_rrect = 16;
  71.         ver_rrect = 16;
  72.  
  73.         OscWavePopUpWidth = 80;
  74.         ModPopUpWidth = 76;
  75.         LFOWavePopUpWidth = 69;
  76.  
  77.         NumericalWidth = 34;
  78.         HalfNumerical = 17;
  79.  
  80.         Lhigh = 14;        { Patch select junk }
  81.         Lwide = 120;
  82.         LNumCols = 3;
  83.  
  84.         RawDataWide = 90;
  85.  
  86.         FitsVertPatch = 19;
  87.         BlockTitleRight = 7;
  88.         BlockTitleDown = 1;
  89.  
  90.         ServerNameHight = 14;
  91.  
  92. { +++++++++++++++++++++ }
  93.  
  94. { +++++++++++++++++++++ }
  95.  
  96.  
  97. implementation
  98.  
  99.     var
  100.         ref_left: integer;
  101.         ref_top: integer;
  102.         PatchTop: integer;
  103.         PatchLeft: integer;
  104.  
  105.     const
  106.         theDesk = 16;
  107.  
  108.  
  109.  
  110.  
  111.  
  112. {_____________________    GetFontNumber    _____________________}
  113.  
  114.     function GetFontNumber (fontName: Str255; var fontNum: INTEGER): BOOLEAN;
  115.     {GetFontNumber returns in fontNum the number for the font having}
  116.     {the given fontName . If there ╒s no such font , it returns FALSE . }
  117.         var
  118.             systemFontName: Str255;
  119.     begin
  120.         GetFNum(fontName, fontNum);
  121.         if fontNum = 0 then
  122.             begin
  123.          {either the font was not found, or it is the system font}
  124.          {if it was the system font, we got it, otherwise we didn't}
  125.                 GetFontName(0, systemFontName);
  126.                 GetFontNumber := EqualString(fontName, systemFontName, FALSE, FALSE);
  127.             end
  128.         else
  129.          {if theNum was not 0, we found the font}
  130.             GetFontNumber := TRUE;
  131.     end;
  132.  
  133.  
  134.  
  135.  
  136.  
  137. {_____________________    InitMyFonts    _____________________}
  138.  
  139.     procedure InitMyFonts;
  140.         var
  141.             FontReq: str255;
  142.             FontExists: boolean;
  143.         const
  144.             MyFontz = 400;
  145.             F_Geneva = 2;
  146.             F_Monaco = 3;
  147.             F_NewYork = 4;
  148.     begin        { Font Stuff }
  149.         GetIndString(FontReq, MyFontz, F_Geneva);
  150.         FontExists := GetFontNumber(FontReq, gTheFont);
  151.         if FontExists = false then
  152.             gTheFont := 1;            { Use ApplFont if requested font isn't there}
  153.         GetIndString(FontReq, MyFontz, F_Monaco);
  154.         FontExists := GetFontNumber(FontReq, gMonoFont);
  155.         GetIndString(FontReq, MyFontz, F_NewYork);
  156.         FontExists := GetFontNumber(FontReq, gTitleFont);
  157.     end;
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164. {_____________________    InitMessyVar    _____________________}
  165.  
  166.     procedure InitMessyVar;    { initialize things that we'ld like to treat as consts, but╔ }
  167.         var
  168.             PenSafe: PenState;
  169.             temprect: rect;
  170.     begin
  171.         gTheBackground := theDesk;
  172.         InitMyFonts;
  173.     end;        { InitMessyVar }
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180. end.