
    6{gq                     B    d dl mZ ddlmZmZmZ dZdZ G d de      Zy)	   )Signals    )GtkGdkPango      c                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)DocumentHelperc                    t        j                  |        || _        | j                  | j                  d| j                         | j                  | j                  d| j
                         | | j                  _        d | _        d | _        y )Nzscroll-eventzbutton-press-event)	r   __init___viewconnect_signalon_scroll_eventon_button_press_eventtextsize_document_helper_default_font
_last_font)selfviews     @/usr/lib/x86_64-linux-gnu/xed/plugins/textsize/documenthelper.pyr   zDocumentHelper.__init__   sk    
DJJ8L8LMDJJ(<d>X>XY.2

+!    c                     | j                   r%| j                  j                  | j                          | j                  | j                         d | j                  _        y N)r   r   override_fontdisconnect_signalsr   r   s    r   stopzDocumentHelper.stop,   sA    JJ$$T%7%78

+.2

+r   c                    | j                   j                         }|j                  |j                               j	                         }| j
                  r+|j                         | j
                  j                         k7  r|| _        y y r   )r   get_style_contextget_font	get_statecopyr   hashr   )r   contextdescriptions      r   update_default_fontz"DocumentHelper.update_default_font4   sh    **..0&&w'8'8':;@@B+"2"2"48L8L8N"N!,D #Or   c                    | j                          | j                  j                         }|j                  |j	                               j                         }| j                  j                         }|j                         t        j                  z  }|t        k\  r|dk(  ry |t        k  r|dk(  ry |j                  t        d||z         t        j                  z         | j                  j                  |       || _        y )Nr   )r'   r   r    r!   r"   r#   
get_bufferget_sizer   SCALEMAX_FONT_SIZEMIN_FONT_SIZEset_sizemaxr   r   )r   amountr%   r&   bufsizes         r   set_font_sizezDocumentHelper.set_font_size;   s      "**..0&&w'8'8':;@@Bjj##%##%3= Vq[= Vr\STF]4u{{BC

  -%r   c                 &    | j                  d       y )Nr   r4   r   s    r   larger_textzDocumentHelper.larger_textN   s    1r   c                 &    | j                  d       y )Nr)   r6   r   s    r   smaller_textzDocumentHelper.smaller_textQ   s    2r   c                     | j                          | j                  j                         }| j                  j                  | j                         | j                  | _        y r   )r'   r   r*   r   r   r   )r   r2   s     r   normal_sizezDocumentHelper.normal_sizeT   sE      "jj##%

  !3!34,,r   c                    |j                   t        j                         z  }|t        j                  j
                  k7  rt        j                  S |j                  t        j                  j                  k(  r | j                          t        j                  S |j                  t        j                  j                  k(  r | j                          t        j                  S |j                  t        j                  j                  k(  rN|j                  dkD  r | j                          t        j                  S |j                  dk  r| j                          t        j                  S )Nr   )stater    accelerator_get_default_mod_maskr   ModifierTypeCONTROL_MASKEVENT_PROPAGATE	directionScrollDirectionUPr7   DOWNr9   SMOOTHdelta_y
EVENT_STOPr   r   eventr=   s       r   r   zDocumentHelper.on_scroll_event\   s    cBBDDC$$111&&&??c11444 ~~ __ 3 3 8 88 ~~ __ 3 3 : ::}}q !!# ~~ "  "~~r   c                     |j                   t        j                         z  }|t        j                  j
                  k(  r/|j                  dk(  r | j                          t        j                  S t        j                  S )N   )
r=   r   r>   r   r?   r@   buttonr;   rH   rA   rI   s       r   r   z$DocumentHelper.on_button_press_eventn   sZ    cBBDDC$$111ella6G>>!&&&r   N)__name__
__module____qualname__r   r   r'   r4   r7   r9   r;   r   r    r   r   r   r      s/    3-&&-$'r   r   N)	signalsr   gi.repositoryr   r   r   r-   r.   r   rQ   r   r   <module>rT      s(   0  ) )W'W W'r   