Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403.adf » Disk1Mar94 » !AWMar94/Goodies/Basic/Dashes/Dash_2

!AWMar94/Goodies/Basic/Dashes/Dash_2

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403.adf » Disk1Mar94
Filename: !AWMar94/Goodies/Basic/Dashes/Dash_2
Read OK:
File size: 0336 bytes
Load address: 0000
Exec address: 0000
File contents
    1
    2
    3LIBRARY "PathLib:OS_units.Paths"
    4LIBRARY "PathLib:OS_units.Styles"
    5
    6REM Create byte array for dash pattern
    7    DIM dash% 12
    8
    9REM Create a horizontal line
   10    line%=FNPath_CreateHorizontalLine(0,0,1000)
   11
   12REM Draw a "Guide" line
   13    MODE MODE
   14    length%=1000 : d_length%=200
   15    PRINT "Line length=";length%
   16    PRINT "Dash length=";d_length%
   17    GCOL 1 : LINE 0,600,length%,600 :GCOL 7
   18
   19PRINT ''"Shows the effects of varying the start point of dashes by"
   20PRINT "+10 at each step"
   21
   22FOR n%=0 TO 300 STEP 10
   23REM Set up dash pattern
   24    dash%!0=n%<<8   : REM distance before starting patterm
   25    dash%!4=1       : REM # of pattern elements
   26    dash%!8=d_length%<<8  : REM length of pattern element
   27
   28REM Draw dashed line
   29    ORIGIN 0,500-n%     
   30    SYS "Draw_Stroke",line%,,,,,,dash%
   31    NEXT
   32 
   33END


ț "PathLib:OS_units.Paths"
 ț "PathLib:OS_units.Styles"

(� Create byte array for dash pattern
    � dash% 12

	� Create a horizontal line

2    line%=�Path_CreateHorizontalLine(0,0,1000)

� Draw a "Guide" line

    � �
$    length%=1000 : d_length%=200
     � "Line length=";length%
"    � "Dash length=";d_length%
&    � 1 : � 0,600,length%,600 :� 7

C� ''"Shows the effects of varying the start point of dashes by"
� "+10 at each step"

� n%=0 � 300 � 10
� Set up dash pattern
<    dash%!0=n%<<8   : � distance before starting patterm
1    dash%!4=1       : � # of pattern elements
;    dash%!8=d_length%<<8  : � length of pattern element

� Draw dashed line
    ȑ 0,500-n%     
)    ș "Draw_Stroke",line%,,,,,,dash%
	    �
  
