! EDATTR - EDWIN Attribute changing routines

!%include "EDWIN.DDU"

%external %routine SET COLOUR %alias "EDWIN_SET_COLOUR" (%integer TO)
   %const %integer MAX = 255
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att colour<<8 ! TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att colour, TO)
%end

%external %routine SET LINE STYLE %alias "EDWIN_SET_STYLE" (%integer TO)
   %const %integer MAX = 4
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att line style<<8 ! TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att line style, TO)
%end

%external %routine SET CHAR SIZE %alias "EDWIN_SET_CHAR_SIZE" (%integer TO)
   PDF INSERT (att char size<<12 ! pdf gen attrib, TO, 0)
   SET ATTRIBUTE (att char size, TO)
%end

%external %routine SET CHAR ROT %alias "EDWIN_SET_CHAR_ROT" (%integer TO)
   ! Force the parameter into the range 0 to 360.
   %if TO < 0 %start
       TO = TO + 360 %until TO >= 0
   %finish %else %if TO>=360 %start
       TO = TO - 360 %until TO < 360
   %finish
   PDF INSERT (att char rot<<12!pdf gen attrib, TO, 0)
   SET ATTRIBUTE (att char rot, TO)
%end

%external %routine SET CHAR QUALITY %alias "EDWIN_SET_CHAR_QUAL" (%integer TO)
   %const %integer MAX = 2
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att char quality<<8 ! TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att char quality, TO)
%end

%external %routine SET CHAR FONT %alias "EDWIN_SET_CHAR_FONT" (%integer TO)
   %const %integer MAX = 64
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att char font<<8 ! TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att char font, TO)
%end

%external %routine SET CHAR SLANT %alias "EDWIN_SET_CHAR_SLANT" (%integer TO)
   %const %integer MIN = -90, MAX = 90
   PDF INSERT (att char slant << 12 ! pdf gen attrib, TO, 0)
   TO = default %unless MIN<=TO<=MAX
   SET ATTRIBUTE (att char slant, TO)
%end

%external %routine SET SPEED %alias "EDWIN_SET_SPEED" (%integer TO)
   %const %integer MAX = 255
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att speed<<8 ! TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att speed, TO)
%end

%external %routine SET COLOUR MODE %alias "EDWIN_SET_COL_MODE" (%integer TO)
   %const %integer MAX = 7
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att colour mode<<8!TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att colour mode, TO)
%end

%external %routine SET CHORD STEP %alias "EDWIN_SET_CHORD_STEP" (%integer TO)
   %const %integer MAX = 90
   TO = 15 %unless 0<TO<=MAX
   PDF INSERT ((att chord step<<8!TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att chord step, TO)
%end

%external %routine SET SHADE MODE %alias "EDWIN_SET_SHADE_MODE" (%integer TO)
   %const %integer MAX = 255
   TO = default %unless 0<=TO<=MAX
   PDF INSERT ((att shade mode<<8!TO) <<4 ! pdf attribute, 0, 0)
   SET ATTRIBUTE (att shade mode, TO)
%end

%end %of %file
