o
     Pj
                     @  sv   d dl mZ ddlmZmZmZ ddlmZ ddlm	Z
 dd
dZG dd dejZeejee eejd dS )    )annotations   )BmpImagePluginImageImageOps)i16le)i32leprefixbytesreturnboolc                 C  s
   |  dS )Ns      )
startswith)r	    r   G/home/thesage/.local/lib/python3.10/site-packages/PIL/CurImagePlugin.py_accept   s   
r   c                      s:   e Zd ZdZdZdddZd fddZdd	d
Z  ZS )CurImageFileCURzWindows Cursorr   Nonec                 C  s
  | j d usJ | j  }| j d}t|sd}t|d}tt|dD ]}| j d}|s2|}q%|d |d krD|d |d krD|}q%|sMd}t|| t	|d	|  | j
d
v | _| jrg| j
| _d| _| j| jd f| _| js| jd jd| j dg| _d S d S )N   znot a CUR file          r   r   zNo cursors were found   )1LLA   r   r   )extents)fptellreadr   SyntaxErrorrangei16	TypeError_bitmapi32mode_masked_rawmode_modewidthheight_sizetile_replacesize)selfoffsetsmsgmir   r   r   _open(   s4   
  zCurImageFile._openc                   s.   | j r| j| _| j| jd f| _t   d S )Nr   )r)   r*   r+   r,   r-   r.   superload_prepare)r2   	__class__r   r   r:   J   s   zCurImageFile.load_preparec              	   C  s   | j sd S d| _| jd }| jdd| j|f}| jd|| j| jf}| j|f| _tj	| j
| j| _| j|| j
d| j tt |j d S )Nr   r   r   r   )r)   r+   r-   imcropr,   r.   r   corefillr(   r1   _impasteconvertr   invert_new)r2   
new_heightand_maskxor_maskr   r   r   load_endP   s   

zCurImageFile.load_end)r   r   )	__name__
__module____qualname__formatformat_descriptionr8   r:   rI   __classcell__r   r   r;   r   r   $   s    
"r   z.curN)r	   r
   r   r   )
__future__r    r   r   r   _binaryr   r$   r   r'   r   BmpImageFiler   register_openrM   register_extensionr   r   r   r   <module>   s   
A