!�
�
00000000  0d 00 01 04 0d 00 02 04  0d 00 03 1f c8 9b 20 22  |.............. "|
00000010  50 61 74 68 4c 69 62 3a  4f 53 5f 75 6e 69 74 73  |PathLib:OS_units|
00000020  2e 50 61 74 68 73 22 0d  00 04 20 c8 9b 20 22 50  |.Paths"... .. "P|
00000030  61 74 68 4c 69 62 3a 4f  53 5f 75 6e 69 74 73 2e  |athLib:OS_units.|
00000040  53 74 79 6c 65 73 22 0d  00 05 04 0d 00 06 28 f4  |Styles".......(.|
00000050  20 43 72 65 61 74 65 20  62 79 74 65 20 61 72 72  | Create byte arr|
00000060  61 79 20 66 6f 72 20 64  61 73 68 20 70 61 74 74  |ay for dash patt|
00000070  65 72 6e 0d 00 07 12 20  20 20 20 de 20 64 61 73  |ern....    . das|
00000080  68 25 20 31 32 0d 00 08  04 0d 00 09 1e f4 20 43  |h% 12......... C|
00000090  72 65 61 74 65 20 61 20  68 6f 72 69 7a 6f 6e 74  |reate a horizont|
000000a0  61 6c 20 6c 69 6e 65 0d  00 0a 32 20 20 20 20 6c  |al line...2    l|
000000b0  69 6e 65 25 3d a4 50 61  74 68 5f 43 72 65 61 74  |ine%=.Path_Creat|
000000c0  65 48 6f 72 69 7a 6f 6e  74 61 6c 4c 69 6e 65 28  |eHorizontalLine(|
000000d0  30 2c 30 2c 31 30 30 30  29 0d 00 0b 04 0d 00 0c  |0,0,1000).......|
000000e0  19 f4 20 44 72 61 77 20  61 20 22 47 75 69 64 65  |.. Draw a "Guide|
000000f0  22 20 6c 69 6e 65 0d 00  0d 0b 20 20 20 20 eb 20  |" line....    . |
00000100  eb 0d 00 0e 24 20 20 20  20 6c 65 6e 67 74 68 25  |....$    length%|
00000110  3d 31 30 30 30 20 3a 20  64 5f 6c 65 6e 67 74 68  |=1000 : d_length|
00000120  25 3d 32 30 30 0d 00 0f  20 20 20 20 20 f1 20 22  |%=200...     . "|
00000130  4c 69 6e 65 20 6c 65 6e  67 74 68 3d 22 3b 6c 65  |Line length=";le|
00000140  6e 67 74 68 25 0d 00 10  22 20 20 20 20 f1 20 22  |ngth%..."    . "|
00000150  44 61 73 68 20 6c 65 6e  67 74 68 3d 22 3b 64 5f  |Dash length=";d_|
00000160  6c 65 6e 67 74 68 25 0d  00 11 26 20 20 20 20 e6  |length%...&    .|
00000170  20 31 20 3a 20 86 20 30  2c 36 30 30 2c 6c 65 6e  | 1 : . 0,600,len|
00000180  67 74 68 25 2c 36 30 30  20 3a e6 20 37 0d 00 12  |gth%,600 :. 7...|
00000190  04 0d 00 13 43 f1 20 27  27 22 53 68 6f 77 73 20  |....C. ''"Shows |
000001a0  74 68 65 20 65 66 66 65  63 74 73 20 6f 66 20 76  |the effects of v|
000001b0  61 72 79 69 6e 67 20 74  68 65 20 73 74 61 72 74  |arying the start|
000001c0  20 70 6f 69 6e 74 20 6f  66 20 64 61 73 68 65 73  | point of dashes|
000001d0  20 62 79 22 0d 00 14 18  f1 20 22 2b 31 30 20 61  | by"..... "+10 a|
000001e0  74 20 65 61 63 68 20 73  74 65 70 22 0d 00 15 04  |t each step"....|
000001f0  0d 00 16 15 e3 20 6e 25  3d 30 20 b8 20 33 30 30  |..... n%=0 . 300|
00000200  20 88 20 31 30 0d 00 17  19 f4 20 53 65 74 20 75  | . 10..... Set u|
00000210  70 20 64 61 73 68 20 70  61 74 74 65 72 6e 0d 00  |p dash pattern..|
00000220  18 3c 20 20 20 20 64 61  73 68 25 21 30 3d 6e 25  |.<    dash%!0=n%|
00000230  3c 3c 38 20 20 20 3a 20  f4 20 64 69 73 74 61 6e  |<<8   : . distan|
00000240  63 65 20 62 65 66 6f 72  65 20 73 74 61 72 74 69  |ce before starti|
00000250  6e 67 20 70 61 74 74 65  72 6d 0d 00 19 31 20 20  |ng patterm...1  |
00000260  20 20 64 61 73 68 25 21  34 3d 31 20 20 20 20 20  |  dash%!4=1     |
00000270  20 20 3a 20 f4 20 23 20  6f 66 20 70 61 74 74 65  |  : . # of patte|
00000280  72 6e 20 65 6c 65 6d 65  6e 74 73 0d 00 1a 3b 20  |rn elements...; |
00000290  20 20 20 64 61 73 68 25  21 38 3d 64 5f 6c 65 6e  |   dash%!8=d_len|
000002a0  67 74 68 25 3c 3c 38 20  20 3a 20 f4 20 6c 65 6e  |gth%<<8  : . len|
000002b0  67 74 68 20 6f 66 20 70  61 74 74 65 72 6e 20 65  |gth of pattern e|
000002c0  6c 65 6d 65 6e 74 0d 00  1b 04 0d 00 1c 16 f4 20  |lement......... |
000002d0  44 72 61 77 20 64 61 73  68 65 64 20 6c 69 6e 65  |Draw dashed line|
000002e0  0d 00 1d 18 20 20 20 20  c8 91 20 30 2c 35 30 30  |....    .. 0,500|
000002f0  2d 6e 25 20 20 20 20 20  0d 00 1e 29 20 20 20 20  |-n%     ...)    |
00000300  c8 99 20 22 44 72 61 77  5f 53 74 72 6f 6b 65 22  |.. "Draw_Stroke"|
00000310  2c 6c 69 6e 65 25 2c 2c  2c 2c 2c 2c 64 61 73 68  |,line%,,,,,,dash|
00000320  25 0d 00 1f 09 20 20 20  20 ed 0d 00 20 05 20 0d  |%....    ... . .|
00000330  00 21 05 e0 0d ff                                 |.!....|
00000336