ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5d,                     @   sT   d dl Z dd ZG dd dZG dd dZG dd	 d	Zd
d ZedkrPe  dS )    Nc                 C   s   t | |}|jr|S d S d S N)
DndHandlerroot)sourceeventh r   #/usr/lib64/python3.8/tkinter/dnd.py	dnd_startl   s    
r
   c                   @   sD   e Zd ZdZdd Zdd Zdd Zdd	 Zdd
dZdddZ	dS )r   Nc                 C   s   |j dkrd S |j }z|j W d S  tk
rD   | |_|| _Y nX || _d | _|j  | _}|j | _	}d||f | _
|d pd| _|| j
| j |d| j d|d< d S )N   z<B%d-ButtonRelease-%d>cursor <Motion>Zhand2)ZnumwidgetZ_root_DndHandler__dndAttributeErrorr   r   targetZinitial_buttoninitial_widgetrelease_patternsave_cursorbind
on_release	on_motion)selfr   r   r   Zbuttonr   r   r   r	   __init__z   s$    

zDndHandler.__init__c                 C   s2   | j }d | _ |r.z|`W n tk
r,   Y nX d S r   )r   r   r   r   r   r   r   r	   __del__   s    zDndHandler.__del__c           	      C   s   |j |j }}| j||}| j}d }|rbz
|j}W n tk
rH   Y nX |||}|rZqb|j}q&| j}||kr|r|	|| n,|rd | _|
|| |r||| || _d S r   )x_rooty_rootr   Zwinfo_containingr   
dnd_acceptr   Zmasterr   
dnd_motion	dnd_leave	dnd_enter)	r   r   xyZtarget_widgetr   
new_targetattrZ
old_targetr   r   r	   r      s.    

zDndHandler.on_motionc                 C   s   |  |d d S )N   finishr   r   r   r   r	   r      s    zDndHandler.on_releasec                 C   s   |  |d d S )Nr   r(   r*   r   r   r	   cancel   s    zDndHandler.cancelr   c              
   C   s   | j }| j}| j}| j}zf|`| j| j | jd | j|d< d  | _  | _ | _| _|r||rp|	|| n|
|| W 5 ||| X d S )Nr   r   )r   r   r   r   dnd_endr   Zunbindr   r   
dnd_commitr!   )r   r   Zcommitr   r   r   r   r   r   r	   r)      s    
zDndHandler.finish)N)r   )
__name__
__module____qualname__r   r   r   r   r   r+   r)   r   r   r   r	   r   v   s   	
r   c                   @   sN   e Zd Zdd ZdddZdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dS )Iconc                 C   s   || _ d  | _ | _| _d S r   )namecanvaslabelid)r   r2   r   r   r	   r      s    zIcon.__init__
   c                 C   s   || j kr | j | j|| d S | j r.|   |s6d S tj|| jddd}|j|||dd}|| _ || _|| _|	d| j
 d S )N   Zraised)textZborderwidthZreliefZnw)ZwindowZanchorz<ButtonPress>)r3   coordsr5   detachtkinterZLabelr2   Zcreate_windowr4   r   press)r   r3   r#   r$   r4   r5   r   r   r	   attach   s     

 zIcon.attachc                 C   sB   | j }|sd S | j}| j}d  | _  | _| _|| |  d S r   )r3   r5   r4   deleteZdestroy)r   r3   r5   r4   r   r   r	   r:      s    
zIcon.detachc                 C   s4   t | |r0|j| _|j| _| j| j\| _| _	d S r   )
r
   r#   x_offr$   y_offr3   r9   r5   x_origy_origr*   r   r   r	   r<      s    
z
Icon.pressc                 C   s(   |  | j|\}}| j| j|| d S r   )wherer3   r9   r5   )r   r   r#   r$   r   r   r	   move   s    z	Icon.movec                 C   s   | j | j| j| j d S r   )r3   r9   r5   rA   rB   )r   r   r   r	   putback   s    zIcon.putbackc                 C   s8   |  }| }|j| }|j| }|| j || j fS r   )Zwinfo_rootxZwinfo_rootyr   r   r?   r@   )r   r3   r   Zx_orgZy_orgr#   r$   r   r   r	   rC      s
    

z
Icon.wherec                 C   s   d S r   r   )r   r   r   r   r   r	   r,     s    zIcon.dnd_endN)r6   r6   )r.   r/   r0   r   r=   r:   r<   rD   rE   rC   r,   r   r   r   r	   r1      s   


r1   c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )Testerc                 C   s>   t || _t j| jddd| _| jjddd | j| j_d S )Nd   )widthZheightZbothr'   )Zfillexpand)r;   ZTopleveltopZCanvasr3   packr   r   r   r   r	   r     s    zTester.__init__c                 C   s   | S r   r   r   r   r   r   r   r	   r     s    zTester.dnd_acceptc                 C   sp   | j   || j |\}}|j |j\}}}}|| ||  }	}
| j ||||	 ||
 | _| || d S r   )r3   	focus_setrC   bboxr5   Zcreate_rectangledndidr    )r   r   r   r#   r$   x1y1x2y2ZdxZdyr   r   r	   r"     s    
zTester.dnd_enterc           	      C   sF   | | j|\}}| j| j\}}}}| j| j|| ||  d S r   )rC   r3   rN   rO   rD   )	r   r   r   r#   r$   rP   rQ   rR   rS   r   r   r	   r      s    zTester.dnd_motionc                 C   s"   | j   | j| j d | _d S r   )rJ   rM   r3   r>   rO   rL   r   r   r	   r!   $  s    
zTester.dnd_leavec                 C   s2   |  || || j|\}}|| j|| d S r   )r!   rC   r3   r=   )r   r   r   r#   r$   r   r   r	   r-   )  s    zTester.dnd_commitN)	r.   r/   r0   r   r   r"   r    r!   r-   r   r   r   r	   rF     s   rF   c                  C   s   t  } | d t j| jdd  t| }|jd t| }|jd t| }|jd td}td}td	}|	|j
 |	|j
 |	|j
 |   d S )
Nz+1+1ZQuit)Zcommandr8   z+1+60z+120+60z+240+60ZICON1ZICON2ZICON3)r;   ZTkZgeometryZButtonquitrK   rF   rJ   r1   r=   r3   Zmainloop)r   t1t2Zt3Zi1Zi2Zi3r   r   r	   test/  s     
rW   __main__)r;   r
   r   r1   rF   rW   r.   r   r   r   r	   <module>g   s   
Y=#