$ 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