$ od -c -N 50000 [qv]<notecards>1.3K>LIBRARY>NCScreen.ted!1 0000000 X E R O X \t N C S c r e e n \r 2 0000020 \r \r 4 \r \r 1 \r \r N C S c r e e n 0000040 \r 1 \r \r 4 \r \r B y : R a n d 0000060 y T r i g g ( T r i g g . p 0000100 a @ X e r o x . C O M ) \r S t o 0000120 r e d : { q v } < n o t e c a 0000140 r d s > 1 . 3 k > l i b r a r y 0000160 > N C S c r e e n , . d c o m 0000200 , . t e d \r L a s t u p d a 0000220 t e d : M a y 4 , 1 9 8 7 0000240 . \r I N T R O D U C T I O N \r T 0000260 h i s N o t e C a r d s l i 0000300 b r a r y p a c k a g e p r 0000320 o v i d e s a s e t o f 0000340 u s e r - c a l l a b l e f u 0000360 n c t i o n s t h a t c a n 0000400 b e u s e d t o m a n i 0000420 p u l a t e c a r d s o n 0000440 t h e s c r e e n . O t h 0000460 e r N o t e C a r d s l i b 0000500 r a r y p a c k a g e s i n 0000520 c l u d i n g N C C l u s t e 0000540 r u s e N C S c r e e n f 0000560 u n c t i o n s . \r F U N C T I 0000600 O N S F O R L A Y I N G O 0000620 U T C A R D S \r ( S C R E E N 0000640 . L a y o u t C a r d s I n S q 0000660 u a r e < S t a r t P o s > 0000700 < C a r d s > ) \r L a y o u t 0000720 t h e c a r d s a p p e a 0000740 r i n g i n t h e l i s t 0000760 < C a r d s > i n a s q 0001000 u a r e a r r a n g e m e n t 0001020 w i t h t h e u p p e r 0001040 l e f t c o r n e r o f t 0001060 h e f i r s t c a r d a t 0001100 t h e p o s i t i o n < S 0001120 t a r t P o s > . T h e n 0001140 u m b e r o f c o l u m n s 0001160 i s e q u a l t o t h e 0001200 f l o o r o f t h e s q 0001220 u a r e r o o t o f t h e 0001240 n u m b e r o f c a r d s 0001260 . C a r d w i n d o w s 0001300 a r e a r r a n g e d i n 0001320 r o w o r d e r a t t e m p 0001340 t i n g t o f i t a l l 0001360 w i n d o w s o n t h e s 0001400 c r e e n w i t h o u t o v 0001420 e r l a p p i n g . H o w e 0001440 v e r , s o m e w i n d o w 0001460 s m a y o v e r l a p i n 0001500 o r d e r t o f i t e a 0001520 c h w i n d o w o n t h e 0001540 s c r e e n . \r ( S C R E E N 0001560 . L a y o u t C a r d s I n C a 0001600 s c a d e < S t a r t P o s > 0001620 < C a r d s > ) \r L a y o u 0001640 t t h e c a r d s i n < 0001660 C a r d s > i n a c a s c 0001700 a d e d o v e r l a p p i n g 0001720 d e c k w i t h t h e u 0001740 p p e r l e f t c o r n e r 0001760 o f t h e f i r s t , d 0002000 e e p e s t c a r d a t t 0002020 h e p o s i t i o n < S t a 0002040 r t P o s > . C a l l s S 0002060 C R E E N . G e t C a s c a d e 0002100 P o s i t i o n . \r ( S C R E E 0002120 N . G e t C a s c a d e P o s i 0002140 t i o n < W i n d o w > ) \r T 0002160 h i s f u n c t i o n i s 0002200 u s e d t o d e t e r m i n 0002220 e t h e p o s i t i o n f 0002240 o r t h e n e x t c a r d 0002260 i n a c a s c a d e . 0002300 I t t a k e s o n e a r g 0002320 u m e n t w h i c h i s a 0002340 w i n d o w a n d r e t u 0002360 r n s t h e p o s i t i o n 0002400 o f t h e u p p e r l e 0002420 f t c o r n e r f o r t h 0002440 e n e x t c a s c a d e d 0002460 w i n d o w . T h e s p a 0002500 c i n g b e t w e e n c a r 0002520 d s i n t h e c a s c a d 0002540 e i s d e t e r m i n e d 0002560 b y t h e g l o b a l v a 0002600 r i a b l e s S C R E E N . C 0002620 a s c a d e X S p a c e a n d 0002640 S C R E E N . C a s c a d e Y 0002660 S p a c e ( i n i t i a l l y 0002700 s e t t o 3 a n d 8 , 0002720 r e s p e c t i v e l y ) . \r 0002740 ( S C R E E N . L a y o u t C a 0002760 r d s I n S u r r o u n d < C 0003000 e n t e r C a r d > < C a r d 0003020 s > ) \r A r r a n g e s t h e 0003040 c a r d s i n t h e l i 0003060 s t < C a r d s > a r o u n 0003100 d t h r e e s i d e s o f 0003120 t h e c a r d < C e n t e 0003140 r C a r d > . C a r d s a 0003160 r e p l a c e d i n o r d 0003200 e r d o w n t h e r i g h 0003220 t s i d e , t h e l e f t 0003240 s i d e , a n d a l o n g 0003260 t h e b o t t o m . N o 0003300 t e : t h i s m a y n o 0003320 t d i s p l a y a l l c a 0003340 r d s i n < C a r d s > . 0003360 T h e n u m b e r o f c 0003400 a r d s d i s p l a y e d i 0003420 s r e t u r n e d . \r ( S C R 0003440 E E N . S u r r o u n d C a r d 0003460 W i t h F i l e B o x C o n t e 0003500 n t s < C a r d > < B o x > 0003520 ) \r A r r a n g e t h e c h 0003540 i l d c a r d s o f t h e 0003560 f i l e b o x < B o x > a 0003600 r o u n d t h e c a r d < 0003620 C a r d > . I f e i t h e 0003640 r a r g i s N I L , t h 0003660 e n t h e u s e r i s a 0003700 s k e d t o s e l e c t . 0003720 T h i s c a l l s S C R E 0003740 E N . L a y o u t C a r d s I n 0003760 S u r r o u n d . I f s o 0004000 m e c a r d s i n < B o x 0004020 > c o u l d n o t b e d 0004040 i s p l a y e d , t h e n a 0004060 s t a t e m e n t t o t h 0004100 a t e f f e c t i s p r i 0004120 n t e d i n t h e p r o m 0004140 p t w i n d o w . \r M I S C E 0004160 L L A N E O U S H A N D Y F 0004200 U N C T I O N S \r ( S C R E E N 0004220 . M o v e C a r d T o P o s < 0004240 C a r d > < P o s > < C o r 0004260 n e r > ) \r M o v e t h e < 0004300 C a r d > c a r d ' s w i n 0004320 d o w s u c h t h a t i t 0004340 s < C o r n e r > c o r n e 0004360 r i s a t t h e p o s i 0004400 t i o n < P o s > . < C o 0004420 r n e r > s h o u l d b e 0004440 o n e o f t h e l i t a t 0004460 o m s U L , L L , U R , 0004500 o r L R . T h e d e f a 0004520 u l t i s U L . I f t 0004540 h e c a r d i s n o t c 0004560 u r r e n t l y o n t h e 0004600 s c r e e n , t h e n i t 0004620 w i l l b e b r o u g h t 0004640 u p . T h i s c a l l s 0004660 S C R E E N . M o v e W i n T o 0004700 P o s . \r ( S C R E E N . M o v 0004720 e W i n T o P o s < W i n > 0004740 < P o s > < C o r n e r > ) \r 0004760 M o v e t h e < W i n > w 0005000 i n d o w s o t h a t i t 0005020 s < C o r n e r > i s a t 0005040 t h e p o s i t i o n < P 0005060 o s > . < C o r n e r > s 0005100 h o u l d b e o n e o f 0005120 U L , L L , U R , o r L 0005140 R a s a b o v e . I f 0005160 t h e w i n d o w d o e s n 0005200 ' t c o m p l e t e l y f i 0005220 t o n t h e s c r e e n 0005240 a t t h a t p o s i t i o n 0005260 , t h e n i t i s m o v 0005300 e d s o i t d o e s . \r ( 0005320 S C R E E N . W i n L L C o r n 0005340 e r < W i n > ) \r ( S C R E E 0005360 N . W i n L R C o r n e r < W 0005400 i n > ) \r ( S C R E E N . W i n 0005420 U L C o r n e r < W i n > ) \r 0005440 ( S C R E E N . W i n U R C o r 0005460 n e r < W i n > ) \r T h e s e 0005500 f u n c t i o n s r e t u r 0005520 n t h e p o s i t i o n s 0005540 o f t h e v a r i o u s c 0005560 o r n e r s o f t h e w i 0005600 n d o w < W i n > . \r ( S C R 0005620 E E N . W i n S h r i n k A n d 0005640 P l a c e < W i n > ) \r S h r 0005660 i n k t h e w i n d o w < 0005700 W i n > ( i f n o t a l r 0005720 e a d y s h r u n k ) a n d 0005740 p l a c e s o i t s u p 0005760 p e r l e f t c o r n e r 0006000 i s a t t h e u p p e r 0006020 l e f t c o r n e r o f < 0006040 W i n > . \r \0 \0 \0 \0 \0 003 ( L I S 0006060 T ( ( P A G E N I L ( F O 0006100 L I O I N F O ( A R A B I C ) 0006120 S T A R T I N G P A G E # 1 0006140 ) ( 0 0 6 1 2 7 9 2 ) 0006160 ( ( F O L I O N I L ( P A R 0006200 A L O O K S ( Q U A D C E N 0006220 T E R E D ) C H A R L O O K S 0006240 ( S U P E R S C R I P T 0 0006260 S I Z E 1 0 F A M I L Y M 0006300 O D E R N O V E R L I N E O 0006320 F F S T R I K E O U T O F F 0006340 U N D E R L I N E O F F S 0006360 L O P E R E G U L A R W E I 0006400 G H T M E D I U M ) F O R M 0006420 A T I N F O ( A R A B I C ) ) 0006440 ( 1 7 4 3 6 2 8 8 3 6 ) 0006460 N I L ) ( H E A D I N G N 0006500 I L ( H E A D I N G T Y P E 0006520 R U N N I N G H E A D ) ( 8 4 0006540 7 4 4 4 4 4 3 6 ) N I L 0006560 ) ( T E X T N I L N I L 0006600 ( 8 4 9 6 4 5 6 6 0 0 ) 0006620 N I L ) ) ) ( P A G E N I L 0006640 N I L ( 0 0 6 1 2 7 9 0006660 2 ) ( ( F O L I O N I L ( 0006700 P A R A L O O K S ( Q U A D 0006720 C E N T E R E D ) C H A R L O 0006740 O K S ( S U P E R S C R I P T 0006760 0 S I Z E 1 0 F A M I L 0007000 Y M O D E R N O V E R L I N 0007020 E O F F S T R I K E O U T 0007040 O F F U N D E R L I N E O F 0007060 F S L O P E R E G U L A R 0007100 W E I G H T M E D I U M ) ) 0007120 ( 2 8 2 4 2 7 2 3 6 ) N 0007140 I L ) ( H E A D I N G N I L 0007160 ( H E A D I N G T Y P E R U 0007200 N N I N G H E A D ) ( 8 4 7 0007220 4 4 4 4 4 3 6 ) N I L ) 0007240 ( T E X T N I L N I L ( 8 0007260 4 9 6 4 5 6 6 0 0 ) N I 0007300 L ) ) ) ( P A G E N I L N 0007320 I L ( 0 0 6 1 2 7 9 2 ) 0007340 ( ( F O L I O N I L ( P A 0007360 R A L O O K S ( Q U A D C E 0007400 N T E R E D ) C H A R L O O K 0007420 S ( S U P E R S C R I P T 0 0007440 S I Z E 1 0 F A M I L Y 0007460 M O D E R N O V E R L I N E 0007500 O F F S T R I K E O U T O F 0007520 F U N D E R L I N E O F F 0007540 S L O P E R E G U L A R W E 0007560 I G H T M E D I U M ) ) ( 2 0007600 8 2 4 2 7 2 3 6 ) N I L 0007620 ) ( H E A D I N G N I L ( 0007640 H E A D I N G T Y P E R U N N 0007660 I N G H E A D ) ( 8 4 7 4 4 0007700 4 4 4 3 6 ) N I L ) ( T 0007720 E X T N I L N I L ( 8 4 0007740 9 6 4 5 6 6 0 0 ) N I L ) 0007760 ) ) ) ) \0 \0 \0 \0 \0 005 \0 \b \0 ( \0 \0 0010000 \0 \0 001 310 \0 005 \0 \0 \0 004 002 004 \0 \0 \0 \0 0010020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010040 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 310 \0 \0 \0 \0 0010060 \0 004 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 0010100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010120 \0 \0 \0 . \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 0010140 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 0010160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010200 \0 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 \0 004 002 003 0010220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010240 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 0010260 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 0010300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010320 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 004 0010340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010360 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 0010400 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 0010420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010440 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 0010460 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \v P A 0010500 G E H E A D I N G \0 \v R U N N I 0010520 N G H E A D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010540 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 006 \0 024 \0 006 0010560 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0010600 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 \0 0010620 \0 \0 \0 \0 \0 024 \0 006 M O D E R N \0 \f 0010640 \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E 0010660 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0010700 M O D E R N \0 006 \0 \0 \0 \0 \0 \0 \0 \0 0010720 \0 022 \0 004 L O G O \0 030 \0 \0 \0 \0 \0 \0 0010740 \0 \0 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 005 \0 \0 0010760 \0 \0 006 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \b 0011000 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0011020 \0 \0 \0 002 \0 \b \0 \0 \0 002 \0 001 \0 \v H R 0011040 U L E . G E T F N 001 \0 024 \0 006 M O 0011060 D E R N \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011100 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \a \0 0011120 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0011140 F N 001 \0 024 \0 006 M O D E R N \0 \f \0 0011160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 002 0011200 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 \0 001 \0 \v 0011220 H R U L E . G E T F N 001 \0 024 \0 006 0011240 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 \0 \0 0011260 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0011300 005 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0011320 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0011340 G E T F N 001 \0 024 \0 006 M O D E R N 0011360 \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 0011400 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 \0 0011420 001 \0 \v H R U L E . G E T F N 001 \0 0011440 024 \0 006 M O D E R N \0 \f \0 \0 \0 \0 \0 0011460 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0011500 \0 002 \0 004 \0 \0 \0 & \0 \0 \0 \0 003 \0 \0 \0 0011520 \0 \0 002 \0 003 \0 \0 \0 : \0 \0 \0 \0 001 \0 \0 0011540 \0 \0 \0 002 \0 002 \0 \0 \0 033 \0 \0 \0 \0 001 \0 0011560 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \f \0 \0 \0 \0 004 0011600 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0011620 003 \0 \0 \0 313 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0011640 \0 006 \0 \0 \0 037 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0011660 002 \0 006 \0 \0 \0 0 \0 \0 \0 \0 002 \0 \0 \0 \0 0011700 \0 002 \0 006 \0 \0 001 240 \0 \0 \0 \0 002 \0 \0 \0 0011720 \0 \0 002 \0 006 \0 \0 \0 1 \0 \0 \0 \0 002 \0 \0 0011740 \0 \0 \0 002 \0 006 \0 \0 \0 260 \0 \0 \0 \0 002 \0 0011760 \0 \0 \0 \0 002 \0 006 \0 \0 \0 % \0 \0 \0 \0 002 0012000 \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 q \0 \0 \0 \0 0012020 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 4 \0 \0 \0 0012040 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 \b \0 \0 0012060 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 6 \0 0012100 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 031 0012120 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0012140 036 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0012160 \0 - \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 \0 0012200 \0 001 017 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 0012220 \0 \0 \0 + \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0012240 006 \0 \0 \0 337 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0012260 \0 006 \0 \0 \0 033 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0012300 002 \0 001 \0 \0 \0 033 \0 \0 \0 \0 002 \0 \0 \0 \0 0012320 \0 002 \0 001 \0 \0 \0 033 \0 \0 \0 \0 002 \0 \0 \0 0012340 \0 \0 002 \0 001 \0 \0 \0 033 \0 \0 \0 \0 002 \0 \0 0012360 \0 \0 \0 002 \0 006 \0 \0 \0 Q \0 \0 \0 \0 002 \0 0012400 \0 \0 \0 \0 002 \0 006 \0 \0 \0 ! \0 \0 \0 \0 002 0012420 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 x \0 \0 \0 \0 0012440 002 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0012460 \0 006 \0 \0 \f & \0 R z 272 0012472