ColorDisplay on 1 640x480 StatementInterpreter Run IIPackage Run TimeIt _ &bw _ IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[]]] _ &b _ IISample.MapFromFrameBuffer[Terminal.GetColorFrameBufferA[Terminal.Current[]]] _ IISample.Clear[&b] _ &c _ IIBitmapContext.Create[[480, 640], [slow: down, fast: right], [60.0, 60.0], TRUE, $Bitmap] _ IIBitmapContext.SetBitmap[&c, &b] _ II.SetFont[&c, II.FindFontScaled["xerox/pressfonts/timesroman-mrr", 30]] _ II.SetFont[&c, II.FindFontScaled["xerox/pressfonts/APL-mrr", 30]] _ II.SetFont[&c, II.FindFontScaled["xerox/pressfonts/Gacha-mir", 30]] _ II.SetFont[&c, II.FindFontScaled["xerox/xc1-1-1/acmodern-bold-italic", 30]] _ II.RotateT[&c, 140] _ IISample.Clear[&b] _ II.SetXY[&c, [10,90]] _ II.ShowRope[&c, "Big yellow 0123456789"] { FOR i: INT IN [0..100) DO II.RotateT[&c, -40]; II.ScaleT[&c, .9]; II.ShowRope[&c, "Hello World"] ENDLOOP } _ II.MaskBitmap[context: &c, bitmap: IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[]]], referencePoint: [808, 0], position: [0, 0]] { FOR i: NAT IN [0..2) DO II.DrawBitmap[context: &c, bitmap: IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[]]], referencePoint: [808, 0], position: [0, 0]]; II.RotateT[&c, 10] ENDLOOP } _ IIBackdoor.SetT[&c, IITransformation.Scale[1]] _ II.ScaleT[&c, 2] _ II.ScaleT[&c, 0.5] _ II.RotateT[&c, 0.0001] _ II.MaskBitmap[context: &c, bitmap: IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[]]], referencePoint: [808, 0], position: [0, 0]] _ &fscale _ 1; _ &fscale _ 2; _ &fscale _ 4; _ &fscale _ 8; _ &fscale _ 16; _ II.SetFont[&c, II.FindFontScaled["xerox/pressfonts/timesroman-mrr", 30*&fscale]] _ II.SetXY[&c, [0,0]] _ II.ShowRope[&c, "Hello World"] _ II.SetGray[&c, 0] _ II.SetGray[&c, 0.5] _ II.SetColor[&c, IIBackdoor.invert] _ II.SetGray[&c, 1] { FOR a: REAL _ 0, a+45 UNTIL a >= 360 DO II.SetXY[&c, [3*RealFns.CosDeg[a], 3*RealFns.SinDeg[a]]]; II.ShowRope[&c, "Hello World"] ENDLOOP } _ II.SetXY[&c, [0,0]] _ II.ShowRope[&c, "Hello World"] _ &bits _ IIPixelArray.FromAIS["q.ais"] _ II.MaskPixel[&c, &bits] _ II.ScaleT[&c, 32] _ II.MaskPixel[&c, &bits] _ II.ScaleT[&c, 1.0/32] _ II.SetSampledBlack[&c, &bits] _ II.ScaleT[&c, 32] _ II.MaskPixel[&c, &bits] _ II.SetGray[&c, 0.5] _ &pa _ IIPixelArray.Join3AIS["[cyan]Peppers-red.ais", "[cyan]Peppers-green.ais", "[cyan]Peppers-blue.ais"] _ II.SetSampledColor[context: &c, pa: &pa, m: NIL, colorOperator: IIColor.NewColorOperatorRGB[255]] _ II.MaskRectangleI[&c, 0, 0, 512, 512] _ II.MaskPixel[&c, &bits] _ II.DrawPixels[context: &c, pixelMap: IIPixel.MakePixelMap[IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[ ]]]], colorOperator: IIColor.NewColorOperatorGrayLinear[0, 1, 0, NIL], referencePoint: [808, 0], scanMode: [slow: down, fast: right]] _ II.DrawBitmap[context: &c, bitmap: IISample.MapFromFrameBuffer[Terminal.GetBWFrameBuffer[Terminal.Current[ ]]], referencePoint: [808, 0], scanMode: [slow: down, fast: right], position: [0, 0]] _ &font _ II.FindFontScaled["xerox/pressfonts/timesroman-mrr", 300] _ &fontAtom _ IIFontPrivate.MakeFontAtom[typeface: &font.impl.typeface, m: &font.charToClient] _ &A _ IIMaskCapture.CaptureChar[&fontAtom, [0,LOOPHOLE['A]], 1, NIL] _ IISample.Fill[map: &b, box: [max: [40, 40]], value: 1] _ IISample.Fill[map: &b, box: [max: [39, 39]], value: 0] _ IISample.Transfer[dst: &b, src: IIMaskCacheImpl.BitmapFromCharMask[&A], delta: [40, 40], function: [xor, null]] _ II.TranslateT[&c, [40, 40]]; _ II.ScaleT[&c, 8]; _ II.SetStrokeWidth[&c, 4]; _ &traj _ IIPath.MoveTo[[2, 50]] _ &traj _ IIPath.CurveTo[&traj, [58, 50], [58, 50], [58, 2]] _ &t2 _ IIPath.MoveTo[[0, 30]] _ &t2 _ IIPath.ArcTo[&t2, [21.2132, 21.2132], [30, 0]] _ &t3 _ IIPath.MoveTo[[0, 30]] _ &t3 _ IIPath.CurveTo[&t3, [60, 30], [30, 60], [30, 0]] _ &t4 _ IIPath.LineTo[&t3, [30, 60]] _ &t3 _ IIPath.LineTo[&t3, [0, 0]] _ &t1 _ IIPath.MoveTo[[0, 30]] _ &t1 _ IIPath.LineTo[&t1, [30, 0]] _ &t1 _ IIPath.LineTo[&t1, [0, 30]] _ IISample.Clear[&b] _ &o _ TimeIt.ObjectFromTraj[&traj, NIL] _ II.DrawObject[context: &c, object: &o, position: [0, 0], interactive: TRUE] _ TimeIt.Paint[&c, &o] _ &t _ TimeIt.Sketch[&c]; _ &o _ TimeIt.MakeStrokeObject[&t, 12] _ TimeIt.MultiObject[&c, &o, 30] _ II.SetStrokeWidth[&c, 120]; _ II.SetStrokeWidth[&c, 60]; _ II.SetStrokeWidth[&c, 30]; _ II.SetStrokeWidth[&c, 15]; _ II.SetStrokeWidth[&c, 8]; _ II.SetStrokeWidth[&c, 4]; _ II.SetStrokeJoint[&c, round] _ II.SetStrokeJoint[&c, bevel] _ II.SetStrokeJoint[&c, miter] _ II.SetStrokeEnd[&c, round] _ II.SetStrokeEnd[&c, butt] _ II.SetStrokeEnd[&c, square] _ II.MaskStrokeTrajectory[&c, &traj] _ TimeIt.StrokeOutline[&c, &traj, FALSE, IIStroke.bigBox] _ TimeIt.StrokeOutline[&c, &t2, FALSE, IIStroke.bigBox] _ &c _ ImagerTerminal.BWContext[Terminal.Current[], TRUE] _ Imager.TranslateT[&c, [40, 40]]; _ Imager.ScaleT[&c, 8]; _ Imager.SetStrokeWidth[&c, 4]; _ &traj _ ImagerPath.MoveTo[[2, 50]] _ &traj _ ImagerPath.CurveTo[&traj, [58, 50], [58, 50], [58, 2]] _ &t2 _ ImagerPath.MoveTo[[0, 30]] _ &t2 _ ImagerPath.ArcTo[&t2, [21.2132, 21.2132], [30, 0]] _ &t3 _ ImagerPath.MoveTo[[0, 30]] _ &t3 _ ImagerPath.CurveTo[&t3, [60, 30], [30, 60], [30, 0]] _ &t4 _ ImagerPath.LineTo[&t3, [30, 60]] _ &t3 _ ImagerPath.LineTo[&t3, [0, 0]] |IITest.cm Copyright c 1986 by Xerox Corporation. All rights reserved. Michael Plass, December 2, 1986 4:46:53 pm PST Êu˜™ Icodešœ Ïmœ1™