home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / fonts / fontshow.sit / globals.Pas < prev    next >
Pascal/Delphi Source File  |  1988-09-09  |  3KB  |  55 lines

  1. UNIT Globals(1);
  2. {$U-}
  3. {$D+}
  4. (* This unit contains global variables for the FontShow program *)
  5. (* Version 1.0 by Richard Clark, September 1988 *)
  6. INTERFACE
  7.  
  8.   USES MemTypes, QuickDraw, OSIntf, ToolIntf;
  9.   
  10.      VAR
  11.     DragLimits,                         (* Where are we allowed to drag windows? *)
  12.     SizeLimits    : Rect;               (* What are the resizing bounds on our windows? *)
  13.     Quit          : Boolean;            (* Has Quit been selected? *)
  14.           WindowReserve : Ptr;                (* This variable is used to reserve memory for the NEXT *)
  15.                                         (* window to be opened. (See programming notes) *)
  16.           currFont,                           (* The current font and size, as determined by the Font *)
  17.     currSize      : INTEGER;            (* and Size menus. *)
  18.     AboutWindow   : WindowPtr;          (* A pointer to our ╥About╙ window (since we only have one) *)
  19.     CurrFreeMem   : LONGINT;            (* The current amount of memory available (as reported by *)
  20.                                            (* FreeMem) *)
  21.      
  22.   PROCEDURE InitGlobals;                (* Set up the values of the above globals *)
  23.   PROCEDURE SafetyNet;                  (* If there is a System Error, this is our "resume" procedure *)
  24.   
  25. IMPLEMENTATION
  26.  
  27.   PROCEDURE InitGlobals;
  28.   (* This procedure sets up the initial values of the above global variables *)
  29.      BEGIN
  30.        DragLimits := ScreenBits.bounds;
  31.           InsetRect(DragLimits, 20, 20);      (* Don't let windows get any closedr than 20 pixels from *)
  32.           SizeLimits := DragLimits;           (* the edge of the screen.  Also, don't let them get any *)
  33.                                         (* smaller than 20 x 20 pixels, and no larger than       *)
  34.                                         (* (screenSize - 40 pixels) *)
  35.           windowReserve := NIL;               (* Show that we don't have any memory pre-allocated for  *)
  36.                                         (* windows yet. *)
  37.           AboutWindow := NIL;                 (* No ╥About╙ window yet *)
  38.           Quit := FALSE;                      (* No need to quit, as we just started *)
  39.  
  40.           currFont := 1;                      (* Use the ╥Application Font╙ (typically Geneva) initially *)
  41.           currSize := 12;                     (* 12 points seems to be a reasonable size *)
  42.      END; (* InitGlobals *)
  43.  
  44.  
  45.   PROCEDURE SafetyNet;
  46.   (* This is the "resume" procedure which is called if a System Error occurs and the user presses *)
  47.   (* the "resume" button.  It has to be in the same segment as our main loop so it will never be  *)
  48.   (* unloaded from memory.                                                                        *)
  49.   (* This procedure is referenced from the Initialization segment.                                *)
  50.      BEGIN
  51.           ExitToShell;                        (* try to return to the Finder if an error occurs *)
  52.      END; (* safetyNet *)
  53.  
  54.  
  55. END.