-- Copyright (C) 1982, 1983  by Xerox Corporation. All rights reserved. 
-- DisplayInternal.mesa - last edited by 
  -- Bruce	24-Feb-83 15:51:31
  -- Rick	18-Nov-83 14:53:57
  -- Steve	12-Oct-82 15:20:50
  
DIRECTORY
  BitBlt USING [BitBltFlags],
  DisplayFormat USING [CircleType],
  SpecialDisplay USING [defaultContext, LineStyle, Special],
  Window USING [Box, BoxHandle, Handle, Place];
  
DisplayInternal: DEFINITIONS IMPORTS SpecialDisplay = 
  BEGIN

  -- arcs
  
  Arc: PROC [
    window: Window.Handle, place: Window.Place, radius: INTEGER, 
    startSector, stopSector: CARDINAL, start, stop: Window.Place, 
    bounds:Window.BoxHandle ← NIL];

  SpArc: PROC [
    window: Window.Handle, place: Window.Place, radius: INTEGER, 
    startSector, stopSector: CARDINAL, start, stop: Window.Place, 
    bounds: Window.BoxHandle, dashes: SpecialDisplay.LineStyle, 
    flags: BitBlt.BitBltFlags,
    context: SpecialDisplay.Special ← SpecialDisplay.defaultContext];
    
  DisplayArcBoxes: PUBLIC PROC [
    b1, b2, b3: Window.BoxHandle, start, stop, center: Window.Place,
    radius, thickness, sum: CARDINAL];
    
  FillArcBoxes: PUBLIC PROC [
    b1, b2, b3: Window.BoxHandle, startPlace, stopPlace,centerPlace:Window.Place,
    screenRadius, top, bottom: INTEGER];  
    
  -- circles
  
  Circle: PROC [
    window: Window.Handle, place: Window.Place, radius: INTEGER, 
    circleType: DisplayFormat.CircleType, bounds: Window.BoxHandle ← NIL];

  SpecialCircle: PROC [
    window: Window.Handle, place: Window.Place, radius: INTEGER, 
    circleType: DisplayFormat.CircleType, bounds: Window.BoxHandle, 
    dashes: SpecialDisplay.LineStyle, flags: BitBlt.BitBltFlags,
    context: SpecialDisplay.Special ← SpecialDisplay.defaultContext];
  
  -- conics
  
  Conic: PROC [
    window: Window.Handle, a, b, c, d, e, errorTerm: LONG INTEGER, 
    start, stop, origin: Window.Place, sharpCornered: BOOLEAN, 
    bounds: Window.BoxHandle ← NIL];

  SpecialConic: PROC[
    window: Window.Handle, a, b, c, d, e, errorTerm: LONG INTEGER, 
    start, stop, origin: Window.Place, sharpCornered: BOOLEAN, 
    bounds: Window.BoxHandle, dashes: SpecialDisplay.LineStyle, 
    flags: BitBlt.BitBltFlags, 
    context: SpecialDisplay.Special ← SpecialDisplay.defaultContext];
  
  DxDyToSlopeDir: PROC [dx, dy: LONG INTEGER] RETURNS [xDir, yDir: INTEGER];
  
  END.