
    cc	                          d dl Z  G d d      Zy)    Nc                   4    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)AbstractBrushc                      || _         || _        y N)_id_tool)selfbrush_id
brush_toolargss       8/usr/lib/python3/dist-packages/drawing/abstract_brush.py__init__zAbstractBrush.__init__   s    $($*    c                     t        d      gS )NBrush)_)r	   use_pressurebrush_directions      r   	_get_tipszAbstractBrush._get_tips   s    
G*r   c                     |j                  |d          |j                  |d          |j                          |d   D ]  }|j                  |d   |d           |j	                          y )Noperator
line_widthpathxy)set_operatorset_line_widthnew_pathline_tostroke)r	   	operationcairo_contextpts       r   draw_previewzAbstractBrush.draw_preview   sl    Yz23y67f +bC"S'*+r   c                    |d   t         j                  j                  k(  s |d   t         j                  j                  k(  r9|j	                  |d           |j
                  |d     | j                  ||       y | j                  j                         j                         }| j                  j                         j                         }t        j                  t         j                  j                  ||      }t        j                  |      }|d   rt         j                  j                   }nt         j                  j"                  }|j%                  |       |j	                  t         j                  j                          |j
                  |d     | j                  ||       |j	                  |d          |j'                  |       |j)                          y )Nr   rgba	antialias)cairoOperatorCLEARSOURCEr   set_source_rgbado_masked_brush_opr   get_surface	get_width
get_heightImageSurfaceFormatARGB32Context	AntialiasDEFAULTNONEset_antialiasset_source_surfacepaint)r	   r!   original_contextwhmaskcontext2r'   s           r   operation_on_maskzAbstractBrush.operation_on_mask   ss   zenn222zenn333   :!67###Yv%67+Y7	
 jj((*!
jj))+!			ELL//A	6$]]4 ({&&9##9
#
--.(If-.(I. 	* 56%%d+r   c                      y r    r	   r"   r!   s      r   do_brush_operationz AbstractBrush.do_brush_operation>       r   c                      y r   rB   rC   s      r   r-   z AbstractBrush.do_masked_brush_opA   rE   r   N)
__name__
__module____qualname____gtype_name__r   r   r$   r@   rD   r-   rB   r   r   r   r      s&    !
!Jr   r   )r(   r   rB   r   r   <module>rK      s    = =r   