DIRECTORY Real USING [FixI, Float], UnifiedFonts USING [FONT], ImagerBasic USING [Pair, IntPair], ImagerTransform USING [IntTransform, InverseIntTransform, Transform, InverseTransform], ImagerDisplay USING [ContextData], Imager USING [Context]; ImagerDisplayCharactersImpl: CEDAR PROGRAM IMPORTS ImagerTransform, Real EXPORTS Imager = BEGIN NotImplementedYet: PUBLIC SIGNAL = CODE; SetCP: PUBLIC PROC [context: Imager.Context, cp: ImagerBasic.Pair] = { displayContext: ImagerDisplay.ContextData = NARROW[context.data]; cp _ ImagerTransform.Transform[cp, displayContext.transform]; displayContext.currentPosition _ [ Real.FixI[cp.x], Real.FixI[cp.y] ]; }; GetCP: PUBLIC PROC [context: Imager.Context] RETURNS [cp: ImagerBasic.Pair] = { displayContext: ImagerDisplay.ContextData = NARROW[context.data]; cp _ [ Real.Float[displayContext.currentPosition.x], Real.Float[displayContext.currentPosition.y] ]; cp _ ImagerTransform.InverseTransform[cp, displayContext.transform]; }; SetIntCP: PUBLIC PROC [context: Imager.Context, cp: ImagerBasic.IntPair] = { displayContext: ImagerDisplay.ContextData = NARROW[context.data]; displayContext.currentPosition _ ImagerTransform.IntTransform[ cp, displayContext.transform]; }; GetIntCP: PUBLIC PROC [context: Imager.Context] RETURNS [cp: ImagerBasic.IntPair] = { displayContext: ImagerDisplay.ContextData = NARROW[context.data]; cp _ ImagerTransform.InverseIntTransform[ displayContext.currentPosition, displayContext.transform]; }; MaskChar: PUBLIC PROC [context: Imager.Context, font: UnifiedFonts.FONT, char: CHAR] = { }; MaskCharacters: PUBLIC PROC [ context: Imager.Context, font: UnifiedFonts.FONT, characters: REF, -- may be a Rope.ROPE or a REF TEXT start: INT _ 0, length: INT _ LAST[INT] ] = {}; END.  ImagerDisplayCharactersImpl.mesa Last Edited by: Crow, August 5, 1983 8:20 pm Client Procedures (exported to Imager) Affect current position. Fast Track Put characters on the display Uses the DeviceWidth of each character for positioning. Internal Procedures Κ0˜headšœ ™ J™-šΟk ˜ Jšœ œ˜Jšœœœ˜Jšœœ˜$Jšœœ/˜DJšœ˜Jšœœ˜#Jšœ œ ˜——šœ ˜*Jšœ˜Jšœ˜J˜Jšœœ˜J˜Jšœœœœ˜(—™&Idefaultšœ™šΟnœ œ4˜FJšœ,œ˜AJšœ=˜=JšœF˜FJšœ˜—unitšžœ œœ˜OIašœ,œ˜AJšœ4˜4Jšœ1˜1JšœD˜DJšœ˜MšΟi ™ —šžœ œ7˜LJšœ,œ˜AJšœ?˜?Jšœ0˜0Jšœ˜—šžœ œœ˜UNšœ,œ˜AJšœ)˜)JšœB˜BJšœ˜MšŸ™—šžœ œ.œœ˜XNšœ˜—šžœ œ˜Jšœ˜Jšœœ˜Jšœ œΟc#˜4Jšœœ˜Jšœœœœ˜Jšœ˜J™7——™Jšœ˜——…— F