/ *   
 
   *   P R O J E C T :   N y A R T o o l k i t ( E x t e n s i o n ) 
 
   *   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
   *   T h e   N y A R T o o l k i t   i s   J a v a   e d i t i o n   A R T o o l K i t   c l a s s   l i b r a r y . 
 
   *   C o p y r i g h t   ( C ) 2 0 0 8 - 2 0 1 2   R y o   I i z u k a 
 
   * 
 
   *   T h i s   p r o g r a m   i s   f r e e   s o f t w a r e :   y o u   c a n   r e d i s t r i b u t e   i t   a n d / o r   m o d i f y 
 
   *   i t   u n d e r   t h e   t e r m s   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e   a s   p u b l i s h e d   b y 
 
   *   t h e   F r e e   S o f t w a r e   F o u n d a t i o n ,   e i t h e r   v e r s i o n   3   o f   t h e   L i c e n s e ,   o r 
 
   *   ( a t   y o u r   o p t i o n )   a n y   l a t e r   v e r s i o n . 
 
   *   
 
   *   T h i s   p r o g r a m   i s   d i s t r i b u t e d   i n   t h e   h o p e   t h a t   i t   w i l l   b e   u s e f u l , 
 
   *   b u t   W I T H O U T   A N Y   W A R R A N T Y ;   w i t h o u t   e v e n   t h e   i m p l i e d   w a r r a n t y   o f 
 
   *   M E R C H A N T A B I L I T Y   o r   F I T N E S S   F O R   A   P A R T I C U L A R   P U R P O S E .     S e e   t h e 
 
   *   G N U   G e n e r a l   P u b l i c   L i c e n s e   f o r   m o r e   d e t a i l s . 
 
   * 
 
   *   Y o u   s h o u l d   h a v e   r e c e i v e d   a   c o p y   o f   t h e   G N U   G e n e r a l   P u b l i c   L i c e n s e 
 
   *   a l o n g   w i t h   t h i s   p r o g r a m .     I f   n o t ,   s e e   < h t t p : / / w w w . g n u . o r g / l i c e n s e s / > . 
 
   *   
 
   *   F o r   f u r t h e r   i n f o r m a t i o n   p l e a s e   c o n t a c t . 
 
   * 	 h t t p : / / n y a t l a . j p / n y a t o o l k i t / 
 
   * 	 < a i r m a i l ( a t ) e b o n y . p l a l a . o r . j p >   o r   < n y a t l a ( a t ) n y a t l a . j p > 
 
   *   
 
   * / 
 
 n a m e s p a c e   j p . n y a t l a . n y a r t o o l k i t . c s . c o r e 
 
 { 
 
 
 
 
 
 
 
         p u b l i c   c l a s s   N y A R P e r s p e c t i v e C o p y F a c t o r y 
 
         { 
 
                 / * * 
 
                   *   c[W0_0I N / O U T k0 gij0{ @ l i n k   I N y A R P e r s p e c t i v e R e a a d e r } 0ubW0~0Y00
 
                   *   < p > eQR000k0d0D0f0
 
                   *   W,gvk0o0hQf0n0{ @ l i n k   I N y A R R g b R a s t e r } 0[ňW0_00000Qtg0M0~0Y0L00!kn0.z^n000000cd00n00chYW0~0Y00
 
                   *   < u l > 
 
                   *   < l i > { @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2 } 
 
                   *   < l i > { @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ B 8 G 8 R 8 _ 2 4 } 
 
                   *   < l i > { @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ R 8 G 8 B 8 _ 2 4 } 
 
                   *   < / u l > 
 
                   *   < / p > 
 
                   *   < p > QR000k0d0D0f0
 
                   *   W,gvk0o0hQf0n0{ @ l i n k   N y A R B u f f e r T y p e # I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 } b__n000000cd00000O(uW0f0O0`0U0D00
 
                   *   Nn0b__g00R\OW0~0Y0L00NOj04XTL0B00~0Y00
 
                   *   < / p > 
 
                   *   < p > ؚSk0d0D0f0  -   
 
                   *   eQR000b__L00{ @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2 } , { @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ B 8 G 8 R 8 _ 2 4 } 
 
                   *   , { @ l i n k   N y A R B u f f e r T y p e # B Y T E 1 D _ R 8 G 8 B 8 _ 2 4 } n00n0k0d0D0f0o00Nn0b__000ؚk0R\OW0~0Y00
 
                   *   ~0_00QR000b__L00{ @ l i n k   N y A R B u f f e r T y p e # I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 } n0irk0d0D0f0o00XSSO000000000n0Bfn000U00k0ؚk0R\OW0~0Y00
 
                   *   Nn0b__n0000g0o00N
Nn00n0000NOg0[_W0~0Y00
 
                   *   @ p a r a m   i _ i n _ r a s t e r _ t y p e 
 
                   *   eQR000n0b__g0Y00
 
                   *   @ p a r a m   i _ o u t _ r a s t e r _ t y p e 
 
                   *   QR000n0b__g0Y00
 
                   *   @ r e t u r n 
 
                   * / 
 
                 p u b l i c   s t a t i c   I N y A R P e r s p e c t i v e C o p y   c r e a t e D r i v e r ( I N y A R R g b R a s t e r   i _ r a s t e r ) 
 
                 { 
 
                         / / eW0D0000k0[_W0_00fD0f0m00
 
                         s w i t c h   ( i _ r a s t e r . g e t B u f f e r T y p e ( ) ) 
 
                         { 
 
                                 c a s e   N y A R B u f f e r T y p e . B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2 : 
 
                                         r e t u r n   n e w   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2 ( i _ r a s t e r ) ; 
 
                                 c a s e   N y A R B u f f e r T y p e . B Y T E 1 D _ B 8 G 8 R 8 _ 2 4 : 
 
                                         r e t u r n   n e w   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 _ 2 4 ( i _ r a s t e r ) ; 
 
                                 c a s e   N y A R B u f f e r T y p e . B Y T E 1 D _ R 8 G 8 B 8 _ 2 4 : 
 
                                         r e t u r n   n e w   P e r s p e c t i v e C o p y _ B Y T E 1 D _ R 8 G 8 B 8 _ 2 4 ( i _ r a s t e r ) ; 
 
                                 d e f a u l t : 
 
                                         r e t u r n   n e w   P e r s p e c t i v e C o p y _ A N Y R g b ( i _ r a s t e r ) ; 
 
                         } 
 
                 } 
 
         } 
 
 
 
         / / 
 
         / / 0000000
 
         / / 
 
 
 
 
 
 
 
 
 
 
 
         / * * 
 
           *   R G B 00000000cd00000000k0W0_00000
 
           * / 
 
         c l a s s   P e r s p e c t i v e C o p y _ A N Y R g b   :   N y A R P e r s p e c t i v e C o p y _ B a s e 
 
         { 
 
                 p r o t e c t e d   I N y A R R g b R a s t e r   _ r e f _ r a s t e r ; 
 
                 p r i v a t e   r e a d o n l y   i n t [ ]   _ _ p i c k F r o m R a s t e r _ r g b _ t m p   =   n e w   i n t [ 3 ] ; 
 
                 p u b l i c   P e r s p e c t i v e C o p y _ A N Y R g b ( I N y A R R a s t e r   i _ r e f _ r a s t e r ) 
 
                 { 
 
                         t h i s . _ r e f _ r a s t e r   =   ( I N y A R R g b R a s t e r ) i _ r e f _ r a s t e r ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   o n e P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t [ ]   r g b _ t m p   =   t h i s . _ _ p i c k F r o m R a s t e r _ r g b _ t m p ; 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         d o u b l e   c p 7 _ c y _ 1   =   c p 7   *   p k _ t   +   1 . 0   +   c p 6   *   p k _ l ; 
 
                         d o u b l e   c p 1 _ c y _ c p 2   =   c p 1   *   p k _ t   +   c p a r a [ 2 ]   +   c p 0   *   p k _ l ; 
 
                         d o u b l e   c p 4 _ c y _ c p 5   =   c p 4   *   p k _ t   +   c p a r a [ 5 ]   +   c p 3   *   p k _ l ; 
 
 
 
                         I N y A R R g b P i x e l D r i v e r   i _ i n _ r e a d e r   =   t h i s . _ r e f _ r a s t e r . g e t R g b P i x e l D r i v e r ( ) ; 
 
                         s w i t c h   ( o _ o u t . g e t B u f f e r T y p e ( ) ) 
 
                         { 
 
                                 c a s e   N y A R B u f f e r T y p e . I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 : 
 
                                         i n t [ ]   p a t _ d a t a   =   ( i n t [ ] ) o _ o u t . g e t B u f f e r ( ) ; 
 
                                         i n t   p   =   0 ; 
 
                                         f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                         { 
 
                                                 / / P^Rn0p0S00
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
 
 
                                                 f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                                 { 
 
                                                         / / 1 00000\Ob
 
                                                         d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                         i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                         i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                         i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                         i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                         i _ i n _ r e a d e r . g e t P i x e l ( x ,   y ,   r g b _ t m p ) ; 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
 
 
                                                         p a t _ d a t a [ p ]   =   ( r g b _ t m p [ 0 ]   < <   1 6 )   |   ( r g b _ t m p [ 1 ]   < <   8 )   |   ( ( r g b _ t m p [ 2 ]   &   0 x f f ) ) ; 
 
                                                         p + + ; 
 
                                                 } 
 
                                                 c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                 c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                 c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                         } 
 
                                         r e t u r n   t r u e ; 
 
                                 d e f a u l t : 
 
                                         / / A N Y   t o   R G B x 
 
                                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                                         { 
 
                                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                                 f o r   ( i n t   i y   =   0 ;   i y   <   o u t _ h ;   i y + + ) 
 
                                                 { 
 
                                                         / / P^Rn0p0S00
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
                                                         f o r   ( i n t   i x   =   0 ;   i x   <   o u t _ w ;   i x + + ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i _ i n _ r e a d e r . g e t P i x e l ( x ,   y ,   r g b _ t m p ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
 
 
                                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r g b _ t m p ) ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                                 } 
 
                                                 r e t u r n   t r u e ; 
 
                                         } 
 
                                         b r e a k ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   m u l t i P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   i n t   i _ r e s o l u t i o n ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t   r e s _ p i x   =   i _ r e s o l u t i o n   *   i _ r e s o l u t i o n ; 
 
 
 
                         i n t [ ]   r g b _ t m p   =   t h i s . _ _ p i c k F r o m R a s t e r _ r g b _ t m p ; 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
                         I N y A R R g b P i x e l D r i v e r   i _ i n _ r e a d e r   =   t h i s . _ r e f _ r a s t e r . g e t R g b P i x e l D r i v e r ( ) ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
                         d o u b l e   c p 2   =   c p a r a [ 2 ] ; 
 
                         d o u b l e   c p 5   =   c p a r a [ 5 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         s w i t c h   ( o _ o u t . g e t B u f f e r T y p e ( ) ) 
 
                         { 
 
                                 c a s e   N y A R B u f f e r T y p e . I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 : 
 
                                         i n t [ ]   p a t _ d a t a   =   ( i n t [ ] ) o _ o u t . g e t B u f f e r ( ) ; 
 
                                         i n t   p   =   ( o u t _ w   *   o u t _ h   -   1 ) ; 
 
                                         f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                         { 
 
                                                 / / P^Rn0p0S00
 
                                                 f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                                 { 
 
                                                         i n t   r ,   g ,   b ; 
 
                                                         r   =   g   =   b   =   0 ; 
 
                                                         i n t   c y   =   p k _ t   +   i y   *   i _ r e s o l u t i o n ; 
 
                                                         i n t   c x   =   p k _ l   +   i x   *   i _ r e s o l u t i o n ; 
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x _ b   =   c p 7   *   c y   +   1 . 0   +   c p 6   *   c x ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   =   c p 1   *   c y   +   c p 2   +   c p 0   *   c x ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   =   c p 4   *   c y   +   c p 5   +   c p 3   *   c x ; 
 
                                                         f o r   ( i n t   i 2 y   =   i _ r e s o l u t i o n   -   1 ;   i 2 y   > =   0 ;   i 2 y - - ) 
 
                                                         { 
 
                                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 _ c p 6 _ c x _ b ; 
 
                                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b ; 
 
                                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b ; 
 
                                                                 f o r   ( i n t   i 2 x   =   i _ r e s o l u t i o n   -   1 ;   i 2 x   > =   0 ;   i 2 x - - ) 
 
                                                                 { 
 
                                                                         / / 1 00000\Ob
 
                                                                         d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                         i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                         i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                         i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                         i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                         i _ i n _ r e a d e r . g e t P i x e l ( x ,   y ,   r g b _ t m p ) ; 
 
                                                                         r   + =   r g b _ t m p [ 0 ] ; 
 
                                                                         g   + =   r g b _ t m p [ 1 ] ; 
 
                                                                         b   + =   r g b _ t m p [ 2 ] ; 
 
                                                                         c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                                 } 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x _ b   + =   c p 7 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   + =   c p 1 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   + =   c p 4 ; 
 
                                                         } 
 
                                                         r   / =   r e s _ p i x ; 
 
                                                         g   / =   r e s _ p i x ; 
 
                                                         b   / =   r e s _ p i x ; 
 
                                                         p a t _ d a t a [ p ]   =   ( ( r   &   0 x f f )   < <   1 6 )   |   ( ( g   &   0 x f f )   < <   8 )   |   ( ( b   &   0 x f f ) ) ; 
 
                                                         p - - ; 
 
                                                 } 
 
                                         } 
 
                                         r e t u r n   t r u e ; 
 
                                 d e f a u l t : 
 
                                         / / A N Y   t o   R G B x 
 
                                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                                         { 
 
                                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                                 f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                                 { 
 
                                                         / / P^Rn0p0S00
 
                                                         f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                                         { 
 
                                                                 i n t   r ,   g ,   b ; 
 
                                                                 r   =   g   =   b   =   0 ; 
 
                                                                 i n t   c y   =   p k _ t   +   i y   *   i _ r e s o l u t i o n ; 
 
                                                                 i n t   c x   =   p k _ l   +   i x   *   i _ r e s o l u t i o n ; 
 
                                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x _ b   =   c p 7   *   c y   +   1 . 0   +   c p 6   *   c x ; 
 
                                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   =   c p 1   *   c y   +   c p 2   +   c p 0   *   c x ; 
 
                                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   =   c p 4   *   c y   +   c p 5   +   c p 3   *   c x ; 
 
                                                                 f o r   ( i n t   i 2 y   =   i _ r e s o l u t i o n   -   1 ;   i 2 y   > =   0 ;   i 2 y - - ) 
 
                                                                 { 
 
                                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 _ c p 6 _ c x _ b ; 
 
                                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b ; 
 
                                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b ; 
 
                                                                         f o r   ( i n t   i 2 x   =   i _ r e s o l u t i o n   -   1 ;   i 2 x   > =   0 ;   i 2 x - - ) 
 
                                                                         { 
 
                                                                                 / / 1 00000\Ob
 
                                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                                 i _ i n _ r e a d e r . g e t P i x e l ( x ,   y ,   r g b _ t m p ) ; 
 
                                                                                 r   + =   r g b _ t m p [ 0 ] ; 
 
                                                                                 g   + =   r g b _ t m p [ 1 ] ; 
 
                                                                                 b   + =   r g b _ t m p [ 2 ] ; 
 
                                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                                         } 
 
                                                                         c p 7 _ c y _ 1 _ c p 6 _ c x _ b   + =   c p 7 ; 
 
                                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   + =   c p 1 ; 
 
                                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   + =   c p 4 ; 
 
                                                                 } 
 
                                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r   /   r e s _ p i x ,   g   /   r e s _ p i x ,   b   /   r e s _ p i x ) ; 
 
                                                         } 
 
                                                 } 
 
                                                 r e t u r n   t r u e ; 
 
                                         } 
 
                                         b r e a k ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
 
 
         } 
 
         c l a s s   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2   :   N y A R P e r s p e c t i v e C o p y _ B a s e 
 
         { 
 
                 p r o t e c t e d   I N y A R R g b R a s t e r   _ r e f _ r a s t e r ; 
 
                 p u b l i c   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 X 8 _ 3 2 ( I N y A R R a s t e r   i _ r e f _ r a s t e r ) 
 
                 { 
 
                         t h i s . _ r e f _ r a s t e r   =   ( I N y A R R g b R a s t e r ) i _ r e f _ r a s t e r ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   o n e P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
                         b y t e [ ]   i _ i n _ b u f   =   ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         d o u b l e   c p 7 _ c y _ 1   =   c p 7   *   p k _ t   +   1 . 0   +   c p 6   *   p k _ l ; 
 
                         d o u b l e   c p 1 _ c y _ c p 2   =   c p 1   *   p k _ t   +   c p a r a [ 2 ]   +   c p 0   *   p k _ l ; 
 
                         d o u b l e   c p 4 _ c y _ c p 5   =   c p 4   *   p k _ t   +   c p a r a [ 5 ]   +   c p 3   *   p k _ l ; 
 
                         i n t   r ,   g ,   b ,   p ; 
 
                         s w i t c h   ( o _ o u t . g e t B u f f e r T y p e ( ) ) 
 
                         { 
 
                                 c a s e   N y A R B u f f e r T y p e . I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 : 
 
                                         i n t [ ]   p a t _ d a t a   =   ( i n t [ ] ) o _ o u t . g e t B u f f e r ( ) ; 
 
                                         p   =   0 ; 
 
                                         f o r   ( i n t   i y   =   0 ;   i y   <   o u t _ h ;   i y + + ) 
 
                                         { 
 
                                                 / / P^Rn0p0S00
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
 
 
                                                 f o r   ( i n t   i x   =   0 ;   i x   <   o u t _ w ;   i x + + ) 
 
                                                 { 
 
                                                         / / 1 00000\Ob
 
                                                         d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                         i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                         i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                         i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                         i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                         i n t   b p   =   ( x   +   y   *   i n _ w )   *   4 ; 
 
                                                         r   =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                         g   =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                         b   =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                         p a t _ d a t a [ p ]   =   ( r   < <   1 6 )   |   ( g   < <   8 )   |   ( ( b   &   0 x f f ) ) ; 
 
                                                         p + + ; 
 
                                                 } 
 
                                                 c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                 c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                 c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                         } 
 
                                         r e t u r n   t r u e ; 
 
                                 d e f a u l t : 
 
                                         / / A N Y   t o   R G B x 
 
                                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                                         { 
 
                                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                                 f o r   ( i n t   i y   =   0 ;   i y   <   o u t _ h ;   i y + + ) 
 
                                                 { 
 
                                                         / / P^Rn0p0S00
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
 
 
                                                         f o r   ( i n t   i x   =   0 ;   i x   <   o u t _ w ;   i x + + ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i n t   b p   =   ( x   +   y   *   i n _ w )   *   4 ; 
 
                                                                 r   =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                                 g   =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                                 b   =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r ,   g ,   b ) ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                                 } 
 
                                                 r e t u r n   t r u e ; 
 
                                         } 
 
                                         b r e a k ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   m u l t i P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   i n t   i _ r e s o l u t i o n ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
                         b y t e [ ]   i _ i n _ b u f   =   ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
                         i n t   r e s _ p i x   =   i _ r e s o l u t i o n   *   i _ r e s o l u t i o n ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
                         d o u b l e   c p 2   =   c p a r a [ 2 ] ; 
 
                         d o u b l e   c p 5   =   c p a r a [ 5 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                         { 
 
                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                 f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                 { 
 
                                         / / P^Rn0p0S00
 
                                         f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                         { 
 
                                                 i n t   r ,   g ,   b ; 
 
                                                 r   =   g   =   b   =   0 ; 
 
                                                 i n t   c y   =   p k _ t   +   i y   *   i _ r e s o l u t i o n ; 
 
                                                 i n t   c x   =   p k _ l   +   i x   *   i _ r e s o l u t i o n ; 
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x _ b   =   c p 7   *   c y   +   1 . 0   +   c p 6   *   c x ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   =   c p 1   *   c y   +   c p 2   +   c p 0   *   c x ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   =   c p 4   *   c y   +   c p 5   +   c p 3   *   c x ; 
 
                                                 f o r   ( i n t   i 2 y   =   i _ r e s o l u t i o n   -   1 ;   i 2 y   > =   0 ;   i 2 y - - ) 
 
                                                 { 
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 _ c p 6 _ c x _ b ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b ; 
 
                                                         f o r   ( i n t   i 2 x   =   i _ r e s o l u t i o n   -   1 ;   i 2 x   > =   0 ;   i 2 x - - ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i n t   b p   =   ( x   +   y   *   i n _ w )   *   4 ; 
 
                                                                 r   + =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                                 g   + =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                                 b   + =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x _ b   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   + =   c p 4 ; 
 
                                                 } 
 
                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r   /   r e s _ p i x ,   g   /   r e s _ p i x ,   b   /   r e s _ p i x ) ; 
 
                                         } 
 
                                 } 
 
                                 r e t u r n   t r u e ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
         } 
 
 
 
         c l a s s   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 _ 2 4   :   N y A R P e r s p e c t i v e C o p y _ B a s e 
 
         { 
 
                 p r o t e c t e d   I N y A R R g b R a s t e r   _ r e f _ r a s t e r ; 
 
                 p u b l i c   P e r s p e c t i v e C o p y _ B Y T E 1 D _ B 8 G 8 R 8 _ 2 4 ( I N y A R R a s t e r   i _ r e f _ r a s t e r ) 
 
                 { 
 
                         t h i s . _ r e f _ r a s t e r   =   ( I N y A R R g b R a s t e r ) i _ r e f _ r a s t e r ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   o n e P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   I N y A R R a s t e r   o _ o u t ) 
 
 	 { 
 
 	 	 i n t   i n _ w = t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
 	 	 i n t   i n _ h = t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
 	 	 b y t e [ ]   i _ i n _ b u f = ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
 	 	 / / 000000000S_
 
 	 	 d o u b l e   c p 0 = c p a r a [ 0 ] ; 
 
 	 	 d o u b l e   c p 3 = c p a r a [ 3 ] ; 
 
 	 	 d o u b l e   c p 6 = c p a r a [ 6 ] ; 
 
 	 	 d o u b l e   c p 1 = c p a r a [ 1 ] ; 
 
 	 	 d o u b l e   c p 4 = c p a r a [ 4 ] ; 
 
 	 	 d o u b l e   c p 7 = c p a r a [ 7 ] ; 
 
 	 	 
 
 	 	 i n t   o u t _ w = o _ o u t . g e t W i d t h ( ) ; 
 
 	 	 i n t   o u t _ h = o _ o u t . g e t H e i g h t ( ) ; 
 
 	 	 d o u b l e   c p 7 _ c y _ 1     = c p 7 * p k _ t + 1 . 0 + c p 6 * p k _ l ; 
 
 	 	 d o u b l e   c p 1 _ c y _ c p 2 = c p 1 * p k _ t + c p a r a [ 2 ] + c p 0 * p k _ l ; 
 
 	 	 d o u b l e   c p 4 _ c y _ c p 5 = c p 4 * p k _ t + c p a r a [ 5 ] + c p 3 * p k _ l ; 
 
 	 	 i n t   r , g , b ; 
 
 	 	 s w i t c h ( t h i s . _ r e f _ r a s t e r . g e t B u f f e r T y p e ( ) ) 
 
 	 	 { 
 
 	 	 c a s e   N y A R B u f f e r T y p e . I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 : 
 
 	 	 	 i n t [ ]   p a t _ d a t a = ( i n t [ ] ) o _ o u t . g e t B u f f e r ( ) ; 
 
 	 	 	 i n t   p = 0 ; 
 
 	 	 	 f o r ( i n t   i y = 0 ; i y < o u t _ h ; i y + + ) { 
 
 	 	 	 	 / / P^Rn0p0S00
 
 	 	 	 	 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x     = c p 7 _ c y _ 1 ; 
 
 	 	 	 	 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x = c p 1 _ c y _ c p 2 ; 
 
 	 	 	 	 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x = c p 4 _ c y _ c p 5 ; 
 
 	 	 	 	 
 
 	 	 	 	 f o r ( i n t   i x = 0 ; i x < o u t _ w ; i x + + ) { 
 
 	 	 	 	 	 / / 1 00000\Ob
 
 	 	 	 	 	 d o u b l e   d = 1 / ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
 	 	 	 	 	 i n t   x = ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x ) * d ) ; 
 
 	 	 	 	 	 i n t   y = ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x ) * d ) ; 
 
 	 	 	 	 	 i f ( x < 0 ) { x = 0 ; } e l s e   i f ( x > = i n _ w ) { x = i n _ w - 1 ; } 
 
 	 	 	 	 	 i f ( y < 0 ) { y = 0 ; } e l s e   i f ( y > = i n _ h ) { y = i n _ h - 1 ; } 
 
 	 	 	 	 	 	 	 
 
 	 	 	 	 	 i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
 	 	 	 	 	 r = ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 g = ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 b = ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 c p 7 _ c y _ 1 _ c p 6 _ c x + = c p 6 ; 
 
 	 	 	 	 	 c p 1 _ c y _ c p 2 _ c p 0 _ c x + = c p 0 ; 
 
 	 	 	 	 	 c p 4 _ c y _ c p 5 _ c p 3 _ c x + = c p 3 ; 
 
 	 	 	 	 	 p a t _ d a t a [ p ] = ( r < < 1 6 ) | ( g < < 8 ) | ( ( b & 0 x f f ) ) ; 
 
 	 	 	 	 	 p + + ; 
 
 	 	 	 	 } 
 
 	 	 	 	 c p 7 _ c y _ 1 + = c p 7 ; 
 
 	 	 	 	 c p 1 _ c y _ c p 2 + = c p 1 ; 
 
 	 	 	 	 c p 4 _ c y _ c p 5 + = c p 4 ; 
 
 	 	 	 } 
 
 	 	 	 r e t u r n   t r u e ; 
 
 	 	 d e f a u l t : 
 
 	 	 	 i f ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
 	 	 	 { 
 
 	 	 	 	 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r = ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 	 
 
 	 	 	 	 f o r ( i n t   i y = 0 ; i y < o u t _ h ; i y + + ) { 
 
 	 	 	 	 	 / / P^Rn0p0S00
 
 	 	 	 	 	 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x     = c p 7 _ c y _ 1 ; 
 
 	 	 	 	 	 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x = c p 1 _ c y _ c p 2 ; 
 
 	 	 	 	 	 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x = c p 4 _ c y _ c p 5 ; 
 
 	 	 	 	 	 
 
 	 	 	 	 	 f o r ( i n t   i x = 0 ; i x < o u t _ w ; i x + + ) { 
 
 	 	 	 	 	 	 / / 1 00000\Ob
 
 	 	 	 	 	 	 d o u b l e   d = 1 / ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
 	 	 	 	 	 	 i n t   x = ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x ) * d ) ; 
 
 	 	 	 	 	 	 i n t   y = ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x ) * d ) ; 
 
 	 	 	 	 	 	 i f ( x < 0 ) { x = 0 ; } e l s e   i f ( x > = i n _ w ) { x = i n _ w - 1 ; } 
 
 	 	 	 	 	 	 i f ( y < 0 ) { y = 0 ; } e l s e   i f ( y > = i n _ h ) { y = i n _ h - 1 ; } 
 
 	 	 	 	 	 	 	 	 
 
 	 	 	 	 	 	 i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
 	 	 	 	 	 	 r = ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 	 g = ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 	 b = ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
 	 	 	 	 	 	 c p 7 _ c y _ 1 _ c p 6 _ c x + = c p 6 ; 
 
 	 	 	 	 	 	 c p 1 _ c y _ c p 2 _ c p 0 _ c x + = c p 0 ; 
 
 	 	 	 	 	 	 c p 4 _ c y _ c p 5 _ c p 3 _ c x + = c p 3 ; 
 
 	 
 
 	 	 	 	 	 	 o u t _ r e a d e r . s e t P i x e l ( i x , i y , r , g , b ) ; 
 
 	 	 	 	 	 } 
 
 	 	 	 	 	 c p 7 _ c y _ 1 + = c p 7 ; 
 
 	 	 	 	 	 c p 1 _ c y _ c p 2 + = c p 1 ; 
 
 	 	 	 	 	 c p 4 _ c y _ c p 5 + = c p 4 ; 
 
 	 	 	 	 } 
 
 	 	 	 	 r e t u r n   t r u e ; 
 
 	 	 	 } 
 
 	 	 	 b r e a k ; 
 
 	 	 } 
 
 	 	 r e t u r n   f a l s e ; 
 
 	 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   m u l t i P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   i n t   i _ r e s o l u t i o n ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t   r e s _ p i x   =   i _ r e s o l u t i o n   *   i _ r e s o l u t i o n ; 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
                         b y t e [ ]   i _ i n _ b u f   =   ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
                         d o u b l e   c p 2   =   c p a r a [ 2 ] ; 
 
                         d o u b l e   c p 5   =   c p a r a [ 5 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                         { 
 
                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                 f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                 { 
 
                                         / / P^Rn0p0S00
 
                                         f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                         { 
 
                                                 i n t   r ,   g ,   b ; 
 
                                                 r   =   g   =   b   =   0 ; 
 
                                                 i n t   c y   =   p k _ t   +   i y   *   i _ r e s o l u t i o n ; 
 
                                                 i n t   c x   =   p k _ l   +   i x   *   i _ r e s o l u t i o n ; 
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x _ b   =   c p 7   *   c y   +   1 . 0   +   c p 6   *   c x ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   =   c p 1   *   c y   +   c p 2   +   c p 0   *   c x ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   =   c p 4   *   c y   +   c p 5   +   c p 3   *   c x ; 
 
                                                 f o r   ( i n t   i 2 y   =   i _ r e s o l u t i o n   -   1 ;   i 2 y   > =   0 ;   i 2 y - - ) 
 
                                                 { 
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 _ c p 6 _ c x _ b ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b ; 
 
                                                         f o r   ( i n t   i 2 x   =   i _ r e s o l u t i o n   -   1 ;   i 2 x   > =   0 ;   i 2 x - - ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
                                                                 r   + =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                                 g   + =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                                 b   + =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x _ b   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   + =   c p 4 ; 
 
                                                 } 
 
                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r   /   r e s _ p i x ,   g   /   r e s _ p i x ,   b   /   r e s _ p i x ) ; 
 
                                         } 
 
                                 } 
 
                                 r e t u r n   t r u e ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
         } 
 
 
 
         c l a s s   P e r s p e c t i v e C o p y _ B Y T E 1 D _ R 8 G 8 B 8 _ 2 4   :   N y A R P e r s p e c t i v e C o p y _ B a s e 
 
         { 
 
                 p r o t e c t e d   I N y A R R g b R a s t e r   _ r e f _ r a s t e r ; 
 
                 p u b l i c   P e r s p e c t i v e C o p y _ B Y T E 1 D _ R 8 G 8 B 8 _ 2 4 ( I N y A R R a s t e r   i _ r e f _ r a s t e r ) 
 
                 { 
 
                         t h i s . _ r e f _ r a s t e r   =   ( I N y A R R g b R a s t e r ) i _ r e f _ r a s t e r ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   o n e P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         b y t e [ ]   i _ i n _ b u f   =   ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         d o u b l e   c p 7 _ c y _ 1   =   c p 7   *   p k _ t   +   1 . 0   +   c p 6   *   p k _ l ; 
 
                         d o u b l e   c p 1 _ c y _ c p 2   =   c p 1   *   p k _ t   +   c p a r a [ 2 ]   +   c p 0   *   p k _ l ; 
 
                         d o u b l e   c p 4 _ c y _ c p 5   =   c p 4   *   p k _ t   +   c p a r a [ 5 ]   +   c p 3   *   p k _ l ; 
 
                         i n t   r ,   g ,   b ; 
 
                         s w i t c h   ( t h i s . _ r e f _ r a s t e r . g e t B u f f e r T y p e ( ) ) 
 
                         { 
 
                                 c a s e   N y A R B u f f e r T y p e . I N T 1 D _ X 8 R 8 G 8 B 8 _ 3 2 : 
 
                                         i n t   p   =   0 ; 
 
                                         i n t [ ]   p a t _ d a t a   =   ( i n t [ ] ) o _ o u t . g e t B u f f e r ( ) ; 
 
                                         f o r   ( i n t   i y   =   0 ;   i y   <   o u t _ h ;   i y + + ) 
 
                                         { 
 
                                                 / / P^Rn0p0S00
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
 
 
                                                 f o r   ( i n t   i x   =   0 ;   i x   <   o u t _ w ;   i x + + ) 
 
                                                 { 
 
                                                         / / 1 00000\Ob
 
                                                         d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                         i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                         i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                         i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                         i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                         i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
                                                         r   =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                         g   =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                         b   =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                         p a t _ d a t a [ p ]   =   ( r   < <   1 6 )   |   ( g   < <   8 )   |   ( ( b   &   0 x f f ) ) ; 
 
                                                         p + + ; 
 
                                                 } 
 
                                                 c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                 c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                 c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                         } 
 
                                         r e t u r n   t r u e ; 
 
                                 d e f a u l t : 
 
                                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                                         { 
 
                                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                                 f o r   ( i n t   i y   =   0 ;   i y   <   o u t _ h ;   i y + + ) 
 
                                                 { 
 
                                                         / / P^Rn0p0S00
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 ; 
 
 
 
                                                         f o r   ( i n t   i x   =   0 ;   i x   <   o u t _ w ;   i x + + ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
                                                                 r   =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                                 g   =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                                 b   =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
 
 
                                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r ,   g ,   b ) ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5   + =   c p 4 ; 
 
                                                 } 
 
                                                 r e t u r n   t r u e ; 
 
                                         } 
 
                                         b r e a k ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
                 p r o t e c t e d   o v e r r i d e   b o o l   m u l t i P i x e l ( i n t   p k _ l ,   i n t   p k _ t ,   d o u b l e [ ]   c p a r a ,   i n t   i _ r e s o l u t i o n ,   I N y A R R a s t e r   o _ o u t ) 
 
                 { 
 
                         i n t   r e s _ p i x   =   i _ r e s o l u t i o n   *   i _ r e s o l u t i o n ; 
 
 
 
                         b y t e [ ]   i _ i n _ b u f   =   ( b y t e [ ] ) t h i s . _ r e f _ r a s t e r . g e t B u f f e r ( ) ; 
 
                         i n t   i n _ w   =   t h i s . _ r e f _ r a s t e r . g e t W i d t h ( ) ; 
 
                         i n t   i n _ h   =   t h i s . _ r e f _ r a s t e r . g e t H e i g h t ( ) ; 
 
 
 
                         / / 000000000S_
 
                         d o u b l e   c p 0   =   c p a r a [ 0 ] ; 
 
                         d o u b l e   c p 3   =   c p a r a [ 3 ] ; 
 
                         d o u b l e   c p 6   =   c p a r a [ 6 ] ; 
 
                         d o u b l e   c p 1   =   c p a r a [ 1 ] ; 
 
                         d o u b l e   c p 4   =   c p a r a [ 4 ] ; 
 
                         d o u b l e   c p 7   =   c p a r a [ 7 ] ; 
 
                         d o u b l e   c p 2   =   c p a r a [ 2 ] ; 
 
                         d o u b l e   c p 5   =   c p a r a [ 5 ] ; 
 
 
 
                         i n t   o u t _ w   =   o _ o u t . g e t W i d t h ( ) ; 
 
                         i n t   o u t _ h   =   o _ o u t . g e t H e i g h t ( ) ; 
 
                         i f   ( o _ o u t   i s   I N y A R R g b R a s t e r ) 
 
                         { 
 
                                 I N y A R R g b P i x e l D r i v e r   o u t _ r e a d e r   =   ( ( I N y A R R g b R a s t e r ) o _ o u t ) . g e t R g b P i x e l D r i v e r ( ) ; 
 
                                 f o r   ( i n t   i y   =   o u t _ h   -   1 ;   i y   > =   0 ;   i y - - ) 
 
                                 { 
 
                                         / / P^Rn0p0S00
 
                                         f o r   ( i n t   i x   =   o u t _ w   -   1 ;   i x   > =   0 ;   i x - - ) 
 
                                         { 
 
                                                 i n t   r ,   g ,   b ; 
 
                                                 r   =   g   =   b   =   0 ; 
 
                                                 i n t   c y   =   p k _ t   +   i y   *   i _ r e s o l u t i o n ; 
 
                                                 i n t   c x   =   p k _ l   +   i x   *   i _ r e s o l u t i o n ; 
 
                                                 d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x _ b   =   c p 7   *   c y   +   1 . 0   +   c p 6   *   c x ; 
 
                                                 d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   =   c p 1   *   c y   +   c p 2   +   c p 0   *   c x ; 
 
                                                 d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   =   c p 4   *   c y   +   c p 5   +   c p 3   *   c x ; 
 
                                                 f o r   ( i n t   i 2 y   =   i _ r e s o l u t i o n   -   1 ;   i 2 y   > =   0 ;   i 2 y - - ) 
 
                                                 { 
 
                                                         d o u b l e   c p 7 _ c y _ 1 _ c p 6 _ c x   =   c p 7 _ c y _ 1 _ c p 6 _ c x _ b ; 
 
                                                         d o u b l e   c p 1 _ c y _ c p 2 _ c p 0 _ c x   =   c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b ; 
 
                                                         d o u b l e   c p 4 _ c y _ c p 5 _ c p 3 _ c x   =   c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b ; 
 
                                                         f o r   ( i n t   i 2 x   =   i _ r e s o l u t i o n   -   1 ;   i 2 x   > =   0 ;   i 2 x - - ) 
 
                                                         { 
 
                                                                 / / 1 00000\Ob
 
                                                                 d o u b l e   d   =   1   /   ( c p 7 _ c y _ 1 _ c p 6 _ c x ) ; 
 
                                                                 i n t   x   =   ( i n t ) ( ( c p 1 _ c y _ c p 2 _ c p 0 _ c x )   *   d ) ; 
 
                                                                 i n t   y   =   ( i n t ) ( ( c p 4 _ c y _ c p 5 _ c p 3 _ c x )   *   d ) ; 
 
                                                                 i f   ( x   <   0 )   {   x   =   0 ;   }   e l s e   i f   ( x   > =   i n _ w )   {   x   =   i n _ w   -   1 ;   } 
 
                                                                 i f   ( y   <   0 )   {   y   =   0 ;   }   e l s e   i f   ( y   > =   i n _ h )   {   y   =   i n _ h   -   1 ;   } 
 
 
 
                                                                 i n t   b p   =   ( x   +   y   *   i n _ w )   *   3 ; 
 
                                                                 r   + =   ( i _ i n _ b u f [ b p   +   0 ]   &   0 x f f ) ; 
 
                                                                 g   + =   ( i _ i n _ b u f [ b p   +   1 ]   &   0 x f f ) ; 
 
                                                                 b   + =   ( i _ i n _ b u f [ b p   +   2 ]   &   0 x f f ) ; 
 
                                                                 c p 7 _ c y _ 1 _ c p 6 _ c x   + =   c p 6 ; 
 
                                                                 c p 1 _ c y _ c p 2 _ c p 0 _ c x   + =   c p 0 ; 
 
                                                                 c p 4 _ c y _ c p 5 _ c p 3 _ c x   + =   c p 3 ; 
 
                                                         } 
 
                                                         c p 7 _ c y _ 1 _ c p 6 _ c x _ b   + =   c p 7 ; 
 
                                                         c p 1 _ c y _ c p 2 _ c p 0 _ c x _ b   + =   c p 1 ; 
 
                                                         c p 4 _ c y _ c p 5 _ c p 3 _ c x _ b   + =   c p 4 ; 
 
                                                 } 
 
                                                 o u t _ r e a d e r . s e t P i x e l ( i x ,   i y ,   r   /   r e s _ p i x ,   g   /   r e s _ p i x ,   b   /   r e s _ p i x ) ; 
 
                                         } 
 
                                 } 
 
                                 r e t u r n   t r u e ; 
 
                         } 
 
                         r e t u r n   f a l s e ; 
 
                 } 
 
         } 
 
 } 