a
    ñ»j´  ã                   @   s°  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZ d dlmZ ddlmZmZ ddlmZ ejjZejge_eje_ejjZejjZejge_eje_ejjZ ejeege _ejj!Z!ejejge!_eje!_ejj"Z"ege"_ejj#Z#g e#_ej$j%Z%ejege%_ej&e%_ej$j'Z'ej&ge'_ee'_ej$j(Z(ege(_ej$j)Z*ee*_eeege*_ddœdd	„Z+e,e-d
œdd„Z.e,dœdd„Z/ee,e-f ddœdd„Z0e1dk�r¬e/ƒ Z2e3e2ƒ dS )é    )Ú	addressofÚc_bufferÚc_char_pÚc_intÚc_size_tÚc_void_pÚ	c_wchar_pÚcastÚcreate_unicode_bufferÚsizeofÚwindllÚwintypesÚ
wstring_at)ÚUnioné   )ÚCF_UNICODETEXTÚGHND)Úensure_unicodeN)Úreturnc                  C   s(   t dƒ tdƒ} | rt| ƒ} qtƒ  d S ©Nr   )ÚOpenClipboardÚEnumClipboardFormatsÚCloseClipboard)Úq© r   úKE:\soccer\ml_env\Lib\site-packages\pyreadline3/clipboard/win32_clipboard.pyÚ_enum^   s
    
r   )Ú
format_strr   c                 C   s0   t dƒ}t|ƒ}tdƒ t| ||ƒ tƒ  |jS )Néd   r   )r   r   r   ÚGetClipboardFormatNamer   Úvalue)r   ÚbufferZ
bufferSizer   r   r   Ú_get_format_nameh   s    r"   c                  C   s6   d} t dƒr2ttƒ}|r,tt|ƒƒ} t|ƒ tƒ  | S )NÚ r   )r   ÚGetClipboardDatar   r   Ú
GlobalLockÚGlobalUnlockr   )ÚtextZ
h_clip_memr   r   r   Úget_clipboard_textu   s    r(   )r'   r   c                 C   s~   t t| ƒƒ}t|ƒ}ttt|ƒƒ}tt_t|ƒ}t	t
|tƒt
t|ƒtƒt|ƒƒ tt|ƒƒ tdƒrztƒ  tt|ƒ tƒ  d S r   )r
   r   r   ÚGlobalAllocr   r   r   r%   ÚrestypeÚ_strncpyr	   r   r   r&   r   r   ÚEmptyClipboardÚSetClipboardDatar   r   )r'   r!   Úbuffer_sizeZh_global_memZlp_global_memr   r   r   Úset_clipboard_text„   s    ý
r/   Ú__main__)4Úctypesr   r   r   r   r   r   r   r	   r
   r   r   r   r   Útypingr   Zkeysyms.win32_constantsr   r   Zunicode_helperr   Zuser32r   ÚHWNDÚargtypesÚBOOLr*   r,   r$   ÚUINTÚHANDLEZGetClipboardFormatNameAr   r-   r   r   Úkernel32r)   ÚHGLOBALr%   r&   Z	lstrcpynWr+   r   ÚstrÚbytesr"   r(   r/   Ú__name__ÚtxtÚprintr   r   r   r   Ú<module>$   sJ   <




