DIRECTORY TiogaDisplayTable, TiogaNode USING [Location, Ref, RefBranchNode, Span], TiogaNodeOps USING [LastLocWithin]; TiogaDisplayTableImpl: CEDAR PROGRAM IMPORTS TiogaNodeOps EXPORTS TiogaDisplayTable = BEGIN OPEN TiogaDisplayTable; StorePageRectangle: PUBLIC PROC [dt: DisplayTable, index: INTEGER, pr: PageRectangle] = BEGIN IF index>dt.objects.maxRectangle THEN SetSize[dt, MIN[1, dt.objects.maxRectangle]*2]; dt.objects[index] _ pr; dt.lastY _ MAX[dt.lastY, pr.yOffset+pr.height]; dt.lastIndexUsed _ MAX[dt.lastIndexUsed, index]; END; InvalidateSpan: PUBLIC PROC [dt: DisplayTable, span: TiogaNode.Span] = BEGIN ERROR; -- Not Yet Implemented END; InvalidateChildren: PUBLIC PROC [dt: DisplayTable, parent: TiogaNode.Ref] = BEGIN child: TiogaNode.Ref; span: TiogaNode.Span; span _ [[child,0],TiogaNodeOps.LastLocWithin[parent]]; InvalidateSpan[dt, span]; END; InvalidateBranch: PUBLIC PROC [dt: DisplayTable, node: TiogaNode.RefBranchNode] = BEGIN span: TiogaNode.Span _ [[node,0],TiogaNodeOps.LastLocWithin[node]]; InvalidateSpan[dt, span]; END; VerticalScroll: PUBLIC PROC [dt: DisplayTable, upLines: INTEGER] = BEGIN ERROR; -- Not Yet Implemented END; Resolve: PUBLIC PROC [dt: DisplayTable, x, y: INTEGER, useClosest: BOOL _ TRUE] RETURNS [index: INTEGER _ notFound, mappedX, mappedY: INTEGER] = BEGIN ERROR; -- Not Yet Implemented END; New: PUBLIC PROC [nEntries: INTEGER] RETURNS [dt: DisplayTable] = BEGIN ERROR; -- Not Yet Implemented END; SetSize: PUBLIC PROC [dt: DisplayTable, nEntries: INTEGER] = BEGIN ERROR; -- Not Yet Implemented END; END. ¸-- TiogaDisplayTableImpl.mesa; Written by S. McGregor, June 1983 -- Edited by McGregor, July 11, 1983 11:11 am ***** Partial invalidation of display tables ***** ***** Partial invalidation of display tables ***** -- invalidate lines for children of node IF (child _ TiogaNode.FirstChild[node])=NIL THEN RETURN; -- invalidate lines for children of node ***** Coordinate to rectangle mapping ***** ***** Table size management ***** ʘJšÏc7œ ™@Jšœ™-J˜šÏk ˜ Jšœ˜Jšœ žœ&˜5Jšœ žœ˜#J˜—šœžœž˜$Jšžœ ˜Jšžœžœžœ˜9—J˜šœ2™2J˜š Ïnœžœžœžœž˜]Jšžœžœ žœ ˜UJšœ˜Jšœ žœ!˜/Jšœžœ˜0Jšžœ˜——J™šœ2™2J˜šŸœžœžœ,ž˜LJšžœ˜Jšžœ˜J˜—šŸœžœžœ-ž˜QJš(™(J˜J˜Jšœ8™8Jšœ6˜6J˜Jšžœ˜—J˜šŸœžœžœ5ž˜WJš(™(J˜CJ˜Jšžœ˜J™—š Ÿœžœžœžœž˜HJšžœ˜Jšžœ˜——J™šœ+™+J˜š Ÿœžœžœžœžœžœ˜Ošžœ žœžœž˜FJšžœ˜Jšžœ˜———J™šœ!™!J˜š Ÿœžœžœ žœžœž˜GJšžœ˜Jšžœ˜J˜—š Ÿœžœžœžœž˜BJšžœ˜Jšžœ˜J˜——Jšžœ˜J˜J˜—…—( a