
    i                     N   d Z ddlZddlZddlZddlmZ ej                  j                  ej                  j                  e
            ZdZdZdZdZdZd	efd
Zd Zdej(                  d	efdZddZedk(  r/ eej2                        dkD  rej2                  d   ndZ ee       yy)ax   pygame.examples.scroll

An zoomed image viewer that demonstrates Surface.scroll

This example shows a scrollable image that has a zoom factor of eight.
It uses the Surface.scroll function to shift the image on the display
surface. A clip rectangle protects a margin area. If called as a function,
the example accepts an optional image file path. If run as a program
it takes an optional file path command line argument. If no file
is provided a default image file is used.

When running click on a black triangle to move one pixel in the direction
the triangle points. Or use the arrow keys. Close the window or press ESC
to quit.
    N)scale               	directionc                    |\  }}|t         k(  r$|dz
  |dz   f|dz   |dz   f|dz   |dz
  f||dz
  ff}n}|t        k(  r$|dz
  |dz
  f|dz   |dz
  f|dz   |dz   f||dz   ff}nP|t        k(  r$|dz   |dz
  f|dz   |dz   f|dz
  |dz   f|dz
  |ff}n#|dz
  |dz
  f|dz
  |dz   f|dz   |dz   f|dz   |ff}t        j                  j                  | ||       y )N      r   )DIR_UPDIR_DOWNDIR_LEFTpgdrawpolygon)surfcolorposnr	   xy	pointlists          `/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/examples/scroll.py
draw_arrowr   "   s+   DAqF"fa"f%BB'7!a%R1aRTf+V		h	"fa"f%BB'7!a%R1aRTf+V		h	"fa"f%BB'7!b&!a%1r6ST+V	"fa"f%BB'7!b&!a%1r6ST+V	GGOOD%+    c                 B    t        | d||       t        ||ddf||       y )Nblackr   )r   )screenregionsr   r	   s       r   add_arrow_buttonr    /   s%    vwi0wAq)4;r   imagec                 0   d }d }| j                         }|j                         \  }}|t        k(  rl|j                  dkD  r| j	                  t
               |j                  dd       |j                         }d|_        |j                         }t
        |_        n|t        k(  r|j                  |k  r| j	                  t
                |j                  dd       |j                         }d|_        |j                  |_
        |j                         }t
        |_        |j                  |_
        n|t        k(  rj|j                  dkD  r| j	                  t
               |j                  dd       |j                         }d|_        |j                         }t
        |_        n|t        k(  r|j                  |k  r}| j	                  t
                |j                  dd       |j                         }d|_        |j                  |_        |j                         }t
        |_        |j                  |_        |X|Ut!        |j#                  |      |j$                  | j#                  |             t&        j(                  j+                  |       y y y )Nr   )dyr   )dx)get_clipget_sizer   topscrollzoom_factormove_ipcopyhr   bottomr   leftw	DIR_RIGHTrightr   
subsurfacesizer   displayupdate)	r   r!   r	   	view_rectsrc_rectdst_rectzoom_view_rectimage_wimage_hs	            r   scroll_viewr=   4   s   HH__&N~~'GWF==1MM[M)a$ ~~'HHJ%**,H$HJ	h	g%MMk\M*a# ~~'HHJ'..HO%**,H$HJ,33HO	h	>>AMM[M)b!$ ~~'HHJ%**,H$HJ	i	??W$MMk\M*a# ~~'HHJ&__HN%**,H$HJ+11HN 4ex((--9J9J89TU


.) !5r   c                 J
   | %t         j                  j                  t        dd      } d}d}|d   t        z  |d   t        z  f}|d   d|z  z   |d   d|z  z   f}t        j                  d      }t        j                          t
        j                  j                  d	       t
        j                  j                         \  }}t
        j                  j                  d
d       	 t
        j                  j                  |      }|j                  |       t
        j                  j                          t
        j                   j#                  |       j%                         }	|	j'                         \  }
}|
|d   k  s||d   k  rOt)        d       t)        d|z         	 t
        j                  j                  ||       t        j*                          y t        j,                  |dd      }t/        ||d|d   dz  ft0               t/        |||d   dz
  |d   dz  ft2               t/        |||d   dz  dft4               t/        |||d   dz  |d   dz
  ft6               t
        j                  j                          |j9                  |||d   |d   f       t        j:                  dd|d   |d         }t=        |	j?                  |      ||j?                  |jA                                      t
        j                  j                          d }t
        jB                  jE                         }|jG                          d}|rxt
        jH                  jK                         }t
        j                  jM                         }|t
        jN                     rtQ        ||	t4        |       |t
        jR                     rtQ        ||	t6        |       |t
        jT                     rtQ        ||	t0        |       |t
        jV                     rtQ        ||	t2        |       |D ]~  }|jX                  t
        jZ                  k(  rd}#|jX                  t
        j\                  k(  r|j_                  |j`                        d   }_|jX                  t
        jb                  k(  s}d } |rtQ        ||	||       |jG                  d       |rxt
        j                  j                  ||       t        j*                          y # t
        j                  j                  ||       t        j*                          w xY w)Ndatazarraydemo.bmpP   )r      r   r   r   beigezScroll Examplei  r   z/The source image is too small for this example.z'A %i by %i or larger image is required.   (   TF)2ospathjoinmain_dirr*   r   Colorinitr5   set_captionkey
get_repeat
set_repeatset_modefillflipr!   loadconvertr'   printquitSurfacer    r   r1   r   r   set_clipRectr   r3   r&   timeClocktickeventgetget_pressedK_UPr=   K_DOWNK_LEFTK_RIGHTtypeQUITMOUSEBUTTONDOWNget_atposMOUSEBUTTONUP)
image_filemargin	view_sizezoom_view_sizewin_sizebackground_colorold_k_delayold_k_intervalr   r!   r;   r<   r   r7   r	   clockgoingeventskeyses                       r   mainrv   c   s   WW\\(FOD
FIl[0)A,2LMNq!AJ.q0AAJ0NOHxx(GGIJJ+, #%&&"3"3"5KFFc2M$$X.$%


j)113 >>+Yq\!Wy|%;CD;nLMB 	+~6
	A **Xq"-2x{a/?*@(KGhqkB.q0@A9	
 	8A;!+;R*@&IGhqkQ.b0@A8	
 	

):N1<MNOGGAq)A,	!=	Y'foo/0	

 	

 	

 XX\\^F 66%%'DBGG}FE69=BIIFE8Y?BIIFE8Y?BJJFE9i@ 
%66RWW$!E VVr111 'quu 5a 8IVVr/// $I
% FE9i@JJrN= B 	+~6
	 	+~6
	s   $B7S, J<S, 'S, ,6T"__main__)N)__doc__sysrE   pygamer   pygame.transformr   rF   dirnameabspath__file__rH   r   r   r   r1   r*   intr   r    rV   r=   rv   __name__lenargvri    r   r   <module>r      s     	  "77??277??845 
	
,S 
,<
,*rzz ,*c ,*^]@ z #CHH 1!tJ r   