
    ef	                        d Z ddlZddlZ ej
                  d      Z ej                  d      Zej                  d        ej                  d      Zej                  e       ej                  d	d
      Z ej                  d      e_         ej                  dd      e_        ej                  dd
      Z ej&                         Zej+                  d       ej                  ed       ej-                  d       dd ej.                  ej0                  j1                  d      d      z  z   dej0                  j1                  d      z  z   Zdd ej.                  ej0                  j1                  d      d      z  z   dej0                  j1                  d      z  z   Zej7                  ed       ej7                  ed       ej7                  ed      Zej;                  e       d Zej>                  jA                  e       d Z!ejD                  jA                  e!       ejG                  ddg        ejH                  dd       Z% ejH                  dd       Z&ej                  e%d       ej                  e&d       ejN                  Z'd! Z(ejS                         jT                  jA                  e(       e+d"k(  r ejX                          yy)#z`
Demonstrates some customized mouse interaction by drawing a crosshair that follows 
the mouse.
    NzCrosshair ExampleT)showzpyqtgraph example: crosshairright)justify   )rowcolz#FFFFFFz#8080DD
   )width   )ignoreBounds)yi'  i:  )sizei  r)pengwc                      t         j                  d       t         j                         \  } }t        j	                  | |d       y )Nr	   r   )padding)region	setZValue	getRegionp1	setXRange)minXmaxXs     >/usr/lib/python3/dist-packages/pyqtgraph/examples/crosshair.pyupdater   -   s4    
R!!#JD$LLtQL'    c                 8    |d   }t         j                  |       y )Nr   )r   	setRegion)window	viewRangergns      r   updateRegionr$   4   s    
A,C
Sr   i  i  Z   F)anglemovablec                    | }t         j                         j                  |      rt        j	                  |      }t        |j                               }|dkD  rI|t        t              k  r7t        j                  d|j                         t        |   t        |   fz         t        j                  |j                                t        j                  |j                                y y )Nr   z<span style='font-size: 12pt'>x=%0.1f,   <span style='color: red'>y1=%0.1f</span>,   <span style='color: green'>y2=%0.1f</span>)r   sceneBoundingRectcontainsvbmapSceneToViewintxlendata1labelsetTextdata2vLinesetPoshLiner   )evtpos
mousePointindexs       r   
mouseMovedr;   E   s    
C	&&s+&&s+
JLLN#19U+MM  \  `j  `l  `l  `n  pu  v{  p|  ~C  DI  ~J  _K  K  LZ\\^$Z\\^$ ,r   __main__)-__doc__numpynp	pyqtgraphpgmkQAppappGraphicsLayoutWidgetwinsetWindowTitle	LabelItemr1   addItemaddPlotr   mkPenavgPenavgShadowPenp2LinearRegionItemr   r   setAutoVisiblegaussianFilterrandomr0   r3   plotp2dsetClipItemr   sigRegionChangedconnectr$   sigRangeChangedr    InfiniteLiner4   r6   r+   r;   scenesigMouseMoved__name__exec r   r   <module>r^      s  
   bii#$b4(   1 2W% E [[QA[BHHY	"((9B/[[QA[				     

6
 %   D  
 	)))"))*:*:*:*FKKKdUWU^U^UeUekpUeUqNqq)))"))*:*:*:*FKKKdUWU^U^UeUekpUeUqNqq 3  3 ggeg   3 (
      '     < (   $  	b%0a/ 

5t
 $ 

5t
 $ UU% 
       , zBGGI r   