Digital PDFs
Documents
Guest
Register
Log In
XX-A2D47-A4
July 1979
82 pages
Original
4.1MB
view
download
OCR Version
3.8MB
view
download
Document:
TR-95 Fundamentals Of ReGIS Jul79
Order Number:
XX-A2D47-A4
Revision:
0
Pages:
82
Original Filename:
TR-95_Fundamentals_Of_ReGIS_Jul79.pdf
OCR Text
_ 75 DEC/TR-& FUNDAMENTALS OF THE REMOTE GRAPHICS' INSTRUCTION SET (REGIS) by Charle’ RESEARCH AND R. Rupp DEVELGCPMEMT GFCUP REVISION O ... 8 April 1979 FEVISION 1 ... 18 July 1979 Ccoyricht 1679 Equirment Corporation 146 Main Street maynard, Massacnusetts 01754 Digital Keywords: Graphics REGIS ASCII Interface Standard page 2 | REGIS FUNDAMENTALS... Rev, 1 PREFACE This document summarizes a collection of ideas concerning of the cdefinition of a an 1instruction set for the communication graphic image vetween a comouter and a peripheral 4gqraphic device, Although it is felt that this definition is unique in its apility to support a wide variety of dissimilar araphic devices in a wide variety of application environments, REGIS' (#hnich stands for the Remote Graphlic Instruction Set) 1is felt by the author to represent a natural evolution of existing device by several specific interface protocols used on devices produced manufacturers. as 1. The principal gcals and assumptions of REGIS may be follows: all future graphic terminal contain devices will language svntax micro=processor computing elements and therefore are able to interpret a rich user- reasonaple performance, 2. » stated oriented with A majority of remote graphic devices communicate with a over serial communications 1lines using ASCII comouter cnaracter codes. REGIS 1s therefore specifically desianed to be embedded iIn the ASCII bprotocol environment anrd this contains special features to efficiently utilize communication media. 3. To aminimize the number of different langquage syntaxes which and svstem designers must work with, REGIS {is users - specifically designed to bte usea both as a lire protocol and a 4graphic file syntax. Ir addition, REGIS is sutficiently "tnglisn Level"” oriented as to pe useful as orint string constants from a hiagh 1level language which has no direct graphic device support. 4. REGIS is not meant to be & replacement for bigher level apolication oriented graphic languages, such as the oroposed SIGGRAPH CARE standard, out rather is meant to be used as tne “"object code" 1level language translation from such a nigner level image definition. PEGIS therefore srecifticallv addresses the attributes of the graphic device itself arc viewing igqnores such hignher level language 1ssues as transformations and "reale-world" coordinates, 5. REGIS’s aporoach to instruction level coce transovortability pased upon the concept that the wmajority ot the is information content of a grarnic image mray be defined by a few common graphic instructions and tnat the specific actriputes and capapilites of a grachic- device may te transforred or ignored »y a dissimilar graphic device vitnout destrcying the essential intformation content of image the drawn, Ine onurcose of this report is to present the fvnaamenrtal conceots of REGIS and to dlscuss the underlvinrng assumntions and tradenattfs w~nicnh crharacterize REGIS.,. This report should not te REGIS FUNDAMENTALS... Rev,. 1 ' considered as hopefully a definitive serve as a for the develooment common of a Page 3 srecification voint for REGIS but will discussion in preparation of specification. This report summarizes both formal and informal work carried out bpy a targe number of lndividuals within the DFECorganization and principally grew out of the discussions of the Common Graonics Command Set Committee. Special mention should be mado e f the efforts of the members in the Research and Development Department, the Computer Aided Lesign group and the Video Products Group which directly contributed to the content and substance of this report. REVISION 1| 'This as a revision organizations North and areas 1. reflects function of of and Bob refinements comments particularly Fleischer, the The be contained within a A string JNumeric 3. ®acrographs 4., A REGIS compatible device coordinate definitcion. S. Pilxel may may be size adjust and A guideline for 8, 9. Temporary writing text ll, ootions Tne "=" A and to May use size Don summarizes the list the space first have are of now position gption numeric for a now character,. clearinc, default orlv circles instead. to has been parameters for interactive of allowed color in anc enable/disacle instruction definition "standara" qualifiers read The by without dDrocess clarifieqa, Powers, doubling. instructions. cursor "+" bv multipliers assumed The end point clarified, changed 10, the curve and DEC Tom screer have ore - added, 7. of document several the single quote "°" or delimiter character mav still delimited redefined parameter, 6. be comments original from either 2. constants the following change: Strings may be delimited by double quote *"’ character, to received to aaded text the arcs syntax allow has access teen vector, has teen has been to drawing devices. arev-scale maprcinc has treepn REGIS FUNDAMENTALS... Rev, 1 Page CONTENTS 1. 1.1 1.2 103 1.4 1.5 1.6 20 2.1 2.2 2.3 3. 3.1 3.2 3.3 4. IRGTRODUCTIOBJ SYSteM MOdEl Graphics LN BN SR BN BN X BN BN BN BN BN BN BN B BN B R BN B BRI 3 BC B B B N BN BN ) ceecevaccocscccesncscsecnconcnsss Lancuage ACCeSS POINLS cceeccecccose -REGIS SCODe Of aPDlicatiOfl e 0000000V OIOSTSES REGIS Qverview L AN B B AR BN BF B B BN BN BN BY BN BN N BN BN IS B NN BN BN N I Example Image Generation .ceecececccccscsececse Range o0f Intended PEGIS PHILOSDPHY DeviCeS 9 10 11 12 ccocccccccecvcccee 15 LA IR B BE BN BN BN BN BN BN B BN S A NN OBE BN B BN NN BN NN N W ) 16 Transportability CONnCeptsS eceececcccvcccsssesee Syntax Considerations ..ccccececcccccsccnces Semantics Considerations Lcceccccecccccccscs THE BASE LOGICAL GRAPHIC DEVICE Viewing Viewing Assumed 6 7 16 18 19 cceccevceccce 22 ..ccceccecescccaccee ..cececccececcccccccses SCeNArio ceececcocees 22 25 26 LA BE B BE BN BN BN BE BN BN B BN SN BE BN NE OBX BN BN BR BN BN BN ) 27 ® % 0 008 O 0 Q¢S OO0 OO O CO OO 9 OO OO OO OO OSSO TDDPEE Grammat LK BN BL OBE BN BN BN BN BN BN BN BE BN BR BE BN B IR BN BB BB R N B B 27 Area Definition Point Attributes Image Generation REGIS GE&ERAL SYNTAX 4.1 Alpnabet 4.2 General 4.3 4,4 M3Crograph StrinNgsS POSition ArQUMENES 4.5 extensipllity .cecceecccecccccccccese 37 5.1 S.2 Se3 5.4 Screen INSCLrucCtion cecececececcsccsecscosocsncacacs POSition INSLrUCLiON ceececvccccccnccevscscnsece 42 45 S.5 ariting Attributes INSCIUCLION ceceveccceceoes vector Drawing INStruction .eceeececececesceccses curve 49 OS1 S.6 Text 59 6. THE Guidelines Drawing Drawing INSTIrUCLION INStruCtion EXTENDED LOGICAL 6.1 Dlmensj-onal Screens 6.2 6.3 5.4 Text 0eS 6.5 7e 7.1 72 7.3 8. .cececccecccessccccscccnsee .ceeeccccccsccscccccccasccs Gray=Scale cceccvccccccsoccce .ceceececcccvecacecoccscecss DEVICE 28 33 3% D54 ceececoceccececcsecse Dl L AL BN BN BN BN BK BN BN BN BN BN B N B BN ONE BN NN BN BN B NN .eeccccocoscccscncsssensss 61 and COlOT Attributes LN B BN BN BN BE BN BN BN BN BE BN BN BN BN NN I NN R R R NN W Y Aread ACELriDULES .cecececcccccovccccsancccncace Animation and DVNAMICS cceecevccccccccscccace iJser 1nteraction ..eecccccccccccsccccccascse STANDARD RASTER DISPLAY EXTENSIONS ceeecscses OI 63 BS OB BS DD kaster Screen Instruction Extensions ceececeese Raster writing Attributes Extensions Raster Text ececececese. 71 ceeesesccevccecscssce 19 INSTALLATION EXCensSioNS ENVIPGOGNMEMTS ..cecececcccccccsccea 69 715 4 REGIS l. 2. 3. 4. S. 6. 7. 8. 9. 10, 11, 12. 13, 14, FUNDAMENTALS..., Rev., 1 Page FIGURES Graphics System Block DI1aQram ..eveeceecceeoee EXample GraphRics IMAGe ceeececcvcoccccccncnes Example Graphics Code SEAUENCEeS eevecocceece. "‘Eta-Lanquaqe Notation ..‘.OQ..O..0.0...O.QI. REGIS General Syntax C...‘QO...'.Q...OO...Q.. REGIS Basic Syntax E£1emMeNtS ..ececcccecccceeas Summary of REGIS Base INSLructions .eeeceeceee. Vector Curve InNStrucCtion INStruction Summary of Standard Intensity Parameter Extended Vector and Extended Extended TeXt Text EXAmMPLleS EXamPleS Raster .seececceccescccees ..cececceccccescee Extensions ..cee.. Summarvy sececsssncccccese Curve Examples ceccsccccsse PAraMELOIS ceceecceccccosccceces Examples cecccsceveccccscssccecas 8 13 14 31 32 40 41 52 57 67 DB 14 77 19 5 REGIS FUNDAMENTALS... Rev. 1 Page 6 1.0 INTRODUCTION The level Remote portatle meant principally images device, Instruction graphic to be is graphics stored as a Set (REGIS) 1Is definition acproach, image used between a host REGIS also has (bounded) image Graphics for the communication computer and a applicability svstems in sequence of any a of gJraphic remote "smart" to tightly- context in which characters. device Although: a graphics coupled graenic Tnils including led to brietf report describes the fundamental concepts of REGIS the wunderlying assumptions and tradeoffs which have its.development. The paragraphs in this section give a overview c¢f REGIS various uses structure, tne range devices of illustrative sections for examples discuss the of "logical graohic device" specific syntax and instruction set. 1in of which REGIS terms FEGIS of within REGIS i{s the assumed that structure, designed instruction philosophy upon which semantics of REGIS, REGIS of the to ke system sequences. the and Later conceopt 1is based «currently the used of a and the defined REGIS FUNDAMENTALS... Rev, 1 Page 7 1.1 SYSTEM TMODEL Figure 1 graphics the illustrated, host illustrates svstem in the system consists computer system consists device, of various The term graphics device the possibly the assumed general bleck diaaram which REGIS is meant to be used,., lowe-speed which of parts the parts: user’s communications (not all of (1) the of view point software modules and (2) the "remote" here refers to the is attached tc the host remote graphics assumption that computer by a link, The host computer system is major two major from of As assumed wnich may be to consist present in a of four particular system): 1. Grapnics application rackage(s) « allow the user to access the qgraphics capabilities 0f the remote device in terms of syntax and semantics appropriate to the user’s intended application, For example, a data plotting package which accepts tavles plots of example, a prepare a allows the user to construct of flowchart diagrams for 3 second uyser ¢to technical and use. level language(s) = allow the user to genrerate grapbhric images of sianificant ccmrlexity requiring alcorithmic definition andsor images recuiring dynamic changes to the image, Text files graohic = allow {image avplication shown In standard 4, and tignh graphic 3. data variety managerial 2. of varying types based on that data. As flowcharting onackage which allows the OQOperating the user generated to by store a the high deftinition 1level ot program a or packxage and later cause that graphic 1imace to the same manner as printing out a report file be ot text, system - may oroviage supoort to the craphics user in the general case by converting the gararhic imace definition orovided by the other software o0 the reauirec protocols necessary to drive one or more remote qraphics devices, REGIS FUMDAMENTALS... Figure 1, Rev, GRAPHICS 1 Page SYSTE# BLGCK DIAGRAR F--—-—--—-—C—-—-—--—-—-—“l- ————— ————— ) ' i APPLICATION PACKAGE ) ‘ HIGH LEVEL PN ! GRAPHICS TEXT FM—— | FILE boon - A SYSTEM " ' [ | —— — =l OTHER COMMUNICATIONS INTERFACE GRAPHICS DEVICES | | | ; pEVICES b= | GRAPHICS | | | DEVICE GRAPHICS figfi INSTRUCTIONS PHYSICAL DISPLAY DEVICE | | ! l ! | ! 8 REGIS FUMDAMENTALS..., The remote following basic Rev, 1 graphics Page devices are assumed to have G the structure: 1. Local processor =~ interprets the graphics 1image definition provided by the computer into a form which can be used by the hardware image generation part and transfer information concerning operator entries to the host computer, 2, Hardware Image Generator electro-mechanical gives the of flate-bed a circult 3. visible of Operator In longer host the plotter or the image. and = the digitals gqgraphics analog/ device with which The pen=-movement mechanism CRT device the communicate tube are with refresh examples device or of memory this. devices 1in the aoplication an either 1local program(s) in computer, collapse system generally of graphics system whicn ‘allows the user to directly with the 1local processor for a bounded system, visible to the generally the a raster graphics interactive communicate the graphic 1nterface(s) overations = portion remain into the the user a communications interface 1is no and the local and host processors single same as processor., illustrated The other a bounded for parts of system, 1.2 GRAPHICS - least LANGUAGE 8ased six developers 1. as POINTS on the above assumed structure, the system has language access voints of interest to the user’s of Graohics data ACCESS such a system: application plotting languages package reoresented at anc by or the the = such as plot constructors oprocosed of SIGGRAPH commands chysical COFE in a imacges dgraohics stangdard., 2. High level larncuages three possinle wavs: 1. Direct drive using oY = allow access of character based string c¢onstants to grarhics semantics communication output in orotccols throuch "PRIMT" statements., 3. 2. Graphics sub-=routines 3. gmbedded grarhics 3as language ather accessecd by proarammed statements accessecd caranilities. in text tiles = the syntax of how the stored as text for later communiraticr the calls. same Grapnhics graphics is to device, the manner irage agrarhics REGIS 4, FUNDAMENTALS... Communications S. 1 Page 1Interface - the syntax sequentially to the grachics of the commands sent Graphics hardware instructions = refer to signals generated by the local device digital L& control 6. Rev, User graphics sequences user the hardware entries £or local commands - image required in to to the addition use the graphics device. the assured processor to generator. refer control speclalized to the entry syntax application programs, 1¢ of the software 1.3 REGIS SCOPE OF APPLICATICM The natural language aquestion access points general purpose thls 1s breadth clearly of “personality" other hana, language 1is grachics of course bpe which satisfied impractical oetween the wnich we will accepot standard for language to and in tne communications a summary then, Graphics cases. It and intertace 1s whetner The "semantic communications 3. The syntax oriented of file, upon is graphics the be points. found On 1in the araohics aware of also is standardized when and at dictated stanagards. against) purvose of intent the of the CORE high Jlevel of REGIS rather least ot the extrapolation, By grachic REGIS points constants rprint by lanquage for a commands te image, used beth In for remote the and from high level statements or tlre crograms having emtcedaed grarhcs remote to for string graphics be system differences - existina commands. a wculcd but considering _the a few apolied agenerated to cculd different tc the the It the user should also to be used at other graohics the system wnhich are principally basec¢ orotocol" line of have to have lanquages representation it the 1language semantics compilation of hign level graphics statements. 2. aimed?". and May above be impossible) number the arelication least not argue aoolication program 1instruction languages not tased following grapnic language access Closely=coupled graphics svstems: 1. ugcon of (at syntax character yser desire special it is the desire of REGIS language access points in upon larce a the sub=routine attact set different hopefully here use (it aprlications relatively syntaxes aoolication based range instruction undesirable motivatinag a language approaches with By arises "what very nice if one instruction set the requirerents of all points cf grapnics the which access graphics when in a serial nased cevice. stored in a character Page 11 REGIS FUNDAMENTALS... Rev. 1 1.4 REGIS OQVERVIEW in d intended utilization of REGIS out the Having nov¥ establise “ith e ariz summ hs the following paragrap a grapnhics system, ons the general secti later in n give n atio ific the detailed just . syntax and semantics of REGIS instructions ot characters based upon REGIS instructions are sequencesutin g systems. That is, the an alpnabet comron to most comp A tuation characters. alphabet consists letter, digitingandthepunc ence sequ a ce devi hics grac grachic image is darawn by send abet where the general alph this on d base all ONS of INSTRUCTIC LETTER denoting the tvre of format of each instruction is ana KEYarcitrary numcer of instruction operation to bde performed and associated with a ARGUMENTS which have a prescribed meaning inwhenREGI S are prietly KEY=-LETTER. The six basic defined as follows: instuctions to ER "S" = causes operations such Screen Instruction = KEY-LETTenti area ing view cle visir re be opertormed atfecting the e, as erasing the irmage in preparation of drawing a new imac es all ion - KEY-LETTER Py"® = caus 2. writing Attributes Instruct imace tre ruct cost to ions the follow#wing drawing instructern, color and sc¢ torth) using the attributes (line vpatt 1., given oy the arauments of the instruction. drawina LETTER "P" = causes the vert 3, Position Instruction - KEYical als/ zont nori ific spec a orocess o commence from , position in the drawxing area 4, = causes 4 straight line Vector Instruction = KEY-LETTER "V" to oe drawn between the current position and a new position specitied by the instruction arguments. §. causes a circle, arc, cCurve [nstruction = KEY=LETTER "C" n = base d upon the arauments draw be to e or general curve imag of the instruction, 6. es a sequence of Text Instruction = KEY-LETTER n"T" 1in= caus a manrer based uvoon thre text c¢naracters to be draw arguanents of the ijnstruction, S: Tnere are four general tyges of arguments used in REGI writter within strincs of characters cate 1. Position arguments are changes te rs mf" and "1" which indi tne oracket characte tne norizontal and vertical writing position. rip characters written vite s are strings of angd 2. Option argument er mwarn some in ")" which esis characters "(" tne oparentn ruction carries out 1ts modity tne way in whicn the axinst is the The synt of the oection strincgs octi intended opurpose, on on, reas same as for instructions and for rhis nse. arguments are also called supe=instructio REGIS 3., FUNDAMENTALS... Text strings are Rev, 1 Page character sequences contained within 12 the single guote character "‘" and are used when a character 1is itself an argument of an instruction as in the case o0of the 4, T<XT instruction, Dligit characters specific refer generally to the eight neiaghbors of a position. The principle hypothesis instructions and thses simple of REGIS is that these six rtasic arguments are sufficient to define most most of tne information of of the graphic images of interest to most of the users of graphics systems. The fact that Instruction set is terse in nature is based upon the desire for a relatively efficient coomunications protocol and that it is assumed that most graphic 1images “will oprepared usina application programs., REGIS as a language {s still high enouah in 1level that the graphic 1image definition {is still not completely <critical and so specific that different araphic devices nave some instructions to reasonaple chance device and degree of freedom maximize their own of gqgraphlic 1image {in interpreting features and vportability the thus allow a between onre anotner, 1.3 EXAMPLE a IMAGE GENERATION Figure 2 illustrates a simple grachics image diamond ,circle and graohics text. The second 2 illuystrates tne image. note tnat consistina of cvart of figure REGIS instructions required to generate this a REGIS instruction generally mav have several arguaents. ' Figure 3 illustrates program seguences 11llustrating source for the generation of these REGIS instructions tased the three basic aporoaches to accessing dgraphics from A3 level 1language (in this case, a langquage of RASIC) and the crogram sequences for based 1300 the SIGGRAPH CORE having tre gererating c¢crarhics tne upon ricgh personality the image stanrdard. It 1is surorising cthat the direct use 0f REGIS in PFRINT staterents tas comparable *"readability® ¢to the other aprcroaches. This {is deceiving however due to the simplicity of the 1image 4drawn. REGIS has no viewing transformation, three-=cdimensional image and segment capabilites as found in the SIGGRAFH CORE ana of use 1in higher level applications work. The assumption ¢f REGIS is that these caoapilities are translatable to secuences of REGIS instructions, REGIS FUMNDAMENTALS.,.. Figure 2, EXAMPLE CIRCLE REGIS Rev,. AND instructions 1 : GRAPHICS IMAGE DIAMOND for the acove image: P(100,100] v[200,0]1(300,100])(200,200}(100,100] P{200,100] C(+100] PL150,150] T(S2) °CIRCLE AND DIAMCWD’ Page 13 REGIS FUNDAMEMTALS ... Rev. Figure d. 3, Using EXAMPLE REGIS 1 Page APPLICATIUON Directly in LEVEL PRINT GRAPHICS SEQUENCES statements 100 PRINT Gis, 110 120 130 PRINT PRINT PRINT "*Vv{2006,0]1(3G0,1060]1" "V(200,200](C1G60,100])" "P[200,100]C(+100])", GOS Note: The to0 oy string "P{100,100]" constants G1s and G0S refer character seaquences which are defined some mechanism at the begining of the orogram and cause the qgqraphics crocess be turned device, p. Using Graphics 100 110 120 130 140 150 ¢. d. on and 0off in the gracnics Sube-routines CALL POSITION(100,100) CALL VECTCR{(200,0) CALL VECTOR(300,100) CALL VECTUR(200,200) CALL VECTOR(100,100) CALL CIRCLE(200,100,100) Enmpedded Grarhics Commangs 100 110 120 DRAN DRAW DRAW 100,1007200,0; 300,100;260,2G0:;100,100 SIGGRAPH CORE Statements 206,160 CIRCLE MOVE.ABS.2 100 (100,100) LINE_ABS.2 (200,0) LINE_ABS.2 (300,100) LINVE_ABS.2 (2€0,200) LINE_ASSL2 (100,100) POLYLINE_ABS.2 (X,Y) dote: The arrays X contain the spaced points be generated and Y are coordinates on cy assumed of a circle some to closely as program would segment, to 14 REGIS FUNDAMENTALS... Rev, 1 Page 15 range of 1.6 RANGE QOF INTENDED REGIS pboth is DEVICES ambitious "softe-copy"” in its (temporary attempt record) to cover and record) remote graphics such devices include: devices., A 1., Flat-bped and plotters 2., Drum 3., Photoe=plotters includinag 4, Monocnrome color S. Storage 6. Stroke 7. Flate=panel 8, Matrix, monochrome monocnrome and CRT and color no encoded particular whicn does computer incomplete list ot CRT output microforms devices devices display devices thermal in possibly (permanent devices grapnics essential broad plotters raster and tne tasic set informacion device are not have a such as electrostatic The principal concept of the images 1is that the essential be color a "hardecopy" plasma panels hard-copry devices transcortability of information content of cf instructions content is and 1lost transformed (¢r even particular attribute RFGIS based an image can that if 1little attributes igrored) pv cacability. a or of device REGIS FUNDAMENTALS... Rev, 1 Page 16 2,9 REGIS PHILOSOPHY This terms in defined section describes and discusses the rationale of REGIS of (1) the approach to allowing an image originally . for graphic one (2) concepts the ASCII handling to as graphics device, of the to be drawn instruction set the instruction character dissimilar the device called code device “semantics" of syntax and conventions attributes on a dissimilar "transocrtability" the and and crientation (3) to conceots cavavilities, Of referread REGIS. 2.1 Transportability The 3 desire sequence images on of of image the definition graphic dissimilar summarize 2.1.1 Concepts REGIS APPLICATION transportaoility instructions to graphic devices. approach FREE to this draw The is followinga transportability, geometric contain any terms does of not other rule scecific the real and include ohysical constructions wnich viewing generallv things. instructions, whicn works package. In usetul Instead with In a bar=qrapn this can in way more abstract images manner, REGIS orimitives to supoort REGIS syntax every Jevice interpret mean all using all anvtning or parameters are EXTENS1UNS categorv Of the rarameters, the in All higher an ucon rot level sequence not turder an as a data not have such data image that a does olottirg not. on a required 1instruction craracter grammar, and base¢ are REGIS w~hetner of these languages of REGIS agplicatijcr plotting built for in the into a a REGIS information terms of PEGIS based REGIS CPkn axis sare must of cefined RASE devices In a Sy this and STANDARL concept, qgrazhic irage ‘irstructions are is, seguences instructiors catedory, & That completely character cateqgorv. REGIS araochic set RFEGIS BASF instruction "rarse". seaquences content the general to those Semantically, separated essential definaple are devices cossible instruction should IMPLEMENTATIOM instructicns wnicn general BASE assumes by REGIS does similar MANDATORY brasec interpreted presenting REGIS reason, 2.1.2 be and the are adequately supported simulate these features .by ¥hich oaragraphs {n apolication. For examcle, £EGIS transformation, hidden line removal ana of Capabilities and compass capavilirties semantics capabilicties allow looking PRIMITIVES REGIS impolements a set g: drawing primitives common to similar reqguired most 1is ara to REGIS FUNDAMENTALS... interpret addition, Rev., 1 Page these BASE capabilities users who know ahead of as faithfully time that the as possible, image they 17 1In are defining s to be used on several different devices are encouraged to use only the BASE REGIS capabilities to ensure maximum transportability. For example, color is not a common attribute of every graohic device, and for this reason the FEGISBASE 1s "color-plind®. This works out well in practice because color does not normally carry essential i{nformation content, Put differently, users should avoid wusing c¢olor to relate essential information in the context that that same information is not also implied by monochrore boundaries or patterns. EXTENSION STANDARD of categories several are There capabilities, including very high resolution devices (such as ohoto plotters) and raster scan display devices (including color CRT displays). The intent here is the same as tor the REGIS BASE. That is, all CRT GEAPHIC devices of aporoximation the same resolution are expected to implement the full range of the STANDARD fully RASTER EXTEMNSIONS. This concept works tecause parse the general all devices instruction are syntax, recuired Therefore, to a capapility in one of the extension sets is simply ignored or transformed to & simpler attripute in a device for which that capaplility 2.1.3 does not FIDELITY OF exist. INFORMATICN PRESENTATION Devices are allowed varying levels of fidelity in presentation of information imelied by REGIS irstructions on oasis of maintaining reasonavble performance while maximizing translation of an instruction sequence, The ageneral rule determining tne allowed degree of 1loss of fidelity are the the the for as follows: 1. Low resolution /monochrome devices are allowed the 4Jreatest degree of latitude in aporoximation the information contert, In the limit of A drawing a very detailed image with a larce information content (exceeding the intorration content of the simple device) essential information may te lost, 2. Higher resolution degree of svecialized) (and devices fidelity of presumably more are expected to excensive implement 0or prore the hichest information presentation, One of the reasons that tnis acproach should work {s the assumption that images are crepared on lecwer resolution for later output on nigher resolution (possiply slower, usually more expensive) devices or that a3 nigh inforration content imace is prevared directly for the high resoluticn device. Farely wculd an image prepared on a bhich resolutior device be drawn on a supstantially lower resolution device except perhaps for "quickechecking" or stherwise the user must ne willing to accert tne ne of result a cossible misintercretation of intermation as lower fidelity of reocroducticr. REGIS FUNDAMENTALS... 2.1.4 CRITICAL Rev. DEVICE 1 Page 18 PARAMETERS The third major concept 1in allowing maximal image transportapility is the use of critical setup parameters defined once for each 1image and placed at the bpeginning of the instruction sequence for that image definition, Thus, in the worst case the user might have to adjust these parameters to achieve maximum As an example the user to image fidelity of such set the definition, physical range graphic imace, a critical device parameter, REGIS range of X-Y coordinates to be used in the reproduction allows for an These presumbly would be values of device which of a set the to user the actual mostly uses. These range parameters could be adjusted to maximally utilize a dissimilar 1low resolution device tut presumably would not nave to adjusted for plavin the same image on a hiagh resolution device, 2.2 SYNTAX CONSIDERATIONS 2.2.1 Character Codes REGIS character 1Is opased alpnabet, ASCII=96 character whicn is note~ does not on To set (or to be converted this rule is ASCII=S96 environments a the between of convention, letters with letters #ill exception to common have translatable differentiate a matter uopper~case the support ASCII-128 ana ASCII-128 have onlv the set such as BCD character upper or wnich character lower case set) REGIS letters. REGIS will be defined the understanding that 2As in terms of lower case to uppoer case £for interpretation. The that lower case letters will remain lower <case in a quoted string for environments which ¢éo support the ASCII-128 alpnabet, The selection of ASCII for PREGIS instructions is basea first on the desirability trhat REGIS instructions be human- readavle (at least to the deqgree that assembly language <code s readable) and secondly on tne presumption use ASCII easily code accessinle (such 2.2.2 ASCII codes., pe as ASCII To an that a majoritv of systems directly as their base Control avoid oased All writcen means EBCDIC as many or for the B8CD) to REGIS translation of graohics eitrer or oprovide sore their {{nternal ASCII. Codes problems environment, the as REGIS instructions, using only wnich use text code rossible when does use not carameters, anada orintacle character usinaga any PEGIS ASCIlI extensions sets from in cortrel carn ASCII=%n REGIS FUNDAMENTALS... 2.2.3 Syntactic The grammar level Rev. Relation 1 Page to Higher Level REGIS general syntax is based which should make it easily languages Languages on a simple generated and user application packages. the REGIS instruction types have been kept SIGGRAPH CORE to allow simple and implementation, 2.2.4 Use in "PRINT" The level of high enough that of sucn languages do not directly (althougnh support encoded point graphic terse) as the devices allows coding, usual (scientific In decimal notation) Communications The level of Line REGIS reasonaole reasonably particular, integer, strings languages. that high In particular, very close to the straightforward instructions and parameters has been set the use of REGIS directly in tre PRINT strings as BASIC, FORTRAN, and PASCAL on systems wnich and 2.2.5 parsed common REGIS arguments .are these easily by strings admittedly floating~ 19 clear number fixec-point, cenerated 3% Efticiency instructions performance may has peen set obtaired be low enoudh even at so low transmission rates. It is for this reason that the "macrograoh string” nas ©opeen included in the RKEGIS base to allowirng repetitive string seauences to be defined once and then referreq to D0y REGIS name 1s separators REGIS has and no characters 2.2.6 any allows times., It format multiple awareness are Altaougn of line and is for this recuires rason nox instructions per boundaries, since also that instruction "line" (in ASCII ignored). {s not to capture minimal and the to interchanges string and auto-conversion the imolemetation of contant of lower this 2.3 Semantic possible amongst personilizations «ith numeric Lt personality attempted langquage users of free fact, centrol Hian-ievel Language "Personality" compatiole has number generalliy Considerations all to define hiagher essence allow of concept. of tnhe to , upoer a comcletely languaces, REGIS many the higher level learning ey constructs. Comkon most syntactic constructs case level rarid ignorinc case are cf nlanks examoles of REGIS FUNDAMENTALS... Reve. 1 2.3.1 Range of | devices REGIS is intended display devices: for use on the 1. Low to nigh resolution flat=-bed 2, Low to high resolution rotary 3. Above 4, monochrome 5S. Full-tone 6. Storage 7. Stroke graphics devices 8. aonochrome S. Page 20 plotters with binary and CRT binary raster color raster range of araphic plotters plotters or CRT following full-tone color divices CRT devices devices Plasma devices "Future" x-y addressable disolay devices such as LED arrays, LCD disvlays and Electro-luminescent disolavs. It {s felt that the REGIS BASE 1instructions adeguately defires a common denominator of tnese devices, and that the EXTEMSIOMS and OPEN categories current and adegquately future access the unicue capabilities of devices. T 2.3.2 A Position Addressing specific point assumed to be in the representable of numbers and that the the purpose of c¢code increment is assumed to REGIS BASE (if indeed and otnerwise definable viewing area of by an X=Y a graohic device (horizontalevertical) {s rpair viewing area is rectangular in shape for transoortabilicy. The size c¢f an X=-Y ve defined by the device itself in the the device is able to Zefine it at all!) by user supolied parameters in the REGIS extensions., 2.3.3 Semantic There BASE. In derivable are iLefaults generally no fact, all from user default oarameter supplied parameters ranges screen in reauired by a ccordinates the PEGIS device wnich are are transformed to nhysical coordinates bv the cdevice., An excection to this is the size of "standard characters" in the device «hich Wwill naturally vary as a function ot cnysical qgesigon cecision . To accommodate such variances, REGIS allows tre user to "adjust" these parameters so possible to #nat the that user the actual expected, visual result is as clcse as REGIS FUNDAMENTALS... Devices inmplement affect tne much as which does must be which not values display. the have assumed is 1 Page implement default visipble possiole Rev, REGIS for visual these each are required to all such semantic features which These defaults will aporoximate as impression visual and extensions 21 every of the enhancements time the image and screen on tnese clear a device defaults operation performed., For example, the default writing pen for a plotter 1is obolack (althougn it 1is white or green for a CRT device!) as opposed to some hue capability (unless of course the divice naturally only has a single hue writing capability .. green for storage tubes and orange for plasma displays). 2.3.4 Range of apolication For the purpose of arbitrarily broken down this into 1. Data 2. Presentation graphics 3. 1Image report, graphic three categories: images will be plotting processing The first two catecories are sometimes referred to as "data representation graphics® and the later category referred to as "inherently 4qraphic". The 1intent here is to establish a framework for the range of aoplicability of KREGIS. Contrary to any the oree=conceived above increasing increased category, its principal mainly blocKk=diagrams. c€an be imagery also #e for used This (ERTS «#ould particularly this as notions will target the does but more is only no nigner oase level that that it list REGIS may cateqgory canr not the be CA[L suprort and is ard usec performance Similarly, cartooning and so 1less than desired in language whicnh flowe-charts lack complex of reoresents and presumaktly handle the first as category. for comolexity the second such that photo processing, found to be if the mean restricted oe relative order given may adequately images not protocol of assume the REGIS abstract data=plotting necessary real!) complexity in cost. Although includes for (or categories, PEGIS real=worla forth) these out cases provided, - REGIS FUNDAMENTALS... Rev. 1 Paae 22 3.0 THE BASE LOGICAL GRAPHIC DEVICE REGIS 1s used to define an image for device called the REGIS Logical Graphic this abstract device is a composite of a devices. Features unique to a specific are part in later of the extended sections. REGIS In logical concept, terms of this abstract device, device is transportable to a an abstract grarhic Device. 1In crinciple, wide type range of physical of physical device device since an and are image is discusse defined with the exception that feature extensions are 1ignored on device or the other or approximated in a ditferent wav on device versus tne other, It 1s not expected that any specific device have the rarameters of the logical device, rather eacn REGIS based physical device maps (transforms) parameters physical given in terms REGIS locgical device 1, Parameters of the 2. Attributes of viewing The general by wmodifving nature is 4. The The logical device to its phrase a one but the specific of terms of: in the defining an viewina image area in the viewing are drawn range of parameters attribute with the type The allowed feature in the order in area (REGIS by ovorticns which the received), preference, dependent in Aarea points “imolementation or defined the attributes of the viewirg points serial drawing process .. the visible allowed parameter is viewing process of the image instructions are varies the one one parameters. The 3, of in an image detined for one physical different tyve of physical device dependent” value of will that of attributes will has physical range pe and a be used device variance defined in Device viewing to semantic more or for refer meaninag with ar to a which oersonal irplementation detailea later. 3.1 VIEWING AREA The DEFINITIGN REGIS Logical generallyv rectangular number viewinge-point. and of pounded Usually, a on four viewing homogeneous point structure normally corresponds by c¢hysical the image in ocutdoor the grid same to of Each is the smallest smallest area recause the that Mathematically, the screen & area will may the is be ot tv aria also lines screen te thouaht union can of of all as area of aric. area w#ith viewer be and modifiea preak breaks called a larae) finite lines the whicnh of possibly crysical seen window area tnrat rce consists invisible the viewinag such point the <¢an the ©opoints by area (althouah that scene, viewing= finite viewina sides device, manner a a up tre ur an "screen", a set of viewina-rcoints REGIS FUNDAMENTALS... Rev, 1 Page 23 completely covers the viewing area., A viewing point may also be referred to as a picture element or "pixel" for short (sometimes referred to by the yet shorter nickname "pel'). has “hen the 1its "normal" screen is rotated in such a relative to these then manner four the that sides also four the edges image the rectangular screen are called the left, right, top and bottom edges in accordance with the normal meaning of these words and the terms horizontal and vertical are used to refer to pixel positions orientation, of in accordance with the normal meaning of these words, The position of each pixel on the screen is uniguely identified by the combination of two numbers wnich refer to the horizontal (or X) position and the vertical (or Y) position of the pixel. Using this the pixel (viewing=point) VP(X,Y) refers to the horizontal value denoted by the number denoted range which of 2y tne Using of are number taken on non-nedgative by X and tnese and point at the vertical value Y. REGIS instructions, values o©0f X and Y generalitv, viewing X and at Y the user may define the vossibple by identifving the numeric values at the four parameters directly define edges, may the be without assumed following 1loss to screen be area parameters: SYT = value SiB = of Yalue the Y=-position screen the of of oottom the of the at the Y=position at the top screen - ' area area SXL = Yalue of X at the left SXR = Value of X at the right edge edgqge Assuming for tne moment that these parameters are all of integer value, these parameters 1indirectly define trhe total numrber c¢f horizontal ana vertical positions to be used as follows: aos(SXR=SXL)+1 the number of norizontal = = SXN screen positions SY!! = = 30s(SYT=-SYB)+1 the number 0of vertical screen positions STN SYN SXN * the total numoer positions These parameters graphic device referring quality of to unique of can now be used to ‘"resolution" (here guantitv tne of (number of incividual information pixels) as screen oixels) gefine three used in the capability follows: ranges context and not ot of tre REGIS FUNDAMENTALS... Rev. 1 1. LOW RESOLUTION MIN(SXN,SYN) 2. MEDIUM 256 3. Page 24 <= 256 RESGCLUTION <= <= MINM(SXN,SYN) 1024 HIGH RESOLUTION MIN(SXN,SYN) > 1024 REGIS differentiates between the low/medium class of devices and the high resolution devices in a special way. B8asically, screen positions for low resolution devices and definable entirely by using integer numbers or the whole parts of generally fractional numbers. The additional resolution of higah resolution devices is required to be accessed by fractional rcarts of the X and Y values. In this manner, the simpler low resolution devices mav easily "acoroximate" the positions on high resolution devices bty simply taking the integer parts of all numbers and similarly, a high resolution device may depict an image with better fidelity by making use of the fractional pvarts of the values, Mecdium resolution devices addéition to the may use 4hole some part of parts on an the fractional values implementation in aependent basis. We have governing now the established degree of a reasonable fidelity frame=work fcr rules of representing a graphic image: 1. LOWY RESOLUTIOWN CEVICES are given the greatest degree of fidelity of representation 2. MEDIUM RESOLUTION possiole "jagged 3, HIGH with ideal, eages" should attempt to cet in the that wav as close as recognizina that there still may be occasionally RESOLUTION cdevices are exrected to represent tne maximum possible degree of fiagelity. Note real most size devices the to lee the REGIS BASE logical device is the ignorant image of thre physical size of a pixel, consistent with the fact that low resolution graonic devices nhave no controllable pixel (as in tne case of raster CRT, stroke CRT, and storacge CkI devices). physical Qther devices opixel sizes determination of determined the by the above must therefore define default values of from the given data in conjunction with a resolution of tnhe oricinal device as paramters. ‘iote that the parameter SXR is not necess rily greater trar SXLL and similariv, SYT is not necessarily larcer than SY®. To define the ReGIS instructions in terms of the logical device, it #ill be necessary to bte arvle to ldentify the oixels which are above, oelow, to tne left and to the right of a given pixel, 1in terms of the user supoliec screen coordinate cefinition. This is accomplisned by the X,Y screen increments SXIH#C ana SYI«C #nhich are defined SXIMNC = as tollows: SGV(SXR,3XL) REGIS FUNDAMENTALS... Rev,. 1 Page 25 SYINC = SGN(SYB,SYT) where SGN( ) is the signum VP (X+SXINC,Y) VP (X=SXINC,Y) function. By is to the right is to the left of of ¢:ZVP(X,¥+SYINC) is below VP(X,Y=SYINC) VP(X,Y) is above VP(X,Y) Q this convention: VP(X,Y) VP(X,Y) 3.2 VIEWING POINT ATTRIBUTES Each viewing point generally has a forearound intensity attrioute, a background intensity attribute and a foregrouncéebackground selector attricute as defined in the following paragraphs. Each pixel nas a background "intensity" BI(X,Y), The semantic meaning of the implementation dependent in the sense fo photometric measurement units., Intensity device is propercty value defined of {s a simply viewing sevaraole as peing poinrt such from another some that a value called word intensity psychoohysical in the wvisually mixel pixel have the 1is and RASE logical <discernible one intensity a different naving intensity valuye, The BASE REGIS LOGICAL DEVICE IS EOTH COLOR=-BLIND AND BINARY in terms of intensity attributes, so without 1loss of generalitv, we may assume that the possible values BI(X,Y) The pixel Base of are either "off" or "on". foreground at intensity attribute associateaq with tre X,Y is denoted oy FI(X,Y) ana similarly in the device may have values of "on" or "off", Eecause position logical the bpinary quantities are nature of redundant, since tney will logical device, be the Dbase but are needed in device, included the the here for definition of FI anrd BI completeness the extendec tacn viewing point has a foreground-=cacxground function denoted by F8S({X,¥Y,t) which has a binary value selector generally values alsoc a of function FB8S denoted will by the selection also funticn for each defined is to value to be seen, ot on FBS(X,Y) impsosed 'In B8I(X,Y) for all hnas on a be time, taken binary denoted VB(X,Y) foreground pe of o¥ to uniform "F" "1") (for and J#hich generalitv, torearound "g" (for is tre selection background tne cinary wvalue "0"), The FRS used to select whether the currently currently defined btackarouna attribute base "F" be of by off (X,Y). value to value loss is the the #ithout logical for cevice, all (X,Y) Then the set ("1") will te bacgaround of and ajl we the VE(X,Y) visually intensitv, may valuye take of tre FI(X,Y) for ciscernible «wricth a8s ar REGIS FUNDAMENTALS... Rev, 1 Page 26 3.3 GENERAL DRAWING PROCESS The generation of an image on the 1logical device (as image may distinguished £from the definition of the image) consists of execyting a sequence of instructions which modify the FBS values for a selected subset of X,Y values. Note that the sequence of instruction execution is important in REGIS whereas the order of image definition constructs in a higher level agraohic language may not be important. The general process of generating a REGIS logical image is as follows: STEP 1: An be Define the viewing area parameters. area the viewing STEP 2: Erase STEP 3: ldentify a sequence of X,Y change the FBS for each of image may bpe drawn steps by MGCDIFIED by repeating from positions ang tnese pixels,. repeating step step 2, In terms of the different REGIS are accomplished as follows: 3. A new 1instructions, the atove The SCREEN instruction is used to define the viewing area parameters, screen set the background The WRITING attributes foreground attriobutes, The attritutes and erase the image, POSITION instruction is used to set the particularly line drawing vatterns. instruction 1s used to position to E@;begin sriting points. select an X,Y pixel The VECTOR, CURVE, and TEXT instructions are used to modify a seguence of FBS values for pixels from the current X,Y position ana generally position of tne screen, ending up at a different REGIS FUNDAMENTALS... Rev, 1 Paace 27 4,0 REGIS GEMERAL SYNTAX This section discusses the general REGIS. This discussion applies not instructions general discussed framework general grammar. transportapility general grammar in for the next syntax and only to semantics the BASE section out also provides REGIS by way of extending That is, REGIS can support for any extension as 1long it as the of REGIS . the the REGIS purpose conforms rules. of to the Since REGIS is meant to be used in conjunction with high languages, extensions to REGIS should not include the mcre tradicional "program structure" features such as conditional level control and programming computations .. REGIS in {tself language, is not a 4.1 Alphabet REGIS alphabets 1s based princioally on 2yt for the purpose restricted to and EBCDIC therefore It is 3. <punctuyation> L1 that case to In letters dypper case Uevices convert which oarenthesis option The bracket well, 0) REGIS °*°" : @8 conferm addition, to upper have case in "(" and ")" outside of quoted "([" outsice always guotea and o0f ";" is to s BCD alchabet = this the and comclete., alpnapet but are rance of treateg a aquoted case surcport strinas. should as alphabet the be may reserved strings. reservea i{s, terminate string REGIS "1" should te quoted strings. That are common usec quoted characters character a ce lower parameters terminate may not do separator. #ill 2Z ASCII-128 following wnich characters semi=-cclon ... + to the of arguments instruction b, are The outside sequences instruction cnaracter a, and gytilization characters: letters lower for not 72 ASCII-=96 maximumr aoply: The The , extensions possiple, vposition 4. as following 0,1, cee,s9 string. 2. the <djigit> Lower also systems of A,B,eees? as as alphabet those <letter> conventions 1. only consists hooed much use tre o characte reserveg fer occurrence instruction The "“;" construction, for use 3as an of tnhe ":*" whether tre cnaracter coes REGIS S. 6. FUNDAMENTALS... The "at" strings Rev. Page character "g" is reserved and may not be used iIn any for use by other context 28 macrograrch outside a quoted string., Within quoted strings the "@" character just another printing character .. that is, there is ability to expand macrograohs within quoted strings,. is ro The of blank cnaracter quoted strings. characters are not constant strings. delimit successive 7. 1 The comma " {s generally 1ignored outside The exception ¢to this 1is that blank allowed within the extent of numeric Thus, the blank character can be used to numeric parameters. character separator and characters are two adjoining " of "," serves generally as an arqgument 1s generally 1ignored unless the adjoining otherwise indistiguisnable as in the case of digit sequences which refer to two different numpers., 8. ASClI control control and characters device and conrtrol in REGIS and in concepr can affecting the interpretation similar characters communications are te insertea preocess. 1line gererally ignored arywhere without 4,2 General Gfammar Figure 4 notation which illustrates and summarizes will be used to descrice This meta-notation is the instructions. extension to meta-notation the Backus originally HNeaur ferm or developecd for use the meta=languace the syntax of REGIS cemmonly Backus in emploved dNormal aefininag Fornm the ALGCL language, ' Figure S5 summarizes the following paraaraphs state 1in succinctly 1. A REGIS defines image sequence separated does not ignored, 2. in REGIS general qrammar. words what this fiqure mathematical terms, definition o¢f an arpitrary 1lercgth o0f intsructions rcossibly (but no necessarilvy) by the semi-colon character. Any character «hich ovegin an instruction (a <letter> character ) is . A REGIS instruction consists of a KEY-LETTER tollowed pov a parameter list. REGIS is therefore limitec to havincg onlvy 26 different types of instructions. Since there are only six keywletters used significant restriction extension, 3. consists The more An 1in and the KEGIS BASE this 1leaves consiceraole instruction parameter list of four basic tyces number aroitrary instructions order anada consists of parameters of syntacticallyv. instruction an 1is not a room tor arbitrary in an arrandaed Semrantically, rcarameters are assumed all to pve REGIS FUNDOAMENTALS... executed those A in seqguence of sequence text 0f ("lefteto=right") and to an and string and characters an guote character, * character. included 1in single strina the bracket begins with an apostrophe as a single is to are te A quote the string character delimited not part of in a text begins is with a " a The the text string by the full refers refers to the string character quote to character can be doubled by simply using being as quote the the string the string A ‘"? refers to the string " “*" refers to the string ‘OEF’ resulting are two string consecutive structure For in a example: A’"B parameters. cccurr., string carameters, is: and included ‘ to the delimiter ke a‘cC string refers to can character, "A" refers character similarly a string terminated #ith the REGIS instructions may have multiple string the <this case the following ambiguity may and apostrophe character argument. included which without single "A°""B" “ABC’ of characters the w#ith themselves 1In a string **#** the reception argument, by the ° character and the " character is not this way the, the " ‘a’’C’® In the 29 doubled. The full guote character °*"°* may also string delimiter in the same way as the single not terminated which begins with the which apostrophe 1s similarly in position treated string. then it 1is te used as a enclosed X/Y ends apostrophe of parameters, characters """ If Page characters refers character 1 order instructions generally A the Rev. If tnen ‘ABC*‘DEF" wnich #i{1l This oe treated ambiquity may by consecutive string may arise particularly used to Digit supply the characters arguments where REGIS te paramters in string the by the single by the comrma context efither argument Sequences of syntax of characters "(" is each instruction enclosed and ")" ovotion 1is including £or readabilitv, e separated cV options comma ABC’'CEF. possible character. that numbers a This macregranns are sequences of rerfer the within to same character the instruction as oparameters (also or digit argument, cnaraccters string separating vcarameters. represent each as avoided the of called characters syntax the four is rarenthesis cotions. of not bv Tre a PEGIS basic types. sut=instructions) but ar the mav semiccleon REGIS FUNDAMENTALS ... Rev. character Figure 5 also BASE 1 Page wnich would terminate summarizes instructions. the the 30 instruction. semantic meaning of the six KEGIS REGIS FUNDAMENTALS... Figure 4, The syntax Backus Normal following: < > Rev, of REGIS Form the * gquantity of ASCII the Means e means that py") either that number from the of syntax terms of the of by the of enclosed A<KB> . CTr.{B} a <B> the name has in a syntax string or characters. of that a of is <A> is character may repeated be is made forms of the character left which remresentation equation: defined ("can te beginning definatle defined (.cr.) is themselves, cnaracters characters left forms forms single svntax <A> the string selection printing represent variable string o0f the string of the string or string no following ==> a a variabcle one times, enclosed wise -w> carriage=-return "B" the characters tne the extended variables by rignht any other <AD> the in Enclose example, variaole syntactic Select one Of the alternative or right of this symbol All followed of to be replaced characters) that other For in terms of the metae-syntax, summarized name (3 on J defined ‘ means } 1s 31 NOTATION (BNF) defined { Page META-LANGUAGE Enclose - 1 by and a bv string followed with the rerlaced "A" and syntax starting by any witpr numrber REGIS FUNDAMENTALS... Figure <REGIS> ==> ; -=> <any ==> <PAR=LIST> SYNTAX <INSTRUCTION> <REGIS> <KEY> <REGIS> <PAR-LIST> ‘<text> <PAR-LIST> ==> ==> "<text2> <PAR-LIST> w=e> (<KCPTION=LIST> w=> [<x=y -=> <digit> ‘* -=> <any ==> Page <letter> ==> <textid>e==> GEWERAL character> <==> KOPTINN=LIST> <text> 1 <REGIS> ==> <INSTRUCTION> <KEY> 5. Rev, <PAR~-LIST> arqument>)] <PAR-LIST> <PAR=LIST> ==> <KEYD> ==> , <PAR=LIST> <CPTION=LIST> <OPTION=LIST> other character> <text> other character> <text> " <any 32 REGIS FUNDAMENTALS... Rev. 1 Page 33 4.3 MACROGRAPH STRINGS Macrograph strings provide the arility for define a commonly used character seaquence temporarily anyplace in 1in the graphics the of allow user macrograph strings complete instructions several used in not the then to then refer - sub=-picture Rather, reducing collect execute image structure macrographs veing referred reduction to of reducing improving the the this together these string Although several instructions general instructions, causes the SIGGRAPH are CORE segment syntactic mechanism number o0f characters tnat have to be communications interface. For example, 1f drawn is a sheet of music, each of the different the defined as a macroqgraph string and by its name resulting communications overhead readability of readability). Macrograch REGIS Oor strings the over ‘types of notes could be strincs the conform image to a definition grammar on oossibly teo of tre That is, in the process of varsing REGIS detection of a macrograph string reference the characters previously defined for that the general case a macrograch string may be instruction (such as a position argument) or (such a an (and built grammar, substituted of thern in as much as a 5 to 1 without substantially be piece to execution, to stored during the generation of a single image or to be generation of each of several separate irages, it is intent of macrograph strings to serve as the commonly transmitted an user be tne structure. the the and and instruction times employed for device sequence the to for the argument string reference as an macroararh to characters. Thus, ir just argument of argument to an may even be a suc~instruction). All operations relating to macrographs are initiated ny the *at"TM character ‘“"g",. The syntax of macrocaraph orerations is defined in figure S and descrined in words in the tollowin g: l. There are 26 defined, letter (lower ourpose 2, The of ("at" macrograon string ce 3. case to is be if A macrograon converted to cleared interoreted as of defined they are string is no ce urver by The must which identified bty case can a be single for tne identification). period). consist strings is are by altogether string string strings string may Cleared peing followed defined Macrograon strings macrograph macrograoh macrograph "a," is macrograph gach the meaning characters clearea and used. not to be defined chraracter orveration ( of that tne the emoty before any tacrograsns do sequence Clearing a string string). macrograch not have to used. bv the seguence: 2:<letter><STRING>Q; #nere any <letter> sequence seguence the refers cof "“a:" sequence is to any characters called the "ags" is alchabet not character, containinpc strinc called "@;" definition the <string> is “e:", qre initisatar ara or strinrg aqefirition REGIS FUNDAMENTALS... Rev, 1 | Page 34 terminator. 4, A macrograph string is referred to by the sequence a<letter> where <letter> is one the names given macrograph., This sequence may appear of REGIS istructions. a previously anyplace in a defined sequence The following notes refer to conventions toc be applied to achieve maximum transportability of images which use this capability: 1. A macrograoh another string macrograph can string not (no contain the "conditional" definicion of defirnition). 2. A macrogrash string definition may refer to otner macrograph strings iIn a nested manner. For maximum transcortability, this capapllity srould not be used for more than one level. A macrograph string mav not refer to itself in its definition either directly or 1indirectly (no recursive string definition capapnilitvy. 3. If a macrograph is the 0ld definition 0la 4, definition w~macrograph is defined which already is revlaced by the new 1Is defined, tnen definition and the lost., string may te o0of any 1lenrngtn (including no cnaracters at all .. the null string) cut for maximum transportapility, the sum of the character lengtns used for all macrographs snould not exceed 2000 characters. Some systems may have difficulty transmitting character sequences longer tnan 80 characters. 4.4 POSL{TION 0f (pv) ARGUMENTS REGIS provides two drawing positions: relative movement, syntactic (1) X/Y structures for the definiticn ccordinates and (2) pixel=-vextoer Pixelevectors corresponc 0ld (but still very useful) "chaineencoaing" still used today to arive many incremental The X/Y coorcinate defining positions structure 1s using numpers two the somewhat ronghlvy technigue »oplotting tradition separateac by a to the which is Zevices, system of comra (or space) cnaracter with a new twist which allows coth absolute anc relative coordinates to te svntactically distincuisnaple arnc thus elininating the neec [0 nave sevarate relative ara atcsclute instructions or options. REGIS FUNDAMENTALS... 4,4,1 Pilxel Rev. 1 Fage vVectors Syntactically, a pixel=-vector is character 1in the range 0 to 7. Each one of the eight position., number 1 around By a crixel convention, refers convention 35 to the circle is neighbors ©v number pixel in summarized denoted by a single digit of these nurbers refers to up and 1. The notes cnaracter the counter-clockwise the following the the to right in aoply to refers a 4| folloWing O to 3|2} The relative the current rignht, and cv so fortnr direction. This ciacram: 1 % | O S|e|] 7 use pixelevectcrs: of sequence: 0228 2. refers to number two-=nundred nNote no 3. The that size S. a oy the of on atter base one OCepending error and relative by default occasionally is thus ov attritutes pixel (linear to the pesitioning arc the of o0f unit by size (cefined ir multiplicative a to be a of the pixel another on vectors a device diagonal directiors. the pixel size definec tre exact consitior unit operatior, pv’s cositicning absolute the overationr instruction versus setup seguence ov not vector. measure) direction granularity a setur modifiatle unit coordinate executinag is particularvy the screen and and lengtn 1In basis tne vectors onlv coorainate writing the deoendent oy pixel allow vector screen section) vary four twWwenty-six. vectors pixel the ohysical may of and position. of next factor TIne pixel by Aaultiple 4. sequence aosolute defined the a is subject seacuences opositionina, to should rounacff ke hroker REGIS FUNDAMENTALS ... RV, 4.4.2 REGIS PARAMETER ==> 1. A of a position follows: <xXpart> ==> <ypart> ==> ,<coordinate> -=> (nil) meaning of =«> <n> wad> +<{N> -=> (nil) forms argument 3. £&gach coordinate py @ plus If a coordinate or part minus 1s as consists sign vart ("+" is not ot or a ot an 4, 1If a is, of the coordinate that part the amount a x-gosition part which ray te ¢toth number of prossitly preceeded sign character,” "e"), preceeded by a then that argument {s an abcsolute coorainate the value 0of that vart is cnanced to be this indevendent for argument follows: generally consists part, either or and a y=-position missing. 2. parameter <coordinate> these position 36 ([<Kxpart><ypart>] <coordinate> The Page POSITIONING The general syntax instruction is as <PA> 1 o0ld part is is changed coordinate given value by part the of that preceeded relative is number by to coordinate,. a the sign its increased in meaning that new numper character, currernt or aecreasecd direction then value. That bv inaicated the =v the sign, S. Note basis that one while absolute o. If a then Examples coordinate the other part can be coordinate on 1is a relative on an changed odasis, coordinate has that part of change part part coordinate usinag position a nil definition (no is left unchanageaq. arguments are agiver <characters) in the next section. 4,4,3 high Position REGIS allows a form level languages as drawving can te several restored This all, Blocks positions. saved feature 1t This by a iIintervening to 1its is of block structure (berrowed ALGCL, ?2L1 and PASCAL) to oe o0ld means "begin" oposition 1in in many a current <chances positiocn impcocrtant reduces that operatior cv REGIS cases an for tne and the "end" two number from sucth arvlied tc draving later positien of block reascns. of positior after ctossiblv can he overatior. First crnaracters c¢t whichn REGIS have FUNDAMENTALS... to pbe graphics curve sent to device sections sequence Of the to and Page remote identified by option of the curve Only characters drawing structures The "B" tegin and 1instruction following one mechanism "end" reference saved by The these notes a records in a "begin" This block maximum and "“E" to allows the polvaon and from end in which avply block vector Jjust points the wuses opticn the block a are block structure operation should structure te may beqin points. Thus, an can cause a position position instruction to be instruction in a avcided be for nested transportability only clarityvy but 1 for 1level should be used (only one level {is needed benefits of block structuring). tne it closed 37 - returned, 2. Secondly, identify arcs. positioning: 1. point. syntactically or arguments The 1 distinguish vectors structure, Rev, 1f thre of to possible. purocose tlock ot structure achieve mest of 4.5 EXTENSIBILITY The REGIS 1. following to taxe W#hen A new new Avoid REGIS using a as a device syntax standard for whicnh to REGILS Ly Syntactic as extension outlined those device snould arauments SKip allow wnich over <SKIPS> of are implement which instructions are a ==> has all used its implement the dlready tbteen not intended tne ohilosorhy {s ensurea range section. by recuiring of tpe arquments anc irstruction forms or In povarticular, eacth not. the following arguments which oracket ] not which teyond in transportability implementation whether does extension, Do not try to extend REGIS elements for extendinag characteristics: type should only oce added to REGIS if the can not be performed by a sequence of existing instructions and the designer can ensvre a wminimal of information content when the new instruction is applicapility complete guidelines soecific instruction by a instruction. 4. general device a new feature should be added to existing instructions., options loss ignored dsed give of operation REGIS 3. notes advantage possiple, adding 2. GUIDELINES iTplemented parametfer: to *“skioping" syntactic are usec be not iarored: or REGIS FUNDAMENTALS... =«> SKip over <SKIPQ> a text Skip * <any=-other> Having To aid device for 1in might sequence: ) <letter><SKIFI><SKIPP> -=> , an <SKIPP> entire instruction: ==> [<KSKIPB><SKIPI> ==> (KSKIPP><SKIPI> -=> ‘<SKIPQ>LKSKIPI> ==> "<SKIPQO2><SKIPI> ==> <Aigit><SKIPI> these «#hich nc skipping varianle semantic detecting errors choose set to a implementation, variaples for each meaning in ararchic flag which to be snown Anvtime one o0f accessed, This 4would also be particular 4graphic definition REGIS <SKIPQ2> -=> the avppropriate arguments <SKIFQ> * <any=other> option implemented invoke <SKIPB> ==> over 38 string: ==> over <SKIPI> Page -=> -=> <SKIPP> 1 <any=-other> <SKIPQ2>==> Skip Rev. of a device the has Eteen an then or imolemented. definition causes would instructions seauences, error a messace these skirpina elements were heloful in ensuring that a meets some predefinea level of REGIS FUNDAMENTALS... Rev, 1 Page 39 5.0 BASE REGIS This BASE INSTRUCTIONS section REGIS syntactic numeric details the 1instructions, elements of parameters be given notation. determining the implement interpretation 1. and 6 instructions. to sclentific the syntax Figure The in following fildelity extract the integer number of the Note that integer, rules should which different of numeric formats: portions of the six primitive - REGIS flocating to Low resolution devices are assumed quantities only. However, 1low notation semantics summrarizes allows point be used devices and in must to use integer numeric resolution devices must floating point and scientic constants. 2., ¥edium resolution devices at least reduce numeric guantities to 1integer form put may also use some oortion of thre increased resolution provided bv floating point rumbers. 3. High resolution resolution For semantics devices orovided by are expected floating reference purposes, figure for the pase instructions reference, coint to use the entire numbers. 7 summarizes the syntax and in a form suitaocle for qguick REGIS FUNDAMENTALS... Flgure SYNTAX ITEM <char> | I 6. REGIS Rev, BASIC 1 Page SYNTAX SINTAX VARIATION | | ELEMENTS MEANING | Any ASCII orinting <letter>| Any ASCII letter character (lower case conversion) --'-----'------------------_--l---------------‘------------------------------- <digit>i Any of the characters 0, 1, .. 9 --"----"--------h-------‘---‘----------------------------------‘-----------_ <pvVv> | Pixel <bit> | The omaceaew | ----——-—-—--------—--] D D G <n> | i <ni> <ng¢> i <ne> | | ‘G’ ané ‘1’ e CONSTANT Integer constant <digit>{<digit>} Fixed point <ni>.{(<digic>} { ang> characters 0,1,2,3,4,5,6,7 D TS D D G D WD TS WD T W P GO D AP WD P UD WD P WP O b SO G N WP G D P e A GE P O AN A O W S NUMERIC | I i ; vector characters <Ni>E{+i=}<ni> {+i=}<n> or rloating coint numrter <nE&>E{+i1=-}<ni> Angle 0<= <n> number argument =360 .-------'---------------Q-----'--------------—-------‘------------Cfi---------. <pcnt> | <nd> I . such PERCENTAGE that 0<= <n> <= ARGUMENT 100 .-----C-‘-----“-----C--------‘---'-------------------------------------QOOQ-- <pa> I <pax><pay> i <pax> POSITICN ARGUMENT X-position part ] <nii> no { <n> set i +<n> increase x by <n> decrease X bty <n> | { { -<n> <pay> <nil> X=position X change acsolute to <n> Y-position part no Y=position change | <D set { | s +<N> s =<0 increase decrease Y absolute v by vy by to <n> <n> <n> ---‘-‘--l-‘------------‘----'-'------------------O---------------------—----- <aa> | | ABSGLUTE same as <pa> exceot only X,Y absolute ARGIMENTS X and Y arauments .-------‘---------—_----------‘--------------------Q'-----‘---------C--------. <ra> { I RELATIVE same as <pa> except only X,Y relative ARGUMENTS X and Y arguments 40 REGIS FUNDAMENTALS... Figure 7., AlLINST. i KEY IPARAM=| ETER | | Xt Xt | [ S : REGIS BASE Rev, 1 Page -1 INSTRUCTIONS PARAMETER VALUES | | ) X\ | E | } i | { i S[(KLT>] [<RB>} T(S<n>) A {<aad>] MEANING SCREEN INSTRUCTION Screen OUptions erase screen define screen coordinates adjust standard text size adjust pixel vector size " ------l -‘--‘--’ "--------------' ---‘-------'------------------ ------------------ X1 X} Xi | I { Xt { Pt | X4 X1 | i I P2 to P9 P<bit>,.. Xt ? ) PO full | POSITION I [(<pad>] rq I <digit> i i ( Set { | B i £ bcunded Xt I <digie> ( ' Draw I { B i | begin £ end ) | crcnccn | | C Xt Xl X1 I i ! X1 { position <pad> to seaquence s e crrncnrcae | chccr vector secuyence e rcr e rrcrcra CURVE (<pa>] ( ) btounded vector T e e rc e A<ang> draw circular S start curve ] X! Eeqgin bounded | curve £ end curve seauyence | X1 Xi R ‘<text>’ | “<text2>" @ R e ) D D D D Draw <text> <text?2> | | i i<letter> X1 [ H Xt | <letter> - I <ga> secuence it T T T S string text standard strina ortions text size multiole T O MACRCGRAPH STRIMNG Initialize (clear) macrograph strings Begin detinition ot string <letter> End - INSTRUCTION Craw set T T .- - sequence e S<n> L D of Graohic i e D TEXT I« R Xi X\ X e <ga> arc | { | c e e Draw circle (arc) throucn <pa> Curve options draw circle (arc) centered on C B to INSTRUCTI1GN ) T cursor seauence X} X} Xt cursor senuvence X1 e Rtk current Draw pixel vector Vvector options i Xt to INSTRUCTION vector from current { | memcn INSTRUCTION cursor vosition VECTOR (<pa>d>] CURSUGR current end { { pattern vector change Position options ) X1 writing Pixel § v line predefined line patterns user defined 1line pattern Set pixel vector multiplier (<aa>] X\ Xt WRITING ATTRIBUTES IuSTRUCTION writing Ootions ’ invisible line writing pattern macrograch string Sutstitute macrograrn cdefinition string REGIS FUNDAMENTALS... Rev, 1 Page 42 S.1 The SCREEN Instruction 1. PURPOSE ) The screen instruction, key-=letter "S", is used to control screen coordinate parameters and attributes which affect the entire viewing area. In the REGIS BASE tnhis Iincludes clearing the screen area, setting the coordinate system to pe used and making adjustments to device sveciftic parameters, 2. SYNTAX <REGIS> ==> <SCREEN> <SQOPS> The forms skKip S <SCREEN> ==> [<KSKIPB> <SCREEN> ==> ‘<SKIPQ> <SCREEN> ==> "<SKIPQO2><SCREEN> ~=> <digit> ==> (<SCPS> ==> k£ -=> S{<pa>] (<pa>] <SUPS> w=> T(S<Nn>) <S0PS> ~=> Ww{<aa>] <sSuPs> ww> , <SOPS> ~=> ) <SCREEN> -=> <any=other> <SKIPB> and (ignore) over <SCREEN> <S(PS> <SKIFI> <SKIPC> bracket are <SOPS> syntactic states quoted string and resvectively, The form <SKIPI> is a syntactic skip over an entire instruction, inclucding all S.1.1 Screen letter "E" prevaration "erase" {s creating a 0of erase 1s to = S(E) wused drawing device The roughly a new dependent homogeneous screen to image, but visual erase initialize The generally image, For the state usec to parameters. odtion, ocvtion viewing precise has used to arauments the example, area meaning connotation the in of of sequence characters: S(E) will cause (or reguest to be caused) a new sheet of paper loaded into a flat-ted plotter and will cause the entire to have no visiple structure (all olack, all wnite etc,) raster display device, For devices which noparameters and attriputes (excect all attrioutes the themselves) execution 0of the should screen take erase on have REGIS possicly their tunction. aefault to be screer ir a extensions, for screer values uron REGIS FUNDAMENTALS... S.1.,2 Screen coordinate sequence #hich may Pev, Coordinate definition which are oe definition the used defaults for corner user of the viewing defined viewing this As screen area parameter coordinates will coordinates of the most 1In this unary 1s the operators, coordinate arguments. A gives the to and the lower second riant accommodate be device position device rectangle settinas, set that the and thus ranges scecific vositionina. of case, screen implementaticn arguments. upper=left normally necessary transforming define The 43 ootion has two position defined coordinates of the functions coordinate scaling 1) corner in the “Logical Device" sufficient for the device to is scaling often., JI mandatory described 1information appropriate to S(S{ a position coordinates area. is user in The screen definition first gives the user The Page option allows to define 1 It 1is assumed the actual the the reducing wided to arplication device set a can the set ur range of that the physical 1is overhead the section, to determine transforration thre of use the that no functions recuired to in arguments., EXAMPLES $(s{0,01(383,239]) - Sets the upper "oriain® left anproximately standard S(s5(0,5111(511,0]) = point corner with to a equivalent broadcast the range to Tv. Sets the origin coint to lower left corner with a ce ecquivalent to doproximately redium resolution raster terminal the range a grapnics disclav. S(5{1,1](1000,00,500.001) - Note that the number of Sets the hligh resolution opixels coordinate ranges plotring actually ¢or a device. accessible is tre integral opart of the screen parameters. Accessirclity to a larger numoer of pixels than can be addressed in this manner for hign resolution devices mav ose accomolisned by using the S(% .. ) option descrioed rtelow, FIDELITY 1. Low OF IMPLEMENTATICOw resolution devices have the dJgreatest tlexicility implementing tne coordiante transformation feature, but implement some form of transtormation. The sirrplest “ould be to the be to round=off nearest coordinate of the positioning carcability. The simple operations. Using snift taree-fourtns 2. the multiole +edium tnhe tne resolution transformation £ of viewirg devices screme coorainates ocut range devices in each direction irherent ochysical transformations this area arproach woulc are wnicn still ras fine ir must forr not te exnected allows enough then as as usaple. to tne tecore much use & arproxiracior G¢rarularity to REGIS FUNCAMEANTALS... achieve the 3. 1less worst Rev, than 20 1 percent resolution devices are coordinate transformation of in usable viewing 44 area in case, High any loss Page the usavle viewing expected to use algorithm which a nearly exact looses little {f area. 3T FTITIELY" * NOTE ¥ XXEEREERKEER The screen coordinate option is not meant to be used as a viewing or image transformation (that is, define a coordinate system which "makes sense" for his or her oroblem . this should be done using higher level software), It is meant rather to provide a mecnanism for transporting image definitions frorm one device to another while ensuring that the mraximum capability 0of a device is usable in the simplest cases, To ensure that this feature 1is not mis=used, specific implementations should perform some type 0of destructive operation along with the screen coordinate setup operation., Such a sCreen the screen vertical is, it been remaincger this 1is of defined to pixels #ill be with the an not autcmatic be screen pverformed in clear lieu of assumed report, it will be have 400 horizcntal that the at the upoer fcllowing left screen assumed pixels that bv corner., 3CO That instruction has parameters to performed: This also sets there deftault 5.1.3 Text generally increase size on the text adjust or a the the T(S1), and «(1,11) plixel size adjustment values. option floating point = S(T(S<n>)) number which The is parameter to te used <n> to s a unifermly decrease the size 0of the "standard" device character multiplicative rasis. As a guideline, REGIS assumes nheignht of the stardard character onee«tentnh of as should origin S(s(0,010399,299], that such oreration cClear. For the function, an to one=thirtietnh norizontal or the the size ohysical vertical direction. the of For is size aporoximately ot the smaller examcle: S(T(S1.5)) will be uniformly increased cause oy S0 size percent. each Like the of the screen stancara sizes cocrdinate to ogtiocn, this feature allows a transported image definition to te "tunrea®" to the specific «aqevice characteristics. Tre option should appear only once for each image definition &énd has a default cvarameter FIDELITY of 4UfF 1.9, IMPLEMEWTATIGHK REGIS 1. FUNDAMENTALS... Low resolution feature not at Rev. devices all capability of Medium 3. High resolution extent S.1.4 Pixel generally and of vertical text Size Adjust pixel adjust performed of sizes for a are "point"” = point feature, once may some expected on specific The usec to oe used in 1lieu of size least argument the muitiolicative size image the to of available pixels. Ffor in - a the <n> is a horizontal basis. Like the acjustment should onrlvy be and is normally writing have This options icnored bv the ability to optior should pixel multiplier option, sSignificant digits after the decimal point wmay interpreted by high resolution devices as an extension of number of implement at adjust low=resolution devices which normally do not adjust pixel sizes on an incremental basis. not this little or capability to adjustment, S(wi<n>])) a have sizes. numter oixel 45 implement incremental have character putlication floating the to normally sizes. devices range expected devices devices character reasonaovle not such chanaing resolution adjusting Page are since characters. 2. 1 example: be the S(#[0.01]) #ould be integral recognized pixel, as a request to use 100 pixels between each REGIS FUMDAMENTALS... Rev, 1 Page 4¢ The POSITION Instruction ) PURPQSE REGIS assumes and uses what s referred to as the "current writing position®” convention for determininc where a drawing instruction starts its operation in the viewing area, This means that a REGIS device 1is required to maintain the value of an X and Y set of numbers, anrd these saved values are assumed always to be the starting point for a drawing operation. These values are uyr=datec to new values after each drawing operation. A simple example of the on current value concept 1s the vosition of a3 drawing pen a fatebed vlotter device, The cuuyrent value of X and Y also commonly reterred to as the "writing cursor"® or are "cursor" for short. The purprose of the is to move the cursor (change the value position instructien of the current X and without drawing any visible image (that is, move pen with the ren "up")., REGIS allows the cursor Y values) the plotter to be moved on both an absolute poth numeric X/Y parameters as well <PINST> <POPS> GENERAL t ] <REGIS> 3. relative pixel basis using vectcrs. SYNTAX \'4 2, and as P<KPINST> ==> [<pa>] ~=> <pV> <PINST> <PINSTD -=> (<POPS> ==> ‘<KSKIPQ> e=> "CSKIPQ2Z> ==> B <POPS> =-=> £ <PGES> <PInST> <PINST> ==> , <PGPS> ==> ) <PINST> ==> <any=otherd> <S«KIPI> <POPS> SE%ANTICS The position {instruction allows the cursor to bLe direct X/Y parameters by using the form P[(<Kpa>]. The cursor oosition may be chandged pyvy relative pixel vectors using the ¢form P{<pv>}. A tegin/end position btlock mav te defined oy using the position options P(B) and P(E). changed S.2.1 the by Position Change the Cursor to described earlier. and 199 Y are and be Arguments changed For 5Q on example, = FP[{<pad>] The a relative or assume respectively., the Then: form <pa> absolute current alloevs oasis values of as X REGIS FUNDAMENTALS... Rev. P-Instruction New £(0,0] P{30,23] P(200] P(,42] 0 20 0 allows several P-instruction, <pa> 5.2.2 Pixel which use relative argument Vector "cnain changes to in pixel used, The as the of that to has the last example small user direct sequence current multiolier value Instruction New of X X/Y as next and Y digits for value each set by sectior. are 160 ard Values PO 101 S0 P1 101 49 P0002 103 P01234567 100 50 S P667 23 1205 105 €5 in <pv> moved the of crogranms the the current a avove. allow actually in in as to pixels defined used effact supoort allows a be same 1 49 77 73 PO00000Q0000 110 st P{+10] 110 S0 the 1last example, direct positioning is than pixel chains for large movements., effective use of pixelevector movement is to achieve a superscript and sub=-script operation in the context cf text. more efficient Position options and arauments 1 {llustrated value REGIS as return®) <pad>’s) the Generally, the 1 1 end in "carriage (multiple techniques instruction 1 S5.2.3 change unit by (ANY) graphics <pa> generally cursor, vectors. options Cne very form of this illustrated Mualtiplier As and absolute To writing usually (combination relative and number above changed) Positioning = P{<pv>} determined as changed) Y encoding" 1is Assuming TV X for 15 the ‘'syntax (only (only (relative change) 60 15 single the 25 P(10,20]{+5] single digit 0 23 50 42 0 47 valuye P(15,20) Although are X/Y 110 P{0,+10] acces rage 30 200 100 Pl{+10,-25] 4 1 then the seaguence, the current intervening Blocks allow a = F(E) simple returning to That is, the value of X drawing and P(E) means for that value action and instructicns of Y. The ovecsition recording a at some later the P(8) ootion After which rcecin current vevoint is generally change tre cursor ard curscr to in save several value, REGIS the FUNDAMENTALS... execution restored to defining since images 1t allows eliminated, be very ot its the Rev. P(E) original which ovrtion value. are to accumulative particularly rougnly 1 in aporoximated causes This have roundoff the case on low is the maximum o0f cursor varticularly 48 to te useful in transportability, errors text Page to be drawing resolution occasionally whicn devices. may REGIS FUNDAMENTALS... Rev, 1 Page 49 S5e3 writing PURPOSE The allows image this writing the is to means adjustment attributes {instruction, key=letter ¢to the which control be drawn at the the selection to pixel manner in the "u" pixel vixel level., In the REGIS BRASE of line drawing patterns and thre sizes, SYNTAX <REGIS> CAINST> <WOPS> 3. wuser GENERAL ] ' 2. Instruction v 1. Attributes W <WINST> ==> ( <WOPS> -=> [(<n>]1 ww> * KSKIPQ> e=d " KSKIPQ2> e=> <digit> ==> P {Kdigit>}<uw0PsS> wod> ) <HINST> -=> <any=other> In the a Se3.1 <WINST> <HINST> REGIS <SXIPI> BASE used 1in allows the solid lire Pixel there structures. multiplicative vectors form as a <KWINSTY SEH4ANTICS N=[nstruction define <WOPS> the user or a #4ultipliers P are The factor and V only two signiticent «w({<aa>] allows to aprlied bpe instructions. The the user to W(P<digit>) to select a line drawing dote-dash pattern, pattern = recrresents #{<n>] The arcument <n> to pixel such a numeric constant which serves the purpose of causing each pixel vector referred to by a P or V instruction to be repeated the numoer of times given oy that number., The pixel multiplier also has affect on tne repetition lenagth of 1line drawing ratternse. Devices value will 9ot cnhange 1, non=integer a ovixel general, number, hign-resolution The In out this multiplier the value &pixel capability of 0 to multiclier is normally devices. following are examples of tne Y11} - same as ~{19] - 2ach <pv> «~[(1]l, (0,61 - fine adjustmnent refers tnis feature: defauylt to to 10 value unit pixel oixels the may used default Le & only ir REGIS FUNDAMENTALS... Rev,. 1 Page vector size device, low 5«.3.2 ULine Drawing select from one &2 new pattern possible 0f by values PO Patterns 10 a of resolution = a segquence option line o0f on/off are as (to B7 (to be defined) (to (to be oe P<olt><oit>,.. The of user <pv> pattern ot on the user patterns or to define vectors. The "“uc" defined) gefined) defined) user defined size Allows pixel P6 P9 (1] follows:? Pl P2 P3 Pd PS Ps resolution as drawing Draw image as if the pen is (that is, no visirle image) Draw image with solid lires Dash pattern Dasn Lot pattern Dot Dct pattern Dash Dot Dot pattern be high cdevices, W (P<digit>) predefined this on interpreted 5C line definec pattern is seaments PO and P1 line a pash Dot pattern interpreted basea upon tyves., For as ap a seguence alternatinc example, the sequence: P111010 constructs pattern similar to the P3 line Each aevice {s assumed to have a certain reretition lencth for the 1line drawing ovpatterns. This lenath is not required to be standardized since it is assumed that a basic dot pattern will carry essentially the same information content independently of this repetition period, Devices may use the current oixel vector multiplier value achieve additional discernible to expand line the pattern pattern scacing, tygces, and trus REGIS FUNDAMENTALS... Rev, 1 Page 51 5.4 The VECTOR 1. PURPOSE Instruction The straight 2. Vector instruction, segments of 1line current cursor numeric position location arguments "v" angle tetween new positions, one or or more pixel is used to draw the the using vectorse. SINTAX <REGIS> ==> V <VECTOR>==> <VAPS> : GENERAL <VECTGOR> [<Kpa>] ~w> 3. and key=letter artitrary <pv> <VECTOR> <VECTOR> ==> * <SKIPQ> e=> " ~=> ( <SKIP(G2> <VGPS> <VECTOR> <VECTOR> ==> 3 <VOPS> -=> E <VOPS> w=> ¥ <WINST> > , <VOPS> ==> ) <VECTOR> ~=> <any-=other> <KVCPS> . <K3SXIPI> KVCeS> SEMANTICS Semantically, manner Jas the the vector P=instruction instruction with the is "down", That is, the v=instruction image to ve generated., The lines drawn are subject the We-instruction the current to the onixel current and the vector line drawing pixelevectors nmultipliers instruction, The B polygon, and E options That 1s, allow the the time at interpreted, a line will be drawn defined 8 (begin point) position. The a A ootion temporary instruction, returned of Ficgure the 8 ¢to allows the basis. the tne value of values user the which in bv same the visitle instructicn selected drawn are suciect selected by the to define an to a E attriobutes of by to &= closec obption the completion pen a this pattern back writeing they had tne that causes that writing After works exception is previously to be the attributes cefore the set ornr vector will ©Gce executicn v=instruction. gives V=instruction examrles of including the the use FINDELITY OF IMPLEMENTATIO:N Kind of of line images drawn vatterns . usino tre 1. Low resolution lines by 4 Medium devices jagged resolution ahen drasing High resoluticn sufficient appear to will ncrmally sequence of aevices have unit size varying aoproximate pixel straiagnt vecters. degrees of quality vectors. devices are smoothness that the naked eye. exprected to draw lines of no discernible Jjagged edces REGIS FUNDAMENTALS... Figure Assume that 8., Rev, VECTOR 1 Page INSTRUCTION the writing mode is set EXAMPLES with: W(PL) then: The PI19Q1V(+440@] saquance gives: VI+501(,+501(-501(,~50] givaes: V(+50,-5011(+100,+1001[+100,~100](+50, +501 With WI[10] (pixel size cof 10) gives: then V01234567 gives: O with the pattaern defined by: Wl41(P14101009) Then V[+2001(,+1001(-2001[,-100] dives: - mee . I ane . | L] MO The sequence of G G CUEL SES e | o instructions: PL432,72] Wi961V1456, 460P 48] H(48]V642446064600 1468, 206P 361 WI24]1V46066424642202446424460645002066642446064 V6002060024220682066460 [1 L= image: =] [ =11l encoded ] chain o the o gdives 53 REGIS FUNDAMENTALS... Rev, 1 Page 54 5.9 The CURVE Instruction Simple graphics devices do0 curve generation capability. for at least four reasons; 1., with the assumption processors, having 2. The a curve availability the device. The inclusion completeness and compass" usually feature all have a is bullt devices will built in into REGIS - have local there is no longer any significant complexity to local substantially 3. that not This of recuce of capability. a a the local number curve relative drawing of curve capability agives to the idea of primitives, capability characters can transmitted REGIS a incorporating dearee tne to <cf "rule 4, Each graphic device knows its abilities better than the software driving the device and thus 1is better abkle to select an optimal quality versus performance tradeoff curing the design phase, This avoids the common problem which arises wnen a circle is aporoximated by an 18 sided =zolvygon on a low resolution device which looks exactly like an 18 sided polygon on a nigh resoclution device (instead of a circlel), 1. PURPQGSE The curve instruction, keve=letter "C" 1s used to draw circles, arcs of circles and curve interrolation seauences. By a curve interpclation sequence is meant a curved line inage of varying radius of curvature such as would te drawn by a drattsman using "french curves" or similar aids. SYNTAX C <CURVE> <REGIS> v 2. <CURVED> ==> ([<pa>] -=> ‘<SKIPQ> w=> "<SKIPQ2Z2> w=> <digit> -=> ( <COPS> ==> C <CCPS> <CAPS> <CURVE> <CURVED> <KCURVED <CURVED <COFPS> -=> A<ang> ==> S <COUPS> -=> B <COPS> ==> £ <COF3> e=> w <alMNST> -=> , LCOPS> «=> ) <KCURVED ==> <anv=other> KCUPS> <Sh1P1> <KCCPS> REGIS 3. FUNDAMENTALS... GENERAL Rev., 1 Pixel vectors normally ,. all (<pa>]). The meaning of wnhether selected, mean which or a an tyces a sequence not the option of point tne a "smooth"). writing 5.5.1 curve or if a "S" the or for given position block, the the usinag argument is block arc-angle form has bpeen argurents option within curve the dependent position «circle", operation the bounded end point drawn. In curve continuous The are has a been position refer intervolated with meaning curve first case, an open discontinuities) 1is point 55 to coints on a curve through is to be drawn. There are twgo jinterpolation sequences as determined by curve or & position arc interpolatec 0of no position of arguments oosition whether not of have arguments a circle" "draw an position Outside "draw selected plock, Page SEMANTICS command upon ' W option atctributes using is initiated beqin curve the is optien oy "B", tre In thre (or a curve with second case, the end drawn back to the begin derivative allows the & (and theretore looks cdefiniticn of temporary the instruction parameters. ¢Circles ané Arcs -.C{<pa>] forms If no curve instruction oosition block has been form: selected, tnen tne as thre Cl<pa>] will dras center a circle and witnh (<pa>] a the point The cursor is left at same instruction with the the current on the center center cursor rositicn circumference of after drawina the option enabled: that circle. circle. This C(C) (<pa>] will the circle with the <current cursor as circumference and ([<pa>] as the center. cursor point is left (eqgual If circle tne 1is enaing <ang> end point cursor is positive, direction the on circumference point) of the of the circle degrees ©of the left at then and if commnands, from arc tne if that the center the arc will the angle is «cirection., ocint., this circle ootion (A<ang>) is used, starting at the peint on the drawn ooint In at or case, the the tre the end drawing. arc=angle <clockwise circle the pegir a The then ar arc of a circumference arc cursor is left at tre otherwise the (C) option of the arc. If the anqgle is drawn in the counter-clockwxise ce negative, Figure 9 was the used, arc jilluystrates will be drawn examples of in the REGIS FUNDAMENTALS... 5.5.2 General Either begin or Curve the Rev. Interp option bounded) 1 "S" start Page lation (for curve sequence) or option points, the position) are curve image is to of curve at the the position on points be "B" (for a general curve interpolation sequence. the "E" end option. There <car be no The sequence {s enced by intervening circle or block structured P or within the range of a curve begin-end seauence. cursor 56 drawn., end a V instructions aithin these arguments (including the curve through which a The points protlem 1s of determing handled in current smooth the slope the following not imolicitly mnanner. 1. The positions drawvn 2. but end points, The begin curve tne at are and bdy the end using point {s start used to to For a the veginning poygnded curve will point, As a be slome may be "null" repeated of in the sequence a the "B", continuous this svntax curve option the to for eacn position given is and Figure additional always tnus 9 the point so this not information at that derivative tnhe at three cosition the process examples by of The must te seconc is then current cursor position argument curve segment. one the end oposition between the curve segment last closed the least argument., case, may cursor at drawing tre that In retained the in points end at indicate at vosition 1illustrates to current maintained leads also included {] the given to result in a visiole curve seament and tnird positions given. Gne additional drawn curve sequence, first the the at the is convention, aadition are ot visuvally point 0f 0f in points the curve, nave result arqguments end points the the visual aopearance pe realistic, 3. and define curve interpolation instructions, 5.5.3 l. Fildelity ©Low 3 ' of implementation resolution polvgon 0f devices 3 vary depending upon #will normally be portion such of Aas the will certain the drawn polygon Bresenham’s normally number radius by of of a polygon removed, circle arproximate sides which the circle., oQor, 2. so that the end In medium 4N arc little of and or or aevices, expectea the arc algorithm nigh resolution pe cdiscernible tne be definition might ¢tv also with a alcorithms, te used for warnea that on low a circular arc may ce should not degend ugor exrected that nositicning, circle no to imaqge arcroximation Incremental low resolution devices. The user is resolution devices, the accuracy of circies »ill generallv Circular arcs accuracy a3t the devices, represented Jjaagedness. of pixel the it with In circular level. is hich high arc accuracy and resolution gcositioning is REGIS 3. FUNDAMENTALS... REGIS does implement assumed used not the thact Rev, Page specify curve it 1 will the algorithm interpolation be similar spline in by w#hich algorithm nature to devices but the S§7 it {is commonly algorithms. The exact curve sequence drawn depending upon the algorithm used, but this 1is not considered a problem since the essential informaticn content - varies is shown Devices algorithm in spite may of minor implement which are user variations more than accessible in one by the curve option curve rath. intervolation extensions. REGIS FUNDAMENTALS ... Rev, Figure 0 X CL+80) 9, CURVE = cursor start = cursor end 1 Page INSTRUCTION EXAMPLES position position gives: C(C)[+50]1 gives: C(A180)[-401 gives: C(S)II[+20,-2011+49,+4011+40,-401L+40,+401[1(E) N\ C(B)[+150,-501[+150,+5011-150, +501(E) gives: D C(B)[+80,-1001[+12010-80,+1001(E) givas: C(B)[+200,+15011+200,-15011-200,+2091 (E) gjives: givas: 58 REGI S FUNDAMENTALS... Rev, 1 Page 5¢ used to 5.6 The TEXT Instruction 1. PURPISE The draw graphic strings text of instruction, characters key-letter starting at "T" the is current cursor position, SYNTAX <REGIS> ==> T <GTEXT> CGTEXT> ==> e=> [ <digit> <SKIPB> <GTEXT> <GTEXI> <TOPS> GEMERAL e=> ‘<text> ~=> Ctext2> LGTELT> -=> ( ==> S<n> we> n <AINST> -=> , <TCPS> e=> ) <GTEXT> ==> <any=other> <GTEXT> <TOPS> <TOPS> <KTGPS> <SKIPI> <TOPS> SEAANTICS Each REGIS device 1s assumed to have a built {n cnaracter detinition anc writing cavaktility. The alohahet for w#riting is assumed to bhave at least 64 orinting characters and in general will implement tne full ASCII printing set, Each character of the <Ktext> strinag {is written by placing the visual 1image of the reterenced character at the current cursor location. After writing the character, the cuyrsor vosition is changed to a soint «rkich would ne the logical position for writing another character (normally visual nhorizontally width of a allos¥s characters varving spoacing. to ve The ‘temporary attributes duration of a single T S.o0. 1 Text The alle 48 Size option parameter tne user A& distance character). a The little written with varyinrg w option allows wnich are 1in instruction. <n> is to increase generally the floatina size of 0 will pe the oction and with setting of 4during the onlyv point tre proportionately the sovacing vcetween mult iolicative tactor of the devices Gene rallv, tne range of <n> snould be limitecd of sizes the effect than size = T(S<n>) (and valuy e more character taken tc reter to thne numpber characters whick crarr cnaracters) cy 3 "stanacarad" size. to O to 110, . default value 1. REGIS FUNDAMENTALS ... S5.6.2 il. Fidelity of Rev,., 1 Page 60 implementation Low resolution devices generally will have a standard size cnharacter which will wvary considerably 1in size from one device to another. Thus the user should not cdepend upon the cursor and value should at the reposition end the of drawing cursor bty a sequence some other quality of character representation at this assumed to be poor and typically drawn as a short vectors Oor as a pixel pattern. Medium resolution devices good aquality characters are values sizes, a and must implement and 0f characters meanse. The level is also sequence of expected to allow reasonatly deterministic enrnd point cursor full range of integral character High resolution devices are expected to draw "letter quality* characters and give fractional as well as integral character sizes. Since tne standard (smallest) character size on a high resolution device will generally oe very small in proportion to low resolution dJdevices, the screen instruction text adjust feature may have to te set wpnen transoorting a graonic image definition. REGIS FUNDAMENTALS... Rev. 1 Page 61 6.0 THE EXTENDED REGIS LOGICAL DEVICE This section describes Graphic Device required to devices which are not common not meant to be an extensions to the Logical KEGIS accomodate the sprecific features of to all qrachics devices. This {is exhaustive discussion on the rather an illustrative presentation which can bte the extension of REGIS to device capavilities here, to The tully case of raster illustrate the CRT devices process of is covered extendirqg subject, but followed for not descrired in some detail KEGIS. 6.1 Dimensional Screens Dimensional screens refers generally to the class of grapnhics devices 1in which the ophysical size of vixels has a reveataole meaning and in varticular allows the user to choose from a both paper variecty such devices in ophysical extended by of and = SDY =« sizes., oy allowing dimensions. the SDX pixel photograohic tollowing Examples plotting of such devices. cevices REGIS the user to define the The logical device size 1is of a pixel in the is of a nixel in the the physical size direction By knowing the numoer ¢f pixels selected coordinate definiton operation, the device determine tnhe size of paper needed to draw the The units selectanple oy of pixels therefore parameters: is the pnysical size norizontal direction vertical include accomodates of the ohysical the user with the bty tne 1s then image,. measure should hne metric svstem veing screen acle to opticnallv the default valuye, These devices also will generally allow (and need) the of 1line seagments to be user controllacle. This tyce ot feature w~ould pe included in REGIS by using a wiath c¢prtion in the w~writing actributes instruction. . wiath 0,2 - Gray Scale Tne ability draw on and Color simplest o0f a aifferent recresents tne form of rlotter colors cclor device caparcility to use refers cdifferent ot caper. In tnis Lfackground <cclor ana the to the colorec case, gsens the tre pens trcC rpagper represent tre REGIS FUNDAMENTALS,.,., foreground color. Rev. 1 Black Page and white inherently have the ability to lignt, called gray-scale, More resolution full color raster devices have of color hues in acdition to range capability. To allows for REGIS the of 1. pixel has clear in Ihe simplest high numbers scale the 1s valyes, of present a (intensity) color the The oroaacast user plotter raster color and rut highest the scale as the which been work Color is a little a {s meaning scale of & trightness on of intensity eight colors, anc Qgray-scale tne a cray three white and established for summarized in as and packground nas primary rclack between television SN OLW -O three the nave wrhich controllable, cdevice, attriosute and intensity color follows enctocraghic tne foloowirg valuye Blacx (dark) Blue Red Magenta Green cyan ’ Yellow wWnite This 1s based on transformation used standar4d). A more nroad grev 7): 4,1%G cdevices + 2.,1*%*R navinag a the in standard the + range to luminance inaustry (#dTSC transformaticn is (norrmalized for to level color devices the range cararilitv, tre 0.5%8 €fuyll range svstem adooted, 12 floatine oo0int numbers to zarameter value: summary, FRGB television accurate scale due=i,ightness=Saturation intensity forearound is to mapolng and = a lowest colors conventions a it which foregrouné devices, the scheme in a simnle manner access to the broacd most cacacle of the intensity interoreted trie naving capabilities, following device,. Gray=Scale &> of the table: . to scale full with between form of comglementary I devices levels of as high grav-scale actribute case reoresenting simpla to acility of the npas associated resolution raster values For and cagabilities differentiation the 0 range adopts still "intensitcy" for For the gray ‘ MOst 3. color ovut attrioute vackground 2. broad device of dgdevices spectrum devices: Tne tnis logical selection simple Each qraphics e accomodate extended raster show varyira intensity complex devices, such 62 this system be of coler ot color reguires used in aefinitior three cefinirc 1is gareraliliv a scecific REGIS FUNDAMENTALS... Hue (H) = Rev, 1 Page The hue of the color expressed an angle on the color wheel, Lightness (L) = The relative color expressed as full brightness. Saturation (S) the brightness a = Expressed as fully saturated as of percentage a 63 the of percentage of hue, , For the purpose of converting between the low=-resclution RGB notation and tne higner resolution HLS system, the following taole ‘should be used (generally, ligntness and saturation are ignored anag TC CONVERT Hue only #HLS the hue angle has meaning): RGB: TO Lightness RGB Intensity 8S &5 85 B M R Il 12 I3 331 31 51 to to to 30 90 1S90 15 1S 15 to to to 151 to 210 1S to 8S b4 I6 211 to 270 271 to 330 (any) (anvy) 15 15 G 85 to to to to 85 85 15 100 G C D N 14 IS I0 17 TQ CONVERT Intansity RG3 HLS: (Saturaticn Hue 0 B g R G C 0 0 60 120 240 300 0 S0 SO 50 SO S50 Ia 17 Y N 180 130 SO 160 image., on 3 vyellos extreme ranges tnhe the That intensity foreground is, we can = 130} Lightness 10 It 12 I3 I4 15 In conceot, indevendently to grapnic RGB TO piece 0of raper. of implementation parameter can be apclied Aand to the pgackaround ¢f tne select to yse 3 clye cen to draw Cbviously, devices will have 0f the intensity attritutes. 5.3 Taxt Attrioutes faxt attrisutes associacea sion incluaing (out not incluce a wide varierty of features the presentation of textual cnaracters, limiced to) any combiration of the followirc: REGIS 1. FUNDAMEN[ALS... Varliable height 2, 3. character Angular Alternate forth). 6. Superscript 7. Overstrike It is lanquage and svecific generation #ith support device extended independent angular device = The character = width The The HANG = The TUX = The mneasured TDY = of is the heiqht the degree charateristics of the <these areas features, definition of hvoothetical the degrees of the character relative ot measured of an to is image extenrded the follewing rcarrallelogram parallelocram pixel in measured in of 1is width line horizontal measured as as axis. side of the to rthe width characters, norizontal vertical scalar parameter fonts the for charactsar direction an Italic spacing of two <characters srvacina of two characters units. relative pixel to the height relative FOAT A ar features that capabilities. of in = in forth). written, measured possicle so units. relative The one portability direction in and parameters: direction in these therefore so such sucports ot cevice suppcrt recognize the a angle to support #anich DANG 1is Futura, and should majority wIDTH <= REGIS the @ay (Gothic, APU characters, user (relative slanting representation). 7. spacing capability. least parallelogram 6. and provortionral and fonts the logical HEIGHT of and pixelevector S including characters subscript The oroad 4, width fonts. intent extremely To of (underline, set, a an spacing representation the extension 3. independent spacing, S. Z. including 64 ‘ orlentation Foreign 1. size character 4, REGIS Page lettere-spacinag. character snicn 1 adjustment. Variaple and Rev, units. used currently in to identify use. which of several REGIS FUNDAMENTALS... Rev, 1 Page 65 6.4 Area Attributes This class of extensions refers to the general capability devices to associate attributes to areas bounded by REGIS primitive line images. The visual attributes may 1include compbinations of the following: of many 1. Shading 2, Color These patterns and intensitv capabilities extensions, the 1. boundaries of FILLed areas in concept = covered two approaches area: An area sequence line are distinquishes an to of defined vectors bv or and a by other to bounded bounded by either end SHADed areas = An area defined to be the differepnce two The not-necessarily first case surface, used to bounded corresponds The second represent data to case as a vector or curve the common corresponds to "histogram® a point) between seguences. concept the REGIS identitfying (closed curve, 2. patterns). variation. syntactically REGIS bounded (similar of oounded tyoical approach image. 6.5 Dynamic Attributes The area features attribuytes and The common that the at attributes covers illustrated at one the voint of other in time, interpreted visual dynamic are extreme REGIS for foreground/packground function is of wnicn as Using an this a broad fully function model tvpical the of spectrum by of "rlirking® animated capabilities selector alternation attributes. by such a extreme foreqround is cartoon. the nction varies blink and as a attribute Eackground B.6 User Interaction User devices result of several Lo interaction to operator computer possiolie return reters to informatior send cdevices, character regquest. queery and/or the to general the operator Generally, seqauences in capability controlling entry REGIS resoonse to using expects such of computer such one some as a of gevices computer or REGIS FUNDAMENTALS... Rev, 1 Page 66 7.0 STANDARD RASTER This EXTENSIONS section extensions addicional describes to be uysed capabilities a standard with raster accessible set of REGIS instruction CRT qraphics devices., The wusing these extensions inclnde: 1. ‘ Background and foreground grayescale and color intensity attributes (wnhite black, black on attributes, 2. Negative and so image 3. Screen 4, The S. demory area scrolling 6., Area attributes for bcunded 7. Text attrioutes and user "alternate" The syntax 190, attrioytes,. of (screen (tlink) value dependent in addition to overlay figur= on white fortn). the Figqure dvnamic attribute. writing attributes writing). and unbounded definable instructiocn 11 motion), writing areas. characters, extensions summarizes (replace the is svntax summarized of the |{n intensitv REGIS FUNDAMENTALS... Figure 1 INST. 10. IPARAM=1 ETER | Al KEY | Xi | X1 X1 Xl X1 S { ! I { ! | STANDARD Rev, RASTER PARAMETER VALUES | | <pv> [<pad] ( ) 1 Page DISPLAY EXTENSIGMS MEANING Move screen image by pixel vector Move screen image by <pa> Extended options negate (reverse) the irage disacle negative image (default) set packground intensicty N<DD NQO I<intens> &7 amount .'-'----‘---‘--’--------------'--------- Xt Xi Xi W i i { ( --------------------------------------. ) A<n> } { | | N<ND NQ E C Xl Xt X1 Yi { R | [ } v S Xt <digit> | *<char>"’ { S0 | el et T enatle AQ Xt Xt X! X\t { Xi X! Extended I<intens> e B I (<ra>] ( e D ‘ writing ooticns Alternation (blink) disable alternation (default) enable negative image writing disable negative image writing (default) erase writing complement writing replace writing overlav writing (default) enable area shading use <digit> line pattern as fill cattern use character as shading pattern disable area shaaing (detault) set #riting D D intensitv T Set relative T Xt i il } A<digie> Xi } alpnavet Si{<aa>] set X1 { avsolute M <aa>] set row/column set Italic ) Extended Y | 1 4] I<ang> i v<ang> el e Xl R L B text | LOAD smacing options (font) select character pixel row direction ALPHABET CHARACTER | ‘<char>°’ X! I <text>; i l P | ( { ! Y | | S{<aa>] | { character i<intens> definition cackground intensity I R P { i Character to pattern ) ' select loaded definition hexa-decimal GRAPHICS Identify P IMSTRUCTION be character ootions select decimal number READ ( character Load | { Select D size T TSSO X1 ) row/column multinliers slant set cnaracter e S text read base size select PARAMFTERS parameter current tase nurter to bte read cursor nosition Figure 11. RASTEZR | EXTENSIONS = INTEMSITY PARAMETER MEANIMNG <intens>| INTENSITY | [ | i | | i <digit> ¢ ) D 8 R G o { | | | | | ARGUMENT Set one 0of 3 predefined Intensity options dark blue red green magenta (default (defauylt (default (cefault (aqefault C cyan Y W 1<ang> L<ocnt> (default IS5) vellow (default white (default HLS hue angle HLS liachtness in I6) 17) sS<pecnt> HLS saturation in intensities IC) I1) 12) 13) I4) percent percent REGIS FUANDAMENTALS... Rev. 1 Page 69 7.1 Screen 1. Instruction Extensions PURPOSE Raster setting scan extensions to the screen instruction of allocw the packground intensity (color and/or gray=scale reversal of the image intensities and screen value), *scrolling®, <SCREE{>==> <SOPS> [<aa>]) <pv> ==> ( ==> N<KN> ==> NO <S0OPS> -=> 1 <intens> <intens>e==> 3. GEHERAL <SCREEN> <SOPS> <SOGPS> <digit> w=> <ITOP> ( <ITOP> ==> DIBIRIMIGICIYIw ==> fa<ln> -=> L<n> -=> S<n> -=> ) SEMANTICS ~Tne forms "move" in the (<aa>] and viewing CRT any devices allow text positive no-zerc the screen the system precise of These color forms capaoility scrolling of or the allow the number,but gray=scale colors, the screen same way The forms to secondary setting = of are [<aa>] included cerforming “strip= feature, level 7.00000, the to the this to most raster HN<n> (<n> is be chart" the and <to screen colors or color value ot througn feature {s a on dark bty a of and scale { of the white, usina the cor HLS <pv> allow motion ceneration. range set selection devices as for Since the this implementation ranging rrox no implementation at all to "panning* operation of allowinc the ooerator to window image that usually definition, Screen motion dynamic in scrolling, (minimum) orimary more 7.1.1 ajllows 0,00000 eignt a4 <pv> area 1) and N0 reverse image (black on white or vice versa) and cause "normal®" imacge to be shown respectively. The intensity parameter of <SCREEN> e=> the dynamic case of is is text a curely verv broad the full move the viewira jintent of much larger image definition. The summarized in tne folling exaroles. scale . REGIS FUNDAMENTALS... Rev. 1 Page 70 S(,#+201 move the screen image up image right the equivalent of "one" text line: SO move the data item 7.1.2 many if screen in a Screen stripechart image These options raster scan the device written on a reversal allow CRT pixel u<n> access devices normally dark one to make room for the next presentation. to to presents background and MO the inherent "reverse" their characters and then invocation capability image. lines of the of That is, as white S(n1) option will show the image as a dark line on white backaround. The option sequence S(#H0) then would return the imace renditiorn to its normal impression (#0 is the default value). In the context of color, this to reverse the cyan and so forth). significant 7.1.3 feature color have no meaning (blue Screen reversal becomes inensity intensity = parameter in (ignored) vellow, should information. B3ackaround The may values not or oe red be used bvecomes used to carry I<ITOP> the screen instruction is used be changed to uniformly change the background intensitv of the araphic image, The intension i{s the same as loading a certain colored plece ot paper into during tne orocess value of cthe color to a the essential olotting of "off" device., drawing pixels rectangle in encloses a should be defined background In either is the then uniformly define to use the resolution devices 2. the color generally gJray=scale primary/secondary values to these or case, background integral attripute current may define fattern, which transportaoility. the line to c¢ontent operation Low a pvarameter image information dynamically 1. This the or the but no placed such & action in ensure of a backgrouna maximum screen erase intensity to crayescale. will only values color values but inteqral values if color backaround character, to and/or the must they implement and/or convert support at most the 6 the HLS agravescale color. Hign resolution levels colors. of devices gray=-scale are required or o4 levels to on suceort eacn ot at least the 64 crimarv REGIS FUNDAMENTALS... Rev. 1 Page 71 7.2 writing 1. Attributes SYNTAX Raster allow 2. extensions access tc a including color, attrioute, image to the writing attributes instruction range of capabilities ct CRT devices, wide gray-scale, "memory" the simple modification, bplink and area dynamic filling. SYNTAX <AGPS> KFILL> 3. Extensions GENERAL The tne 7.,2.1 N<Nn> N0 E -—d C ==> R -=d> V <WOPS> <4a0PS> ==> S<FILL> ==> SO ==> I<intens> ==> <digit> -=> ‘<&char>’ > nil forms "on" and disable identify pixeis in enaoled positive 1integer Ccause pixels tne Ine concept #111 for area tne a to of some by the all oe for intensity a0 the attrioute suobsequent dravwing blinking used options are to modify used te I<intens> torm intensity |{is (value of does aA<n> from pattern). device not irage visually a turn oction A<n> generating the value being instructions. attribute at that then form disable of character image time using the or and form are SC writing of The aternate and and written V and alternate 1) is backgrouna enable a = A<n> and AOQ 2link period and oattern visually underlying sequence, R, S<n> filling line tc using C, alternation 1intensity used foreground usually foreground already are ©portion Alternate attribute ~hen A0 image The options £, memory. The and to A<n> anr image used ==> ow)D <uGPS> <HWOPS> =-=> of attrioute. enable A<n> AQ SEMANTICS writing the ==> ==> ard off obut rate, section drawr of show repeat tlirking only so with time then associatec a decendent snown oeriod (<n> instructions for the this cixels disables witnh tre vcixels tre in REGIS FUNDAMENTALS... 7.2.2 Memory Rev, 1 modification = Page R,C,E,V For devices wnich of some save sort, these the memory options allow the a basis as elements rules: on 72 the pixel pixel image in a dvnamic defined memory device modification of by the following - 1. V ootion = overlay the new line pattern or characters onto the existing memory pixels ... that is an "OR" opveration of the "On" pattern or character pixels. This {is the default REGIS option and means that lines written over text Characters «#will appear visually to strike throuch the character. 2. R option = Replace writina causes the 1line pattern or craracter toc independent of the current memory locations, 3. C ontion pattern = Complement or character the CN and be written values at writing pattern causes to oe GFF intec the the "XGRed" pixels in the memory addressed current with the image in such a way that if the same sub=image is twice at the same oostions, tne result would apprear writing nad teen performed at all. 4, € ootion - Erase suosequent bacxground written would the oOor tne oction Note that tnese can not "R" w#ill over=ride option, 7.2.3 Area These snading option four be = same ot adcressed revert all subsequent given oy octions combined. the S<n>, forms allow are every pixel were as screen clear a current value mutually That is, previous devices vector and until (disables €illing). the in filling in their 1t the S‘’<char>’ <digit> pattern to effect 0of the tne exclusive and invocation invocation anc of The currentlv curve the form selected with built instructions execution §S’<char>’ alchabet of tre the “yw S¢ in capabilities to draw an image uniformly filled with intensity values., The sS<diqit> option invokes area pattern written 3as {f ro pattern. generally option values to Thus, the inaeoendent line pixel values, E achieved memory all instructions selecter with ce causes drawing 1line current of area (usirag the the S0 aliows a be used to fillira the currert filling for line orvrtion character &8s the pattern, Ihe actual operation certorvecd by the device is dependent upon whether the subseauent instructions are defined to ne oscunded lines/curve sequences are ocer seciiences. 1. OPEN SEQUENCES In begin this () follows, case, ard Ihe Y the end value V (E) or C instructions ortions. recorcded &t tre The are action tire that net taken the aqaiver is as S<r> REGIS FUNDAMENTALS... Rev. 1 Page 73 option is invoked is used as a vertical reference line, All subsequent V instructions are then drawn as four silded figuyres with this reference 1line as the base, the vector drawn as the top (bottom if the vector 1is below the reference 1line) and the vector start and end polnts are taken to be tne coordinates of vertical lines wnich complete the four sided area. Several vectors drawn in this way will tnen reoresent a form of polygon which generally has several closed sections. Curve instructions definea by the (§) anc (E) ootions are drawn as if the curve sequnce consisted of infinitesimal vectors. Note that the vector and curve sequences may cross the Y reference 1line anvy numper of times. ) 2, BOUNDED SEQUENCES This case s distinguished from the open case by the appearance of begin ana end ooticns in the vector or curve instructions, 1In the case of the vector instruction, the positions specified petween (B) and (E) options (including the initial current value) are taken to pe points on a closed polygon and the entire bounded area is filled even if there are enclcecsed image segments (which will get overlayed or replaced as a function of the current memory modification option value)., cayse a the Similarly., complete the area bounced curve defined oy secuence the sequence f£o be filled. The circle curve option considered a closed curve anc therefore dces not oegin end ovtion scecifications, Tne scecial circular arc is handled cf a3 "pie" c¢cnart. The pattern 0of or shaaing ¢to £ill enable in tne as if the arc so option S<Kn> will use vertical direction, will irtercolation 1s always recuire the case of a cefinec is a gplece the selected 1line 4Aadcditional opticns the snading option allow the use 0f a orecdefined line rattern user defined pattern for the horizontal airection as well, Alternately, the wuser may refer to a previously defined character as the ¢filling pattern in which case the cnaracter pattern 1s replicated sufficiently to ¢fill the area with aporopriate clipring of the bounaaries of the characters at the edges of the poiyaon or curve, simulate the area croass—-hatcning patternse. efficiency, area vectors. open cooy devices should not pe may choose to by acproprtiace transport, a&ana simulated as a seaunce of | Figure both tillina Hard filling operation To acnieve maximum 12 and {illustrates pounded several vector and examples curve of area seauences., fillina for REGIS FUNOAMENTALS... Figure 12, Rev, 1 Vector Page and Curve The shading sequence W(S1)VI+300,-100] Extensions Examples dives: If this same shading sequence is used with the pattern S111110140 then the following pattern shaded triangle is drawn: Bounded polygons can be filled using the (B) and V(B)[+50,-5011+99, +501(-60, +401 (=} (E) options: - Curves may shaded relative to a y pasition as in the case of vectors: C(S)[1[+59,-3911+50,+601[+70,-601 B or shaded as a boundad filled area, as ... for [1(E) the C(BI[+150,-10011+150,+1001[-150,+1001(E) instruction: 74 REGIS FUNDAMENTALS ... ReVe | Page 75 7.3 Text 1. 2. Instruction Extensions Extensions for. grarhics text include user character parareters and user definable alphatets. definacle : SYNTAX S<TEXT> ==> (<ra>] <TOPS> ==> A <digit> «=> § [<aa>] <TOPS> -=> M [<aad>] <TNPS> ~=> D <angle> <TOPS> ==> ] <angel> <TCPS> <REGIS> ==> L <LOAD> <LOAD> ==> [ <SKIPB> ==> ( <LOPS> <LOPS> 7.3.1 Text -=> ‘<text> = <text> <KTCPS> <LCAD> <LOAD> ==> D <LOPS> -=> H <LOPS> -=> § (<aa>] -=> I <interns> - ) instruction <LOPS> extensions Figure 13 summarizes the parameter ccntrols., These user selectable text character rcarameters are summarizeag in the £ollowing. T{<ra>] = The define tnhe relative relative X nosition and Y aragument changes to <ra> bhe is used 3acvplied tc after each character s written, These exclicit oparanmeters are used even thouah consecutive characters may overlapo, S[<aa>] = <aa> are The X and used to Y character size). rectangle to M({<aa>] = <aa> are The X uysed and to Y to the wicth myltiplier is aoplied portions ot the aovsolute argument define the width ana height of the te drawn gzsortions of define the ard selected heicht, so that (ron size anrd colump the asosolute aAarcumrent ©pixel multirlier to be Generally, the row size the wictr divided tv the row multiplier is the same as the c¢haracter =idth measured in pixel vectors but may pe cifferert from this value f£or special ourrvoses. In rcarticular, fewer than & nultiple number of pixels mav ce drawn so that not all 0of tnhe cnaracter is drawn or more than an 1intecral REGIS FUNDAMENTALS... Rev, 1 number of pixels pattern is repeated, D<angle> of the and is to are drawn in which case the 76 character = Direction selects the angle which the width character makes relative to the horizontal axis given in degrees, I<angle> = Italic height (columns) character ' angle specifies the of the characters are the direction of current Fage the columns as direction, angle that the written relative defired by the then REGIS FUNDAMEMTIALS... Figure 13. Rev. Text 1 Page Parameter DX DY . k— Extensions — < Initial inal Cursor cursor position R N . D<direction> / CMUL I<Italic / / CSIZE RHUL RSIZE\\{{/ DEFINITION OF PARAMETERS DX = change DY = change CSIZE = RSIZE = in in column position after writing position aftar writing size row size CMUL = column RMUL X Y = row dot dot multiplier multiplier D<angle> = row direction, ?® <= <angle> <= 360 I<angle> = Jtalic offsat range of: Position 77 REGIS FUNDAMENTALS... 7.3.2 1 Pace A REGIS device variation as characters. These "“A" in option alphabets are numbered 0 modified in REGIS memory syntax ASCII 1Is may implement several alphabets 1including well as foreign language and graohic symbol alternate the text alphabets syntactically always content the except are Up each character pattern, of The on The 1Is the separated and representation. specifies number o0f size, By left most row alphapet may the detinition row communication), option the <characters patterns instruction size color (the bpe character) parameter, to be the ancd 9 to bv the to the numeric the the a by (most ¢first decimal selection of character base for definition. In user to manner I<intens> associated the generally defined efficient the in are hrexa=decimal most allow 1loaced dgiven re general refer sirgle not default, the row patterns displaved rixel and the selects S[<aa>)] to ocackground H to sequence of row in a load instruction oovtions allow an alghabet basis and number for used the differentc- The for top of the by commas. particular, the set distinguishabrle. character which implies the cnaracter significant bit is the integers 16 national font usinag to allows one or more of the alphabets 1, 2, eee loadable wusing the LOAD instructionr. The a load instruction is tne letter "L" followed parameters varameter selected instruction. of cnaracter index whicn will be character and tnis is then tollowed by a size 78 User defined characters = A cption anéd L instruction font pbe Rev, with a number base for cdetine the similar to option specitic base line size the of text allows a character definition, Figure instruction 14 and illustrates examples the L instruction. of the extended T REGIS FUMDAMENTALS... Figure 14, Rev, 1 Page Extended TEXT Instruction Examples Using T[+19,+91(A0,54,D0,10) [ 21 Using TI[+20,+01(S2)'ABCDEFG’ gives: ABCDEF G Using TU+30,+01(S3)'ABCDEFG’ gives: ABCDEFG Using TI+190,+301(S9,I-45)'ABCDE’ gives: AL LS (direction up) and I45 gives: character defined by: SRhER & Using D3¢ Using the alphabet L’A’88442211884422118844; then T(AL,S[290, Zel,flti 21)7A’ The samne character uzth gives: T(th 2l) gives: A Y Note that primitive this of a type of bar character chart drawing can be used as progranm, the 79 REGIS Read Parameters Rev. 1 Page Instruction =« 80 R PURPQSE N The read wuser to the varameters instruction, keveletter "R" allows read back to the "host" computer (source of instructions) parameters of the drawing process |in REGIS interactive environments. SYNTAX SRINSTD> ==> <KRISST> ==> Y W <REGIS> o=) =) <ROPS> GENERAL .The position <ROPS> <SKIPBR> <RINST> <SKIFC> <RINST> —e) F 7.4 FUNDAMENTALS... e=> <digit> ==> P <RCPS> -=> , <ROPS> ==> ) <RINST> -=> <any=other> <SKIPQ2> cotion to <header> the <SKIPI> SEMANTICS R(P) be coordinates the and host environment. The general sequences the response string character strings. in in numeric terms syntax strings of the The <header>and which allow the scurce cursor {in an of the <suffix> are vosition definition. implementationr garaphics the <Y=part> writing current to <X=part>,<Y=vart> <Xe=part> current causes transmitted interactive termirnal response is: where <RIANST> <RINST> the possible which define current screer host <sufix> to context are recognize of other REGIS FUNDAMENTALS... Rev., 1 Page &} - 8.0 INSTALLATION For ENVIROMMENTS the opurposes environments (1) for embedding grapnics in the ANSI of this application escape system, report, of REGIS the sequences addresses graphics and (2) use two instructions: in a ‘bounded ‘ 8.1 ANSI Encoding At the time of embedding this REGIS report, in AMSI be escape of is, 0f and the use tne a grapnic the escape aoplication definiton sequnce: terminated oy the the most sequence program sequence is logical aporoach environments selection initiated sequences. by to appears the tc¢ That invocationr sequence: «e€SC.,\ All characters within instructions. be included instructions this Although in one an saquence entire invocation snoculd not opoundaries, of be are intercreted screen image these sequences, broken up does accross as not FREGIS have to irdivicdual escape secuence 8.2 Bounded As Systems discussed oounded systems involed, defined in and vice versa. for In the 1. Graonics 2. Direct A¥hen 3. This a earlier, even of such file REGIS emnedded Communication device,. no is also remote intenced to be communications to allow maximum transoortability c¢f bounded system to pe used in distribute d text use REGIS is the realm of following: no if of bounded defirition of instructions qgracnics a systems, a image shoulcd graphic imaqge,. in statements graphics REGIS hiah level are provided., a secarate to It is assumed that such a device aould have “driver" to convert the cnaracter strings » a FEGIS oriaginating used in 1lirk is images systers pe ysed lenagquacges araphics intertace at ary of REGIS FUNDAMENTALS... these sources the system, Rev. 1 to the native graphics Page 82 hardware instructicens of
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies