§
    7?Äjû  ã                   óV   — d dl mZ d dlmZ d dlmZ e G d„ de¦  «        ¦   «         ZdS )é    )Ú	dataclass)ÚClip)ÚEffectc                   ó”   — e Zd ZU dZdZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed<   dZeed	<   dZeed
<   dedefd„ZdS )ÚCropaH  Effect to crop a clip to get a new clip in which just a rectangular
    subregion of the original clip is conserved. `x1,y1` indicates the top left
    corner and `x2,y2` is the lower right corner of the cropped region. All
    coordinates are in pixels. Float numbers are accepted.

    To crop an arbitrary rectangle:

    >>> Crop(x1=50, y1=60, x2=460, y2=275)

    Only remove the part above y=30:

    >>> Crop(y1=30)

    Crop a rectangle that starts 10 pixels left and is 200px wide

    >>> Crop(x1=10, width=200)

    Crop a rectangle centered in x,y=(300,400), width=50, height=150 :

    >>> Crop(x_center=300, y_center=400, width=50, height=150)

    Any combination of the above should work, like for this rectangle
    centered in x=300, with explicit y-boundaries:

    >>> Crop(x_center=300, width=400, y1=100, y2=600)

    NÚx1Úy1Úx2Úy2ÚwidthÚheightÚx_centerÚy_centerÚclipÚreturnc                 óÂ  ‡ — ‰ j         r‰ j        �‰ j        ‰ j         z   ‰ _        n"‰ j         r‰ j        �‰ j        ‰ j         z
  ‰ _        ‰ j        r‰ j        �‰ j        ‰ j        z   ‰ _        n"‰ j        r‰ j        �‰ j        ‰ j        z
  ‰ _        ‰ j        r/‰ j        ‰ j         dz  z
  ‰ j        ‰ j         dz  z   c‰ _        ‰ _        ‰ j        r/‰ j        ‰ j        dz  z
  ‰ j        ‰ j        dz  z   c‰ _        ‰ _        ‰ j        pd‰ _        ‰ j        pd‰ _        ‰ j        p|j        d         ‰ _        ‰ j        p|j        d         ‰ _        | 	                    ˆ fd„dg¬¦  «        S )zApply the effect to the clip.Né   r   é   c                 ó°   •— | t          ‰j        ¦  «        t          ‰j        ¦  «        …t          ‰j        ¦  «        t          ‰j        ¦  «        …f         S )N)Úintr	   r   r   r
   )ÚframeÚselfs    €úFC:\Projects\Historical\venv\Lib\site-packages\moviepy/video/fx/Crop.pyú<lambda>zCrop.apply.<locals>.<lambda>L   s>   ø€ ˜%Ý�D”G‘”�s 4¤7™|œ|Ð+­S°´©\¬\½CÀÄ¹L¼LÐ-HÐHô€ ó    Úmask)Úapply_to)
r   r   r
   r   r	   r   r   r   ÚsizeÚimage_transform)r   r   s   ` r   Úapplyz
Crop.apply.   sw  ø€ àŒ:ð 	+˜$œ'Ð-Ø”g ¤
Ñ*ˆDŒGˆGØŒZð 	+˜DœGÐ/Ø”g ¤
Ñ*ˆDŒGàŒ;ð 	,˜4œ7Ð.Ø”g ¤Ñ+ˆDŒGˆGØŒ[ð 	,˜TœWÐ0Ø”g ¤Ñ+ˆDŒGàŒ=ð 	à” ¤
¨Q¡Ñ.Ø” ¤
¨Q¡Ñ.ð ˆDŒG�T”Wð
 Œ=ð 	à” ¤¨a¡Ñ/Ø” ¤¨a¡Ñ/ð ˆDŒG�T”Wð
 ”'�,˜QˆŒØ”'�,˜QˆŒØ”'Ð)˜TœY qœ\ˆŒØ”'Ð)˜TœY qœ\ˆŒà×#Ò#ðð ð ð ð �Xð	 $ñ 
ô 
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__annotations__r	   r
   r   r   r   r   r   r   r    © r   r   r   r      s¸   € € € € € € ðð ð8 €Bˆ€N€N�NØ€Bˆ€N€N�NØ€Bˆ€N€N�NØ€Bˆ€N€N�NØ€Eˆ3ÐÐÑØ€FˆCÐÐÑØ€HˆcÐÐÑØ€HˆcÐÐÑð"
˜$ð "
 4ð "
ð "
ð "
ð "
ð "
ð "
r   r   N)Údataclassesr   Úmoviepy.Clipr   Úmoviepy.Effectr   r   r&   r   r   ú<module>r*      s…   ðØ !Ð !Ð !Ð !Ð !Ð !à Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð ðH
ð H
ð H
ð H
ð H
ˆ6ñ H
ô H
ñ „ðH
ð H
ð H
r   