$ od -c -N 50000 [phylum]<LispLibrary>Koto>SketchProgrammersInterface.tedit!1 0000000 \r \r \r S k e t c h p r o g r a 0000020 m m e r ' s i n t e r f a c e 0000040 \r R i c h a r d R . B u r t 0000060 o n \r J a n u a r y 2 0 , 1 0000100 9 8 7 \r T A B L E O F C O N 0000120 T E N T S \r 0 . I N T R O D U 0000140 C T I O N \r 1 . C R E A T I N 0000160 G S K E T C H E L E M E N T 0000200 S \r \t S K E T C H . C R E A T E 0000220 . T E X T \r \t S K E T C H . C R 0000240 E A T E . T E X T B O X \r \t S K 0000260 E T C H . C R E A T E . B O X \r 0000300 \t S K E T C H . C R E A T E . W 0000320 I R E \r \t S K E T C H . C R E A 0000340 T E . C L O S E D . W I R E \r \t 0000360 S K E T C H . C R E A T E . O P 0000400 E N . C U R V E \r \t S K E T C H 0000420 . C R E A T E . C L O S E D . C 0000440 U R V E \r \t S K E T C H . C R E 0000460 A T E . C I R C L E \r \t S K E T 0000500 C H . C R E A T E . A R C \r \t S 0000520 K E T C H . C R E A T E . E L L 0000540 I P S E \r \t S K E T C H . C R E 0000560 A T E . B I T M A P \r \t S K E T 0000600 C H . C R E A T E . I M A G E . 0000620 O B J E C T \r \t S K E T C H . C 0000640 R E A T E . G R O U P \r 2 . M 0000660 A N I P U L A T I N G E L E M 0000700 E N T S I N A S K E T C H 0000720 \r \t I N S U R E . S K E T C H 0000740 \r \t S K E T C H . A D D . E L E 0000760 M E N T \r \t S K E T C H . D E L 0001000 E T E . E L E M E N T \r \t S K E 0001020 T C H . E L E M E N T S . O F . 0001040 S K E T C H \r \t S K E T C H . L 0001060 I S T . O F . E L E M E N T S \r 0001100 \t S K E T C H . R E G I O N . O 0001120 F . S K E T C H \r \t S K E T C H 0001140 . S E T . D E F A U L T \r 3 . 0001160 S K E T C H V I E W E R S \r \t 0001200 S K E T C H W . C R E A T E \r \t 0001220 E D I T S L I D E \r \t S K E T C 0001240 H . R E S E T \r \t S K E T C H . 0001260 R E G I O N . V I E W E D \r \t S 0001300 K E T C H . A D D . V I E W \r \t 0001320 V I E W E R . T O . S K E T C H 0001340 . P O S I T I O N \r \t S K E T C 0001360 H . T O . V I E W E R . P O S I 0001400 T I O N \r \t V I E W E R . T O . 0001420 S K E T C H . R E G I O N \r \t S 0001440 K E T C H . T O . V I E W E R . 0001460 R E G I O N \r \t D O N T Q U E R 0001500 Y C H A N G E S ( w i n d o w 0001520 p r o p e r t y ) \r \t S K E T 0001540 C H . D I S P L A Y F N \r \t S K 0001560 E T C H . A L L . V I E W E R S 0001600 \r 4 . M O N I T O R I N G A 0001620 S K E T C H V I E W E R \r \t 0001640 G E T S K E T C H P R O P \r \t P 0001660 U T S K E T C H P R O P \r 0001700 S k e t c h V i e w e r C o 0001720 n t r o l P r o p e r t i e s 0001740 \r \t W H E N A D D E D F N \r \t W 0001760 H E N D E L E T E D F N \r \t W H 0002000 E N P O I N T D E L E T E D F N 0002020 \r \t P R E E D I T F N \r \t W H E 0002040 N E D I T E D F N \r \t P R E M O 0002060 V E F N \r \t W H E N M O V E D F 0002100 N \r \t P R E C O P Y F N \r \t W H 0002120 E N C O P I E D F N \r \t W H E N 0002140 G R O U P E D F N \r \t W H E N U 0002160 N G R O U P E D F N \r \t B U T T 0002200 O N E V E N T I N F N \r \t W H E 0002220 N D E F A U L T S E T F N \r \t P 0002240 R E C H A N G E F N \r \t W H E N 0002260 C H A N G E D F N \r \t S p e c i 0002300 f i c a t i o n o f a r g u 0002320 m e n t s t o t h e C h a 0002340 n g e o p e r a t i o n \r 0002360 C l e a r i n g o u t t h 0002400 e i n t e r a c t i v e e d 0002420 i t i n g c h a n g e \r \t S K 0002440 E T C H . C L E A N U P \r 0002460 M o v i n g S k e t c h E l 0002500 e m e n t s \r \t S K E T C H . M 0002520 O V E . E L E M E N T S \r \t S K 0002540 E T C H . C O P Y . E L E M E N 0002560 T S \r \r F u n c t i o n s 0002600 t o u s e f o r w r i t 0002620 i n g M o v e f u n c t i o 0002640 n s \r \t S K E T C H . T R A C K 0002660 . E L E M E N T S \r \t E x a m p 0002700 l e o f c o n s t r a i n i 0002720 n g m o v e s \r \t P O S I T I 0002740 O N . O N . D I A G O N A L . P 0002760 R E M O V E F N \r \t S K . P I C 0003000 K O U T . W H O L E . M O V E . 0003020 E L E M E N T S \r \t O N D I A G 0003040 O N A L \r T o p r o m p 0003060 t t h e u s e r f o r e 0003100 l e m e n t p o s i t i o n s 0003120 \r \t S K E T C H . G E T . P O S 0003140 I T I O N \r \t \t S K E T C H . U 0003160 S E . P O S I T I O N . P A D 0003200 ( v a r i a b l e ) \r T o 0003220 l e t t h e u s e r s e 0003240 l e c t a c o l l e c t i o 0003260 n o f e l e m e n t s \r \t S 0003300 K E T C H . G E T . E L E M E N 0003320 T S \r 5 . P R O P E R T I E S 0003340 O F S K E T C H E L E M E 0003360 N T S \r \t G E T S K E T C H E L 0003400 E M E N T P R O P \r \t P U T S K 0003420 E T C H E L E M E N T P R O P \r 0003440 \t S K E T C H . U P D A T E \r \t 0003460 C o n t r o l p r o p e r t i 0003500 e s \r \t \t T Y P E \r \t \t S C A L 0003520 E \r \t \t R E G I O N \r \t \t A C T 0003540 I V E R E G I O N \r \t \t P O S I 0003560 T I O N ( 1 S T C O N T R O L 0003600 P T ) \r \t \t 2 N D C O N T R O L 0003620 P T \r \t \t 3 R D C O N T R O L P 0003640 T \r \t \t D A T A \r \t G r a p h i 0003660 c p r o p e r t i e s \r \t \t B 0003700 R U S H \r \t \t F I L L I N G \r \t 0003720 \t D A S H I N G \r \t \t A R R O W 0003740 H E A D S \r \t T e x t p r o p 0003760 e r t i e s \r \t \t F O N T \r \t \t 0004000 J U S T I F I C A T I O N \r \t A 0004020 n g l e p r o p e r t i e s \r 0004040 \t \t D I R E C T I O N \r S 0004060 p e c i f i c a t i o n s o f 0004100 d a t a s t r u c t u r e s 0004120 f o r S k e t c h p r o p 0004140 e r t i e s \r \t B R U S H \r \t D 0004160 A S H I N G \r \t F O N T \r \t F I 0004200 L L I N G \r \t A R R O W H E A D 0004220 \r \t J U S T I F I C A T I O N \r 0004240 \t D I R E C T I O N \r 6 . M I 0004260 S C E L L A N E O U S I N F O 0004300 R M A T I O N A B O U T S K 0004320 E T C H E S \r T o s a v 0004340 e a s k e t c h o n a 0004360 f i l e \r C h a n g i n g 0004400 t h e S k e t c h c o m m 0004420 a n d m e n u \r \t S K E T C H 0004440 . C O M M A N D M E N U \r \t S K 0004460 E T C H . C O M M A N D M E N U 0004500 . I T E M S \r \t S K E T C H W . 0004520 S E L E C T I O N F N \r T 0004540 o m a k e a n i m a g e 0004560 o b j e c t f r o m a s k 0004600 e t c h \r \t M A K E . I M A G E 0004620 . O B J E C T . O F . S K E T C 0004640 H \r 7 . S K E T C H S T R E 0004660 A M S \r \t O P E N I M A G E S T 0004700 R E A M \r 8 . A D D I N G N 0004720 E W S K E T C H E L E M E N 0004740 T T Y P E S - ( i n c o m 0004760 p l e t e ) \r I N T R O D U C T 0005000 I O N \r S k e t c h i s a n 0005020 i n t e r a c t i v e i l l 0005040 u s t r a t i o n p r o g r a 0005060 m t h a t c a n b e u s 0005100 e d t o c o n s t r u c t 0005120 f i g u r e s f r o m t e x 0005140 t a n d g r a p h i c s . 0005160 I t i s d e s c r i b e d 0005200 i n t h e X e r o x P A 0005220 R C r e p o r t S k e t c h 0005240 : A D r a w i n g P r o g 0005260 r a m f o r I n t e r l i s 0005300 p - D b y R . B u r t o n 0005320 a n d i n t h e I n t e 0005340 r l i s p - D l i b r a r y 0005360 p a c k a g e s d o c u m e n 0005400 t a t i o n ( k o t o r e l 0005420 e a s e ) . A s p a r t 0005440 o f i t s i m p l e m e n t 0005460 a t i o n , S k e t c h p r 0005500 o v i d e s a r e p r e s e 0005520 n t a t i o n f o r a n d 0005540 f u n c t i o n s t o m a n 0005560 i p u l a t e t w o d i m e 0005600 n s i o n a l f i g u r e s 0005620 c o n s i s t i n g o f e l 0005640 e m e n t s s u c h a s c 0005660 u r v e s o r p i e c e s 0005700 o f t e x t . T h i s d 0005720 o c u m e n t d e s c r i b e 0005740 s a p r o g r a m m e r ' s 0005760 i n t e r f a c e t h a t 0006000 a l l o w s a p p l i c a t i 0006020 o n s t o u s e S k e t c 0006040 h a s a f r o n t - e n d 0006060 f o r d i s p l a y i n g 0006100 a n d m a n i p u l a t i n g 0006120 g r a p h i c a l p r e s e 0006140 n t a t i o n s . U s i n g 0006160 t h i s i n t e r f a c e , 0006200 a n a p p l i c a t i o n 0006220 c a n c r e a t e a s k e 0006240 t c h t h a t r e p r e s e 0006260 n t s i t s o w n d a t a 0006300 s t r u c t u r e s a n d 0006320 d i s p l a y i t i n a 0006340 S k e t c h v i e w e r . 0006360 A u s e r c a n t h e n 0006400 u s e t h e s t a n d a r 0006420 d S k e t c h i n t e r f a 0006440 c e t o e d i t t h e r 0006460 e p r e s e n t a t i o n a n 0006500 d h a v e t h e c h a n g 0006520 e s r e f l e c t e d t o 0006540 t h e u n d e r l y i n g d 0006560 a t a s t r u c t u r e s . 0006600 T h e i n t e r f a c e a 0006620 l l o w s e l e m e n t s t 0006640 h a t m a k e u p t h e 0006660 s k e t c h t o b e i n d 0006700 i v i d u a l l y p r o t e c 0006720 t e d f r o m m o d i f i c 0006740 a t i o n . A d d i t i o n 0006760 a l l y , t h e a p p l i c 0007000 a t i o n c a n c h a n g e 0007020 t h e i n t e r f a c e i 0007040 n a w i d e r a n g e o 0007060 f w a y s f r o m g l o b 0007100 a l l y r e p l a c i n g t 0007120 h e e n t i r e S k e t c h 0007140 m e n u a n d t h e s e 0007160 t o f a l l o w a b l e c 0007200 o m m a n d s t o l o c a l 0007220 l y r e s t r i c t i n g t 0007240 h e p a r t i c u l a r v a 0007260 l u e s t h a t p a r t i c 0007300 u l a r e l e m e n t s c a 0007320 n h a v e . T h i s d o 0007340 c u m e n t a l s o d e s c 0007360 r i b e s h o w t o g e t 0007400 a s k e t c h o f t h e 0007420 d i s p l a y o f a n y 0007440 I n t e r l i s p - D p r o g 0007460 r a m b y u s i n g s k e 0007500 t c h s t r e a m s . I t 0007520 d e s c r i b e s t h e i 0007540 n i t i a l s k e t c h t y 0007560 p e s . \r I t i s e n v i s 0007600 i o n e d t h a t t y p i c 0007620 a l a p p l i c a t i o n o 0007640 f t h e p r o g r a m m e r 0007660 ' s i n t e r f a c e t o 0007700 S k e t c h w i l l u s e 0007720 t h e f o l l o w i n g s e 0007740 q u e n c e o f s t e p s : 0007760 c r e a t e s k e t c h e 0010000 l e m e n t s , p o s s i b l 0010020 y g r o u p i n g t h e m 0010040 t o g e t h e r , a d d t h 0010060 e m t o a s k e t c h , 0010100 o p e n a s k e t c h v i 0010120 e w e r o n t o t h e s k 0010140 e t c h a n d m o n i t o r 0010160 t h e u s e r ' s c h a n 0010200 g e s t o t h e m . T h 0010220 i s m a n u a l i s o r g 0010240 a n i z e d r o u g h l y a 0010260 l o n g t h e s e l i n e s 0010300 . S e c t i o n 1 d e s 0010320 c r i b e s h o w t o c r 0010340 e a t e s k e t c h e l e m 0010360 e n t s a n d g r o u p t 0010400 h e m . S e c t i o n 2 0010420 d e s c r i b e s h o w t o 0010440 c r e a t e a s k e t c h 0010460 , a n d a d d a n d d e 0010500 l e t e e l e m e n t s f r 0010520 o m i t . S e c t i o n 0010540 3 d e s c r i b e s t h e 0010560 v a r i o u s w a y s o f 0010600 o p e n i n g a v i e w e r 0010620 o n t o a s k e t c h a 0010640 s w e l l a s s o m e o 0010660 t h e r f u n c t i o n s f 0010700 o r d e a l i n g w i t h 0010720 v i e w e r s . S e c t i 0010740 o n 4 d e s c r i b e s t 0010760 h e h o o k s t h r o u g h 0011000 w h i c h t h e a p p l i 0011020 c a t i o n m o n i t o r s 0011040 t h e a c t i o n s t h e 0011060 u s e r h a s r e q u e s t 0011100 e d a n d d i s a l l o w s 0011120 o r m o d i f i e s t h e 0011140 m . A t t h e e n d 0011160 o f s e c t i o n 4 s o 0011200 m e u s e f u l f u n c t i 0011220 o n s f o r r e p l a c i n 0011240 g a s p e c t s o f t h e 0011260 S k e t c h i n t e r f a c 0011300 e a r e d e s c r i b e d . 0011320 S e c t i o n 5 d e s c 0011340 r i b e s t h e p r o p e r 0011360 t i e s t h a t s k e t c h 0011400 e l e m e n t s h a v e a 0011420 n d h o w t o c h a n g e 0011440 t h e m . A t t h e e 0011460 n d o f S e c t i o n 5 0011500 a r e s p e c i f i c a t i o 0011520 n s o f S k e t c h ' s b 0011540 a s i c d a t a s t r u c t 0011560 u r e s t h a t t h e a p 0011600 p l i c a t i o n m a y n e 0011620 e d . S e c t i o n 6 d 0011640 e s c r i b e s a c o l l e 0011660 c t i o n o f u t i l i t y 0011700 r o u t i n e s f o r d e 0011720 a l i n g w i t h S k e t c 0011740 h e s . S e c t i o n 7 0011760 d e s c r i b e s s k e t c h 0012000 s t r e a m s t h a t p r 0012020 o v i d e a w a y o f c 0012040 r e a t i n g s k e t c h e s 0012060 u s i n g t h e s t a n d 0012100 a r d d i s p l a y f u n c 0012120 t i o n s . S e c t i o n 0012140 8 d e s c r i b e s S k e t 0012160 c h e l e m e n t t y p e s 0012200 . \r 1 . 0 C R E A T I N G 0012220 S K E T C H E L E M E N T S 0012240 \r T h e e l e m e n t t y p 0012260 e s a r e T E X T , T E X 0012300 T B O X , W I R E , C L O S 0012320 E D W I R E , O P E N C U R V 0012340 E , C L O S E D C U R V E , 0012360 C I R C L E , A R C , E L L 0012400 I P S E , B O X , S K I M A 0012420 G E O B J , B I T M A P E L T 0012440 a n d G R O U P . T h e 0012460 f o l l o w i n g f u n c t 0012500 i o n s a r e p r o v i d e 0012520 d t o c r e a t e e l e m 0012540 e n t s i n a s k e t c h 0012560 . T h i s a l l o w s u 0012600 s e r p r o g r a m s t o 0012620 c r e a t e e l e m e n t s 0012640 f r o m t h e i r o w n d 0012660 a t a s t r u c t u r e s a 0012700 n d r e m e m b e r t h e 0012720 c o r r e s p o n d e n c e s 0012740 o t h a t s k e t c h o p 0012760 e r a t i o n s c a n b e 0013000 r e f l e c t e d i n t h e 0013020 i r s t r u c t u r e s . 0013040 A c o m m o n w a y o f 0013060 m a k i n g t h e a s s o c 0013100 i a t i o n b e t w e e n a 0013120 s k e t c h e l e m e n t 0013140 a n d a p i e c e o f d 0013160 a t a i s t o s a v e t 0013200 h e d a t a o n t h e p 0013220 r o p e r t y l i s t o f 0013240 t h e s k e t c h e l e m e 0013260 n t u s i n g t h e f u n 0013300 c t i o n P U T S K E T C H E 0013320 L E M E N T P R O P . A n 0013340 a l t e r n a t i v e w a y 0013360 i s t o p u t a u n i q 0013400 u e i d e n t i f i e r o n 0013420 t h e p r o p e r t y l i 0013440 s t o f t h e e l e m e n 0013460 t t h a t t h e a p p l i 0013500 c a t i o n p r o g r a m c 0013520 a n a s s o c i a t e w i t 0013540 h i t s d a t a . I t 0013560 d o e s n o t w o r k v e 0013600 r y w e l l t o k e e p 0013620 a p o i n t e r f r o m t 0013640 h e a p p l i c a t i o n d 0013660 a t a t o t h e s k e t c 0013700 h e l e m e n t b e c a u s 0013720 e t h e S k e t c h o p e 0013740 r a t i o n s r e p l a c e 0013760 e l e m e n t s w i t h a 0014000 c o p y r a t h e r t h a n 0014020 m o d i f y i n g t h e m . 0014040 T h u s , o n l y a p p 0014060 i c a t i o n s w h i c h p 0014100 r e v e n t a l l S k e t c 0014120 h o p e r a t i o n s c a n 0014140 u s e t h i s m e t h o d 0014160 . \r ( S K E T C H . C R E A T E 0014200 . T E X T S T R I N G P O S 0014220 I T I O N F O N T J U S T I 0014240 F I C A T I O N C O L O R S 0014260 C A L E ) \r C r e a t e s a 0014300 s k e t c h t e x t e l e m 0014320 e n t t h a t c o n t a i n 0014340 s t h e c h a r a c t e r s 0014360 i n S T R I N G . P O S 0014400 I T I O N i s t h e l o c 0014420 a t i o n o f t h e t e x 0014440 t e l e m e n t ' s c o n t 0014460 r o l p o i n t i n s k e 0014500 t c h c o o r d i n a t e s . 0014520 F O N T i s t h e t e 0014540 x t e l e m e n t ' s f o n 0014560 t . J U S T I F I C A T I O 0014600 N i s a l i s t w h o s 0014620 e f i r s t e l e m e n t 0014640 i s t h e h o r i z o n t a 0014660 l j u s t i f i c a t i o n 0014700 ( o n e o f L E F T , C E 0014720 N T E R , R I G H T ) a n d 0014740 w h o s e s e c o n d e l 0014760 e m e n t i s t h e v e r 0015000 t i c a l j u s t i f i c a t 0015020 i o n ( o n e o f T O P , 0015040 C E N T E R , B A S E L I N 0015060 E , B O T T O M ) . I t 0015100 i s u s e d t o d e t e r 0015120 m i n e t h e p o s i t i o 0015140 n o f t h e c o n t r o l 0015160 p o i n t w i t h i n t h 0015200 e a r e a c o v e r e d b 0015220 y t h e t e x t . C O L 0015240 O R i s t h e c o l o r 0015260 t h a t t h e t e x t w i 0015300 l l a p p e a r i n . S 0015320 C A L E i s t h e s c a l 0015340 e a t w h i c h t h e t 0015360 e x t w i l l b e e x a c 0015400 t s i z e ( 1 . 0 i f S 0015420 C A L E i s N I L ) . \r ( S 0015440 K E T C H . C R E A T E . T E X 0015460 T B O X S T R I N G R E G I 0015500 O N F O N T J U S T I F I C 0015520 A T I O N B O X B R U S H B 0015540 O X D A S H I N G F I L L I N 0015560 G T E X T C O L O R S C A L 0015600 E ) \r C r e a t e s a s k e 0015620 t c h t e x t b o x e l e 0015640 m e n t w h o s e r e g i o 0015660 n i s R E G I O N i n s 0015700 k e t c h c o o r d i n a t e 0015720 s a n d t h a t c o n t a 0015740 i n s t h e c h a r a c t e 0015760 r s i n S T R I N G . 0016000 F O N T i s t h e t e x 0016020 t b o x e l e m e n t ' s 0016040 f o n t . I f R E G I O N 0016060 i s a p o s i t i o n , 0016100 a b o x j u s t l a r g e 0016120 e n o u g h t o f i t a 0016140 r o u n d S T R I N G w i l 0016160 l b e c r e a t e d w i t 0016200 h t h a t p o s i t i o n 0016220 a s t h e c o n t r o l p 0016240 o i n t o f t h e t e x t 0016260 . \r J U S T I F I C A T I O N 0016300 i s a l i s t w h o s e 0016320 f i r s t e l e m e n t i s 0016340 t h e h o r i z o n t a l 0016360 p o s i t i o n o f t h e 0016400 t e x t w i t h i n t h e 0016420 r e g i o n ( o n e o f L 0016440 E F T , C E N T E R , R I G 0016460 H T ) a n d w h o s e s e 0016500 c o n d e l e m e n t i s 0016520 t h e v e r t i c a l p o s 0016540 i t i o n ( o n e o f T O 0016560 P , C E N T E R , B A S E L 0016600 I N E , B O T T O M ) . B 0016620 O X B R U S H i s t h e b 0016640 r u s h t h a t t h e b o 0016660 x w i l l b e d r a w n 0016700 i n . B O X D A S H I N G 0016720 i s t h e d a s h i n g p 0016740 a t t e r n o f t h e b o 0016760 x . F I L L I N G i s t 0017000 h e f i l l i n g p a t t e 0017020 r n o f t h e p a r t o 0017040 f t h e b o x n o t c o 0017060 v e r e d b y t e x t . 0017100 T E X T C O L O R i s t h e 0017120 c o l o r t h a t t h e 0017140 t e x t w i l l a p p e a r 0017160 i n . S C A L E i s t 0017200 h e s c a l e a t w h i c 0017220 h t h e t e x t a n d b 0017240 o x b r u s h w i l l b e 0017260 e x a c t s i z e ( 1 . 0 0017300 i f S C A L E i s N I L 0017320 ) . \r ( S K E T C H . C R E A T 0017340 E . B O X R E G I O N B R U 0017360 S H D A S H I N G F I L L I 0017400 N G S C A L E ) \r C r e a t 0017420 e s a s k e t c h b o x 0017440 e l e m e n t w h o s e r e 0017460 g i o n i s R E G I O N i 0017500 n s k e t c h c o o r d i n 0017520 a t e s . B R U S H i s 0017540 t h e b r u s h t h a t t 0017560 h e b o x w i l l b e d 0017600 r a w n i n . D A S H I N 0017620 G i s t h e d a s h i n g 0017640 p a t t e r n o f t h e 0017660 b o x . F I L L I N G i s 0017700 t h e f i l l i n g p a t 0017720 t e r n o f t h e p a r t 0017740 o f t h e b o x . S C 0017760 A L E i s t h e s c a l e 0020000 a t w h i c h t h e b r 0020020 u s h w i l l b e t h e 0020040 s i z e g i v e n ( 1 . 0 0020060 i f S C A L E i s N I L ) 0020100 . \r ( S K E T C H . C R E A T E 0020120 . W I R E P O I N T S B R U 0020140 S H D A S H I N G A R R O W 0020160 H E A D S S C A L E ) \r C r e 0020200 a t e s a s k e t c h w i 0020220 r e e l e m e n t . A w 0020240 i r e e l e m e n t i s s 0020260 e r i e s o f c o n t r o l 0020300 p o i n t s c o n n e c t e 0020320 d b y s t r a i g h t l i 0020340 n e s . P O I N T S a r e 0020360 t h e c o n t r o l p o i 0020400 n t s t h a t a r e c o n 0020420 n e c t e d . B R U S H i 0020440 s t h e b r u s h t h a t 0020460 t h e l i n e s w i l l 0020500 b e d r a w n i n . D A 0020520 S H I N G i s t h e d a s 0020540 h i n g p a t t e r n o f 0020560 t h e l i n e s . A R R O 0020600 W H E A D S i s a l i s t 0020620 o f t h e a r r o w h e a 0020640 d s p e c i f i c a t i o n s 0020660 ( s e e d e s c r i p t i o 0020700 n b e l o w ) . T h e f 0020720 i r s t o n e r e f e r s 0020740 t o t h e a r r o w h e a d 0020760 a t t h e f i r s t p o 0021000 i n t o f t h e w i r e . 0021020 T h e s e c o n d o n e 0021040 r e f e r s t o t h e a 0021060 r r o w h e a d o n t h e 0021100 l a s t p o i n t . S C A 0021120 L E i s t h e s c a l e 0021140 a t w h i c h t h e b r u 0021160 s h i s t h e s i z e g 0021200 i v e n ( 1 . 0 i f S C A 0021220 L E i s N I L ) . \r ( S K E 0021240 T C H . C R E A T E . C L O S E 0021260 D . W I R E P O I N T S B R 0021300 U S H D A S H I N G F I L L 0021320 I N G S C A L E ) \r C r e a t 0021340 e s a s k e t c h c l o s 0021360 e d w i r e e l e m e n t . 0021400 A c l o s e d w i r e 0021420 e l e m e n t i s s e r i e 0021440 s o f c o n t r o l p o i 0021460 n t s c o n n e c t e d b y 0021500 s t r a i g h t l i n e s 0021520 a n d i n c l u d e s a l 0021540 i n e f r o m t h e f i r 0021560 s t p o i n t t o t h e 0021600 l a s t o n e . T h i s 0021620 c a n a l s o b e t h o u 0021640 g h t o f a s a p o l y 0021660 g o n . P O I N T S a r e 0021700 t h e c o n t r o l p o i 0021720 n t s t h a t a r e c o n 0021740 n e c t e d . B R U S H i s 0021760 t h e b r u s h t h a t 0022000 t h e l i n e s w i l l b 0022020 e d r a w n i n . D A S 0022040 H I N G i s t h e d a s h 0022060 i n g p a t t e r n o f t 0022100 h e l i n e s . F I L L I 0022120 N G i s t h e f i l l i n 0022140 g p a t t e r n o f t h e 0022160 a r e a w i t h i n t h e 0022200 c l o s e d w i r e . S 0022220 C A L E i s t h e s c a l 0022240 e a t w h i c h t h e b 0022260 r u s h i s t h e s i z e 0022300 g i v e n ( 1 . 0 i f S 0022320 C A L E i s N I L ) . \r ( S 0022340 K E T C H . C R E A T E . O P E 0022360 N . C U R V E P O I N T S B 0022400 R U S H D A S H I N G A R R 0022420 O W H E A D S S C A L E ) \r C 0022440 r e a t e s a s k e t c h 0022460 o p e n c u r v e e l e m e 0022500 n t . A n o p e n c u r 0022520 v e e l e m e n t i s a 0022540 s m o o t h c u r v e t h a 0022560 t p a s s e s t h r o u g h 0022600 a s e r i e s o f p o i 0022620 n t s . P O I N T S a r e 0022640 t h e c o n t r o l p o i 0022660 n t s t h a t t h e c u r 0022700 v e p a s s e s t h r o u g 0022720 h . B R U S H i s t h e 0022740 b r u s h t h a t t h e 0022760 c u r v e w i l l b e d r 0023000 a w n i n . D A S H I N G 0023020 i s t h e d a s h i n g 0023040 p a t t e r n o f t h e c 0023060 u r v e . A R R O W H E A D 0023100 S i s a l i s t o f t 0023120 h e a r r o w h e a d s p e 0023140 c i f i c a t i o n s ( s e e 0023160 d e s c r i p t i o n b e l 0023200 o w ) . T h e f i r s t 0023220 o n e r e f e r s t o t h 0023240 e a r r o w h e a d a t t 0023260 h e f r o n t o f t h e 0023300 c u r v e ( a t t h e f i 0023320 r s t p o i n t ) . T h e 0023340 s e c o n d o n e r e f e 0023360 r s t o t h e a r r o w h 0023400 e a d o n t h e e n d o 0023420 f t h e c u r v e ( a t 0023440 t h e l a s t p o i n t ) . 0023460 S C A L E i s t h e s 0023500 c a l e a t w h i c h t h 0023520 e b r u s h i s t h e s 0023540 i z e g i v e n ( 1 . 0 i 0023560 f S C A L E i s N I L ) . 0023600 \r ( S K E T C H . C R E A T E . 0023620 C L O S E D . C U R V E P O I 0023640 N T S B R U S H D A S H I N 0023660 G W I L L B E F I L L I N G 0023700 S C A L E ) \r C r e a t e s a 0023720 s k e t c h c l o s e d c 0023740 u r v e e l e m e n t . A 0023760 c l o s e d c u r v e e l 0024000 e m e n t i s s m o o t h 0024020 c u r v e t h a t p a s s e 0024040 s t h r o u g h a s e r i 0024060 e s o f p o i n t s a n d 0024100 e n d s u p b a c k a t 0024120 t h e f i r s t p o i n t 0024140 . P O I N T S a r e t h 0024160 e c o n t r o l p o i n t s 0024200 t h a t t h e c u r v e 0024220 p a s s e s t h r o u g h . 0024240 B R U S H i s t h e b r 0024260 u s h t h a t t h e c u r 0024300 v e w i l l b e d r a w n 0024320 i n . D A S H I N G i s 0024340 t h e d a s h i n g p a t 0024360 t e r n o f t h e c u r v 0024400 e . W I L L B E F I L L I N 0024420 G i s c u r r e n t l y i 0024440 g n o r e d b u t i s p l 0024460 a n n e d t o b e t h e 0024500 f i l l i n g t h a t t h e 0024520 c l o s e d c u r v e i s 0024540 f i l l e d w i t h . I 0024560 t i s p r o v i d e d a t 0024600 t h i s t i m e s o t h 0024620 a t t h e c u r v e c r e 0024640 a t i n g f u n c t i o n s 0024660 w i l l b e s y m m e t r i 0024700 c w i t h t h e w i r e 0024720 c r e a t i n g o n e s . 0024740 S C A L E i s t h e s c a 0024760 l e a t w h i c h t h e 0025000 b r u s h i s t h e s i z 0025020 e g i v e n ( 1 . 0 i f 0025040 S C A L E i s N I L ) . \r ( 0025060 S K E T C H . C R E A T E . C I 0025100 R C L E C E N T E R P T R A 0025120 D I U S P T B R U S H D A S 0025140 H I N G F I L L I N G S C A 0025160 L E ) \r C r e a t e s a s k 0025200 e t c h c i r c l e e l e m 0025220 e n t t h a t h a s i t s 0025240 c e n t e r a t C E N T E 0025260 R P T . I f R A D I U S P 0025300 T i s a p o i n t , i t 0025320 w i l l b e u s e d a s 0025340 t h e c i r c l e ' s s e 0025360 c o n d c o n t r o l p o i 0025400 n t a n d t h e c i r c l 0025420 e w i l l p a s s t h r o 0025440 u g h i t . I f R A D I 0025460 U S P T i s a n u m b e r 0025500 , i t i s t a k e n t o 0025520 b e t h e r a d i u s a 0025540 n d t h e s e c o n d c o 0025560 n t r o l p o i n t i s ( 0025600 C e n t e r X + R A D I U S 0025620 P T , C e n t e r Y ) . 0025640 B R U S H i s t h e b r u 0025660 s h t h a t t h e c i r c 0025700 l e w i l l b e d r a w n 0025720 i n . D A S H I N G i s 0025740 t h e d a s h i n g p a t 0025760 t e r n o f t h e c i r c 0026000 l e . F I L L I N G i s 0026020 t h e f i l l i n g p a t t 0026040 e r n o f t h e a r e a 0026060 w i t h i n t h e c i r c l 0026100 e . S C A L E i s t h e 0026120 s c a l e a t w h i c h 0026140 t h e b r u s h i s t h e 0026160 s i z e g i v e n ( 1 . 0 0026200 i f S C A L E i s N I L 0026220 ) . \r ( S K E T C H . C R E A T 0026240 E . A R C C E N T E R P T R 0026260 A D I U S P T A N G L E P T 0026300 B R U S H D A S H I N G A R 0026320 R O W H E A D S D I R E C T I 0026340 O N S C A L E ) \r C r e a t e 0026360 s a s k e t c h a r c e 0026400 l e m e n t t h a t h a s 0026420 i t s c e n t e r a t C E 0026440 N T E R P T . R A D I U S P 0026460 T i s a p o i n t a n d 0026500 i s u s e d a s t h e 0026520 b e g i n n i n g p o i n t 0026540 o f t h e a r c a n d d 0026560 e t e r m i n e s t h e r a 0026600 d i u s . \r T h e A N G L E P 0026620 T a r g u m e n t d e t e r 0026640 m i n e s t h e l o c a t i 0026660 o n o f t h e a n g l e 0026700 c o n t r o l p o i n t . 0026720 I f i t i s a n u m b e 0026740 r , t h i s p o i n t i s 0026760 t h a t n u m b e r o f 0027000 d e g r e e s f r o m t h e 0027020 r a d i u s p o i n t a l 0027040 o n g t h e c i r c l e i 0027060 n t h e d i r e c t i o n , 0027100 c o u n t e r c l o c k w i s 0027120 e i f p o s i t i v e , c 0027140 l o c k w i s e i f n e g a 0027160 t i v e . I f A N G L E P 0027200 T i s a p o s i t i o n , 0027220 t h e a n g l e c o n t r 0027240 o l p o i n t w i l l b e 0027260 t h e i n t e r s e c t i o 0027300 n o f t h e r a y f r o 0027320 m C E N T E R P T t o A N 0027340 G L E P T w i t h t h e c 0027360 i r c l e t h a t h a s c 0027400 e n t e r C E N T E R P T a 0027420 n d g o e s t h r o u g h 0027440 R A D I U S P T . \r T h e d i 0027460 r e c t i o n o f t h e a 0027500 r c i s d e t e r m i n e d 0027520 b y D I R E C T I O N ; c 0027540 o u n t e r c l o c k w i s e 0027560 i f D I R E C T I O N i s 0027600 N I L o r ' C O U N T E R C 0027620 L O C K W I S E , c l o c k w 0027640 i s e i f i t i s T o 0027660 r C L O C K W I S E . \r B R U 0027700 S H i s t h e b r u s h 0027720 t h a t t h e a r c w i l 0027740 l b e d r a w n i n . 0027760 D A S H I N G i s t h e d 0030000 a s h i n g p a t t e r n o 0030020 f t h e a r c . A R R O 0030040 W H E A D S i s a l i s t 0030060 o f t h e a r r o w h e a 0030100 d s p e c i f i c a t i o n s 0030120 ( s e e d e s c r i p t i o 0030140 n b e l o w ) . T h e f 0030160 i r s t o n e r e f e r s 0030200 t o t h e a r r o w h e a d 0030220 a t t h e b e g i n n i n 0030240 g p o i n t o f t h e a 0030260 r c . T h e s e c o n d 0030300 o n e r e f e r s t o t h 0030320 e a r r o w h e a d o n t 0030340 h e e n d p o i n t . S 0030360 C A L E i s t h e s c a l 0030400 e a t w h i c h t h e b 0030420 r u s h i s t h e s i z e 0030440 g i v e n ( 1 . 0 i f S 0030460 C A L E i s N I L ) . \r ( S 0030500 K E T C H . C R E A T E . E L L 0030520 I P S E C E N T E R P T O R 0030540 I E N T A T I O N P T O T H E 0030560 R R A D I U S P T B R U S H 0030600 D A S H I N G W I L L B E F I 0030620 L L I N G S C A L E ) \r C r e 0030640 a t e s a s k e t c h e l 0030660 l i p s e e l e m e n t t h 0030700 a t h a s i t s c e n t e 0030720 r a t C E N T E R P T . 0030740 O R I E N T A T I O N P T i s 0030760 a p o s i t i o n a n d 0031000 i s u s e d t o d e t e r 0031020 m i n e t h e o r i e n t a 0031040 t i o n o f t h e e l l i 0031060 p s e a n d o n e o f i 0031100 t s r a d i i , i . e . , 0031120 t h e e l l i p s e w i l l 0031140 p a s s t h r o u g h i t 0031160 . O T H E R R A D I U S P T 0031200 i s a p o s i t i o n . 0031220 T h e d i s t a n c e b e 0031240 t w e e n i t a n d C E N 0031260 T E R P T i s t h e s e c 0031300 o n d r a d i u s . T h e 0031320 t h i r d c o n t r o l p 0031340 o i n t o f t h e e l l i 0031360 p s e w i l l b e o n e 0031400 o f t h e p o i n t s o n 0031420 t h e e l l i p s e a t 0031440 t h e s e c o n d r a d i u 0031460 s . B R U S H i s t 0031500 h e b r u s h t h a t t h 0031520 e e l l i p s e w i l l b 0031540 e d r a w n i n . D A S 0031560 H I N G i s t h e d a s h 0031600 i n g p a t t e r n o f t 0031620 h e e l l i p s e . W I L 0031640 L B E F I L L I N G i s i g 0031660 n o r e d b u t i s p l a 0031700 n n e d t o b e t h e f 0031720 i l l i n g p a t t e r n o 0031740 f t h e a r e a w i t h i 0031760 n t h e e l l i p s e . 0032000 S C A L E i s t h e s c a 0032020 l e a t w h i c h t h e 0032040 b r u s h i s t h e s i z 0032060 e g i v e n ( 1 . 0 i f 0032100 S C A L E i s N I L ) . \r ( 0032120 S K E T C H . C R E A T E . B I 0032140 T M A P B I T M A P P O S I 0032160 T I O N S C A L E S C A L E 0032200 C A C H E ) \r C r e a t e s a 0032220 s k e t c h b i t m a p e 0032240 l e m e n t f r o m t h e 0032260 b i t m a p B I T M A P a n 0032300 d p o s i t i o n s i t s 0032320 l o w e r l e f t c o r n e 0032340 r a t P O S I T I O N . 0032360 S C A L E i s t h e s 0032400 c a l e a t w h i c h t h 0032420 e b i t m a p i s t h e 0032440 s i z e g i v e n ( 1 . 0 0032460 i f S C A L E i s N I L ) 0032500 . S C A L E C A C H E i s 0032520 a l i s t o f t u p l e 0032540 s ( S C A L E S C A L E D I 0032560 M A G E ) : t h e f i r s t 0032600 e l e m e n t i s a s c 0032620 a l e a n d t h e s e c o 0032640 n d i s a b i t m a p . 0032660 S k e t c h w i l l u s e 0032700 t h e S C A L E D I M A G E 0032720 o n t h e c a c h e a s 0032740 t h e i m a g e t o b e 0032760 d i s p l a y e d ( p o s s 0033000 i b l y s c a l e d ) f o r 0033020 B I T M A P w h e n t h e 0033040 s c a l e o f t h e v i 0033060 e w e r i s c l o s e r t 0033100 o t h a t s c a l e t h a 0033120 n S C A L E a n d t h a n 0033140 t o a n y o t h e r t u 0033160 p l e o n S C A L E C A C H 0033200 E . T h i s p r o v i d e 0033220 s a w a y o f s p e c i 0033240 f y i n g h i g h e r r e s 0033260 o l u t i o n i m a g e s a 0033300 t l a r g e r s c a l e s . 0033320 \r ( S K E T C H . C R E A T E . 0033340 I M A G E . O B J E C T I M A 0033360 G E O B J P O S I T I O N S 0033400 C A L E ) \r C r e a t e s a 0033420 s k e t c h i m a g e o b j 0033440 e c t e l e m e n t f r o m 0033460 t h e i m a g e o b j e c 0033500 t I M A G E O B J a n d p 0033520 o s i t i o n s i t s l o w 0033540 e r l e f t c o r n e r a 0033560 t P O S I T I O N . I f 0033600 P O S I T I O N i s N I L , 0033620 ( 0 , 0 ) i s u s e d . 0033640 S C A L E i s n o t c u 0033660 r r e n t l y u s e d b u t 0033700 i s s a v e d f o r t h 0033720 e e v e n t u a l i t y t h 0033740 a t i m a g e o b j e c t s 0033760 s c a l e . \r ( S K E T C H . 0034000 C R E A T E . G R O U P L I S 0034020 T O F S K E T C H E L E M E N T 0034040 S C O N T R O L P O I N T ) \r 0034060 C r e a t e s a s k e t c h 0034100 g r o u p e l e m e n t f 0034120 r o m a l i s t o f s k 0034140 e t c h e l e m e n t s . 0034160 T h e e l e m e n t s c a n 0034200 b e g r o u p e l e m e n 0034220 t s a s w e l l . N o t 0034240 e : t h e e l e m e n t s 0034260 o n L I S T O F S K E T C H E 0034300 L E M E N T S s h o u l d n 0034320 o t a l r e a d y b e i n 0034340 a s k e t c h . I f n 0034360 e c e s s a r y , t h e y s 0034400 h o u l d b e d e l e t e d 0034420 f r o m t h e s k e t c h 0034440 b e f o r e t h e y a r e 0034460 i n c l u d e d i n t h e 0034500 g r o u p . I f C O N 0034520 T R O L P O I N T i s t h e 0034540 c o n t r o l p o i n t o 0034560 f t h e g r o u p . I f 0034600 n o t g i v e n , t h e 0034620 c o n t r o l p o i n t w i 0034640 l l b e t h e c e n t e r 0034660 o f t h e r e c t a n g u 0034700 l a r r e g i o n o c c u p 0034720 i e d b y t h e e l e m e 0034740 n t s . I t p r o v i d e 0034760 s a w a y o f e n s u r 0035000 i n g t h a t t h e c o n 0035020 t r o l p o i n t i s o n 0035040 a g r i d p o i n t . \r 0035060 * * * M a y w a n t f u n c 0035100 t i o n s f o r t a k i n g 0035120 t h e d i f f e r e n c e 0035140 b e t w e e n t w o s t a t 0035160 e s o f a s k e t c h s 0035200 t r e a m a n d m a k i n g 0035220 a g r o u p e l e m e n t 0035240 o u t o f t h e d i f f 0035260 e r e n c e . \r 2 . M A N I P 0035300 U L A T I N G E L E M E N T S 0035320 I N A S K E T C H \r N o t 0035340 e : A n y f u n c t i o n 0035360 t h a t t a k e s a s k e 0035400 t c h a s a n a r g m e n 0035420 t w i l l a c c e p t e i 0035440 t h e r a S K E T C H s t 0035460 r u c t u r e ( a s r e t u 0035500 r n s f r o m S K E T C H . 0035520 A D D . E L E M E N T ) , a 0035540 s k e t c h v i e w e r ( a 0035560 s r e t u r n e d f r o m 0035600 S K E T C H W . C R E A T E ) 0035620 o r a S K E T C H s t r e 0035640 a m ( o b t a i n e d v i a 0035660 ( O P E N I M A G E S T R E A 0035700 M ' n a m e ' S K E T C H ) 0035720 ) . T h i s i s i m p l 0035740 e m e n t e d b y h a v i n 0035760 g t h e m c a l l t h e 0036000 f o l l o w i n g f u n c t i 0036020 o n w h i c h i s a l s o 0036040 a v a i l a b l e t o u s 0036060 e r f u n c t i o n s : \r ( I 0036100 N S U R E . S K E T C H S K E 0036120 T C H N O E R R O R F L G ) 0036140 \r I f S K E T C H i s a 0036160 S K E T C H s t r u c t u r e 0036200 , a s k e t c h w i n d o 0036220 w ( c a l l e d a v i e w 0036240 e r ) o r a S K E T C H 0036260 s t r e a m ( o b t a i n e d 0036300 v i a ( O P E N I M A G E S 0036320 T R E A M ' n a m e ' S K E 0036340 T C H ) ) , i t r e t u r n 0036360 s t h e a p p r o p r i a t 0036400 e S K E T C H s t r u c t u 0036420 r e . I f S K E T C H 0036440 i s n o t a s k e t c h , 0036460 a s k e t c h w i n d o w 0036500 o r a s k e t c h s t r 0036520 e a m , i t r e t u r n s 0036540 N I L i f N O E R R O R F L 0036560 G i s n o n - N I L ; o t 0036600 h e r w i s e , i t c a u s 0036620 e s a n e r r o r . \r 0036640 ( S K E T C H . A D D . E L E M 0036660 E N T E L E M E N T S K E T 0036700 C H N O D I S P L A Y F L G ) 0036720 \r A d d s a n e l e m e n t 0036740 t o a s k e t c h . I f 0036760 S K E T C H i s N I L , 0037000 a n e w s k e t c h i s 0037020 c r e a t e d . S K E T C H . 0037040 A D D . E L E M E N T r e t u 0037060 r n s t h e s k e t c h . 0037100 I f E L E M E N T i s N 0037120 I L , S K E T C H i s n o 0037140 t c h a n g e d b u t i s 0037160 r e t u r n e d . T h u s 0037200 , ( S K E T C H . A D D . E L 0037220 E M E N T N I L N I L ) p 0037240 r o v i d e s a w a y o f 0037260 c r e a t i n g a n e m p 0037300 t y s k e t c h . I f N 0037320 O D I S P L A Y F L G i s N 0037340 I L , a n y w i n d o w s 0037360 c u r r e n t l y d i s p l a 0037400 y i n g S K E T C H w i l l 0037420 b e u p d a t e d t o r 0037440 e f l e c t E L E M E N T ' s 0037460 a d d i t i o n . I f N 0037500 O D I S P L A Y F L G i s T 0037520 , t h e d i s p l a y s w 0037540 o n ' t b e u p d a t e d . 0037560 I f t h e e l e m e n t 0037600 d o e s n o t h a v e a 0037620 P R I p r o p e r t y , i 0037640 t w i l l b e g i v e n 0037660 a n u m b e r g r e a t e r 0037700 t h a n a n y o t h e r 0037720 e l e m e n t i n t h e s 0037740 k e t c h . \r ( S K E T C H . D 0037760 E L E T E . E L E M E N T E L 0040000 E M E N T S K E T C H I N S 0040020 I D E G R O U P S F L G N O D 0040040 I S P L A Y F L G ) \r D e l e 0040060 t e s a n e l e m e n t f 0040100 r o m a s k e t c h . I 0040120 f I N S I D E G R O U P S F L 0040140 G i s T , t h e e l e m 0040160 e n t w i l l b e d e l e 0040200 t e d e v e n i f i t i 0040220 s i n s i d e a g r o u p 0040240 . O t h e r w i s e i t 0040260 w i l l b e d e l e t e d 0040300 o n l y i f i t i s a 0040320 t o p l e v e l e l e m e n 0040340 t . I f N O D I S P L A Y 0040360 F L G i s N I L , a n y 0040400 v i e w e r s c u r r e n t l 0040420 y d i s p l a y i n g S K E 0040440 T C H w i l l b e u p d a 0040460 t e d t o r e f l e c t E 0040500 L E M E N T ' s d e l e t i o 0040520 n . I f N O D I S P L A Y 0040540 F L G i s T , t h e v i 0040560 e w e r s w o n ' t b e u 0040600 p d a t e d . \r I t r e t u r 0040620 n s E L E M E N T i f E L 0040640 E M E N T w a s d e l e t e 0040660 d . \r ( S K E T C H . E L E M E 0040700 N T S . O F . S K E T C H S K 0040720 E T C H ) \r R e t u r n s t 0040740 h e l i s t o f e l e m e 0040760 n t s t h a t a r e i n 0041000 S K E T C H . S K E T C H 0041020 c a n b e e i t h e r a 0041040 S K E T C H s t r u c t u r e 0041060 , a s k e t c h v i e w e 0041100 r o r a S K E T C H s t 0041120 r e a m . I f S K E T C 0041140 H i s n o t a s k e t c 0041160 h , a s k e t c h v i e w 0041200 e r o r a s k e t c h s 0041220 t r e a m , i t r e t u r n 0041240 s N I L . T h i s c a n 0041260 b e u s e d w i t h s k 0041300 e t c h s t r e a m s t o 0041320 d e t e r m i n e t h e e l 0041340 e m e n t s c r e a t e d b 0041360 y a c a l l t o a d i 0041400 s p l a y f u n c t i o n o 0041420 r s e r i e s o f f u n c 0041440 t i o n s b y l o o k i n g 0041460 a t t h e l i s t d i f 0041500 f e r e n c e s ; n e w e l 0041520 e m e n t s a r e a l w a y 0041540 s a d d e d a t t h e e 0041560 n d . \r ( S K E T C H . L I S 0041600 T . O F . E L E M E N T S S K 0041620 E T C H P R E D I C A T E I 0041640 N S I D E G R O U P S F L G ) \r 0041660 R e t u r n s a l i s t o 0041700 f t h e s k e t c h e l e 0041720 m e n t s i n S K E T C H 0041740 t h a t s a t i s f y P R E 0041760 D I C A T E . I f I N S I D 0042000 E G R O U P S F L G i s T , 0042020 e l e m e n t s t h a t a 0042040 r e m e m b e r s o f a 0042060 g r o u p w i l l b e c o 0042100 n s i d e r e d t o o . O 0042120 t h e r w i s e o n l y t o 0042140 p l e v e l o b j e c t s 0042160 a r e c o n s i d e r e d . 0042200 N o t e : P R E D I C A T E 0042220 w i l l b e a p p l i e d 0042240 t o G R O U P e l e m e n 0042260 t s e v e n w h e n I N S 0042300 I D E G R O U P S F L G i s 0042320 T . \r ( S K E T C H . R E G I O 0042340 N . O F . S K E T C H S K E T 0042360 C H ) \r R e t u r n s t h e 0042400 r e g i o n o c c u p i e d 0042420 b y S K E T C H i n s k e 0042440 t c h c o o r d i n a t e s . 0042460 \r ( S K E T C H . S E T . D E F 0042500 A U L T S K E T C H S K E T 0042520 C H P R O P E R T Y N E W D E 0042540 F A U L T ) \r * * * * ( n o t 0042560 y e t i m p l e m e n t e d . 0042600 ) \r 3 . S K E T C H V I E W 0042620 E R S \r ( S K E T C H S K E T 0042640 C H w i n d o w ) \r o p e n 0042660 s a s k e t c h v i e w e 0042700 r o n t o t h e s k e t c 0042720 h S K E T C H . S K E T C 0042740 H c a n b e N I L , i n 0042760 w h i c h c a s e a n e 0043000 w , e m p t y s k e t c h 0043020 i s u s e d ; a f i l e 0043040 n a m e o r a s k e t c h 0043060 . I f w i n d o w i s 0043100 a w i n d o w , i t i s 0043120 u s e d a t h e v i e w e 0043140 r . \r ( S K E T C H W . C R E A 0043160 T E S K E T C H S K E T C H 0043200 R E G I O N S C R E E N R E G 0043220 I O N T I T L E I N I T I A 0043240 L S C A L E B R I N G U P M E 0043260 N U I N I T I A L G R I D ) 0043300 \r o p e n s a s k e t c h 0043320 v i e w e r o n t o t h e 0043340 s k e t c h S K E T C H . 0043360 S K E T C H c a n b e N I 0043400 L , i n w h i c h c a s e 0043420 a n e w , e m p t y s k 0043440 e t c h i s u s e d , o r 0043460 a s k e t c h . S K E T 0043500 C H c a n a l s o b e a 0043520 f i l e n a m e . S K E 0043540 T C H R E G I O N , i f g i 0043560 v e n , i s a r e g i o n 0043600 i n s k e t c h c o o r d 0043620 i n a t e s o f t h e p a 0043640 r t o f t h e s k e t c h 0043660 t o b e i n i t i a l l y 0043700 d i s p l a y e d . T h e 0043720 l o w e r l e f t c o r n 0043740 e r o f t h e v i e w e r 0043760 w i l l b e m a p p e d 0044000 o n t o t h e l o w e r l 0044020 e f t c o r n e r o f S K 0044040 E T C H R E G I O N . I f 0044060 S K E T C H R E G I O N i s 0044100 g i v e n a n d I N I T I A 0044120 L S C A L E i s N I L , t 0044140 h e s c a l e w i l l b e 0044160 c o m p u t e d s o t h a 0044200 t t h e h e i g h t o f 0044220 S K E T C H R E G I O N j u s 0044240 t f i t s i n t o t h e 0044260 v i e w e r . \r I f S C R E E 0044300 N R E G I O N i s a r e g 0044320 i o n , i t i s u s e d 0044340 a s t h e s c r e e n r e 0044360 g i o n f o r t h e s k e 0044400 t c h v i e w e r . I f 0044420 S C R E E N R E G I O N i s 0044440 a w i n d o w , i t i s 0044460 u s e d a s t h e s k e t 0044500 c h v i e w e r . \r T I T L E 0044520 i s u s e d a s t h e 0044540 t i t l e o f t h e s k e 0044560 t c h v i e w e r . I f 0044600 T I T L E i s N I L , t h 0044620 e t i t l e " V i e w e r 0044640 o n t o a s k e t c h " i 0044660 s u s e d . \r I N I T I A L S 0044700 C A L E , i f a n u m b e 0044720 r i s t h e i n i t i a l 0044740 s c a l e o f t h e s k 0044760 e t c h . I f i t i s 0045000 N I L , 1 . 0 i s u s e d 0045020 . \r B R I N G U P M E N U d e 0045040 t e r m i n e s w h a t m e 0045060 n u s w i l l a p p e a r 0045100 w i t h t h e w i n d o w . 0045120 I f i t i s N I L , 0045140 n o m e n u i s f i x e d 0045160 a l o n g s i d e a n d 0045200 i f t h e u s e r m i d d 0045220 l e b u t t o n s i n t h 0045240 e t i t l e , t h e y w i 0045260 l l r e c e i v e t h e s 0045300 t a n d a r d s k e t c h c 0045320 o m m a n d m e n u . I f 0045340 B R I N G U P M E N U i s 0045360 a m e n u , i t i s b r 0045400 o u g h t u p o n t h e 0045420 r i g h t s i d e o f t h 0045440 e v i e w e r a n d t h e 0045460 s t a n d a r d s k e t c h 0045500 m e n u i s t h e m i d 0045520 d l e b u t t o n p o p u p 0045540 m e n u . I f B R I N G 0045560 U P M E N U i s T , t h e 0045600 s k e t c h c o m m a n d 0045620 m e n u i s b r o u g h t 0045640 u p o n t h e r i g h t 0045660 s i d e o f t h e v i e w 0045700 e r . I f B R I N G U P M 0045720 E N U i s a l i s t , t 0045740 h e C A R i s t a k e n 0045760 a s t h e f i x e d m e n 0046000 u , t h e C A D R i s t 0046020 a k e n a s t h e p o p 0046040 u p m e n u , a n d t h e 0046060 C A D D R i s t a k e n 0046100 a s a n i n d i c a t i o n 0046120 t o b r i n g u p t h e 0046140 f i x e d m e n u . I n 0046160 t h i s l i s t , T i s 0046200 t a k e n t o b e t h e 0046220 s t a n d a r d S k e t c h 0046240 m e n u . I f t h e f 0046260 i x e d m e n u i s n o t 0046300 b r o u g h t u p ( o r 0046320 i s c l o s e d b y t h e 0046340 u s e r ) , t h e p o p u 0046360 p m e n u w i l l b e t 0046400 h e f i x e d m e n u p l 0046420 u s t h e i t e m " f i x 0046440 m e n u " a n d t h e p 0046460 r e v i o u s m i d d l e b 0046500 u t t o n p o p u p m e n u 0046520 w i l l n o t b e a v a 0046540 i l a b l e . \r I N I T I A L G 0046560 R I D i n d i c a t e s w 0046600 h e t h e r t o u s e a 0046620 g r i d . I f i t i s 0046640 a n u m b e r , t h e g r 0046660 i d i s s e t t o t h e 0046700 l e a s t p o w e r o f 0046720 t w o g r e a t e r t h a n 0046740 I N I T I A L G R I D . I 0046760 f I N I T I A L G R I D i s 0047000 T , t h e g r i d i s 0047020 s e t t o 8 . 0 ( a p p r 0047040 o x i m a t e l y h a l f a 0047060 c e n t i m e t e r b e t w 0047100 e e n g r i d p o i n t s . 0047120 ) I f i t i s N I L , 0047140 n o g r i d i s u s e d 0047160 . \r ( E D I T S L I D E S K E 0047200 T C H L A N D S C A P E ) \r 0047220 o p e n s a w i n d o w t 0047240 h e s i z e o f a s h e 0047260 e t o f 8 1 / 2 b y 1 0047300 1 p a p e r . T h i s i 0047320 s u s e f u l f o r l a y 0047340 i n g o u t s l i d e s o 0047360 r o t h e r f u l l - p a g 0047400 e i m a g e s . I f L A 0047420 N D S C A P E i s n o n - N 0047440 I L , t h e w i n d o w w 0047460 i l l b e w i d e r t h a 0047500 n i t i s h i g h . \r ( S 0047520 K E T C H . G E T F I L E N A 0047540 M E V I E W E R ) \r R e a d s 0047560 t h e s k e t c h t h a t 0047600 i s s t o r e d o n F I 0047620 L E N A M E a n d r e t u r 0047640 n s i t . I t r e t u r 0047660 n s N I L i f F I L E N A 0047700 M E i s n o t a s k e t 0047720 c h f i l e . I f V I E 0047740 W E R i s g i v e n , i t 0047760 ' s p r o m p t w i n d o w 0050000 i s u s e d f o r a n y 0050020 e r r o r m e s s a g e s 0050040 a n d i t ' s g r i d w i 0050060 l l b e c h a n g e d t o 0050100 t h a t o f t h e r e a 0050120 d s k e t c h . \r ( S K E T 0050140 C H . P U T F I L E N A M E 0050160 S K E T C H V I E W E R R E 0050200 G I O N S C A L E G R I D ) 0050220 \r S a v e s t h e s k e t c 0050240 h S K E T C H o n t h e 0050260 f i l e F I L E N A M E . 0050300 V I E W E R i s u s e d t 0050320 o d e t e r m i n e a p r 0050340 o m p t w i n d o w t o p 0050360 r i n t e r r o r m e s s a 0050400 g e s , i f a n y . R E 0050420 G I O N , S C A L E a n d 0050440 G R I D a r e i n f o r m a 0050460 t i o n a b o u t t h e s 0050500 k e t c h v i e w . I f 0050520 t h e y a r e N I L , t h 0050540 e v a l u e s f r o m V I 0050560 E W E R a r e u s e d . I 0050600 f b o t h t h e y a n d 0050620 V I E W E R a r e N I L , 0050640 t h e R E G I O N i s t h 0050660 e r e g i o n c o v e r e d 0050700 b y t h e s k e t c h , 0050720 t h e s c a l e i s 1 . 0 0050740 a n d t h e g r i d i s 0050760 8 . 0 . \r ( A D D . S K E 0051000 T C H . T O . V I E W E R S K 0051020 E T C H T O A D D V I E W E R 0051040 A B O U T D E F A U L T S ? ) 0051060 \r A d d s e l e m e n t s i 0051100 n t h e s k e t c h S K E 0051120 T C H T O A D D t o t h e 0051140 s k e t c h i n V I E W E R 0051160 . I f S K E T C H T O A D 0051200 D i s a l i t a t o m , 0051220 i t s h o u l d b e a f 0051240 i l e n a m e a n d t h e 0051260 s k e t c h i t c o n t a 0051300 i n s w i l l b e a d d e 0051320 d . I f a b o u t d e f a 0051340 u l t s ? i s N I L , t h 0051360 e p r o p e r t i e s a n d 0051400 d e f a u l t s o f V I E 0051420 W E R a r e r e p l a c e d 0051440 w i t h t h e o n e s f 0051460 r o m S K E T C H T O A D D . 0051500 I f a b o u t d e f a u l 0051520 t s ? i s T , t h e d e 0051540 f a u l t a n d p r o p e r 0051560 t i e s o f V I E W E R a 0051600 r e n o t c h a n g e d . 0051620 I f a b o u t d e f a u l t 0051640 s ? i s ' A S K , t h e 0051660 u s e r w i l l b e a s k 0051700 e d v i a m e n u w h e t 0051720 h e r t o c h a n g e t h 0051740 e d e f a u l t s o r n o 0051760 t . \r ( S K E T C H . R E S E T 0052000 S K E T C H ) \r r e s e t s 0052020 a s k e t c h a n d a l l 0052040 o f t h e v i e w e r s 0052060 o n t o i t , i . e . d e 0052100 l e t e s a l l i t s e l 0052120 e m e n t s . I t a l s o 0052140 r e s e t s t h e g r i d 0052160 , a n d p o s i t i o n s 0052200 t h e v i e w a t t h e 0052220 h o m e p o s i t i o n . 0052240 I t d o e s N O T r e m o 0052260 v e a n y o f t h e u s 0052300 e r s e t s k e t c h p r 0052320 o p e r t i e s . \r ( S K E T 0052340 C H . R E G I O N . V I E W E D 0052360 V I E W E R N E W R E G I O 0052400 N ) \r R e t u r n s t h e r 0052420 e g i o n i n s k e t c h 0052440 c o o r d i n a t e s t h a t 0052460 a s k e t c h v i e w e r 0052500 i s v i e w i n g . I f 0052520 N E W R E G I O N i s g i 0052540 v e n , i t s h o u l d b 0052560 e a r e g i o n , t h e 0052600 a t o m H O M E o r t h e 0052620 n a m e o f a v i e w 0052640 c r e a t e d b y S K E T C 0052660 H . A D D . V I E W . I f N 0052700 E W R E G I O N i s a r e 0052720 g i o n , t h e v i e w w 0052740 i l l b e s c a l e d a n 0052760 d / o r s c r o l l e d s o 0053000 t h a t t h e v i e w e r 0053020 i s v i e w i n g N E W R 0053040 E G I O N . I f N E W R E 0053060 G I O N i s t h e n a m e 0053100 o f a v i e w , t h e 0053120 v i e w e r w i l l b e m 0053140 o v e d t o t h a t v i e 0053160 w . \r ( S K E T C H . A D D . V 0053200 I E W S K E T C H N A M E 0053220 S C A L E C E N T E R P O S I 0053240 T I O N ) \r A d d s a v i e 0053260 w t o S K E T C H . N A 0053300 M E s h o u l d b e a n 0053320 a t o m w h i c h w i l l 0053340 a p p e a r i n t h e m e 0053360 n u o f v i e w s a n d 0053400 c a n b e p a s s e d t o 0053420 S K E T C H . R E G I O N . V 0053440 I E W E D . S C A L E i s 0053460 t h e s c a l e o f t h 0053500 e v i e w a n d C E N T E 0053520 R P O S I T I O N i s t h e 0053540 p o s i t i o n o f t h e 0053560 c e n t e r o f t h e r 0053600 e g i o n v i e w e d . \r ( V 0053620 I E W E R . T O . S K E T C H . 0053640 P O S I T I O N P O S I T I O 0053660 N V I E W E R S C A L E ) \r T 0053700 r a n s f o r m s a p o s i 0053720 t i o n f r o m v i e w e r 0053740 c o o r d i n a t e s i n t 0053760 o s k e t c h c o o r d i n 0054000 a t e s . V I E W E R S C A 0054020 L E c a n b e a s c a l 0054040 e o r a v i e w e r . \r ( 0054060 S K E T C H . T O . V I E W E R 0054100 . P O S I T I O N P O S I T I 0054120 O N V I E W E R S C A L E ) \r 0054140 T r a n s f o r m s a p o s 0054160 i t i o n f r o m s k e t c 0054200 h c o o r d i n a t e s i n 0054220 t o v i e w e r c o o r d i 0054240 n a t e s . V I E W E R S C 0054260 A L E c a n b e a s c a 0054300 l e o r a v i e w e r . \r 0054320 ( V I E W E R . T O . S K E T C 0054340 H . R E G I O N R E G I O N 0054360 V I E W E R S C A L E ) \r T r a 0054400 n s f o r m s a r e g i o n 0054420 f r o m v i e w e r c o o 0054440 r d i n a t e s i n t o s k 0054460 e t c h c o o r d i n a t e s 0054500 . V I E W E R S C A L E c 0054520 a n b e a s c a l e o r 0054540 a v i e w e r . \r ( S K E T 0054560 C H . T O . V I E W E R . R E G 0054600 I O N R E G I O N V I E W E 0054620 R S C A L E ) \r T r a n s f o r 0054640 m s a r e g i o n f r o m 0054660 s k e t c h c o o r d i n a 0054700 t e s i n t o v i e w e r 0054720 c o o r d i n a t e s . V I 0054740 E W E R S C A L E c a n b e 0054760 a s c a l e o r a v i 0055000 e w e r . \r I f a s k e t c 0055020 h w i n d o w h a s a n 0055040 o n - N I L v a l u e f o r 0055060 t h e p r o p e r t y D O 0055100 N T Q U E R Y C H A N G E S , 0055120 t h e u s e r i s n o t 0055140 a s k e d t o c o n f i r m 0055160 t h e c l o s i n g o f 0055200 a v i e w e r e v e n t h 0055220 o u g h c h a n g e s h a v 0055240 e b e e n m a d e t o i 0055260 t a n d n o t s a v e d . 0055300 \r ( S K E T C H . D I S P L A 0055320 Y F N S K E T C H I M A G E O 0055340 B J S T R E A M ) \r D i s p l 0055360 a y s a s k e t c h i m a 0055400 g e o b j e c t o n a s 0055420 t r e a m . T h i s i s 0055440 t h e i m a g e o b j e c t 0055460 d i s p l a y f u n c t i o 0055500 n f o r s k e t c h i m a 0055520 g e o b j e c t s b u t i 0055540 t c a n a l s o b e u s 0055560 e d f o r o t h e r p u r 0055600 p o s e s . T h e c u r r 0055620 e n t p o s i t i o n o f 0055640 S T R E A M w i l l b e t 0055660 h e l o w e r l e f t c o 0055700 r n e r o f t h e r e g i 0055720 o n t h e s k e t c h a p 0055740 p e a r s i n . \r ( S K E T C 0055760 H . B I T M A P . I M A G E S 0056000 K E T C H R E G I O N S C A 0056020 L E ) \r R e t u r n s a b i 0056040 t m a p t h a t h a s t h 0056060 e s k e t c h i m a g e i 0056100 n i t . T h i s i s c 0056120 a l l e d b y t h e t h e 0056140 i m a g e o b j e c t d i 0056160 s p l a y f u n c t i o n f 0056200 o r s k e t c h i m a g e 0056220 o b j e c t s . \r ( S K E T C H 0056240 . A L L . V I E W E R S S K 0056260 E T C H ) \r R e t u r n s a 0056300 l i s t o f a l l t h e 0056320 v i e w e r s o n t h e s 0056340 k e t c h S K E T C H . \r ( S 0056360 T A T U S P R I N T V I E W 0056400 E R M S G 1 M S G 2 . . . 0056420 M S G n ) [ N o S p r 0056440 e a d F u n c t i o n ] \r P r 0056460 i n t s M S G 1 M S G 2 . 0056500 . . M S G n i n t h e s 0056520 t a t u s w i n d o w o f 0056540 t h e s k e t c h w i n d o 0056560 w V I E W E R . \r 4 . M O N 0056600 I T O R I N G A S K E T C H 0056620 V I E W E R \r S k e t c h p 0056640 e r f o r m s a s m a l l 0056660 n u m b e r o f o p e r a t 0056700 i o n s o n i t s e l e m 0056720 e n t s : A D D , D E L E T 0056740 E , C H A N G E , M O V E , 0056760 C O P Y a n d G R O U P . 0057000 W h e n e v e r o n e o 0057020 f t h e s e o p e r a t i o 0057040 n s i s p e r f o r m e d , 0057060 e i t h e r b y p r o g r 0057100 a m o r b y u s e r i n 0057120 t e r a c t i o n , a n a p 0057140 p l i c a t i o n s u p p l i 0057160 e d f u n c t i o n i s c 0057200 a l l e d . T h e s e f u 0057220 n c t i o n s a r e s t o r 0057240 e d a s t h e f o l l o w 0057260 i n g p r o p e r t i e s o 0057300 f t h e s k e t c h ( u s 0057320 i n g P U T S K E T C H P R O 0057340 P ) . A l s o l i s t e d 0057360 a r e t h e a r g u m e n 0057400 t s t h e f u n c t i o n 0057420 w i l l b e c a l l e d w 0057440 i t h a n d t h e i n t e 0057460 r p r e t a t i o n s o f v 0057500 a l u e s i t r e t u r n s 0057520 . \r ( G E T S K E T C H P R O P 0057540 S K E T C H P R O P E R T Y 0057560 ) \r R e t u r n s t h e v a 0057600 l u e a s k e t c h h a s 0057620 f o r t h e p r o p e r t 0057640 y P R O P E R T Y . \r ( P U T 0057660 S K E T C H P R O P S K E T C 0057700 H P R O P E R T Y V A L U E 0057720 ) \r P u t s V A L U E a s 0057740 t h e p r o p e r t y P R O 0057760 P E R T Y o f t h e s k e 0060000 t c h S K E T C H . R e t u 0060020 r n s V A L U E . \r S k e t c 0060040 h V i e w e r C o n t r o l 0060060 P r o p e r t i e s \r W H E N 0060100 A D D E D F N ( V I E W E R 0060120 E L E M E N T ) ( N o t e 2 0060140 n d a r g u m e n t i s a 0060160 s i n g l e e l e m e n t ) 0060200 I f i t r e t u r n s t 0060220 h e a t o m D O N ' T , n 0060240 o t h i n g i s a d d e d . 0060260 I f i t r e t u r n s 0060300 a n e l e m e n t , t h a t 0060320 e l e m e n t i s a d d e 0060340 d i n s t e a d . O t h e 0060360 r w i s e E L E M E N T i s 0060400 a d d e d . T h i s i s 0060420 c a l l e d w h e n e v e r 0060440 a n e l e m e n t i s a 0060460 d d e d o r w h e n t h e 0060500 d e l e t i o n o f a n 0060520 e l e m e n t i s u n d o n 0060540 e . \r W H E N D E L E T E D F N 0060560 ( V I E W E R E L E M E N T 0060600 S ) ( N o t e 2 n d a r g 0060620 u m e n t i s a l i s t 0060640 o f e l e m e n t s ) I f 0060660 i t r e t u r n s t h e a 0060700 t o m D O N ' T , n o t h i 0060720 n g i s d e l e t e d . 0060740 I f i t r e t u r n s a 0060760 l i s t o f e l e m e n t s 0061000 , o n l y t h o s e e l e 0061020 m e n t s a r e d e l e t e 0061040 d . O t h e r w i s e E L 0061060 E M E N T S a r e d e l e t 0061100 e d . T h i s i s c a l 0061120 l e d w h e n e v e r a n 0061140 e l e m e n t i s d e l e t 0061160 e d o r w h e n t h e a 0061200 d d i t i o n o f a n e l 0061220 e m e n t i s u n d o n e . 0061240 N o t e : i f a p o i 0061260 n t i s d e l e t e d f r 0061300 o m a w i r e o r c u r 0061320 v e e l e m e n t , t h e 0061340 W H E N C H A N G E D F N i s 0061360 c a l l e d . \r P R E E D I T 0061400 F N ( V I E W E R E L E M E 0061420 N T ) C a l l e d w h e n 0061440 t h e u s e r e d i t s a 0061460 t e x t o r t e x t b o x 0061500 e l e m e n t b y t y p i 0061520 n g w h i l e i t i s s 0061540 e l e c t e d . E L E M E N 0061560 T i s t h e t e x t o r 0061600 t e x t b o x b e i n g 0061620 e d i t e d . T h i s f u 0061640 n c t i o n i s c a l l e d 0061660 b e f o r e a n y c h a n 0061700 g e s a r e m a d e . I 0061720 f i t r e t u r n s t h e 0061740 a t o m D O N ' T , t h e 0061760 e d i t i s a b o r t e d 0062000 . I f n o t , t h e c 0062020 h a n g e s a r e b a t c h 0062040 e d ( i . e . , t h e W H 0062060 E N C H A N G E D F N o r W 0062100 H E N A D D E D F N a r e c 0062120 a l l e d ) u n t i l t h e 0062140 u s e r m o v e s t h e 0062160 c a r e t o r s e l e c t s 0062200 a m e n u c o m m a n d . 0062220 ( B u t s e e S K E T C H 0062240 . C L E A N U P ) . \r P R 0062260 E M O V E F N ( V I E W E R 0062300 E L E M E N T S A L I G N H O 0062320 W ) C a l l e d b e f o r e 0062340 t h e u s e r i s a s k 0062360 e d f o r a p o s i t i o 0062400 n . I f A L I G N H O W 0062420 i s n o t N I L , t h e 0062440 u s e r s e l e c t e d a n 0062460 A L I G N c o m m a n d a 0062500 n d A L I G N H O W w i l l 0062520 b e o n e o f L E F T , 0062540 R I G H T , T O P , B O T 0062560 T O M , E V E N X o r E V 0062600 E N Y . I f t h e P R E 0062620 M O V E F N r e t u r n s a 0062640 p o s i t i o n ( a n d A 0062660 L I G N H O W i s N I L ) , 0062700 t h e e l e m e n t s w i 0062720 l l a l l b e m o v e d 0062740 b y t h a t d e l t a w i 0062760 t h t h e d e l t a b e i 0063000 n g i n t e r p r e t e d a 0063020 s S k e t c h d i s t a n c 0063040 e s . I f i t r e t u r 0063060 n s t h e a t o m D O N ' 0063100 T , t h e e l e m e n t s 0063120 w i l l n o t b e m o v e 0063140 d . \r T h e f o r m o f E 0063160 L E M E N T S e n c o d e s 0063200 w h a t c o n t r o l p o i 0063220 n t s o f t h e e l e m e 0063240 n t s a r e b e i n g m o 0063260 v e d t o o . I t w i l l 0063300 b e o n e o f t h e f 0063320 o l l o w i n g : \r ( T . L 0063340 i s t O f E l e m e n t s ) 0063360 a l l o f t h e e l e m e 0063400 n t s a r e b e i n g m o 0063420 v e d . \r ( L i s t O f N u m b 0063440 e r s . E l e m e n t ) L 0063460 i s t O f N u m b e r s i s 0063500 a l i s t o f t h e c o 0063520 n t r o l p o i n t n u m b 0063540 e r s t h a t a r e b e i 0063560 n g m o v e d i n E l e m 0063600 e n t . \r A l i s t w h o s 0063620 e e l e m e n t s a r e o 0063640 f t h e f o r m : \r ( L i s 0063660 t O f N u m b e r s . E l e 0063700 m e n t ) L i s t O f N u m b 0063720 e r s i s a l i s t o f 0063740 t h e c o n t r o l p o i 0063760 n t n u m b e r s t h a t 0064000 a r e b e i n g m o v e d 0064020 i n E l e m e n t . \r ( T . 0064040 E l e m e n t ) t h e e n 0064060 t i r e E l e m e n t i s 0064100 b e i n g m o v e d . \r W H E 0064120 N M O V E D F N ( V I E W E R 0064140 E L E M E N T S D E L T A P 0064160 O S I T I O N ) C a l l e d 0064200 a f t e r t h e u s e r 0064220 h a s b e e n a s k e d t 0064240 o s p e c i f y a n a m o 0064260 u n t t o m o v e t h e 0064300 e l e m e n t s b y . E L 0064320 E M E N T S h a s t h e s 0064340 a m e f o r m a s P R E M 0064360 O V E F N a b o v e . I f 0064400 t h e W H E N M O V E D F N 0064420 r e t u r n s t h e v a l 0064440 u e s D O N ' T , t h e e 0064460 l e m e n t s w i l l n o t 0064500 b e m o v e d . I f i 0064520 t r e t u r n s a p o s i 0064540 t i o n , t h e y w i l l 0064560 b e m o v e d b y t h a t 0064600 d e l t a . N o t e : t 0064620 h e W H E N M O V E D F N w 0064640 i l l a l s o b e c a l l 0064660 e d i f t h e u s e r u 0064700 n d o e s o r r e d o e s 0064720 a m o v e e v e n t . \r P R 0064740 E C O P Y F N ( V I E W E R 0064760 E L E M E N T S ) C a l l e d 0065000 w h e n t h e u s e r h 0065020 a s i n d i c a t e d t h a 0065040 t t h e y w a n t t o c 0065060 o p y E L E M E N T S . I 0065100 f r e t u r n s a p o s i 0065120 t i o n , t h e c o p i e s 0065140 w i l l b e d i s p l a c 0065160 e d b y t h a t d e l t a 0065200 f r o m t h e o r i g i n 0065220 a l s . I f r e t u r n s 0065240 D O N ' T , d o e s n o t 0065260 h i n g . ( N o t y e t 0065300 i m p l e m e n t e d f e a t 0065320 u r e : t e l l m e i f 0065340 y o u w a n t i t . I f 0065360 r e t u r n s a n l i s t 0065400 o f E L E M E N T S , p o 0065420 s i t i o n s t h o s e i n 0065440 s t e a d o f m a k i n g 0065460 a c o p y . ) \r W H E N C O 0065500 P I E D F N ( V I E W E R E 0065520 L E M E N T S D E L T A P O S 0065540 I T I O N ) C a l l e d a 0065560 f t e r t h e u s e r h a 0065600 s i n d i c a t e d w h e r 0065620 e t o p l a c e t h e c 0065640 o p y . T h e n e w p o 0065660 s i t i o n w i l l b e o 0065700 f f s e t f r o m t h e o 0065720 r i g i n a l o n e b y t 0065740 h e a m o u n t o f x a 0065760 n d y i n t h e p o s i 0066000 t i o n D E L T A P O S I T I 0066020 O N . I f i t r e t u r 0066040 n s a p o s i t i o n , t 0066060 h e c o p i e s w i l l b 0066100 e o f f s e t b y t h a t 0066120 a m o u n t i n s t e a d . 0066140 I f i t r e t u r n s 0066160 a l i s t o f e l e m e n 0066200 t s , t h o s e e l e m e n 0066220 t s a r e i n s e r t e d 0066240 i n s t e a d . N o t e : 0066260 t h e w h e n a d d e d f 0066300 u n c t i o n w i l l b e 0066320 c a l l e d f o r t h e c 0066340 o p y o f e a c h e l e m 0066360 e n t o n E L E M E N T S 0066400 t h a t i s a c t u a l l y 0066420 p l a c e d . \r W H E N G R O 0066440 U P E D F N ( V I E W E R E 0066460 L E M E N T S ) C a l l e d 0066500 b e f o r e a c o l l e c 0066520 t i o n o f e l e m e n t s 0066540 E L E M E N T S i s m a d 0066560 e i n t o a g r o u p . 0066600 T h e w h e n g r o u p e d 0066620 f n c a n r e t u r n D O 0066640 N ' T i n w h i c h c a s 0066660 e t h e g r o u p i n g w 0066700 i l l n o t h a p p e n ; 0066720 a l i s t o f e l e m e n 0066740 t s i n w h i c h c a s e 0066760 t h e r e t u r n e d e l 0067000 e m e n t s w i l l b e g 0067020 r o u p e d ; o r a n y t h 0067040 i n g e l s e i n w h i c 0067060 h c a s e E L E M E N T S 0067100 w i l l b e g r o u p e d . 0067120 N o t e : t h e w h e n 0067140 a d d e d f n w i l l N 0067160 O T b e c a l l e d o n 0067200 t h e n e w l y c r e a t e 0067220 d G R O U P e l e m e n t . 0067240 N o r a r e t h e w h 0067260 e n d e l e t e d f n s c 0067300 a l l e d o n E L E M E N T 0067320 S . \r W H E N U N G R O U P E D 0067340 F N ( V I E W E R G R O U P 0067360 E L E M E N T ) C a l l e d 0067400 b e f o r e a g r o u p 0067420 e l e m e n t i s u n g r o 0067440 u p e d . I f i t r e t 0067460 u r n s D O N ' T , G R O U 0067500 P E L E M E N T w i l l N O 0067520 T b e u n g r o u p e d . 0067540 O t h e r w i s e , i t w 0067560 i l l . \r B U T T O N E V E N T 0067600 I N F N ( V I E W E R E L E 0067620 M E N T ) c a l l e d i f 0067640 a b u t t o n e v e n t ( 0067660 d o w n t r a n s i t i o n ) 0067700 o c c u r s i n t h e A 0067720 C T I V E R E G I O N o f E 0067740 L E M E N T . \r W H E N D E 0067760 F A U L T S E T F N ( V I E W 0070000 E R P R O P E R T Y C h a n 0070020 g e S p e c ) ( * * * N o t 0070040 y e t i m p l e m e n t e d 0070060 ) \r P R E C H A N G E F N ( V 0070100 I E W E R E L E M E N T C h 0070120 a n g e S p e c ) C a l l e d 0070140 w h e n t h e u s e r h 0070160 a s r e q u e s t e d a c 0070200 h a n g e b e m a d e t o 0070220 a n e l e m e n t t h r u 0070240 t h e u s e r i n t e r f 0070260 a c e . T h e P R E C H A 0070300 N G E F N c a n r e t u r n 0070320 : N I L i n w h i c h c 0070340 a s e t h e c h a n g e i 0070360 s m a d e ; t h e a t o m 0070400 D O N ' T i n w h i c h 0070420 c a s e t h e c h a n g e 0070440 w i l l n o t b e m a d e 0070460 ; o r a n e w c h a n g 0070500 e s p e c i f i c a t i o n 0070520 t h a t i s u s e d i n s 0070540 t e a d o f t h e p r o p 0070560 o s e d o n e . \r W H E N C 0070600 H A N G E D F N ( V I E W E R 0070620 E L E M E N T P R O P E R T 0070640 Y N E W V A L U E O L D V A 0070660 L U E ) C a l l e d w h e 0070700 n e v e r a p r o p e r t y 0070720 i s c h a n g e d . A n 0070740 i n t e r a c t i v e e d i 0070760 t o p e r a t i o n w i l l 0071000 r e s u l t i n a c a l 0071020 l o n t h e W H E N C H A 0071040 N G E D F N f o r e a c h 0071060 e l e m e n t t h a t i s 0071100 c h a n g e d . I f i t 0071120 r e t u r n s D O N ' T , t 0071140 h e c h a n g e w o n ' t 0071160 b e m a d e . \r I t i s a 0071200 l s o c a l l e d b y t h 0071220 e d e l e t e p o i n t c 0071240 o m m a n d w i t h p r o p 0071260 e r t y ' D A T A a n d t 0071300 h e n e w a n d o l d l 0071320 i s t o f c o n t r o l p 0071340 o i n t s . A n d a f t e 0071360 r i n t e r a c t i v e e d 0071400 i t i n g o n t e x t o r 0071420 t e x t b o x e s w i t h 0071440 p r o p e r t y ' D A T A t 0071460 h e n e w a n d o l d l 0071500 i s t o f c h a r a c t e r 0071520 s t r i n g s . A n d w 0071540 h e n t h e c o n t r o l 0071560 p o i n t o f a g r o u p 0071600 i s m o v e d w i t h p 0071620 r o p e r t y ' P O S I T I O 0071640 N . \r I n t h e c a s e o 0071660 f t h e u s e r a d d i n 0071700 g a b o x a r o u n d a 0071720 t e x t e l e m e n t , t 0071740 h e s p e c i a l p r o p e 0071760 r t y H A S B O X i s u s 0072000 e d a n d N E W V A L U E 0072020 i s t h e n e w e l e m e 0072040 n t t h a t i s o f t y 0072060 p e T E X T B O X a n d O 0072100 L D V A L U E i s t h e o 0072120 l d e l e m e n t t h a t 0072140 w i l l h a v e t y p e T 0072160 E X T . I n t h e c a s 0072200 e o f t h e u s e r a d 0072220 d i n g a b o x a r o u n 0072240 d a t e x t e l e m e n t 0072260 , t h e s p e c i a l p r 0072300 o p e r t y H A S B O X i s 0072320 u s e d a n d N E W V A L 0072340 U E i s t h e n e w e l 0072360 e m e n t t h a t i s o f 0072400 t y p e T E X T a n d O 0072420 L D V A L U E i s t h e o 0072440 l d e l e m e n t t h a t 0072460 w i l l h a v e t y p e T 0072500 E X T B O X . I n t h e 0072520 c a s e o f a l o o k s 0072540 a m e o p e r a t i o n , m 0072560 o r e t h a n o n e p r o 0072600 p e r t y i s c h a n g e d 0072620 i n o n e o p e r a t i o 0072640 n . I n t h i s c a s e 0072660 , t h e s p e c i a l p r 0072700 o p e r t y ' L O O K S A M E 0072720 i s u s e d w i t h t h 0072740 e N E W V A L U E b e i n g 0072760 t h e n e w t e x t e l 0073000 e m e n t a n d O L D V A L 0073020 U E b e i n g t h e o l d 0073040 t e x t e l e m e n t . \r I 0073060 n t h e c a s e o f a 0073100 c h a n g e c o m m a n d b 0073120 e i n g a p p l i e d t o 0073140 a g r o u p e l e m e n t , 0073160 t h e f o l l o w i n g c 0073200 a l l s a r e m a d e . 0073220 T h e P R E C H A N G E F N 0073240 i s c a l l e d w i t h t 0073260 h e g r o u p e l e m e n t 0073300 o r e l e m e n t s b e 0073320 i n g o n t h e l i s t 0073340 o f E L E M E N T S . T h 0073360 e W H E N C H A N G E D F N 0073400 i s c a l l e d w i t h e 0073420 a c h i n d i v i d u a l s 0073440 u b e l e m e n t o f t h e 0073460 g r o u p g i v i n g t h 0073500 e p r o p e r t y , n e w 0073520 a n d o l d v a l u e s f 0073540 o r t h a t s u b e l e m e 0073560 n t . T h e n t h e W H 0073600 E N C H A N G E D F N i s c 0073620 a l l e d f o r t h e g r 0073640 o u p e l e m e n t w i t h 0073660 t h e p r o p e r t y D A 0073700 T A a n d t h e n e w v 0073720 a l u e b e i n g t h e l 0073740 i s t o f n e w , c h a n 0073760 g e d s u b e l e m e n t s 0074000 a n d t h e o l d v a l u 0074020 e s b e i n g t h e p r e 0074040 v i o u s s u b e l e m e n t 0074060 s . ( A n y s u b e l e m 0074100 e n t s t h a t w e r e n 0074120 o t c h a n g e d b y t h 0074140 e c o m m a n d a r e t h 0074160 e s a m e . ) N o t e : 0074200 I f t h i s c h a n g e i 0074220 s u n d o n e , t h e o n 0074240 l y c a l l w i l l b e 0074260 W H E N C H A N G E D w i t h 0074300 t h e n e w g r o u p e 0074320 l e m e n t a s E L E M E N 0074340 T , P R O P E R T Y b e i n 0074360 g D A T A , N E W V A L U E 0074400 b e i n g t h e o r i g i 0074420 n a l l i s t o f s u b e 0074440 l e m e n t s a n d O L D V 0074460 A L U E b e i n g t h e c 0074500 h a n g e l i s t o f s u 0074520 b e l e m e n t s . \r S p e c 0074540 i f i c a t i o n o f a r g 0074560 u m e n t s t o t h e C h 0074600 a n g e o p e r a t i o n \r T 0074620 h e t h i r d a r g u m e n 0074640 t p a s s e d t o t h e 0074660 P R E C H A N G E F N i s a 0074700 l i s t o f t w o e l e 0074720 m e n t s : t h e n a m e 0074740 o f t h e p r o p e r t y 0074760 b e i n g c h a n g e d a n 0075000 d t h e s p e c i f i c a t 0075020 i o n f o r h o w i t s 0075040 h o u l d c h a n g e . L 0075060 i s t e d b e l o w a r e 0075100 t h e p o s s i b l e p r o 0075120 p e r t i e s a n d c h a n 0075140 g e s p e c i f i c a t i o n 0075160 s . \r L i n e o r b r u s h 0075200 p r o p e r t i e s \r ( S I Z 0075220 E { L A R G E R S M A L L E 0075240 R " a n u m b e r " } ) \r ( 0075260 S H A P E { R O U N D S Q U 0075300 A R E V E R T I C A L H O R 0075320 I Z O N T A L D I A G O N A L 0075340 } ) \r ( D A S H I N G { N O N 0075360 E , " a d a s h i n g l i 0075400 s t " } ) \r ( F I L L I N G { 0075420 N O N E , " a t e x t u r e 0075440 " } ) \r ( B R U S H C O L O R 0075460 " a c o l o r " ) \r ( F I L L 0075500 I N G C O L O R { N O N E , 0075520 " a c o l o r " } \r ( A R R O 0075540 W ( < W h i c h E n d > < A 0075560 r r o w C h a n g e S p e c > ) 0075600 ) \r w h e r e < W h i c h E 0075620 n d > : = { F I R S T , L 0075640 A S T , L E F T , R I G H T 0075660 , B O T H } \r a n d < A r 0075700 r o w C h a n g e S p e c > : 0075720 = { A D D , D E L E T E , 0075740 W I D E R , N A R R O W E R , 0075760 L A R G E R , S M A L L E R 0076000 , O P E N , C L O S E D , 0076020 C U R V E , S O L I D o r 0076040 ( S A M E . " a n a r 0076060 r o w h e a d s p e c " ) } \r 0076100 T e x t p r o p e r t i e s \r 0076120 ( T E X T { S M A L L E R , 0076140 L A R G E R , B O L D , U N 0076160 B O L D , I T A L I C , U N 0076200 I T A L I C , C E N T E R , 0076220 L E F T , R I G H T , T O P 0076240 , B O T T O M , M I D D L E 0076260 , B A S E L I N E , B O X , 0076300 U N B O X } ) \r ( N E W F O N 0076320 T " a f o n t l i s t " ) 0076340 \r ( S E T S I Z E " a f o n 0076360 t l i s t " ) \r ( S A M E " 0076400 t e x t o r t e x t b o x 0076420 e l e m e n t . " ) \r ( F A M 0076440 I L Y & S I Z E " a f o n 0076460 t l i s t " ) \r A r c p r o 0076500 p e r t i e s \r ( A N G L E " 0076520 n u m b e r o f d e g r e e 0076540 s " ) \r ( D I R E C T I O N { 0076560 C L O C K W I S E , C O U N T 0076600 E R C L O C K W I S E } ) \r C u 0076620 r v e p r o p e r t i e s \r ( 0076640 A D D P O I N T ( A f t e r P 0076660 o i n t N e w P o i n t ) ) \r 0076700 ( D E L E T E P O I N T P o 0076720 i n t ) \r B i t M a p p r o p 0076740 e r t i e s \r E D I T \r G r o u 0076760 p p r o p e r t i e s \r P O S 0077000 I T I O N - c a l l e d 0077020 b e f o r e t h e c o n t 0077040 r o l p o i n t o f a g 0077060 r o u p i s r e p o s i t i 0077100 o n e d . \r C h a n g i n g e 0077120 l e m e n t s s i m i l a r 0077140 t o t h e i n t e r a c t i 0077160 v e i n t e r f a c e \r T h e 0077200 p r o p e r t i e s o f e 0077220 l e m e n t s c a n b e c 0077240 h a n g e d b y u s i n g 0077260 P U T S K E T C H E L E M E N T 0077300 P R O P . I n a d d i t i 0077320 o n , t h e f o l l o w i n 0077340 g f u n c t i o n s s u p p 0077360 l i e s t h e c a p a b i l 0077400 i t i e s o f t h e C H A 0077420 N G E c o m m a n d t o d 0077440 o r e l a t i v e c h a n g 0077460 e s . \r ( S K E T C H . C H A N 0077500 G E . E L E M E N T S E L E M 0077520 E N T S C H A N G E S P E C s 0077540 S K E T C H T O U P D A T E 0077560 A D D H I S T O R Y ? ) \r C h 0077600 a n g e s t h e e l e m e n 0077620 t s E L E M E N T S a c c o 0077640 r d i n g t o t h e c h a 0077660 n g e s p e c i f i c a t i o 0077700 n s C H A N G E S P E C s . 0077720 I f S K E T C H T O U P D A T 0077740 E i s a v i e w e r o r 0077760 a s k e t c h . i t w i 0100000 l l b e u p d a t e d . 0100020 I f A D D H I S T O R Y i s 0100040 n o n - N I L , t h e c h 0100060 a n g e s w i l l b e a d 0100100 d e d t o t h e h i s t o 0100120 r y l i s t o f S K E T C 0100140 H T O U P D A T E w h i c h 0100160 s h o u l d b e a v i e w 0100200 e r . C H A N G E S P E C s 0100220 c a n b e a l i s t o 0100240 f t h e l i n e , b r u s 0100260 h , t e x t o r a r c p 0100300 r o p e r t i e s , e . g . 0100320 ( ( T E X T B O L D ) ( S I Z 0100340 E L A R G E R ) ( D A S H I N 0100360 G ( 3 1 2 1 ) ) . T 0100400 h e c h a n g e s w i l l 0100420 b e a p p l i e d t o a n 0100440 y e l e m e n t s f o r w 0100460 h i c h t h e y m a k e s 0100500 e n s e . \r C l e a r i n g o 0100520 u t t h e i n t e r a c t i 0100540 v e e d i t i n g c h a n g 0100560 e \r I n o r d e r t o a v 0100600 o i d c a l l i n g t h e 0100620 W H E N C H A N G E D F N e a 0100640 c h t i m e a c h a r a c 0100660 t e r i n a t e x t o r 0100700 t e x t b o x e l e m e n t 0100720 i s c h a n g e d b y i 0100740 n t e r a c t i v e e d i t i 0100760 n g , t h e c h a r a c t e 0101000 r s a r e " b a t c h e d " 0101020 u n t i l t h e u s e r 0101040 p e r f o r m s s o m e o t 0101060 h e r a c t i o n ( s u c h 0101100 a s m o v e t h e c a r 0101120 e t ) w h i c h i n d i c a 0101140 t e s t h a t t h e y a r 0101160 e t h r o u g h w i t h t 0101200 h e e d i t . A t t h i 0101220 s t i m e , a c h a n g e 0101240 e v e n t i s p u t o n 0101260 t h e u n d o l i s t a 0101300 n d t h e W H E N C H A N G 0101320 E D F N i s c a l l e d g 0101340 i v i n g a l l o f t h e 0101360 c h a r a c t e r s t y p e 0101400 d . I n s o m e i n s t 0101420 a n c e s , t h e a p p l i 0101440 c a t i o n m a y w a n t 0101460 t o f o r c e t h i s c l 0101500 o s i n g o f t h e i n t 0101520 e r a c t i v e c h a n g e 0101540 e v e n t t o m a k e s u 0101560 r e i t h a s b e e n n 0101600 o t i f i e d ( v i a t h e 0101620 W H E N C H A N G E D F N ) 0101640 o f a l l o f t h e c h 0101660 a r a c t e r s t y p e d . 0101700 T h e f o l l o w i n g f 0101720 u n c t i o n p e r f o r m s 0101740 t h i s a c t i o n . ( 0101760 N o t e : i f y o u f i n 0102000 d y o u r s e l f u s i n g 0102020 t h i s i n p l a c e s 0102040 w h e r e y o u t h i n k 0102060 t h e s y s t e m o u g h t 0102100 t o h a v e k n o w n t 0102120 h a t t h e u s e r h a d 0102140 f i n i s h e d e d i t i n 0102160 g , p l e a s e l e t m e 0102200 k n o w . ) \r ( S K E T C H . 0102220 C L E A N U P S K E T C H ) \r 0102240 I f t h e u s e r h a s 0102260 e d i t e d ( i s i n t h 0102300 e p r o c e s s o f e d i 0102320 t i n g ) a t e x t o r 0102340 t e x t b o x , i t c r e a 0102360 t e s a n u n d o e v e n 0102400 t f o r t h e e d i t a 0102420 n d c a l l s t h e W H E 0102440 N C H A N G E D F N f o r i 0102460 t . I t i s s l i g h t 0102500 l y f a s t e r i f S K E 0102520 T C H i s a v i e w e r . 0102540 \r M o v i n g a n d C o p y 0102560 i n g S k e t c h E l e m e 0102600 n t s \r I n d i v i d u a l c 0102620 o n t r o l p o i n t s c a 0102640 n b e m o v e d b y c a 0102660 l l i n g P U T S K E T C H E 0102700 L E M E N T P R O P w i t h 0102720 t h e a p p r o p r i a t e 0102740 p r o p e r t y ; e . g . 1 0102760 S T C O N T R O L P T , 2 N D 0103000 C O N T R O L P T , 3 R D C O 0103020 N T R O L P T o r D A T A . 0103040 F u n c t i o n s a r e 0103060 p r o v i d e d t o m o v e 0103100 a c o l l e c t i o n o f 0103120 e l e m e n t s . \r ( S K E T 0103140 C H . M O V E . E L E M E N T S 0103160 E L E M E N T S D E L T A 0103200 S K E T C H T O U P D A T E 0103220 A D D H I S T O R Y ? ) \r M o v 0103240 e s t h e e l e m e n t s 0103260 E L E M E N T S b y t h e 0103300 a m o u n t o f p o s i t i 0103320 o n D E L T A ( X C O O R D 0103340 g i v e s x a m o u n t , 0103360 Y C O O R D g i v e s y 0103400 d e l t a ) a n d u p d a t 0103420 e s t h e v i e w e r s o 0103440 n S K E T C H T O U P D A T E 0103460 i f i t i s g i v e n . 0103500 I t d o e s c a l l t 0103520 h e e l e m e n t s W H E N 0103540 M O V E D F N . W h e n t 0103560 h e W H E N M O V E D F N i 0103600 s c a l l e d , i f S K E 0103620 T C H T O U P D A T E i s a 0103640 w i n d o w , i t w i l l 0103660 b e p a s s e d a s t h 0103700 e v i e w e r ; o t h e r w 0103720 i s e a n o p e n v i e w 0103740 e r o n t o i t , o r N 0103760 I L i f t h e r e i s n 0104000 o t o p e n v i e w e r , 0104020 w i l l b e p a s s e d . 0104040 I f A D D H I S T O R Y ? 0104060 i s n o n - N I L , i n f o 0104100 r m a t i o n a b o u t t h 0104120 e m o v e e v e n t t h a 0104140 t p e r m i t s t h e e v 0104160 e n t t o b e u n d o n e 0104200 w i l l b e p u t o n 0104220 t h e v i e w e r . I t 0104240 r e t u r n s a l i s t 0104260 o f t h e m o v e d e l e 0104300 m e n t s . \r ( S K E T C H . C 0104320 O P Y . E L E M E N T S E L E 0104340 M E N T S S K E T C H T O U P 0104360 D A T E D E L T A A D D H 0104400 I S T O R Y ? ) \r C o p i e s 0104420 t h e e l e m e n t s E L E 0104440 M E N T S m o v i n g t h e 0104460 m b y t h e a m o u n t 0104500 o f p o s i t i o n D E L T 0104520 A ( X C O O R D g i v e s 0104540 x a m o u n t , Y C O O R D 0104560 g i v e s y d e l t a ) 0104600 a n d u p d a t e s t h e 0104620 v i e w e r s o n S K E T C 0104640 H T O U P D A T E i f i t 0104660 i s g i v e n . I f D E 0104700 L T A i s N I L , t h e 0104720 c o p i e s w i l l n o t 0104740 b e m o v e d . I f S K 0104760 E T C H T O U P D A T E i s 0105000 a s k e t c h , t h e c o 0105020 p i e s w i l l b e a d d 0105040 e d t o i t . I n a n 0105060 y c a s e , t h e c o p i 0105100 e s a r e r e t u r n e d . 0105120 I t d o e s c a l l t 0105140 h e e l e m e n t s W H E N 0105160 C O P I E D F N . W h e n 0105200 t h e W H E N C O P I E D F N 0105220 i s c a l l e d , i f S 0105240 K E T C H T O U P D A T E i s 0105260 a w i n d o w , i t w i 0105300 l l b e p a s s e d a s 0105320 t h e v i e w e r ; o t h e 0105340 r w i s e a n o p e n v i 0105360 e w e r o n t o i t , o r 0105400 N I L i f t h e r e i s 0105420 n o t o p e n v i e w e r 0105440 , w i l l b e p a s s e d 0105460 . I f A D D H I S T O R Y 0105500 ? i s n o n - N I L , i n 0105520 f o r m a t i o n a b o u t 0105540 t h e m o v e e v e n t t 0105560 h a t p e r m i t s t h e 0105600 e v e n t t o b e u n d o 0105620 n e w i l l b e p u t o 0105640 n t h e v i e w e r . \r * * 0105660 * n e e d w a y t o p e 0105700 r f o r m t r a n s f o r m a 0105720 t i o n s ( 2 a n d 3 p 0105740 t ) o n e l e m e n t s . \r 0105760 F u n c t i o n s t o u s e 0106000 f o r w r i t i n g M o v 0106020 e f u n c t i o n s \r O n e 0106040 u s e f u l c a p a b i l i t 0106060 y f o r s o m e a p p l i 0106100 c a t i o n s i s t o r e 0106120 s t r i c t t h e p l a c e 0106140 s w h e r e t h e u s e r 0106160 c a n m o v e c e r t a i 0106200 n e l e m e n t s . A n 0106220 e x a m p l e w o u l d b e 0106240 r e s t r i c t i n g t h e 0106260 p l a c e m e n t o f a 0106300 c i r c l e s o t h a t t 0106320 h e c e n t e r i s o n 0106340 a l i n e . T o i m p l 0106360 e m e n t t h i s , t h e 0106400 s k e t c h s h o u l d b e 0106420 g i v e n a P R E M O V E 0106440 F N p r o p e r t y o f a 0106460 f u n c t i o n t h a t p 0106500 r o m p t s t h e u s e r 0106520 f o r a p o i n t i m p o 0106540 s i n g t h e d e s i r e d 0106560 c o n s t r a i n t s a n d 0106600 r e t u r n s t h e a m o 0106620 u n t t h e e l e m e n t s 0106640 s h o u l d b e m o v e d 0106660 a s a p o s i t i o n ( 0106700 t h e d e l t a x a m o u 0106720 n t i n t h e X C O O R D 0106740 , t h e d e l t a y a m 0106760 o u n t i n t h e Y C O O 0107000 R D ) . A u s e f u l s 0107020 u b f u n c t i o n f o r t 0107040 h i s i s S K E T C H . T R 0107060 A C K . E L E M E N T S ( d e 0107100 s c r i b e d b e l o w ) t 0107120 h a t t r a c k s a n i m 0107140 a g e i n t h e s k e t c 0107160 h w i n d o w a c c o r d i 0107200 n g t o a u s e r p r o 0107220 v i d e d c o n s t r a i n t 0107240 f u n c t i o n . \r ( S K E T 0107260 C H . T R A C K . E L E M E N T 0107300 S E L E M E N T S V I E W E 0107320 R C O N S T R A I N T F N H 0107340 O T S P O T P R O M P T M S G 0107360 C O N S T R A I N T D A T A 0107400 F E E D B A C K F N N O I N I 0107420 T I A L E R A S E F L G N O F 0107440 I N A L P A I N T F L G ) \r E L 0107460 E M E N T S i s a l i s t 0107500 o f s k e t c h e l e m e 0107520 n t s . V I E W E R i s 0107540 a s k e t c h v i e w e r . 0107560 H O T S P O T i s a p 0107600 o s i t i o n , u s u a l l y 0107620 w i t h t h e r e g i o n 0107640 o c c u p i e d b y E L E 0107660 M E N T S . S K E T C H . T 0107700 R A C K . E L E M E N T S c r 0107720 e a t e s a n i m a g e o 0107740 f E L E M E N T S a n d c 0107760 a u s e s i t t o f o l l 0110000 o w t h e c u r s o r w i 0110020 t h H O T S P O T b e i n g 0110040 a t t h e c u r s o r p 0110060 o s i t i o n . E a c h t 0110100 i m e t h e c u r s o r m 0110120 o v e s , C O N S T R A I N T 0110140 F N i s c a l l e d w i t 0110160 h t h e n e w p o s i t i 0110200 o n o f H O T S P O T i n 0110220 s k e t c h c o o r d i n a 0110240 t e s , V I E W E R a n d 0110260 C O N S T R A I N T D A T A a 0110300 s a r g u m e n t s . I f 0110320 i t r e t u r n s a p o 0110340 s i t i o n , t h e i m a g 0110360 e w i l l b e d i s p l a 0110400 y e d a t t h a t p o s i 0110420 t i o n r a t h e r t h a n 0110440 a t t h e c u r s o r p 0110460 o s i t i o n . I f i t 0110500 r e t u r n s a n y t h i n g 0110520 e l s e , t h e i m a g e 0110540 w i l l b e p o s i t i o 0110560 n e d a t t h e c u r s o 0110600 r . ( I t i s o k f o 0110620 r C O N S T R A I N T F N t 0110640 o s m a s h i t s p o s i 0110660 t i o n a r g u m e n t b u 0110700 t i t m u s t a l s o r 0110720 e t u r n i t t o h a v e 0110740 t h e c h a n g e n o t i 0110760 c e d . ) I f H O T S P O 0111000 T i s N I L , t h e 1 S 0111020 T C O N T R O L P T o f t h 0111040 e f i r s t e l e m e n t 0111060 i s u s e d a s t h e h 0111100 o t s p o t . W h e n t h 0111120 e u s e r r e l e a s e s 0111140 t h e b u t t o n , S K E T 0111160 C H . T R A C K . E L E M E N T 0111200 S r e t u r n s t h e d e 0111220 l t a b e t w e e n t h e 0111240 o r i g i n a l p o s i t i o 0111260 n o f t h e H O T S P O T 0111300 a n d t h e p o s i t i o 0111320 n o f t h e c u r s o r . 0111340 ( T h i s i s t h e v 0111360 a l u e t h a t t h e P R 0111400 E M O V E F N n e e d s t o 0111420 r e t u r n t o g e t S 0111440 k e t c h t o d o t h e 0111460 m o v e . ) I f t h e i 0111500 m a g e i s c o m p l e t e 0111520 l y o u t s i d e t h e v 0111540 i e w e r a t t h e t i m 0111560 e t h e b u t t o n i s 0111600 r e l e a s e d , N I L i s 0111620 r e t u r n e d . \r I f F E 0111640 E D B A C K F N i s n o n - 0111660 N I L , i t w i l l b e 0111700 c a l l e d t w i c e e a c 0111720 h t i m e t h e p o s i t 0111740 i o n m o v e s ; o n c e 0111760 f o r t h e o l d p o s i 0112000 t i o n a n d o n c e f o 0112020 r t h e n e w o n e . 0112040 I t s h o u l d d i s p l a 0112060 y w h a t e v e r i t w a 0112100 n t s i n I N V E R T m o 0112120 d e . I t i s c a l l e 0112140 d w i t h a r g u m e n t s 0112160 : t h e X a n d Y c o 0112200 o r d i n a t e s o f t h e 0112220 p o s i t i o n o f H O T 0112240 S P O T i n v i e w e r c 0112260 o o r d i n a t e s , V I E W 0112300 E R a n d C O N S T R A I N 0112320 T D A T A a s a r g u m e n 0112340 t s , a f t e r t h e C O 0112360 N S T R A I N T F N h a s b 0112400 e e n c a l l e d . N 0112420 o t e : t h e F E E D B A C 0112440 K F N m u s t w o r k i n 0112460 w i n d o w c o o r d i n a 0112500 t e s , N O T s k e t c h 0112520 c o o r d i n a t e s . T h 0112540 e f u n c t i o n s V I E W 0112560 E R . T O . S K E T C H . P O S 0112600 I T I O N a n d S K E T C H 0112620 . T O . V I E W E R . P O S I T 0112640 I O N p r o v i d e m e a n 0112660 s o f m a p p i n g f r o 0112700 m s k e t c h t o v i e w 0112720 e r c o o r d i n a t e s , 0112740 t h o u g h t h e y d o c 0112760 r e a t e s t o r a g e w h 0113000 i c h i s i n a p p r o p r 0113020 i a t e f o r m a n y f e 0113040 e d b a c k a p p l i c a t i 0113060 o n s . T h e f u n c t i 0113100 o n ( V I E W E R . S C A L E 0113120 V I E W E R ) r e t u r n s 0113140 t h e n u m b e r t o m 0113160 u l t i p l y a w i n d o w 0113200 v a l u e b y t o g e t 0113220 a s k e t c h c o o r d i 0113240 n a t e v a l u e . T h i 0113260 s i s d o n e t h i s w 0113300 a y s o t h a t F E E D B 0113320 A C K F N c a n c a l l r 0113340 e g u l a r I n t e r l i s p 0113360 f u n c t i o n s t o d r 0113400 a w t h e f e e d b a c k . 0113420 \r U n l e s s N O I N I T I A 0113440 L E R A S E F L G i s n o n 0113460 - N I L , t h e e l e m e n 0113500 t s w i l l b e e r a s e 0113520 d f r o m t h e d i s p l 0113540 a y b e f o r e t h e f i 0113560 r s t c a l l t o F E E D 0113600 B A C K F N . U n l e s s 0113620 N O F I N A L P A I N T F L G 0113640 i s n o n - N I L , t h e 0113660 e l e m e n t s w i l l b e 0113700 p a i n t e d o n t h e 0113720 d i s p l a y a f t e r t h 0113740 e l a s t c a l l t o F 0113760 E E D B A C K F N . \r I f P R 0114000 O M P T M S G i s n o n - N 0114020 I L , i t w i l l b e p 0114040 r i n t e d i n t h e s k 0114060 e t c h v i e w e r s t a t 0114100 u s w i n d o w w h i l e 0114120 t h e i m a g e i s t r a 0114140 c k i n g . \r E x a m p l e o 0114160 f c o n s t r a i n i n g m 0114200 o v e s \r T h e f o l l o w i 0114220 n g e x a m p l e w i l l 0114240 c o n s t r a i n t h e M o 0114260 v e c o m m a n d s o t h 0114300 a t w h o l e e l e m e n t 0114320 s c a n o n l y b e p l 0114340 a c e d o n a d i a g o n 0114360 a l l i n e i n w h i c h 0114400 X = Y . I t w i l l n 0114420 o t e f f e c t t h e p o 0114440 i n t m o v i n g c o m m a 0114460 n d s t h o u g h i t w i 0114500 l l e f f e c t M o v e P 0114520 o i n t s c o m m a n d s i 0114540 n w h i c h a l l o f t 0114560 h e c o n t r o l p o i n t 0114600 s o f a t l e a s t o n 0114620 e e l e m e n t h a v e b 0114640 e e n s e l e c t e d . I 0114660 f t h e r e w e r e u s e 0114700 d i n a n a c t u a l a 0114720 p p l i c a t i o n , i t w 0114740 o u l d m a k e m o r e s 0114760 e n s e t o g r o u p a l 0115000 l t h e e l e m e n t s s 0115020 o t h a t e a c h h a d 0115040 o n l y o n e c o n t r o l 0115060 p o i n t . \r ( * c r e a t 0115100 e a s k e t c h v i e w e 0115120 r a t a f i x e d l o c 0115140 a t i o n o f t h e s c r 0115160 e e n w i t h a m e n u . 0115200 ) \r ( S E T Q S K E T C H V I 0115220 E W E R ( S K E T C H W . C R 0115240 E A T E N I L N I L ' ( 5 0115260 0 0 3 0 0 4 0 0 ) N I L 0115300 N I L T ) ) \r ( * d e f 0115320 i n e a n d s e t u p t 0115340 h e P R E M O V E F N t h a 0115360 t w i l l r e a d a n e 0115400 w p o s i t i o n f r o m 0115420 t h e u s e r r e s t r i c 0115440 t i n g i t s p o s i t i o 0115460 n . ) \r ( P U T S K E T C H P R 0115500 O P S K E T C H V I E W E R 0115520 ' P R E M O V E F N ' P O S I 0115540 T I O N . O N . D I A G O N A L 0115560 . P R E M O V E F N ) \r ( D E F 0115600 I N E Q \r ( P O S I T I O N . 0115620 O N . D I A G O N A L . P R E M 0115640 O V E F N \r ( L A M B D A 0115660 ( V I E W E R E L E M E N T 0115700 S ) \r ( * P r e m 0115720 o v e f n t h a t r e a d s 0115740 a n e w p o s i t i o n 0115760 f r o m t h e u s e r r e 0116000 s t r i c t i n g i t s p o 0116020 s i t i o n t o b e o n 0116040 a d i a g o n a l . ) \r 0116060 ( S K E T C H . T R A C K . 0116100 E L E M E N T S ( S K . P I C 0116120 K O U T . W H O L E . M O V E . 0116140 E L E M E N T S E L E M E N T 0116160 S ) \r 0116200 V I E W E R ( F U N C T I 0116220 O N O N D I A G O N A L ) ) ) 0116240 ) \r ( S K . P I C K O U T . W 0116260 H O L E . M O V E . E L E M E N 0116300 T S \r ( L A M B D A ( 0116320 M O V E E L T L S T ) \r 0116340 ( * r e t u r n s f 0116360 r o m a l i s t o f s k 0116400 e t c h e l e m e n t s t h 0116420 a t a r e b e i n g m o v 0116440 e d , t h e o n e s t h a 0116460 t w i l l b e c o m p l e 0116500 t e l y m o v e d . S e e 0116520 t h e d i s c u s s i o n 0116540 a b o u t P R E M O V E F N 0116560 f o r a d e s c r i p t i o 0116600 n o f t h e f o r m a t . 0116620 ) \r ( C O N D \r 0116640 ( ( E Q ( C A R M 0116660 O V E E L T L S T ) T ) ( C 0116700 D R M O V E E L T L S T ) ) \r 0116720 ( ( E V E R Y 0116740 ( C A R M O V E E L T L S T ) 0116760 ( F U N C T I O N N U M B E 0117000 R P ) ) N I L ) \r 0117020 ( T ( f o r X i n M 0117040 O V E E L T L S T w h e n ( 0117060 E Q ( C A R X ) T ) c o 0117100 l l e c t ( C D R X ) ) ) ) 0117120 ) ) \r ( O N D I A G O N A L 0117140 \r ( L A M B D A ( P T V 0117160 I E W E R ) \r 0117200 ( * t h e c o n s t r 0117220 a i n t f u n c t i o n f o 0117240 r P O S I T I O N . O N . D I 0117260 A G O N A L . I t m a k e s 0117300 s u r e t h e p t i s 0117320 o n a d i a g o n a l . ) \r 0117340 ( r e p l a c e ( P 0117360 O S I T I O N X C O O R D ) 0117400 o f P T w i t h ( f e t c 0117420 h ( P O S I T I O N Y C O O 0117440 R D ) o f P T ) ) \r 0117460 P T ) ) ) \r ( * a n y m o 0117500 v e s d o n e f r o m S K 0117520 E T C H V I E W E R w i l l 0117540 p l a c e t h e c o n t r o 0117560 l p o i n t o n t h e d 0117600 i a g o n a l . ) \r T o p r 0117620 o m p t t h e u s e r f o 0117640 r e l e m e n t p o s i t i 0117660 o n s \r S o m e i n t e r a c 0117700 t i v e a p p l i c a t i o n 0117720 s m a y w a n t t o r e 0117740 a d v a l u e s f o r s o 0117760 m e o f t h e e l e m e n 0120000 t s f r o m t h e u s e r 0120020 p o s s i b l y w h i l e 0120040 p r o v i d i n g t h e i r 0120060 o w n s p e c i a l p u r p 0120100 o s e f e e d b a c k . T 0120120 h e f o l l o w i n g f u n 0120140 c t i o n p r o v i d e s f 0120160 o r t h i s . \r ( S K E T C H 0120200 . G E T . P O S I T I O N V I 0120220 E W E R C U R S O R F E E D 0120240 B A C K F N F E E D B A C K F 0120260 N D A T A C O N S T R A I N T 0120300 F N ) \r R e a d s a p o s i 0120320 t i o n i n t h e s k e t 0120340 c h v i e w e r V I E W E R 0120360 f r o m t h e u s e r . 0120400 C U R S O R i f a c u r 0120420 s o r w i l l b e t h e 0120440 c u r s o r u s e d w h i l 0120460 e r e a d i n g t h e p o 0120500 s i t i o n . E a c h t i 0120520 m e t h e c u r s o r m o 0120540 v e s , C O N S T R A I N T F 0120560 N i s c a l l e d w i t h 0120600 t h e n e w c u r s o r 0120620 p o s i t i o n i n s k e t 0120640 c h c o o r d i n a t e s , 0120660 V I E W E R a n d F E E D B 0120700 A C K F N D A T A a s a r g 0120720 u m e n t s . I f i t r 0120740 e t u r n s a p o s i t i o 0120760 n , t h e i m a g e w i l 0121000 l b e d i s p l a y e d a 0121020 t t h a t p o s i t i o n 0121040 r a t h e r t h a n a t t 0121060 h e c u r s o r p o s i t i 0121100 o n . I f i t r e t u r 0121120 n s a n y t h i n g e l s e 0121140 , t h e i m a g e w i l l 0121160 b e p o s i t i o n e d a 0121200 t t h e c u r s o r . ( 0121220 I t i s o k f o r C O N 0121240 S T R A I N T F N t o s m a 0121260 s h i t s p o s i t i o n 0121300 a r g u m e n t b u t i t 0121320 m u s t a l s o r e t u r n 0121340 i t t o h a v e t h e 0121360 c h a n g e n o t i c e d . ) 0121400 I f t h e v a l u e r 0121420 e t u r n e d b y C O N S T 0121440 R A I N T F N i s d i f f e 0121460 r e n t f r o m t h e p r 0121500 e v i o u s o n e o r i f 0121520 C O N S T R A I N T F N i s 0121540 N I L , F E E D B A C K F N 0121560 i s c a l l e d w i t h 0121600 t h e n e w X , t h e n 0121620 e w Y , V I E W E R a n d 0121640 F E E D B A C K F N D A T A 0121660 a s a r g u m e n t s . I 0121700 t i s e x p e c t e d t o 0121720 X O R s o m e t h i n g t 0121740 o V I E W E R t h a t t e 0121760 l l s t h e u s e r w h e 0122000 r e h i s p o i n t i s 0122020 g o i n g . N o t e : t h 0122040 e F E E D B A C K F N m u s 0122060 t w o r k i n w i n d o w 0122100 c o o r d i n a t e s , N O 0122120 T s k e t c h c o o r d i n 0122140 a t e s . T h e f u n c t 0122160 i o n s V I E W E R . T O . S 0122200 K E T C H . P O S I T I O N a 0122220 n d S K E T C H . T O . V I E 0122240 W E R . P O S I T I O N p r o 0122260 v i d e w a y s o f m a p 0122300 p i n g f r o m s k e t c h 0122320 t o v i e w e r c o o r d 0122340 i n a t e s . T h e f u n 0122360 c t i o n ( V I E W E R . S C 0122400 A L E V I E W E R ) r e t u 0122420 r n s t h e n u m b e r t 0122440 o m u l t i p l y a w i n 0122460 d o w v a l u e b y t o 0122500 g e t a s k e t c h c o o 0122520 r d i n a t e v a l u e . 0122540 T h i s i s d o n e t h i 0122560 s w a y s o t h a t F E 0122600 E D B A C K F N c a n c a l 0122620 l r e g u l a r I n t e r l 0122640 i s p f u n c t i o n s t o 0122660 d r a w t h e f e e d b a 0122700 c k . \r I f t h e v a l u e 0122720 o f t h e g l o b a l v 0122740 a r i a b l e S K E T C H . U 0122760 S E . P O S I T I O N . P A D 0123000 i s n o n - N I L , a m 0123020 e n u w i l l b e b r o u 0123040 g h t u p t h a t a l l o 0123060 w s t h e u s e r t o i 0123100 n p u t t h e p o s i t i o 0123120 n b y s p e c i f y i n g 0123140 i t s c o o r d i n a t e s 0123160 i n a n u m b e r p a d . 0123200 \r T o l e t t h e u s e r 0123220 s e l e c t a c o l l e c 0123240 t i o n o f e l e m e n t s 0123260 \r S o m e i n t e r a c t i v 0123300 e a p p l i c a t i o n s m 0123320 a y w a n t t o a l l o w 0123340 t h e u s e r t o s p e 0123360 c i f y a c o l l e c t i o 0123400 n o f e l e m e n t s . 0123420 T h e f o l l o w i n g f u 0123440 n c t i o n i s p r o v i d 0123460 e d f o r t h i s . \r ( S K 0123500 E T C H . G E T . E L E M E N T 0123520 S V I E W E R S I N G L E E 0123540 L E M E N T F L G W H I C H O 0123560 N E S ) \r H i g h l i g h t s 0123600 t h e e l e m e n t s i n 0123620 V I E W E R a n d a l l o w 0123640 s t h e u s e r t o s e 0123660 l e c t o n e o r m o r e 0123700 o f t h e m . I f S I 0123720 N G L E E L E M E N T F L G i 0123740 s n o n - N I L , t h e p 0123760 r o t o c o l w i l l o n l 0124000 y a l l o w t h e u s e r 0124020 t o s e l e c t a s i n 0124040 g l e e l e m e n t ; o t h 0124060 e r w i s e , t h e u s e r 0124100 c a n s e l e c t m u l t 0124120 i p l e e l e m e n t s b y 0124140 u s i n g t h e p r o t o 0124160 c o l d e s c r i b e d i n 0124200 t h e S k e t c h m a n u 0124220 a l . W H I C H O N E S e 0124240 f f e c t t h e e l e m e n 0124260 t s w h i c h a r e h i g 0124300 h l i g h t e d a n d , h e 0124320 n c e , s e l e c t a b l e 0124340 b y t h e u s e r . I f 0124360 W H I C H O N E S i s N I 0124400 L , a l l o f t h e e l 0124420 e m e n t s w i l l b e h 0124440 i g h l i g h t e d . I f 0124460 i t i s o n e o f t h e 0124500 a t o m s M O V E , C O P 0124520 Y , D E L E T E , C H A N G 0124540 E , G R O U P , U N G R O U 0124560 P , C O P Y S E L E C T , o 0124600 r T , o n l y e l e m e n 0124620 t s t h a t d o n o t h 0124640 a v e t h a t a t o m o n 0124660 t h e i r P R O T E C T I O 0124700 N p r o p e r t y w i l l 0124720 b e h i g h l i g h t e d . 0124740 I f W H I C H O N E S i s 0124760 a l i s t o f e l e m e 0125000 n t s , o n l y t h e e l 0125020 e m e n t s o n t h a t l 0125040 i s t w i l l b e h i g h 0125060 l i g h t e d . \r 5 . P R O P 0125100 E R T I E S O F S K E T C H 0125120 E L E M E N T S \r A s k e t 0125140 c h e l e m e n t h a s a 0125160 s e t o f p r o p e r t i 0125200 e s . S o m e o f t h e 0125220 s e a r e c o m m o n t o 0125240 a l l e l e m e n t s e . 0125260 g . , T Y P E . S o m e 0125300 a r e c o m m o n t o a 0125320 s u b s e t o f e l e m e n 0125340 t s e . g . , F O N T w h 0125360 i c h o n l y e x i s t s 0125400 f o r T E X T a n d T E X 0125420 T B O X e l e m e n t s . 0125440 A n y p r o p e r t i e s n 0125460 o t l i s t e d h e r e c 0125500 a n b e u s e d t o a s 0125520 s o c i a t e i n f o r m a t 0125540 i o n w i t h e l e m e n t 0125560 s . P u t t i n g a n e 0125600 w v a l u e f o r t h e 0125620 p r o p e r t y o f a n e 0125640 l e m e n t i s t h e s t 0125660 a n d a r d w a y o f c h 0125700 a n g i n g e l e m e n t s . 0125720 \r ( G E T S K E T C H E L 0125740 E M E N T P R O P S K E T C H 0125760 E L E M E N T P R O P E R T Y 0126000 ) \r R e t u r n s t h e v a 0126020 l u e o f t h e p r o p e 0126040 r t y P R O P E R T Y f r o 0126060 m t h e s k e t c h e l e 0126100 m e n t S K E T C H E L E M E 0126120 N T . \r ( P U T S K E T C H E L 0126140 E M E N T P R O P S K E T C H 0126160 E L E M E N T P R O P E R T Y 0126200 V A L U E S K E T C H T O U 0126220 P D A T E ) \r S a v e s V A L 0126240 U E a s t h e p r o p e r 0126260 t y P R O P E R T Y f r o m 0126300 t h e s k e t c h e l e m 0126320 e n t S K E T C H E L E M E N 0126340 T . I t r e t u r n s t 0126360 h e p r e v i o u s v a l u 0126400 e . I f S K E T C H T O U 0126420 P D A T E i s a s k e t c 0126440 h i n w h i c h t h e e 0126460 l e m e n t i s a m e m b 0126500 e r , a n y v i e w e r s 0126520 o n t o i t w i l l b e 0126540 u p d a t e d . \r S o m e t i m 0126560 e s i t i s u s e f u l 0126600 t o m a k e s e v e r a l 0126620 c h a n g e s t o a n e l 0126640 e m e n t o r e l e m e n t 0126660 s a n d t h e n c h a n g 0126700 e t h e d i s p l a y . 0126720 T h e f o l l o w i n g f u 0126740 n c t i o n p r o v i d e s 0126760 t h i s c a p a b i l i t y . 0127000 \r ( S K E T C H . U P D A T E 0127020 S K E T C H E L E M E N T S ) 0127040 \r U p d a t e s t h e d i s 0127060 p l a y o f e l e m e n t s 0127100 E L E M E N T S i n S K E 0127120 T C H . I t d o e s t h 0127140 i s b y e r a s i n g a n 0127160 d r e d r a w i n g t h e m 0127200 . I f E L E M E N T S i 0127220 s N I L , i t u p d a t e 0127240 s t h e S K E T C H b y 0127260 c l e a r i n g i t s v i e 0127300 w e r s a n d r e d r a w i 0127320 n g a l l o f t h e e l 0127340 e m e n t s . I f m a n y 0127360 o f t h e e l e m e n t s 0127400 i n a s k e t c h h a v e 0127420 c h a n g e d , i t m a y 0127440 b e f a s t e r t o u p 0127460 d a t e t h e w h o l e s 0127500 k e t c h t h a n t o e r 0127520 a s e a n d r e d r a w t 0127540 h e c h a n g e d e l e m e 0127560 n t s . T h e a p p l i c 0127600 a t i o n m u s t m a k e 0127620 t h i s d e t e r m i n a t i 0127640 o n . A n o t h e r u s e 0127660 o f t h i s f u n c t i o 0127700 n i s t o n o t i f y s 0127720 k e t c h t h a t t h e i 0127740 m a g e o b j e c t i n a 0127760 n i m a g e o b j e c t e 0130000 l e m e n t h a s c h a n g 0130020 e d . \r T h e f o l l o w i n 0130040 g p r o p e r t i e s a r e 0130060 r e c o g n i z e d b y S 0130100 k e t c h . A n y o t h e 0130120 r s w i l l b e s t o r e 0130140 d a n d r e t u r n e d b 0130160 u t w i l l n o t e f f e 0130200 c t S k e t c h . N o t e 0130220 : n o t a l l e l e m e n 0130240 t s h a v e a l l o f t 0130260 h e p r o p e r t i e s . \r C 0130300 o n t r o l p r o p e r t i e 0130320 s \r T Y P E O n e o f T 0130340 E X T , T E X T B O X , W I 0130360 R E , C L O S E D W I R E , 0130400 O P E N C U R V E , C L O S E 0130420 D C U R V E , C I R C L E , 0130440 A R C , E L L I P S E , B O 0130460 X , S K I M A G E O B J , B 0130500 I T M A P E L T o r G R O U 0130520 P . T h i s c a n n o t 0130540 b e c h a n g e d . \r S C A 0130560 L E T h e s c a l e a t 0130600 w h i c h a n e l e m e n 0130620 t w a s c r e a t e d . F 0130640 o r G R O U P e l e m e n t 0130660 s , t h i s r e t u r n s 0130700 N I L . \r R E G I O N ( * * * 0130720 N o t i m p l e m e n t e d 0130740 y e t . I t i s p l a n n 0130760 e d t o b e t h e r e g 0131000 i o n o c c u p i e d b y 0131020 t h e e l e m e n t ' s i m 0131040 a g e . T e l l t h e i 0131060 m p l e m e n t o r i f y o 0131100 u a r e i n n e e d . ) \r 0131120 A C T I V E R E G I O N T h e 0131140 r e g i o n t h e s k e t 0131160 c h ' s b u t t o n e v e n 0131200 t f n w a t c h e s . T 0131220 h e a c t i v e r e g i o n 0131240 s o f e l e m e n t s t h 0131260 a t a r e c o n t a i n e d 0131300 i n a g r o u p a r e 0131320 n o t w a t c h e d , o n l 0131340 y t h e t o p - l e v e l 0131360 g r o u p e l e m e n t ' s 0131400 a c t i v e r e g i o n i s 0131420 . I f a n e l e m e n t 0131440 h a s a n A C T I V E R E 0131460 G I O N p r o p e r t y , i 0131500 t w i l l b e m o v e d 0131520 i f t h e e l e m e n t i 0131540 s m o v e d b u t N O T 0131560 i f o n l y s o m e o f 0131600 i t s p o i n t s a r e m 0131620 o v e d . \r P O S I T I O N ( 0131640 a l s o 1 S T C O N T R O L P 0131660 T ) T h e f i r s t p o i 0131700 n t f o r w i r e s a n d 0131720 c u r v e s ; c e n t e r 0131740 f o r c i r c l e , a r c s 0131760 , e l l i p s e s ; l o w e 0132000 r l e f t f o r b o x e s 0132020 a n d t e x t b o x e s ; 0132040 t h e c o n t r o l p o i 0132060 n t f o r b i t m a p s , 0132100 t e x t , g r o u p s a n d 0132120 i m a g e o b j e c t e l 0132140 e m e n t s . F o r g r o 0132160 u p s , t h i s m o v e s 0132200 t h e c o n t r o l p o i n 0132220 t w i t h o u t m o v i n g 0132240 t h e g r o u p . T o 0132260 m o v e t h e w h o l e g 0132300 r o u p , u s e t h e f u 0132320 n c t i o n S K E T C H . M O 0132340 V E . E L E M E N T S . \r 2 N D 0132360 C O N T R O L P T T h e s e 0132400 c o n d p o i n t f o r w 0132420 i r e s a n d c u r v e s ; 0132440 r a d i u s p o i n t f o 0132460 r c i r c l e , a r c s a 0132500 n d e l l i p s e s . N I 0132520 L f o r a n y o t h e r 0132540 e l e m e n t s . \r 3 R D C O N 0132560 T R O L P T T h e t h i r d 0132600 p o i n t f o r w i r e s 0132620 a n d c u r v e s ; a n g 0132640 l e p o i n t f o r a r c 0132660 s ; m i n o r r a d i u s 0132700 p o i n t f o r e l l i p s 0132720 e s . N I L f o r a n y 0132740 o t h e r e l e m e n t s . 0132760 \r D A T A T h e b i t m a p 0133000 o r i m a g e o b j e c t 0133020 f o r b i t m a p a n d 0133040 i m a g e o b j e c t e l e 0133060 m e n t s , t h e l i s t 0133100 o f p o i n t s f o r w i 0133120 r e s a n d c u r v e s , 0133140 t h e t e x t f o r t e x 0133160 t a n d t e x t b o x e s , 0133200 l i s t o f e l e m e n t 0133220 s f o r g r o u p s . \r P R 0133240 O T E C T I O N ( M O V E C 0133260 O P Y D E L E T E C H A N G 0133300 E G R O U P U N G R O U P 0133320 C O P Y S E L E C T ) o r T 0133340 = p r o t e c t a g a i n 0133360 s t e v e r y t h i n g e x 0133400 c e p t C O P Y S E L E C T . 0133420 ( C O P Y S E L E C T T ) 0133440 w i l l p r o t e c t a g 0133460 a i n s t e v e r y t h i n g 0133500 . N o t e : h a v i n g 0133520 t h e t o k e n o n t h e 0133540 p r o p e r t y l i s t m 0133560 e a n s t h e o p e r a t i 0133600 o n w i l l N O T b e a 0133620 l l o w e d . F R O Z E N 0133640 h a s t h e s a m e e f f 0133660 e c t a s T a n d i s 0133700 u s e d b y t h e s k e t 0133720 c h c o m m a n d s F r e e 0133740 z e a n d U n f r e e z e 0133760 s o t h a t i s d o e s n 0134000 ' t i n t e r f e r e w i t 0134020 h t h e u s e r s e t v 0134040 a l u e T . T h u s , i 0134060 f y o u w a n t t h e e 0134100 l e m e n t o r i g i n a l l 0134120 y f r o z e n b u t w a n 0134140 t t o a l l o w t h e u 0134160 s e r t o b e a b l e t 0134200 o u n f r e e z e i t , u 0134220 s e t h e a t o m F R O Z 0134240 E N . I f a t e x t o 0134260 r t e x t b o x e l e m e n 0134300 t i s p r o t e c t e d a 0134320 g a i n s t C H A N G E , p 0134340 r e s s i n g t h e l e f t 0134360 b u t t o n i n i t s c 0134400 h a r a c t e r s w i l l n 0134420 o t b e r e c o g n i z e d 0134440 a s a s e l e c t i o n . 0134460 \r P R I A n u m b e r t 0134500 h a t i n d i c a t e s t h 0134520 e p o s i t i o n o f t h 0134540 i s e l e m e n t r e l a t 0134560 i v e t o o t h e r e l e 0134600 m e n t s i n t h e d r a 0134620 w i n g s t a c k . T h i 0134640 s i s o n l y i m p o r t 0134660 a n t i f s o m e o f t 0134700 h e e l e m e n t s i n t 0134720 h e s k e t c h u s e o p 0134740 e r a t i o n s o t h e r t 0134760 h a n P A I N T . \r G r a p h 0135000 i c p r o p e r t i e s \r B R 0135020 U S H T h e b r u s h f 0135040 o r e l e m e n t s t h a t 0135060 h a v e o n e . N I L 0135100 f o r o t h e r e l e m e n 0135120 t s . \r F I L L I N G T h e 0135140 f i l l i n g f o r a n 0135160 e l e m e n t t h a t h a s 0135200 a n e n c l o s e d a r e 0135220 a . ( S e e t h e d e s 0135240 c r i p t i o n o f a f i 0135260 l l i n g i n t h e s e c 0135300 t i o n o n t h e S p e c 0135320 i f i c a t i o n s o f d a 0135340 t a s t r u c t u r e s f o 0135360 r S k e t c h p r o p e r t 0135400 i e s . ) F i l l i n g s 0135420 f o r e l l i p s e s o r 0135440 c l o s e d c u r v e s a r 0135460 e n o t i m p l e m e n t e 0135500 d y e t . \r D A S H I N G 0135520 T h e d a s h i n g l i s t 0135540 f o r e l e m e n t s t h 0135560 a t h a v e o n e . \r A R R 0135600 O W H E A D S F o r e l e 0135620 m e n t s t h a t h a v e 0135640 a r r o w h e a d s ( W I R E 0135660 O P E N C U R V E A R C ) , 0135700 a l i s t o f t w o a 0135720 r r o w h e a d s p e c i f i 0135740 c a t i o n s : t h e f i r 0135760 s t i s f o r t h e f i 0136000 r s t e n d o f t h e e 0136020 l e m e n t , t h e s e c o 0136040 n d i s f o r t h e l a 0136060 s t e n d o f t h e e l 0136100 e m e n t . \r T e x t p r o p 0136120 e r t i e s \r F O N T F o r 0136140 t e x t a n d t e x t b o 0136160 x e l e m e n t s , t h e 0136200 f o n t t h a t t h e t e 0136220 x t a p p e a r s i n . \r J 0136240 U S T I F I C A T I O N F o r 0136260 t e x t b o x e l e m e n t 0136300 s , t h e j u s t i f i c a 0136320 t i o n t h a t t h e t e 0136340 x t h a s w i t h i n t h 0136360 e b o x . F o r t e x t 0136400 e l e m e n t s , t h e j 0136420 u s t i f i c a t i o n t h a 0136440 t t h e t e x t h a s r 0136460 e l a t i v e t o i t s c 0136500 o n t r o l p o i n t . \r T E 0136520 X T C O L O R T h e c o l 0136540 o r t h a t t h e t e x t 0136560 i s d i s p l a y e d i n 0136600 . \r A n g l e p r o p e r t i 0136620 e s \r D I R E C T I O N T h 0136640 e d i r e c t i o n p r o p 0136660 e r t y o f a r c e l e m 0136700 e n t s . \r B i t M a p p r o 0136720 p e r t i e s \r C A C H E T 0136740 h e l i s t o f t h e f 0136760 o r m ( ( s c a l e . b i 0137000 t m a p ) . . . ) t h a t 0137020 g i v e s a l t e r n a t i v 0137040 e i m a g e s f o r t h e 0137060 b i t i m a g e . \r S p e c 0137100 i f i c a t i o n s o f d a 0137120 t a s t r u c t u r e s f o 0137140 r S k e t c h p r o p e r t 0137160 i e s \r A b r u s h i s d 0137200 e f i n e d b y t h e r e 0137220 c o r d B R U S H . I t 0137240 h a s f i e l d s B R U S H 0137260 S H A P E , B R U S H S I Z E 0137300 a n d B R U S H C O L O R . 0137320 S h a p e i s o n e o f 0137340 R O U N D , S Q U A R E , 0137360 H O R I Z O N T A L , V E R T 0137400 I C A L o r D I A G O N A L 0137420 . R O U N D i s t h e 0137440 d e f a u l t . S i z e i 0137460 s a n u m b e r i n u n 0137500 i t s o f s c r e e n p o 0137520 i n t s . T h e c o l o r 0137540 i s a l e g a l c o l o 0137560 r , i . e . c o l o r n a 0137600 m e , R G B t r i p l e , 0137620 o r H L S t r i p l e . 0137640 T h e B R U S H a r g u m e 0137660 n t t o a n y o f t h e 0137700 e l e m e n t c r e a t i o 0137720 n f u n c t i o n s h a s 0137740 t h e f o l l o w i n g i n 0137760 t e r p r e t a t i o n s . 0140000 N I L i s t a k e n t o 0140020 b e S K . D E F A U L T . B R 0140040 U S H . A n u m b e r i 0140060 s a r o u n d b r u s h 0140100 o f t h a t s i z e . \r 0140120 A d a s h i n g i s a l 0140140 i s t o f n u m b e r s i 0140160 n t e r p r e t e d a s n u 0140200 m b e r o f p o i n t s o 0140220 n , n u m b e r o f p o i 0140240 n t s o f f , e t c . \r A 0140260 f o n t t o s k e t c h i 0140300 s a l i s t o f ( f a m 0140320 i l y s i z e f a c e ) . 0140340 \r A f i l l i n g i s a 0140360 l i s t o f ( t e x t u r 0140400 e c o l o r o p e r a t i o 0140420 n ) . T e x t u r e i s 0140440 e i t h e r a s m a l l n 0140460 u m b e r , a 1 6 b y 1 0140500 6 b i t m a p o r N I L . 0140520 C o l o r i s a l e g 0140540 a l c o l o r o r N I L . 0140560 ( A t p r e s e n t , i 0140600 f c o l o r i s n o n - N 0140620 I L , t e x t u r e i s i 0140640 g n o r e d . I t i s e 0140660 x p e c t e d t h a t a s 0140700 t a n d a r d w a y o f d 0140720 i s p l a y i n g c o l o r s 0140740 a s t e x t u r e s o n 0140760 t h e b l a c k a n d w h 0141000 i t e s c r e e n a n d a 0141020 l l o w i n g t e x t u r e s 0141040 o n t h e c o l o r s c 0141060 r e e n w i l l b e d e v 0141100 e l o p e d . ) T h e F I L 0141120 L I N G a r g u m e n t t o 0141140 a n y o f t h e e l e m 0141160 e n t c r e a t i o n f u n 0141200 c t i o n s h a s t h e f 0141220 o l l o w i n g i n t e r p r 0141240 e t a t i o n s . N I L m 0141260 e a n s t e x t u r e o f 0141300 S K . D E F A U L T . T E X T U 0141320 R E ( o r i g i n a l l y N 0141340 I L m e a n i n g n o t e 0141360 x t u r e ) a n d a c o l 0141400 o r o f S K . D E F A U L T 0141420 . C O L O R ( o r i g i n a l 0141440 l y N I L m e a n i n g W 0141460 H I T E ) . A t e x t u r 0141500 e ( i . e . T E X T U R E P 0141520