1XEROXLispLibraryPackagesCOLORINTRODUCTIONThisdocumentdescribestheInterlisp-Dfacilitiesforusingthecolordisplay.Youareencouragedtomakecommentsandsuggestions.Themachine-independentcolorgraphicscodeisstoredonthelibraryfilesLLCOLOR.DCOMandCOLOR.DCOM;COLORloadsLLCOLOR.Inordertorunit,youneedaDorado(Xerox1132)withattachedcolordisplay.TheDoradocolordriverresidesinthefileDORADOCOLOR.DCOM,whichyoushouldloadafterCOLOR.DCOM.TheDoradocolorboardsupportsfouroreightbitsperpixel(bpp)at640by480resolution.(Actuallytheboardsupports24bppalso,butInterlisp-Ddoesn'tyet.)Acolordisplay'simagecanbethoughtofasapaint-by-numberpaintingwherethenumberofapixelisitsvalue.Thenumberofbitsperpixeldeterminesthenumberofdifferentcolorsthatcanbedisplayedatonetime.Whenthereare4bpp,16colorscanbedisplayedatonce.Whenthereare8bpp,256colorscanbedisplayedatonce.Amappingtablecalledacolormapdetermineswhatcoloractuallyappearsforeachpixelvalue.Acolormapgivesthecolorintermsofhowmuchofthethreeprimarycolors(red,green,andblue)isdisplayedonthescreenforeachpossiblepixelvalue.Inthefollowingsections,thenotionsof"colormap"and"color"aredescribed.COLORBITMAPSAcolorbitmapisactuallyabitmapthatallowsmorethanonebitperpixel.Totestwhetherabitmapisacolorbitmap,thefunctionBITSPERPIXELcanbeused.(BITSPERPIXELBitMap)[Function]returnsthebitsperpixelofBitMap;ifthisdoesnotequalone,BitMapisacolorbitmap.Inmultiple-bit-per-pixelbitmaps,thebitsthatrepresentapixelarestoredcontiguously.BITMAPCREATEwasextendedtocreatemultiple-bit-per-pixelbitmaps.(BITMAPCREATEWidthHeightBitsPerPixel)[Function] êq?€`½ îïp`¬ÿ êq?€`½îïî êïg_p`¬î+oï5q`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î—ï_xî—ï_xî—ï^Ýî—ï^Ýî—ï^Bî—ï^Bî—ï]§î—ï]aþû�î6’ï]§î6’î6’ï]§î6’î6’ï]§î—ï] î—ï\ûþû#î6’ï] î6’î6’ï] î'vïZ*t`iî-³ïZ*î—ïXˆs`#î—ïXwþû#î6’ïXˆî6’î6’ïXˆî6’î6’ïXˆî6’î6’ïXˆî—ïWíî—ïW§þû�î6’ïWíî6’î6’ïWíî “ïUu`X î1î‰î‰ïUqïUî‰ïUî “ïQ*î·î‹î'îš î%™ î+Bî-tî1^î3Ñî7ƒî<Ìî=;î@?îB¼ îJÁîJÁïQ*î “ïN÷î )îîîáî  î"±ïN÷î “ïKîîÞî ›î&�î*Cî+Åî0Gî2bî4ßî9Wî¹îBGîDîîGiîJÁîKîKïD„î “ïBQî{î0îîî× î î ˜î&®î)4î-rî3Šî5—î8Œî<î>¡ îE³îJÂîJÂïBQî “ï@î¨îîï@î “ïî+Åî2Pî4qî6òî;Åî>îA¤îGjîJÂîJÂï1Eî “ï/î°îî”îïîî î"nî'î)î-uî1Qî4î95î;› îBKï/î “ï+8uîîÚî$ï+8qï+8î|îÔîÔï+8î “ï'^î öî«î³îãî]î»îòîúî#*î& î*|î.0î1vî4Nî6Vî8âî<µî='î?FîBîG�îHÓîJÁîJÁï'^î “ï%+îªî î'îÂî°î)î„î" î,4î.çî0Õî4Nï%+î “ï!Q îÑï!Qvï!Qî)îŸï!Qqï!QîCÙ îJjï!Qî “ïwîwîÒîpîâî:îÐîÐïwvïwî!Fïwqïwî"î#î%»î)*î+‘î/mî2Žî2Žïwvïwî7ïwqïwî7\î8¼î9Ùî=tî?bîBƒïwî “ï�î Åîãîwî#Fî&Gî)‹î,ùî4 î5Ðî9Îî<ÚîAà îJÂîKîKï�î “ïj î¯î„îÅî![î%¸î30î5î8ïïjî “ï� î(î(ï�vï�î%î¥ î'=ï�qï�îCÙ îJjï�ÿ êq?€`½ù2XEROXLispLibraryPackagescreatesacolorbitmapthatisWidthpixelswidebyHeightpixelshighallowingBitsPerPixelbitsperpixel.CurrentlyanyvalueofBitsPerPixelexceptone,four,eight,orNIL(defaultstoone)causesanerror.Afour-bit-per-pixelcolorscreenbitmapusesapproximately76Kofstorage.Thereisonlyonesuchbitmap.Thefollowingfunctionprovidesaccesstoit.(COLORSCREENBITMAP)[Function]returnsthebitmapthatisbeingorwillbedisplayedonthecolordisplay.ThisisNILifthecolordisplayhasneverbeenturnedon(seeCOLORDISPLAYbelow).WHOLECOLORDISPLAY[Variable]isaglobalvariablesettoaREGIONthatcoverstheentirecolordisplayscreen.COLORSCREENWIDTH[Variable]andCOLORSCREENHEIGHT[Variable]areglobalvariableswhosevaluesarethedimensionsofthecolordisplay.COLORREPRESENTATIONSAcolormapmapsacolornumber([0...2nbits-1])intotheintensitiesofthethreecolorguns(primarycolorsred,green,andblue).Eachentryinthecolormaphaseightbitsforeachoftheprimarycolors,allowing256levelsperprimaryor224possiblecolors(notallofwhicharedistincttothehumaneye).WithinInterlisp-Dprograms,colorscanbemanipulatedasnumbers,red-green-bluetriples,names,orhue-lightness-saturationtriples.Anyfunctionthattakesacoloracceptsanyofthedifferentrepresentations.Ifanumberisgiven,itisthecolornumberusedintheoperation.Itmustbevalidforthecolorbitmapusedintheoperation.(Sincealloftheroutinesthatuseacolorneedtodetermineitsnumber,itisfastesttousenumbersforcolors.COLORNUMBERP,describedbelow,providesawaytotranslateintonumbersfromtheotherrepresentations.)îJjï�î êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xî«îÔî{îtî—îkîÖîÖï^Ñvï^Ñî"{ï^Ñqï^Ñî"ßî&òî*Lî,1î,1ï^Ñvï^Ñî0Yï^Ñqï^Ñî0¼î4Ðî7ÿî=ªî=ªï^Ñvï^Ñ îEBï^Ñqï^ÑîE¦îHOîJÁîJÁï^Ñî “ï\žîSî±îðî”îUîñîñï\žvï\ž î%‰ï\žqï\žî%èî*�î-´î1î4ôî6§î95î?î@·îCõîHÓîJÁîJÁï\žî “ïZkîoîoïZkî “ïV‘î Þîåî�î -î"î%4î(‚ î1Ñî4¦î6<î;Äî<î@0îA‘îD”îGSîJÂîJÂïV‘î “ïT^î �îúîRîî5îÈî%”î*`î+öî-ïT^î “ïP„îCÙ îJjïP„î “ïLªî›îî,îgîRîÖî âî"³î%?î'Qî-Úî/øî2vî65î;Šî<î?7î@»îCgîD¨îG&îJÁîJÁïLªî “ïJwîbîîçîkîìî æî#ñ î/î3ºïJwî “ïF�îD> îJjïF�î “ïBÃî óîîPî¬îæî|î™î"Xî% î)·î,î0î3©î8xî=†î=Þî=ÞïBÃî “ï>éîîD> îJjï>éî “ï;î úï;î “ï75îD> îJjï75î “ï3[î ùî9îEî¼î!'î#�î%è î-‚î/î1sî5î9çï3[î “ï/�uîî.ï/�qï/�î†îÞîÞï/�î “ï*÷î îìî<î=î”îiî"àî%)î&î'î(î(Éï*÷ï+§î+àï*÷ï*÷î.¢î1›î4/ î;/î<ÿî?”îCrîGFîJÁîJÁï*÷î “ï(Äî[îÏîËî^î Fî$`î$áî(£î,Zî.î0‡î4Kî7‹î:Qî=þî@ÅîCîF¨îHfîJÁîJÁï(Äî “ï%áîÓî™îQîî"î$¦î)åî+«î,pï%áï&‘î-úï%áï%áî.kî4#î8‡î;î=eî?îCKîEÉîJÂîJÂï%áî “ï#®î »î¨îóîòîÜîÏ î'Iî.®î3‹î6Ðî9P îBîDrîJÁîJÁï#®î “ï!{ îŒîRîfî!9î1(î5ïî6mî9^î?îBîEäîG&îJÁîJÁï!{î “ïHîíî‹î!î|î#î'wïHî “ïnî Ôî îaîÚîîSîÌîAî!õî'Lî*Ôî,nî.ã î5Íî6?î7€î;î=î@wîB«îEîHÓîJÁîJÁïnî “ï;î±î(î±î îíîLî!¾î#“î%1î'“î-$î/ôî2šî3¿î7aî:íî<‹îCNîE"îJÁîJÁï;î “ïî óî•îaî:îîJî §î%—î&2 î2ùî9áî>¥îD´îFîI+îJÁîJÁïî “ïÕîqî0îî`î»î#kî.8ïÕÿ¯ êq?€`½W3XEROXLispLibraryPackagesRED-GREEN-BLUETRIPLESAred-green-blue(RGB)tripleisalistofthreenumbersbetween0and255.Thefirstelementgivestheintensityforred,thesecondforgreen,andthethirdforblue.WhenanRGBtripleisused,thecurrentcolormapissearchedtofindthecolorwiththecorrectintensities.Ifnoneisfound,anerrorisgenerated.(Thatis,noattemptismadebythesystemtoassigncolornumberstointensitiesautomatically.)AnexampleofanRGBtripleis(255255255),whichgivesthecolorwhite.RGB[Record]isarecordthatisdefinedas(REDGREENBLUE);itcanbeusedtomanipulateRGBtriples.COLORNAMES[Associationlist]mapsnamesintocolors.TheCDRofthecolorname'sentryisusedasthecolorcorrespondingtothecolorname.Thiscanbeanyoftheotherrepresentations.(Note:Itcanevenbeanothercolorname.Loopsinthenamespacesuchaswouldbecausedbyputting'(RED.CRIMSON)and'(CRIMSON.RED)onCOLORNAMESarenotcheckedforbythesystem.)Severalcolornamesareavailableintheinitialsystemandareintendedtoallowcolorprogramswrittenbydifferentuserstocoexist.Theseare:NameRGBNumberindefaultcolormapBLACK(000)0BLUE(00255)1GREEN(02550)2CYAN(0255255)3RED(25500)4MAGENTA(2550255)5YELLOW(2552550)6WHITE(255255255)7î.8ïÕî êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñu`X î™î®ï^Ñqï^Ñîî^î^ï^Ñî “ïZ÷î é îÈî î»î (î!Qî#ƒî%%î(Öî.Ïî4™î5Ãî8Žî;¤î<î>ßîA©îGîJÁîJÁïZ÷î “ïXÄîîÁîðîÙîIî cî"’î'î)åî,Vî/®î1Ýî5kî5Øî9öî;ùî?gîC îD€îHfîJÁîJÁïXÄî “ïV‘î¼î‡îÏî_îÒî!˜î$ˆî'î*ßî.î0�î5® î=î=�î>çîB¨îD8îHÓîJÁîJÁïV‘î “ïT^îîz î³îiî2î2î$\î%Âî)¥î+…î-æî2°î4Lî8Êîî6Ô î>4îA�îEÖïJwî “ïF� î½î?ç îH$îJjïF�î “ïBÃîjîîÖî“îüîÖî"3î#Ùî&Eî)ðî.îî2Žî3þî7~î9[î;Çî?r îI+îJÁîJÁïBÃî “ï@�îî¼îî…î¬îxî€î!7î"çî%[î)%î3êî86î9wî]îî´îFî î®îÐî">î%óî(î,vî.ªî3éî6î;î?sî@sîHîJÁîJÁï>]î “ï<*îGîî¿îÀ î#òî&_î&_ï<*vï<*î(nï<*qï<*î(Îî.�î0¾î2Ÿî5î:§î;î@'îCÉîH\îJÂîJÂï<*î “ï9÷î˜î(î’î\î/î ýî#rî)lî+î.Çî2qî8ñî=­î?•îEKîI,îJÂîJÂï9÷î “ï7Äî×î/înîÞï7Äî “ï3êîÎî,¦î2î3�î8Eî;àî>Ÿï3êî “ï0îÎîdî�î,¦î-kï0î “ï,6îÎîdî�î,¦î-kï,6î “ï(\îÎîdî î,¦î-kï(\î “ï$‚îÎîdî î,¦î-kï$‚î “ï ¨îÎîîî î,¦î-kï ¨î “ïÎîÎîîî î,¦î-kïÎî “ïôîÎîîî•î,¦î-kïôî “ïîÎîîî•î,¦î-kïÿR êq?€`½á4XEROXLispLibraryPackagesHUE-LIGHTNESS-SATURATIONTRIPLESAhue-lightness-saturationtripleisalistofthreenumbers.Thefirstnumber(HUE)isanintegerbetween0and355andindicatesapositionindegreesonacolorwheel(blueat0,redat120,andgreenat240).Thesecond(LIGHTNESS)isarealnumberbetweenzeroandonethatindicateshowmuchtotalintensityisinthecolor.Thethird(SATURATION)isarealnumberbetweenzeroandonethatindicateshowdisparatethethreeprimarylevelsare.HLS[Record]isarecorddefinedas(HUELIGHTNESSSATURATION);itisprovidedtomanipulateHLStriples.Example:thecolorblueisrepresentedinHLSnotationby(0.51.0).(COLORNUMBERPColorBitsPerPixelNOERRFLG)[Function]returnsthecolornumber(offsetintothescreencolormap)ofColor.Colorisoneofthefollowing:·Apositivenumberlessthanthemaximumnumberofcolors,·Acolorname,·ANRGBtriple,or·AnHLStriple.IfColorisoneoftheaboveandisfoundinthescreencolormap,itscolornumberinthescreencolormapisreturned.Ifnot,anerrorisgeneratedunlessNOERRFLGisnon-NIL,inwhichcaseNILisreturned.(RGBPX)[Function]returnsXifXisanRGBtriple;NILotherwise.(HLSPX)[Function]returnsXifXisanHLStriple;NILotherwise.COLORMAPSThescreencolormapholdstheinformationaboutwhatcolorisdisplayedonthecolorscreenforeachpixelvalueinthecolorscreenbitmap.Thevaluesinthecurrentscreencolormapmaybeî-kïî êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñu`Xî!Íî'âï^Ñqï^ÑîJjîJjï^Ñî “ïZ÷î îî Æî"Vî#£î%øî'¾î+’î2î2šî5”î8‚î=ïîBGîC×îEõîJÂîJÂïZ÷î “ïXÄîcî“îdîîðî!î"Hî'Ãî)Wî.æî0óî2"î5Ðî9õî=˜î?4î@ÆîCJîDçîHîJÁîJÁïXÄî “ïV‘î£î5î¿î‘îž î%½î'%î(Jî+î0Uî6î9Eî< î>ÓîA£îGÀîJÂîJÂïV‘î “ïT^î¡îèî¸î?îæîhî"Œî# î%ûî)e î3Âî5Iî6Œî9qî>ÕîDºîHîJÁîJÁïT^î “ïR+îRîî0î2î tî"Ïî&sî+šî/Œî1üïR+î “ïNQîDÌîJjïNQî “ïJwî îbîîZîPî(î&w î0¿î2î3Žî9¤î;c îBìîF îJÁîKîKïJwî “ïHDîÉî$î¿îÖî6 î$:î%»î(Æî.Yî02î1Èî3Gî6ïHDî “ïDj î.î.ïDjvïDjî î#˜ïDjqïDjî#ðîCÙ îJjïDjî “ï@�îwîÒîmîªî î"Çî%"î)Îî-iî0ùî2�î2�ï@�vï@�î6 ï@�qï@�î6Ãî7î7ï@�vï@�î:•ï@�qï@�î:íîÈîB„îE¼îHÓîJÁîJÁï™ÿÖ êq?€`½a5XEROXLispLibraryPackageschanged,andthischangeisreflectedinthecolorsdisplayedatthenextverticalretrace(approximately1/30ofasecond).Thecolormapcanbechangedtoobtaindramaticeffects.(COLORMAPCREATEIntensitiesBitsPerPixel)[Function]createsacolormapforascreenthathasBitsPerPixelbitsperpixel.IfBitsPerPixelisNIL,thenumberofbitsperpixelistakenfromthecurrentcolordisplaysetting.Intensitiesspecifiestheinitialcolorsthatshouldbeinthemap.IfIntensitiesisnotNIL,itshouldbealistofcolorspecificationsotherthancolornumbers,e.g.,thelistofRGBtriplesreturnedbythefunctionINTENSITIESFROMCOLORMAP.IfIntensitiesisNIL,thevalueofthevariable\DEFAULTCOLORINTENSITIESisusedifBitsPerPixelisfour;thevalueofthevariable\DEFAULT8BITCOLORINTENSITIESifBitsPerPixeliseight.(COLORMAPPColorMap?BitsPerPixel)[Function]returnsColorMap?ifitisacolormapthathasBitsPerPixelbitsperpixel;NILotherwise.IfBitsPerPixelisNIL,itreturnsColorMap?ifitiseithera4bpporan8bppcolormap.(INTENSITIESFROMCOLORMAPColorMap)[Function]returnsalistoftheintensitylevelsofColorMap(defaultis(SCREENCOLORMAP))inaformacceptedbyCOLORMAPCREATE.Thislistcanbewrittenonfileandthusprovidesawayofsavingcolormapspecifications.(COLORMAPCOPYColorMapBitsPerPixel)[Function]returnsacolormapthatcontainsthesamecolorintensitiesasColorMapifColorMapisacolormap.Otherwise,itreturnsacolormapwithdefaultcolorvalues.(SCREENCOLORMAPNewColorMap)[Function]readsandsetsthecolormapthatisusedbythecolordisplay.IfNewColorMapisnon-NIL,itshouldbeacolormap,andSCREENCOLORMAPsetsthesystemcolormaptobethatcolormap.ThevaluereturnedisthevalueofthescreencolormapbeforeSCREENCOLORMAPwascalled.IfNewColorMapisNIL,thecurrentscreencolormapisreturnedwithoutchange.(MAPOFACOLORPrimaries)[Function]îJÁï™î êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xîmî¹îäîŒî yî&ùî)î+ïî0Èî7ºî9Ñî<¹î@[îEàîJÁîJÁï^Ñî “ï\ž îZîÆî\îyî!Yî$#î'¾î*Õî-ˆî/vî5aî6÷î;LîA6îF6îFŽîFŽï\žî “ïXÄîæîæïXÄvïXÄ î · î(OïXÄqïXÄîCÙ îJjïXÄî “ïTêîÜî5î î_îµîî!÷î$ûî'Õî'ÕïTêvïTê î/mïTêqïTêî0î2Ûî5Šî9€î:î;xî;xïTêvïTê îCïTêqïTêîC¤îE@îHfîJÁîJÁïTêî “ïR·îîÎî îFîÒîeî!sî$êî'yî,¦î0tî5wî:®î;:î;:ïR·vïR· îA³ïR·qïR·îB?îHgîJÂîJÂïR·î “ïP„î¬îUî{î|îÈî §î#`î'7î'íî)sî)sïP„vïP„ î/ìïP„qïP„î0¢î2_î5$î8lî9çî>éîA5îB°îE3îG&îJÁîJÁïP„î “ïNQ îîî î •î'?î*­î-cî/ãî1Óî5‡î:!î@EîByîE.îJÁîJÁïNQî “ïLî“î#�î%$î'‹î'‹ïLvïL î.ïLqïLî/›î2:î6cî9ýî>÷îAÌîEfîJÂîJÂïLî “ïIëî!*î#Nî'‚î)cî)cïIëvïIë î0ûïIëqïIëî2î4<î8Mî;lî?ìîBFîEeîJÁîJÁïIëî “ïG¸î#\î$yî$yïG¸vïG¸ î,ïG¸qïG¸î,iî-Éî1¯î1¯ïG¸î “ïCÞ î:î:ïCÞvïCÞîo î$ïCÞqïCÞîCÙ îJjïCÞî “ï@îÚîÚï@vï@î·ï@qï@îsîôîtî8î¹î"·î&2î)]î,_î,_ï@vï@ î3÷ï@qï@î4³î7´î:Šî>¨îA“ îHÞîI™îJÁîJÁï@î “ï=Ñv î+ï=Ñqï=ÑîƒîãîÍîêîÎîÎï=Ñvï=Ñî$«ï=Ñqï=Ñî%î& î'=î(�î,™î-¶î.Óî1žî3Kî59î6Vî9!î<¼î?Ýï=Ñî “ï9÷î Îî Îï9÷vï9÷î'ï9÷qï9÷îCÙ îJjï9÷î “ï6îÝî_îêîåî¦î´î$ î&î&ï6vï6î,@ï6qï6î,þî2’î4XîDîEýîGîJÂîJÂï6î “ï3êîÕî±î!ðî"Kî%Zî'‚î*8î,(î0×î2Ôî5î7Òî:ìî@ºîAÚîD²îFJîJÁîJÁï3êî “ï1·î.îEîpï1·î “ï-Ý î;î;ï-Ývï-ÝîÌ î&dï-Ýqï-ÝîCÙ îJjï-Ýî “ï*îœîÞîŸîÛîÈî!·î$8î(î+Ø î2Ãî48ï*vï*î4¶î8­î;lï*qï*î;éî=+î=+ï*vï*îA#îCâï*qï*îD_îEäîG&îJÁîJÁï*î “ï'Ðî î5îRî6îSî îî$î&ûî+±î/Lî3Áï'Ðî “ï#öî¢ï#övï#öîú î"üï#öqï#öîCÙ îJjï#öî “ï î|î=î)î‡î$î=î!î"iî%Ûî'¶î*î-°î2ãî3>î4hî4hï vï  î=jï qï î=Äî?&îDþîFîJÁîJÁï î “ïéî °îüîÇîoî^ î'{î*•î-î2î5Üî9#î:èî=î?ýîCÈîGpîG÷îJÁîJÁïéî “ï¶îŒî”î2îËîÄî˜î"1î'î*ôî.Iî2ü îA(îD;îIîI™îJÁîJÁï¶î “ïƒv î•ïƒqïƒîíîMî7î’î ‹î%7î(Òî+éî-Iî3î8î=<ïƒî “ï© î*î*ï©vï©î,ï©qï©îCÙ îJjï©” êq?€`½/6XEROXLispLibraryPackagesreturnsacolormapthatisdifferentshadesofoneormoreoftheprimarycolors.Forexample,(MAPOFACOLOR'(REDGREENBLUE))givesacolormapofdifferentshadesofgray;(MAPOFACOLOR'RED)givesdifferentshadesofred.HOWTOCHANGECOLORMAPSThefollowingfunctionsareprovidedtoaccessandchangetheintensitylevelsinacolormap.(SETCOLORINTENSITYColorMapColorNumberColorSpec)[Function]setstheprimaryintensitiesofcolornumberColorNumberinthecolormapColorMaptotheonesspecifiedbyColorSpec.ColorSpeccanbeeitheranRGBtriple,anHLStriple,oracolorname.ThevaluereturnedisNIL.(COLORLEVELColorMapColorNumberPrimaryColorNewLevel)[Function]setsandreadstheintensityleveloftheprimarycolorPrimaryColor(RED,GREEN,orBLUE)forthecolornumberColorNumberinthecolormapColorMap.IfNewLevelisanumberbetween0and255,itisset.ThepreviousvalueoftheintensityofPrimaryColorisreturned.(ADJUSTCOLORMAPPrimaryDeltaColorMap)[Function]addsDeltatotheintensityofthePrimarycolorvalue(RED,GREEN,orBLUE)foreverycolornumberinColorMap.(ROTATECOLORMAPColorMapStartColorThruColor)[Function]rotatesasequenceofcolorsinColorMap.TherotationmovestheintensityvaluesofcolornumberStartColorintocolornumberStartColor+1,theintensityvaluesofcolornumberStartColor+1intocolornumberStartColor+2,etc.,andThruColor'svaluesintoStartColor.(EDITCOLORMAPVarNoQFlg)[Function]allowsinteractiveeditingofaCOLORMAPP.IfVarisanatomwhosevalueisaCOLORMAPP,itsvalueisedited.Otherwiseanewcolormapiscreatedandedited.Thecolormapbeingeditedismadethescreencolormapwhiletheeditingtakesplacesothatitseffectscanbeobserved.Theeditedcolormapisreturnedasthevalue.IfNoQFlgisNILandthecolordisplayison,youareaskedifyouwantatestpatternofcolors.AyesresponsecausesthefunctionSHOWCOLORTESTPATTERNtobecalled,whichdisplaysatestpatternwithblocksofeachofthepossiblecolors.îJjï©î êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xî¨î÷îÄî îî—î#pî(…î*Mî-=î/î2èî4°î7<î<•îAsîAýîD¬îJÁîJÁï^Ñî “ï\ž îäî¯î"˜î(Aî,¡î.xî2Íî6žî8îî?OîDíîG=îJÁîJÁï\žî “ïZk î*î;îáî$ˆî)lî+î-~ïZkî “ïV‘uîzîÕîKîÓî"ïV‘qïV‘î"uî"Íî"ÍïV‘î “ïR·î]îvî¹îî# î$¢î)nî,-î1Gî3¢î9Kî==î>¾î?ÛîCvîF—ïR·î “ïNÝî/î/ïNÝvïNÝî!À î*­î1hïNÝqïNÝîCÙ îJjïNÝî “ïKî¡î!îl îWîî"Ñî(2î(2ïKvïK î0ÇïKqïKî1Cî2éî5hî9(îžî?¾îC\îG�îG÷îJÁîJÁïHÐî “ïF�îNîîxî ïF�î “ïBà î§î§ïBÃvïBÃî8 î%% î-Üî4ïBÃqïBÃîCÙ îJjïBÃî “ï>éî‰îSîEî¬î`î ­î"Oî$µî)çî-Žî-Žï>évï>é î5íï>éqï>éî6Pî:lî@ îAÁîFBîHgîJÂîJÂï>éî “ï<¶îXî¾î¾ï<¶vï<¶ îSï<¶qï<¶îÔî~î"î%Æî)î)ï<¶vï<¶î/?ï<¶qï<¶î0"î0£î1ôî1ôï<¶vï<¶î8 ï<¶qï<¶î8¡î:*î;pî@ÖîF½îHîJÂîJÂï<¶î “ï:ƒîœî¹îîµî î×î£î ^î!ôî$Oî)øî+Žî+Žï:ƒvï:ƒ î3íï:ƒqï:ƒî4Eî5¥î;yï:ƒî “ï6©î»î»ï6©vï6©îøî"›î(Ôï6©qï6©îCÙ îJjï6©î “ï2ÏîNîNï2Ïvï2Ïî™ï2Ïqï2Ïî=îîÆî»î�î"Dî"Dï2Ïvï2Ïî')ï2Ïqï2Ïî'Íî+´î/»î4î9õî;îî@°îCîG'îJÂîJÂï2Ïî “ï0œîÐîQîQï0œvï0œîŠï0œqï0œîìï0œî “ï,Âîóîóï,Âvï,Âî „ î'_î-Ðï,Âqï,ÂîCÙ îJjï,Âî “ï(èî`îˆî"îÃîîBï(èvï(èî¥î%Þï(èqï(èî&£î'î)Ûî/,î3®î6î;Èî@>îAßîE…îJÂîJÂï(èî “ï&µv îï&µqï&µî~îLî÷îDîDï&µvï&µ î$Çï&µqï&µî'¶î*!î/Úî4Uî5ûî9¦î>óî>óï&µvï&µ îEvï&µqï&µîHîJÁîJÁï&µî “ï$‚î.îkîkï$‚vï$‚ îîï$‚qï$‚îÍî àî#Ÿî#Ÿï$‚vï$‚ î+ï$‚qï$‚î+wî/âî2¡î2¡ï$‚vï$‚ î9$ï$‚qï$‚î9†ï$‚î “ï ¨ îuîuï ¨vï ¨îòîÀï ¨qï ¨îCÙ îJjï ¨î “ïÎî î"îîî¤îà î(�î)î*Nî*NïÎvïÎî,sïÎqïÎî,êî.iî0vî4î8°î<Šî> î?E îHôîJÁîJÁïÎî “ï›îkîèî°î%î îCî!Vî%î(Bî)¿î/ î1æî6®î7#î: î=Âî@öîDûîIaîJÁîJÁï›î “ïhî‹îîÊî�î´î!vî#íî(¶î,‹î0wî2lî5Pî79î;óî>Âî@ÌîGƒîG÷îJÁîJÁïhî “ï5îîÛî$îµî±î °î#=î'Œî(î)pî)pï5vï5î.>ï5qï5î.Èî0Zî3î6î8’î<_îA`îBòîE€îH[îJÁîJÁï5î “ïî�î§î=î�î—î +î%úî(}î.î/[î1’î4üî<"îAçîE.îJÁîJÁïî “ïÏîî Ãî"Âî']î+�î1î2Kî5î9öî<ýîA�îC6îF¿îHfîJÁîJÁïÏî “ïœî3îˆïœÙ êq?€`½˜7XEROXLispLibraryPackagesYouarepromptedforthelocationofacolorcontrolwindowtobeplacedontheblack-and-whitedisplay.Thiswindowallowsthevalueofanyofthecolorstobechanged.Thenumberofthecolorbeingeditedisintheupper-leftpartofthewindow.Sixbarsaredisplayed.Therightthreebarsgivethecolorintensitiesforthethreeprimarycolorsofthecurrentcolornumber.Theleftthreebarsgivethevalueofthecolor'sHue,Lightness,andSaturationparameters.Theselevelscanbechangedbypositioningthemousecursorinoneofthebarsandpressingtheleftmousebutton.Whiletheleftbuttonisdown,thevalueofthatparametertrackstheYpositionofthecursor.Whentheleftbuttonisreleased,thecolortrackingstops.Thecolorbeingeditedischangedbypressingthemiddlemousebuttonwhilethecursorisintheinterioroftheeditwindow.Thisbringsupamenuofcolornumbers.Selectingonesetsthecurrentcolortotheselectedcolor.Thecolorbeingeditedcanalsobechangedbyselectingthemenuitem"PickPt."Thisswitchesthecursorontothecolorscreenandallowsyoutoselectapointfromthecolorscreen.Ittheneditsthecoloroftheselectedpoint.Tostoptheediting,movethecursorintothetitleoftheeditingwindowandpressthemiddlebutton.Thisbringsupamenu.SelectStoptoquit.HOWTOTURNCOLORDISPLAYONANDOFFThecolordisplaycanbeturnedonandoff.Whilethecolordisplayison,thememoryusedforthecolordisplayscreenbitmapislockeddown,andasmallamountofprocessingtimeisusedtodrivethecolordisplay.(COLORDISPLAYP)[Function]returnsthecurrentcolormapifthecolordisplayison;otherwiseitreturnsNIL.(COLORDISPLAYColorMapIfOnBitsPerPixelClearScreenFlg)[Function]turnsoffthecolordisplayifColorMapIfOnisNIL.IfColorMapIfOnisnon-NIL,itturnsonthecolordisplayallocatingBitsPerPixelbitsperpixel.IfColorMapIfOnisoftypeCOLORMAPPor8BITCOLORMAP,itisusedasthescreencolormap.IfClearScreenFlgisnon-NIL,allofthebitsinthecolorscreenaresettozero.Returnsthepreviouscolormap,ifany.Turningonthecolordisplayrequiresallocatingandlockingdownthememorynecessarytoholdthecolordisplayscreenbitmapandthesystemcolormap.Turningoffthecolordisplayfreesthismemory.HOWTOUSECOLORîˆïœî êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xî¢î*îÈîî�î"î#Îî% î(Ëî-Æî3î4Ôî6äî;¨î=Äî@AîJÂîJÂï^Ñî “ï\žîÎî0îHî…îåî Kî$î%°î(Xî)ùî,^î0³î2Tî4Lî:£î;î=ÚîC!îDÁîG&îJÁîJÁï\žî “ïZkîŸî î‘î7î· î _î#cî%î'�î-Vî-Óî0Hî3Žî6 î=î=�î@oîC×îGŸîJÁîJÁïZkî “ïX8î²î6îú îéî,î °î$}î)Íî.Aî0î2„î7¦î;jîA2îA³îD¦îGîJÂîJÂïX8î “ïVîÓîçî_î8îìîeî!0î$š î+Ÿî.| î5‹ î=–îAóîFîHÓîJÁîJÁïVî “ïSÒî©î¬ î:î¿î"�î'#î(Îî+·î-xî/ýî3Jî63î<)î>¯îA(îEêîJÂîKîKïSÒî “ïQŸî†îíîGîÈî4îtî Ûî$¡î&Bî)î/üî4Eî6«î6«ïQŸvïQŸî7‘ïQŸqïQŸî7ôî=iî? îAqîFUîF¸îJÁîJÁïQŸî “ïOlî ýî[îàîOî‰îóî"�î(3î,kî,Òî/«î3Uî7Lî;¤î=îC îDõîJÁîJÁïOlî “ïM9îîåî­îSî (î"³î'Zî(éî*šî-%î28î3þî6‰î9kî?0î?¸îBôîG{îI¤îJÁîJÁïM9î “ïKî{îî¬îûîSî!Ÿî$^î'Hî)£î.œî27î3Íî6(î;Úî?ïKî “ïG,î‚îAîMîºî‘î «î"½î(Ìî*Éî1î3‚î7Žî:½îA5îA±îDâîJÂîJÂïG,î “ïDùî ïîgî îûî—î Dî#î'Zî*î+œî/¹î0Öî4gî7«î:î=¢îB±îC îD3îG_îJÂîJÂïDùî “ïBÆî îî‰îîzî,îÆïBÆî “ï>ìî šî²îî îéîFî"¿î%€î'Ýî*…î,î.zî3)î8^î;î>óîAPîEéîJÁîKîKï>ìî “ï<¹î î÷îñîîXî°îî"Oî#åî'î'ï<¹î “ï8ßuîzîÕî5î½î"�î% î(‘î+zï8ßqï8ßî+Òî,*î,*ï8ßî “ï5îmîîøî»î¹î Kî"Uî%$î'šî(î+úî.fî2î6ðî8aî:Íî=8îB½îF<îHfîJÁîJÁï5î “ï2Òî3îî¹î¬îÈî-î#Éî(î*Çî+éî/•î4Àî6[ î=Âî@ÓîB8îE¬îGGîJÁîJÁï2Òî “ï0Ÿî îî‰îºîîï0Ÿî “ï,ÅîCÙ îJjï,Åî “ï(ëîwîÒîËîfî}îšî!õî%�î*_î+¿î.î4 î5½î:¡î=3ï(ëî “ï% î3î3ï%vï% î x î(h î2Bï%qï%îCÙ îJjï%î “ï!7î=îPîºîdîCîoîoï!7vï!7 î&Äî&Äï!7qï!7î(3î+,î+”î+ûî-3î-3ï!7vï!7 î6 ï!7qï!7î6‡î7öî=Üî?îB³îD¼îG&îJÁîJÁï!7î “ïîõ îîïvï î¯ïqïî ™î#Êî&Ïî+î,î-Âî-Âïvï î6¯ïqïî7šî9�î;¶î?TîIîJÁîJÁïî “ïÑ î@îkîÙîUî0î!™î&Rî)ûî-‚î-çî/î/ïÑvïÑ î8÷ïÑqïÑî9]î:Êî@®îB‰îD,îF•îI@îJÁîJÁïÑî “ïžî îî‰î5î›îÕîkîïî Gî%£î'þî-Êî1eî4Þî5ûî8£ïžî “ïÄî î-î®îoîdî$ î*Óî-¸î2Øî6Ñî9Rî>ìîEãîGŸîJÂîJÂïÄî “ï‘î ÿî«î‹îHîGî oî#?î%«î*î.+î1µî2î7ƒî9—î<î?¯îD�îH#îJÁîJÁï‘î “ï^îï^î “ï„uîzîÕîîœîœï„qï„îôîôï„uï„îLîLï„ÿ² êq?€`½³8XEROXLispLibraryPackagesThecurrentcolorimplementationallowsdisplaystreamstooperateoncolorbitmaps.ThetwofunctionsDSPCOLORandDSPBACKCOLORsetthecolorinwhichastreamprintsordraws.(DSPCOLORColorStream)[Function]setstheforegroundcolorofastream.Itreturnsthepreviousforegroundcolor.IfColorisNIL,itreturnsthecurrentforegroundcolorwithoutchanginganything.Thedefaultforegroundcolorisseven,whichiswhiteinthedefaultcolormap.(DSPBACKCOLORColorStream)[Function]setsthebackgroundcolorofastream.Itreturnsthepreviousbackgroundcolor.IfColorisNIL,itreturnsthecurrentbackgroundcolorwithoutchanginganything.Thedefaultbackgroundcoloriszero,whichisblackinthedefaultcolormap.TheBITBLT,line-drawingroutines,curve-drawingroutines,andprintingroutinesknowhowtooperateonacolor-capablestream.Followingaresomenotesaboutthem.HOWTOBITBLTIfBLTingfromacolorbitmapontoanothercolorbitmapofthesamebpp,theoperationsPAINT,INVERT,andERASEaredoneonabitlevel,notonapixellevel.Thuspaintingcolor3ontocolor10resultsincolor11.IfBLTingfromablack-and-whitebitmapontoacolorbitmap,theonebitsappearintheDSPCOLOR,andthezerobitsinDSPBACKCOLOR.Currently,REPLACEistheonlyoperationthatsupportsBLTingfromblack-and-whitetocolor.Thisoperationisfairlyexpensive;ifthesamebitmapisgoingtobeputupseveraltimesinthesamecolor,itisfastertocreateacolorcopythenBLTthecolorcopy.IfthesourcetypeisTEXTUREandthedestinationbitmapisacolorbitmap,theTextureargumentistakentobeacolor.ThustofillanareawiththecolorBLUEassumingCOLORSTRisastreamwhosedestinationisthecolorscreen,use(BITBLTNILNILNILCOLORSTR5075100200'TEXTURE'REPLACE'BLUE).HOWTODRAWCURVESANDLINESForthefunctionDRAWCIRCLE,DRAWELLIPSE,andDRAWCURVE,thenotionofabrushhasbeenextendedtoincludeacolor.ABRUSHisnow(BRUSHSHAPEBRUSHSIZEBRUSHCOLOR).Also,thebrushcanbeabitmap(whichcanbeacolorbitmap).îLï„î êïg-u`Xî+oï5qî,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xî�î»îˆ î!Úî&bî+dî0òî2ºî8'î:Sî>!î@AîD�îE'îH#îJÁîJÁï^Ñî “ï\žîÖîåî¤ î(…î*¿î-î0µî26î6Uî7rî<î@îA¾îEòï\žî “ïXÄîîïXÄvïXÄî•ïXÄqïXÄîíîíïXÄvïXÄî‚ïXÄqïXÄîCÙ îJjïXÄî “ïTêî�î î¯îjî î]î$‹î%î&Jî+Nî-Éî3µ î;Mî?iî?áîA)îA)ïTêvïTêîD£ïTêqïTêîEîF›îI¤îJÁîJÁïTêî “ïR·îŸî"îD îäî#§î(Õî/Lî5­î6-î9î=þ îEžîIaîJÁîJÁïR·î “ïP„îî`îîßîšîîvî",î%Çî(èïP„î “ïLª îíîíïLªvïLªîgïLªqïLªî¿î¿ïLªvïLªî TïLªqïLªî!%îC�îCÙ îJjïLªî “ïHÐî‰îï îî§îIîrî$‹î$ïî%Sî&†î+vî-Üî3´ î;Æî?Îî@2îAfîAfïHÐvïHÐîDàïHÐqïHÐîECîF¯îI¤îJÁîJÁïHÐî “ïF�î‰î÷î î î#Èî(àî/Aî5Œî5öî8Óî=› îE´îIaîJÁîJÁïF�î “ïDjîî6î–î[îÜî7î íî$ˆî'©ïDjî “ï@�î®î‰ î î#I î-î3Sî6cî;ñîAËîEØîI+îJÁîJÁï@�î “ï>]îÍîÇîä îî"î"lî(éî+Oî/î2òî6ïî:}ï>]î “ï:ƒuîzîÕîï:ƒqï:ƒî^î¶î¶ï:ƒî “ï6©î Õîàî=îtî*î2îcî"µî(î+Ëî-Óî1î2´î5*î8ÿî» îEôîJÁîJÁï6©î “ï4vîfî;îIîÅîlî!|î"¯î$³î(mî*êî,úî.-î1œî5Vî5Äî9`î>ôîB¥îCØîG&îJÁîJÁï4vî “ï2Cî uî î�î(îï2Cî “ï.iî +îŒî@îÍî"¿î%î(¥î,Mî-Ûî1æî4Eî8.î:úî>)îA8îFuîHfîJÁîJÁï.iî “ï,6î îÓî7îaîî ‘ î,Üî-< î3ßî:¬î<î>xîA‚îGùîJÁîJÁï,6î “ï*î¤î¹îî$Äî&~î*Ÿî+î.Lî4Þî6bî9ô îA5îBvîDõîHÓîJÁîJÁï*î “ï'Ðîªî îþî”î‚îéîäî Çî$‚î&î(^î,î0î13î2”î6„î8îî*Sî,Îî0ˆî4¥î;5îCZîDÙîFîJÁîJÁï�î “ï]î/ î³î7î·îvî$©î'kî-0î-­î0Yî0Öî3‚î3þî6«î7'î?Qî?ÍîAÓîBPîDVîDÓîGžîHîJÁîJÁï]î “ï*î¯îî.î†îhï*î “ïPuîzîÕîÃîî �î$ÏïPqïPî%'î%î%ïPî “ïvîîuî î  î*žî-b î7î9tî=Úî?uî@—îD›îG=îJÁîJÁïvî “ïCîãî‡î›îÇîÓî:î“î$Åî&4î)E î3‘î;Ù îFÖîG<îJÁîJÁïCî “ïî îîíî îŽî«î™î°î!Hî#ûî%éî'î*¡î,�î0)ïÿç êq?€`½F9XEROXLispLibraryPackagesTheline-drawingroutineshavebeenextendedtotakeanotherargument,whichisthecolorthelineistoappearinifthedestinationofthedisplaystreamisacolorbitmap.(DRAWLINEX1Y1X2Y2WidthOperationStreamColor)(DRAWTOXYWidthOperationStreamColor)(RELDRAWTOXYWidthOperationStreamColor)(DRAWBETWEENPOS1POS2WidthOperationStreamColor)IftheColorargumentisNIL,theDSPCOLORofthestreamisused.HOWTOPRINTTOTHECOLORSCREENPrintingonlyworksinREPLACEmode.ThecharactershaveabackgroundofDSPBACKCOLORandaforegroundcolorofDSPCOLOR.Thefirsttimeacharacterisprintedinanewcolor,thecolorimagescorrespondingtothecurrentfontarecalculatedandcached.Thusthefirstcharactermaytakeawhiletoappear,butsucceedingcharactersprintquickly.Exampleofprintingtothecolorscreen:(COLORDISPLAYT4);turnthedisplayonin4bppmode.(SETQFOO(DSPCREATE(COLORSCREENBITMAP));createastreamwhosedestinationisthecolorscreen(DSPCOLOR'REDFOO)(PRINT'HELLOFOO);willprintinred.HOWTOMOVETHECURSORONTHECOLORSCREENThecursorcanbemovedtothecolorscreen.Whileonthecolorscreen,thecursorisplacedusingXORmode;thuswithsomecolormapsitmaybehardtosee.Itisautomaticallytakendownwheneveranoperationisperformedthatchangesanybitsonthecolorscreen.Whilethecursorisonthecolorscreen,theblack-and-whitecursoriscleared.(CHANGECURSORSCREENScreenBitMap)[Function]movesthecursorontothespecifiedscreen.ScreenBitMapmustbethevalueofeither(COLORSCREENBITMAP)or(SCREENBITMAP).ThevaluereturnedisthescreenbitmapthatthecursorwasonbeforeCHANGECURSORSCREENwascalled.î0)ïî êïgq`Xî+oï5î,4ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xîc îœî+î”î#î)fî+î.î3]î:5î>Zî?ÀîB!îEÂîH#îJÁîJÁï^Ñî “ï\žî óî‰îVî×îôîO î¯î!Eî# î(oî-î.{î/˜î33î5!î8Bï\žî “ïXÄî®î®ïXÄvïXÄî±î´î·îºî·î&hî+Uî.ÏïXÄqïXÄî/HïXÄî “ïTêî‡î‡ïTêvïTêîÅîîî±î$žî(ïTêqïTêî(‘ïTêî “ïQ î:î:ïQvïQîxî¶î³î"dî'Qî*ËïQqïQî+DïQî “ïM6 îïM6vïM6î^îPîBîšî#—î*Hî/5î2¯ïM6qïM6î3(ïM6î “ïI\î »î¾ïI\vïI\îîèîèïI\qïI\îWî·î¡îüî( î)¡î+üî0¨î2î5�ïI\î “ïE‚uîzîÕî™îôîî!šî'Áî'ÁïE‚qïE‚î(îJjîJjïE‚î “ïA¨î î1îvîî!î%vî%óî(ã î0/î3·î4ú î=%î>à îJÁîJÁïA¨î “ï?uî…îÔ îîMîî%ºî&Eî)Bî,3î/qî0Áî7kî8þî> î?¾îAîD7îHfîJÁîJÁï?uî “ï=Bî3î îÌîhî!Èî&Çî)¡î, î3î5Çî;=î;šî?&îA‡îDJîJÁîJÁï=Bî “ï;î‰î’î¯îUîëîî� î'9 î.`î1£î6Þî76î76ï;î “ï75îgîýî:îÐî+îÆî$|ï75î “ï3[ î3îgî4Fî5î7ëî:Fî?îAîB�îC­îFxîJjï3[î “ï1(îîn î™î-Ëï1(î “ï.õî( î(Ãî- î.=î2éî7` î>Àî@ îB{îFîJjï.õî “ï,Âîî³î#ï,Âî “ï*�î�îÒî@î@ÂîC*îFmîGîîJjï*�î “ï&µuîzîÕî]î{î !î"žî%¼î+Dî1ï&µqï&µî1kî1Ãî1Ãï&µî “ï"Ûî`îÚî�î€îî´î î#°î(Áî)î-î/î1aî4ÿî:î#î>†îByîDßîIaîJÁîJÁïuî “ïBî �îèîƒî‘îìî%mî)äî+Dî0gïBî “ïhîÒîÒïhvïh î&ÒïhqïhîCÙ îJjïhî “ïŽî¥î›î­î€îvî&'î*ÝïŽvïŽî+Ðî,à î5ÃïŽqïŽî6¶î:Àî=Iî@?îD•îFÆîJÂîJÂïŽî “ï[îªî^î*éî+Hî+¦î.wî29î8 î9qî;Òî@…îBzîE˜îHfîJÁîJÁï[î “ï(î îßîÙîNî+î-éî2ï(ÿ¸ êq?€`½‹10XEROXLispLibraryPackagesMISCELLANEOUSCOLORFUNCTIONSThefollowingfunctionsprovidesomecommonoperationsoncolorbitmapsanddisplaystreams.(COLORFILLRegionColorNumberStreamOperation)[Function]fillsaregioninthecolorbitmapwithacolor.(COLORFILLAREALeftBottomWidthHeightColorNumberStreamOperation)[Function]fillsanareainthecolorbitmapwithacolor.(COLORIZEBITMAPBitMap0Color1ColorNBits)[Function]createsacolorbitmapfromabitmap.Thereturnedbitmaphascolornumber1ColorinthosepixelsofBitMapthatwereoneand0ColorinthosepixelsofBitMapthatwerezero.Thisprovidesawayofproducingacolorbitmapfromablack-and-whitebitmap.DEMONSTRATIONPROGRAMSTheseareonfileonCOLORDEMO.DCOM.(COLORDEMO)[Function]bringsupamenuofcolordemonstrationprograms.Thesystemcyclesthroughtheentriesonthemenuautomatically,allowingeachtorunforasmall,fixedamountoftime(typically40seconds).Selectingoneoftheentriesinthemenucausesittostartthatprogram.(COLORDEMO1)[Function]runstheInterlisp-Dlogodemonstrationuntilabuttonispressed,thenaddscolorkinetic.Themiddlemousebuttonbringsupamenuthatallowschangingthespeedofrotationoreditingthecolormap.Theleftbuttonrotatesthecolormapinthekineticarea.(COLORDEMO2Size)[Function]putsupatestpatternofsizeSize,thenrotatesthecolormap.ThespeedofrotationofthecolormapisdeterminedbytheYpositionofthecursor.Themiddlebuttonbringsupamenuthatallowseditingofthecolormaporchangingthecolormaptoamapofdifferentshadesofonecolor.(COLORKINETICRegionFirstColorLastColor)[Function]î2ï(î êïgq`Xî+ ï5î,—ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñu`X î_îçî&zï^Ñqï^Ñî&Òî'*î'*ï^Ñî “ïZ÷î]îvî¹îÕî#œî)~ î0�î2—î62î8 î;çî>¦îCuîHÛïZ÷î “ïW î)î)ïWvïWî«ïWqïWîîïWvïW î!˜ïWqïWî!ðî!ðïWvïWî&Ýî-6ïWqïWî.îCÙ îJjïWî “ïSCîî-î™îîuîîþî î# î$(î'ÍïSCî “ïOi îïîïïOivïOiî·î±î#®î(. î1î6îîéî™ î&4î-î-‰î0hî5@î9´î?'îA—îFXîHgîJÂîJÂï0 î “ï-Úîž îëî®î"Iî$î&¢î(ßî*î.Jî1Úî7"î8Ûî< îB-îD1îJÁîKîKï-Úî “ï+§îßîžî4î�î;î¼î!î$ÿî)×î*ôî,Šî/µî2}î8Hï+§î “ï'Í îCÙ îJjï'Íî “ï#óîî¤ îÐî7 î&î)\î*½î/wî1î7)î:™î>LîB+îG[îG÷îJÁîJÁï#óî “ï!ÀîVîî¹î:î ^î!¦î%¸î(ªî-+î3¤î6*î:ˆîî& î+€î+ßî.°î3Oî7Ìî8+î<‰î>Šî?®îC�îFkîJÁîJÁï¦î “ïsî@îÖî1îÌîãî�î"ßî%:î(Õî+ìî-‚î.Ÿî1¶î3Lî8óî=×î?mîB,îEÑïsî “ï™ îÅîÅï™vï™îŸ î"/î(\ï™qï™îCÙ îJjï™› êq?€`½ 11XEROXLispLibraryPackagesrunsacolorversionofthestandardKineticdemoonacolordisplayusingcolorsFirstColorthroughLastColor.(TUNNELSpeed)[Function]drawsaseriesofconcentricrectanglesofincreasingsizeinincreasingcolornumbers.Speeddeterminesthesizeoftherectangles.Thiscanthenbe"run"bycallingROTATEIT,whichisdescribedbelow.(MINESHAFTNOutFlg)[Function]drawsaseriesofconcentricrectanglesofsizeNinincreasingcolornumbers.OutFlgdetermineswhetherthecolornumbersincreaseordecrease.Thiscanthenbe"run"bycallingROTATEIT,whichisdescribedbelow.(WELLN)[Function]drawsaseriesofconcentriccirclesonthecolorscreeninincreasingcolornumbers.ThecirclesareofsizeN.Thiscanthenbe"run"bycallingROTATEIT,whichisdescribedbelow.(SHOWCOLORTESTPATTERNBarSize)[Function]displaysapatternofcolorsonthecolordisplay.Thisisusefulwheneditingacolormap.Thepatternhassquaresofthe16possiblecolorslaidoutintworowsatthetopofthescreen.Colors0through7areinthetoprow,andcolors8through15areinthenextrow.ThebottompartofthescreenisfilledwithbarsofBarSizewidthwithconsecutivecolornumbers.Thepatternisdesignedsothateverycolorhasaborderwitheveryothercolor(unlessBarSizeistoolargetoallowroomforeverycolor--about20).(ROTATEITBeginColorEndColorWait)[Function]goesintoaninfinitelooprotatingthescreencolormap.ThecolorsbetweenBeginColor(defaultzero)andEndColor(defaultmaximumcolor)arerotated.IfWaitisgiven,(DISMISSWait)iscalledeachtimethecolormapischanged.Thisprovidesaneasywayof"animating"screenimages.(COLORPOLYDEMOColorStream)[Function]isonthefileCOLORPOLYGONS.DCOM.ItrunsaversionofthePolygonsprogramonthecolorscreen.12XEROXLispLibraryPackagesîJjï™î êïgq`Xî+ ï5î,—ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`XîÄîäî‚î€îîwî"pî"pï^Ñvï^Ñî&Úï^Ñqï^Ñî'5î+ î-î.=î1Ûî6­î:ƒî>Ñî>Ñï^Ñvï^Ñ îE ï^Ñqï^ÑîEdîJÂîJÂï^Ñî “ï\žvîžî{ï\žqï\žî{ï\žî “ïXÄîëîëïXÄvïXÄîýïXÄqïXÄîCÙ îJjïXÄî “ïTêîüîXîµî‰ îð î&6î( î/Hî2\î4 î;Yî?3îEÁîFWîFWïTêvïTêîJiïTêqïTêîJÁîJÁïTêî “ïR· îGîêîîåî‰ î%:î%Úî)/î,+î/Ÿî1Õî6%î8Gî=îDûîIbîJÂîJÂïR·î “ïP„î9îbïP„î “ïLª îSîSïLªvïLªî§îæïLªqïLªîCÙ îJjïLªî “ïHÐî×î îEîõ î7 î%Wî'î)öî)öïHÐvïHÐî*òïHÐqïHÐî+dî,ÿ î4î7Ëî>4î>¦î>¦ïHÐvïHÐîBåïHÐqïHÐîCV îJÁîJÁïHÐî “ïF�î;îÁîˆî î#”î%mî,0î,³î/ìî2Êî6!î8;îrîC)îJÁîJÁïF�î “ïDjî²îî¸îáïDjî “ï@�î6î6ï@�vï@�î2ï@�qï@�îCÙ îJjï@�î “ï<¶îÚîîOî îGî"ïî%î'~î+6î/ÿî1� î8¸î›î?íîC½îGkîGøîJÂîJÂï2Ïî “ï0œî~î%î–î5î™î„î$-î(�î+(î-˜î/"î1Éî57î6Êî9.î;žî==î?¡îD¸îEîI¤îJÁîJÁï0œî “ï.iî îEîÇîcîÚî\î�î!jî%Ðî' î,‚î.€î1î2žî5î8Eî;xî;ëî>ÑîCºîFµîHfîJÁîJÁï.iî “ï,6îHî±îîîGîæîæï,6vï,6î!Ôï,6qï,6î"5î&î) î1î4µî; î;nî>AîC,îD”îJÂîJÂï,6î “ï*î pî<îî¤îFîgî î"ýî&Çî*{î.î3 î3 ï*vï*î7ûï*qï*î8Wî9»î<&î?¹îASîDýîH§îJÁîJÁï*î “ï'ÐîYîôî>î;îøîøï'Ðî “ï#öîBîBï#övï#ö îmï#öqï#öîÅîÅï#övï#öî ½ï#öqï#öî!î!ï#övï#öî#Ýï#öqï#öîCÙ îJjï#öî “ï î%îîîÝî#î!Œî$ î(Úî,˜î04î0¯î3�î8 î=ìî=ìï vï  îEï qï îE’îJÁîJÁï î “ïéîEîîïévïéîïéqïéî€îÆî$Wî(�î*þî0Xî0Æî2î2ïévïéî4Íïéqïéî5;î6±î:ñîAuîAuïévïéîD=ïéqïéîE$îFšîJÂîJÂïéî “ï¶î îîqî î#îƒî"Ðî#(î&5î,î-ïî11î4î5œ î=ÁîBmîG[ï¶î “ïÜ î-î-ïÜvïÜ î!<ïÜqïÜîC� îJjîJjïÜî “ïî îBîÇî,î&Yî&Ûî(.î+†î,Íî1óî3³î68î68ïvïî<ïqïî<“îB~îD¢îG'îJÂîJÂïî “ïÏîIïÏî+ ï5î,—ï5î “ïf‡î ëî ëïf‡raºïf‡înî×GîJjïe«îJjîJjïe«î “ï^Ñq`Xî ëî ëï^Ñÿ+ êq?€`½ré HELVETICA é HELVETICA é HELVETICA é HELVETICA XLOGO é HELVETICA ~GACHAéÐõ3†# ú, s5E=˜D‘KwS�j/V Tÿÿž|l!ÿÿÿÿÿÿ,{ERIS}INTERMEZZO>LIBRARY>COLOR.PRESS;1JAMES 4-Apr-85 14:22:33