DIRECTORY NodeStyleWorks USING [colorOps, DoStyleOp, glueOps, Param, ParamRec, realOps, RegisterStyleCommand], Rope USING [ROPE], TJaM USING [CommandProc, Frame]; NodeStyleWorks4Impl: CEDAR MONITOR IMPORTS NodeStyleWorks EXPORTS NodeStyleWorks ~ BEGIN OPEN NodeStyleWorks; Frame: TYPE ~ TJaM.Frame; ROPE: TYPE ~ Rope.ROPE; opsList: LIST OF RECORD[name: ATOM, op: TJaM.CommandProc] _ NIL; Preregister: PROC [param: Param, op: TJaM.CommandProc] RETURNS [Param] ~ { opsList _ CONS[[param.opName, op], opsList]; RETURN [param]; }; RegisterWorks4: PUBLIC PROC [frame: Frame] ~ { WHILE opsList # NIL DO RegisterStyleCommand[frame, opsList.first.name, opsList.first.op]; opsList _ opsList.rest; ENDLOOP; }; LetterspacingOp: TJaM.CommandProc ~ { DoStyleOp[frame, letterspacingParam] }; letterspacingParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $letterspacing, real[letterspacing]]], LetterspacingOp]; LetterspacingStretchOp: TJaM.CommandProc ~ { DoStyleOp[frame, letterspacingStretchParam] }; letterspacingStretchParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $letterspacingStretch, real[letterspacingStretch]]], LetterspacingStretchOp]; LetterspacingShrinkOp: TJaM.CommandProc ~ { DoStyleOp[frame, letterspacingShrinkParam] }; letterspacingShrinkParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $letterspacingShrink, real[letterspacingShrink]]], LetterspacingShrinkOp]; LetterspacingGlueOp: TJaM.CommandProc ~ { DoStyleOp[frame, letterspacingGlueParam] }; letterspacingGlueParam: Param _ Preregister[NEW[glue ParamRec _ [glueOps, $letterspacingGlue, glue[letterspacing, letterspacingStretch, letterspacingShrink]]], LetterspacingGlueOp]; PagebreakOp: TJaM.CommandProc ~ { DoStyleOp[frame, pagebreakParam] }; pagebreakParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $pagebreak, real[pagebreak]]], PagebreakOp]; PagebreakStretchOp: TJaM.CommandProc ~ { DoStyleOp[frame, pagebreakStretchParam] }; pagebreakStretchParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $pagebreakStretch, real[pagebreakStretch]]], PagebreakStretchOp]; PagebreakShrinkOp: TJaM.CommandProc ~ { DoStyleOp[frame, pagebreakShrinkParam] }; pagebreakShrinkParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $pagebreakShrink, real[pagebreakShrink]]], PagebreakShrinkOp]; PagebreakGlueOp: TJaM.CommandProc ~ { DoStyleOp[frame, pagebreakGlueParam] }; pagebreakGlueParam: Param _ Preregister[NEW[glue ParamRec _ [glueOps, $pagebreakGlue, glue[pagebreak, pagebreakStretch, pagebreakShrink]]], PagebreakGlueOp]; UnderlineThicknessOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineThicknessParam] }; underlineThicknessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $underlineThickness, real[underlineThickness]]], UnderlineThicknessOp]; UnderlineDescentOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineDescentParam] }; underlineDescentParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $underlineDescent, real[underlineDescent]]], UnderlineDescentOp]; UnderlineHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineHueParam] }; underlineHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $underlineHue, real[underlineHue]]], UnderlineHueOp]; UnderlineSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineSaturationParam] }; underlineSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $underlineSaturation, real[underlineSaturation]]], UnderlineSaturationOp]; UnderlineBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineBrightnessParam] }; underlineBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $underlineBrightness, real[underlineBrightness]]], UnderlineBrightnessOp]; UnderlineColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, underlineColorParam] }; underlineColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $underlineColor, color[underlineHue, underlineSaturation, underlineBrightness]]], UnderlineColorOp]; StrikeoutThicknessOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutThicknessParam] }; strikeoutThicknessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $strikeoutThickness, real[strikeoutThickness]]], StrikeoutThicknessOp]; StrikeoutAscentOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutAscentParam] }; strikeoutAscentParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $strikeoutAscent, real[strikeoutAscent]]], StrikeoutAscentOp]; StrikeoutHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutHueParam] }; strikeoutHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $strikeoutHue, real[strikeoutHue]]], StrikeoutHueOp]; StrikeoutSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutSaturationParam] }; strikeoutSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $strikeoutSaturation, real[strikeoutSaturation]]], StrikeoutSaturationOp]; StrikeoutBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutBrightnessParam] }; strikeoutBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $strikeoutBrightness, real[strikeoutBrightness]]], StrikeoutBrightnessOp]; StrikeoutColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, strikeoutColorParam] }; strikeoutColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $strikeoutColor, color[strikeoutHue, strikeoutSaturation, strikeoutBrightness]]], StrikeoutColorOp]; OutlineBoxThicknessOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxThicknessParam] }; outlineBoxThicknessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBoxThickness, real[outlineboxThickness]]], OutlineBoxThicknessOp]; OutlineBoxBearoffOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxBearoffParam] }; outlineBoxBearoffParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBoxBearoff, real[outlineboxBearoff]]], OutlineBoxBearoffOp]; OutlineBoxHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxHueParam] }; outlineBoxHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBoxHue, real[outlineboxHue]]], OutlineBoxHueOp]; OutlineBoxSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxSaturationParam] }; outlineBoxSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBoxSaturation, real[outlineboxSaturation]]], OutlineBoxSaturationOp]; OutlineBoxBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxBrightnessParam] }; outlineBoxBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBoxBrightness, real[outlineboxBrightness]]], OutlineBoxBrightnessOp]; OutlineBoxColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBoxColorParam] }; outlineBoxColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $outlineBoxColor, color[outlineboxHue, outlineboxSaturation, outlineboxBrightness]]], OutlineBoxColorOp]; BackgroundAscentOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundAscentParam] }; backgroundAscentParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $backgroundAscent, real[backgroundAscent]]], BackgroundAscentOp]; BackgroundDescentOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundDescentParam] }; backgroundDescentParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $backgroundDescent, real[backgroundDescent]]], BackgroundDescentOp]; BackgroundHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundHueParam] }; backgroundHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $backgroundHue, real[backgroundHue]]], BackgroundHueOp]; BackgroundSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundSaturationParam] }; backgroundSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $backgroundSaturation, real[backgroundSaturation]]], BackgroundSaturationOp]; BackgroundBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundBrightnessParam] }; backgroundBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $backgroundBrightness, real[backgroundBrightness]]], BackgroundBrightnessOp]; BackgroundColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, backgroundColorParam] }; backgroundColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $backgroundColor, color[backgroundHue, backgroundSaturation, backgroundBrightness]]], BackgroundColorOp]; AreaHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, areaHueParam] }; areaHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $areaHue, real[areaHue]]], AreaHueOp]; AreaSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, areaSaturationParam] }; areaSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $areaSaturation, real[areaSaturation]]], AreaSaturationOp]; AreaBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, areaBrightnessParam] }; areaBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $areaBrightness, real[areaBrightness]]], AreaBrightnessOp]; AreaColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, areaColorParam] }; areaColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $areaColor, color[areaHue, areaSaturation, areaBrightness]]], AreaColorOp]; OutlineHueOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineHueParam] }; outlineHueParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineHue, real[outlineHue]]], OutlineHueOp]; OutlineSaturationOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineSaturationParam] }; outlineSaturationParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineSaturation, real[outlineSaturation]]], OutlineSaturationOp]; OutlineBrightnessOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineBrightnessParam] }; outlineBrightnessParam: Param _ Preregister[NEW[real ParamRec _ [realOps, $outlineBrightness, real[outlineBrightness]]], OutlineBrightnessOp]; OutlineColorOp: TJaM.CommandProc ~ { DoStyleOp[frame, outlineColorParam] }; outlineColorParam: Param _ Preregister[NEW[color ParamRec _ [colorOps, $outlineColor, color[outlineHue, outlineSaturation, outlineBrightness]]], OutlineColorOp]; END. ήNodeStyleWorks4Impl.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Rick Beach, June 3, 1985 5:44:34 pm PDT Implements JaM commands for style rules and commands to load styles. Initialization This must be first to pick up the Preregister calls in the start code. Letter Spacing Glue Pagebreak Glue Underline Dimensions and Color Strikeout Dimensions and Color Outline Box Dimensions and Color Background Dimensions and Color Area Color Outline Color Κ8˜codešœ™Kšœ Οmœ1™˜MKšœ(žœS˜~K˜Kš œE˜[Kšœ/žœh˜šK˜Kš œD˜YKšœ.žœe˜–K˜Kš œB˜UKšœ,žœ†˜΅—™Kš  œ:˜EKšœ$žœG˜nK˜Kš œA˜SKšœ+žœ\˜ŠK˜Kš œ@˜QKšœ*žœY˜†K˜Kš œ>˜MKšœ(žœr˜—™Kš œC˜WKšœ-žœb˜’K˜Kš œA˜SKšœ+žœ\˜ŠK˜Kš œ=˜KKšœ'žœP˜zK˜Kš œD˜YKšœ.žœe˜–K˜Kš œD˜YKšœ.žœe˜–K˜Kš œ?˜OKšœ)žœ˜­—™Kš œC˜WKšœ-žœb˜’K˜Kš œ@˜QKšœ*žœY˜†K˜Kš œ=˜KKšœ'žœP˜zK˜Kš œD˜YKšœ.žœe˜–K˜Kš œD˜YKšœ.žœe˜–K˜Kš œ?˜OKšœ)žœ˜­—™ Kš œD˜YKšœ.žœe˜–K˜Kš œB˜UKšœ,žœ_˜ŽK˜Kš œ>˜MKšœ(žœS˜~K˜Kš œE˜[Kšœ/žœh˜šK˜Kš œE˜[Kšœ/žœh˜šK˜Kš œ@˜QKšœ*žœ†˜³—™Kš œA˜SKšœ+žœ\˜ŠK˜Kš œB˜UKšœ,žœ_˜ŽK˜Kš œ>˜MKšœ(žœS˜~K˜Kš œE˜[Kšœ/žœh˜šK˜Kš œE˜[Kšœ/žœh˜šK˜Kš œ@˜QKšœ*žœ†˜³—šœ ™ Kš  œ8˜AKšœ"žœA˜fK˜Kš œ?˜OKšœ)žœV˜‚K˜Kš œ?˜OKšœ)žœV˜‚K˜Kš  œ:˜EKšœ$žœh˜—šœ ™ Kš  œ;˜GKšœ%žœJ˜rK˜Kš œB˜UKšœ,žœ_˜ŽK˜Kš œB˜UKšœ,žœ_˜ŽK˜Kš œ=˜KKšœ'žœw˜‘—K˜Kšžœ˜—…—&’-¨