
    i                     2   d Z ddlZddlZddlZej
                  j                  ej
                  j                  e            d   Z	ej
                  j                  e	d      Z	 ddlZddlZd Zd Zedk(  r e         e        yy# e$ r  ed       Y *w xY w)a   pygame.examples.blit_blends

Blending colors in different ways with different blend modes.

It also shows some tricks with the surfarray.
Including how to do additive blending.


Keyboard Controls
-----------------

* R, G, B - add a bit of Red, Green, or Blue.
* A - Add blend mode
* S - Subtractive blend mode
* M - Multiply blend mode
* = key BLEND_MAX blend mode.
* - key BLEND_MIN blend mode.
* 1, 2, 3, 4 - use different images.

    Ndataz$no surfarray for you!  install numpyc            
      "   t        j                          t         j                  j                          t         j                  j                  d      } t        j                  | j                               }|j                  d       t        j                  | j                               }|j                  d       |}|j                  d       i }||t         j                  <   t         j                  j                  t        j                  j                  t         d            |t         j"                  <   t         j                  j                  t        j                  j                  t         d            |t         j$                  <   t         j                  j                  t        j                  j                  t         d            |t         j&                  <   |j)                         }|j+                         }i }t         j,                  |t         j.                  <   t         j0                  |t         j2                  <   t         j4                  |t         j6                  <   t         j8                  |t         j:                  <   t         j<                  |t         j>                  <   i }d|t         j.                  <   d	|t         j2                  <   d
|t         j6                  <   d|t         j:                  <   d|t         j>                  <   | jA                  |d       t         j                  jC                          t         jD                  jG                         }	tI        d|jK                  d      gz         d}
|
r|	jM                  d       t         jN                  jQ                         D ]$  }|jR                  t         jT                  k(  rd}
|jR                  t         jV                  k(  r
tY                |jR                  t         jV                  k(  r |jZ                  t         j\                  k(  rd}
|jR                  t         jV                  k(  r<|jZ                  |j_                         v r ||jZ                     }|j+                         }|jR                  t         jV                  k(  r|jZ                  |j_                         v r{tE        jD                         }|jA                  |dd ||jZ                            tE        jD                         }tI        d|jK                  d      gz         tI        d||z
   d       |jR                  t         jV                  k(  r|jZ                  t         j`                  fv r|j_                         D ]k  }tE        jD                         }tc        d      D ]  }|jA                  |dd ||           tE        jD                         }||   }tI        d| d||z
   d       m N|jR                  t         jV                  k(  r|jZ                  t         jd                  fv rltE        jD                         }|jA                  |d       tE        jD                         }tI        d|jK                  d      gz         tI        d||z
   d       |jR                  t         jV                  k(  r|jZ                  t         jf                  k(  rtE        jD                         }th        jj                  jm                  |      }th        jj                  jm                  |      }||z  }~~tE        jD                         }tI        d|jK                  d      gz         tI        d||z
   d       |jR                  t         jV                  k(  r1|jZ                  t         jn                  fv rtE        jD                         }th        jj                  jq                  |      }th        jj                  jq                  |      }|js                  tt        jv                        }|js                  tt        jv                        }||z  }tu        jx                  |d      }th        jj                  j{                  ||       ~~tE        jD                         }tI        d|jK                  d      gz         tI        d||z
   d       |jR                  t         jV                  k(  r|jZ                  t         j|                  t         j~                  t         j                  fv ri }d|t         j|                  <   d|t         j~                  <   d|t         j                  <   th        jj                  jm                  |      }|||jZ                     z  }~tI        d|jK                  d      gz         |jR                  t         jV                  k(  r=|jZ                  t         j                  k(  r tI        d|jK                  d      gz         [|jR                  t         jV                  k(  sz|jZ                  t         j                  k(  stE        jD                         }|j                  d       |jA                  |d       |j                  d       tE        jD                         }tI        d|jK                  d      gz         tI        d||z
   d       ' | jA                  |d       t         j                  jC                          |
rt        j                          y )N)i  i  )d   r   r   )r   2   r      z	chimp.pngz
alien3.gifz
liquid.bmp	BLEND_ADD	BLEND_SUB
BLEND_MULT	BLEND_MAX	BLEND_MIN)r   r   zone pixel is:%s:T<   Fztime to do::i,  ztime to do :z: is :   i         )Cpginitmixerquitdisplayset_modeSurfaceget_sizefill	set_alphaK_1imageloadospathjoindata_dirK_2K_3K_4convertconvert_alphar   K_ar	   K_sr
   K_mr   K_EQUALSr   K_MINUSblitfliptimeClockprintget_attickeventgettypeQUITKEYDOWNusagekeyK_ESCAPEkeysK_trangeK_oK_SPACEpygame	surfarraypixels2dK_zpixels3dastypenumpyuint16minimum
blit_arrayK_rK_gK_bK_pK_f)screenim1im2im3imagesimg_to_blitiaablitsblitsnclockgoingr4   t1t2bkeyxonedoingim1pim2pim1p16im2p16colmaps                         e/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/examples/blit_blends.pymainrf   $   s   GGIHHMMOZZ  ,F
**V__&
'CHH[
**V__&
'CHHZ CMM#FF266NXX]]277<<+#FGF266NXX]]277<<,#GHF266NXX]]277<<,#GHF266N++-K

#
#
%CELLE"&&MLLE"&&MMME"&&ME"++E"**F F266N F266N!F266N%F2;;$F2::
KKVJJOOGGMMOE	


6 23
34E


2XX\\^ b	0EzzRWW$zzRZZ'zzRZZ'EII,Drzz)eii6;;=.H$UYY/!//1rzz)eii5::<.GYY[fdE%))4DEYY[(CJJv,>+??@BG9A./rzz)eiiBFF8.C!JJL 
EDB"3Z IfdE$KHI B  &d|HL
&b	CD
E rzz)eiiBFF8.CYY[f%YY[(CJJv,>+??@BG9A./rzz)eii2::.E
 YY[''005''005YY[(CJJv,>+??@BG9A./rzz)eiiBFF8.CYY[''005''005U\\2U\\2& vs3  ++C8YY[(CJJv,>+??@BG9A./rzz)eiiBFFBFFBFF;S.S!(rvv!(rvv!(rvv''005uyy))(CJJv,>+??@rzz)eii266.A(CJJv,>+??@rzz)eii266.A YY[c"f%c"YY[(CJJv,>+??@BG9A./Eb	0H 	C 


Q T GGI    c                  F    t        d       t        d       t        d       y )Nz'press keys 1-5 to change image to blit.z&A - ADD, S- SUB, M- MULT, - MIN, + MAXz(T - timing test for special blend modes.)r1    rg   re   r9   r9      s    	
34	
23	
45rg   __main__)__doc__r   rA   r   r/   r    splitabspath__file__main_dirr!   r"   pygame.surfarrayrG   ImportErrorr1   rf   r9   __name__ri   rg   re   <module>rs      s   ( 
  77==23A677<<&)2
Vr6 z	GF G  2	
012s   #B BB