
    &h                     X   S r SSKrSSKrSSKrSSKJr  \R                  R                  \R                  R                  \
5      5      rSrSrSrSrSrS	\4S
 jrS rS\R(                  S	\4S jrSS jr\S:X  a0  \" \R2                  5      S:  a  \R2                  S   OSr\" \5        gg)aw  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                    Uu  pEU[         :X  a#  US-
  US-   4US-   US-   4US-   US-
  4XES-
  44nO~U[        :X  a#  US-
  US-
  4US-   US-
  4US-   US-   4XES-   44nOQU[        :X  a$  US-   US-
  4US-   US-   4US-
  US-   4US-
  U44nO#US-
  US-
  4US-
  US-   4US-   US-   4US-   U44n[        R                  R                  XU5        g )N      r   )DIR_UPDIR_DOWNDIR_LEFTpgdrawpolygon)surfcolorposnr	   xy	pointlists          N/var/www/auris/envauris/lib/python3.13/site-packages/pygame/examples/scroll.py
draw_arrowr   "   s#   DAF"fa"f%BB'7!a%R1RTf+V		h	"fa"f%BB'7!a%R1RTf+V		h	"fa"f%BB'7!b&!a%1r6ST+V	"fa"f%BB'7!b&!a%1r6ST+V	GGOOD+    c                 <    [        U SX#5        [        XSS4X#5        g )Nblackr   )r   )screenregionsr   r	   s       r   add_arrow_buttonr    /   s    vw0wAq)4;r   imagec                 &   S nS nU R                  5       nUR                  5       u  pxU[        :X  ai  UR                  S:  aW  U R	                  [
        S9  UR                  SS5        UR                  5       nSUl        UR                  5       n[
        Ul        GOU[        :X  a  UR                  U:  az  U R	                  [
        * S9  UR                  SS5        UR                  5       nSUl        UR                  Ul
        UR                  5       n[
        Ul        UR                  Ul
        GOU[        :X  ah  UR                  S:  aW  U R	                  [
        S9  UR                  SS5        UR                  5       nSUl        UR                  5       n[
        Ul        OU[        :X  a  UR                  U:  az  U R	                  [
        * S9  UR                  SS5        UR                  5       nSUl        UR                  Ul        UR                  5       n[
        Ul        UR                  Ul        UbY  UbU  [!        UR#                  U5      UR$                  U R#                  U5      5        [&        R(                  R+                  U5        g g g )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~~'G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                 
   U c%  [         R                  R                  [        SS5      n SnSnUS   [        -  US   [        -  4nUS   SU-  -   US   SU-  -   4n[
        R                  " S5      n[
        R                  " 5         [
        R                  R                  S	5        [
        R                  R                  5       u  pg[
        R                  R                  S
S5         [
        R                  R                  U5      nUR                  U5        [
        R                  R                  5         [
        R                   R#                  U 5      R%                  5       n	U	R'                  5       u  pXS   :  d  XS   :  aO  [)        S5        [)        SU-  5         [
        R                  R                  Xg5        [
        R*                  " 5         g [
        R,                  " USS5      n[/        XSUS   S-  4[0        5        [/        XUS   S-
  US   S-  4[2        5        [/        XUS   S-  S4[4        5        [/        XUS   S-  US   S-
  4[6        5        [
        R                  R                  5         UR9                  XUS   US   45        [
        R:                  " SSUS   US   5      n[=        U	R?                  U5      UUR?                  URA                  5       5      5        [
        R                  R                  5         S n[
        RB                  RE                  5       nURG                  5         SnU(       Ga  [
        RH                  RK                  5       n[
        R                  RM                  5       nU[
        RN                     (       a  [Q        X[4        U5        U[
        RR                     (       a  [Q        X[6        U5        U[
        RT                     (       a  [Q        X[0        U5        U[
        RV                     (       a  [Q        X[2        U5        U H  nURX                  [
        RZ                  :X  a  SnM%  URX                  [
        R\                  :X  a   UR_                  UR`                  5      S   nMc  URX                  [
        Rb                  :X  d  M  S nM     U(       a  [Q        XX5        URG                  S5        U(       a  GM  [
        R                  R                  Xg5        [
        R*                  " 5         g ! [
        R                  R                  Xg5        [
        R*                  " 5         f = f)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 >>+q\!W|%;CD;nLMB 	+6
	A **Xq"-2x{a/?*@(KhqkB.q0@A9	
 	8A;!+;R*@&IhqkQ.b0@A8	
 	

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

 	

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

 XX\\^F 66%%'DBGG}F69=BIIF8Y?BIIF8Y?BJJF9i@66RWW$!E VVr111 'quu 5a 8IVVr/// $I  F9@JJrN= eB 	+6
	 	+6
	s   &B6T KT '1T 6U__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   