U
    9¡_Ö  ã                   @   sn  d dl mZ d dl mZ d dlZG dd„ dejƒZedkrjd dl mZ d dlZdd	„ Z	e 
¡ Ze d
¡ ejddZe e¡ ejddZe eddd ¡ edddZedddZedddZedddZe eddd ¡ e eddd ¡ e eddd ¡ e eddd ¡ e de	e¡ e de	e¡ e de	e¡ e de	e¡ e ¡  e dej¡ e ¡  e ¡  dS )é    )ÚGdk)ÚGtkNc                   @   s.   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
S )ÚGtkInkLevelr   c                 C   sX   t j | ¡ |  d| j¡ || _d | _|r6t |¡| _| jsHt d¡| _|  	dd¡ d S )NÚdrawz#ccccccé   é-   )
r   ÚDrawingAreaÚ__init__Úconnectr   Ú_levelÚ_colorr   Zcolor_parseZset_size_request)ÚselfZcolorÚlevel© r   ú//usr/share/system-config-printer/gtkinklevel.pyr	      s    zGtkInkLevel.__init__c                 C   s   || _ |  ¡  d S ©N)r   Zqueue_resize)r   r   r   r   r   Ú	set_level&   s    zGtkInkLevel.set_levelc                 C   s   | j S r   )r   )r   r   r   r   Ú	get_level*   s    zGtkInkLevel.get_levelc                 C   s´  |  ¡ }| ¡ }d| | }|dk r2|d d }n|d d }d}| ||¡ | |d|  |d|  ¡ t| ||¡ƒ}| jjd }| jjd }| jj	d }	| j
d }
| d	d
¡ | d	ddd	dd¡ | ddddd	d¡ | ddd
dd
d¡ | d
d	ddd	d
¡ | ¡  | |||	¡ | |¡ | ¡  |
d
krÔd}|
|d  }|dk rTd}t dddd¡}| d|||	d¡ | | j
d d |||	d¡ | | j
d d dddd¡ | ddddd¡ | |¡ | ¡  n| ddd¡ | ¡  | |d ¡ | d	d
¡ | d	d¡ | |||	¡ | ¡  | dd	¡ | dd	¡ | |||	¡ | ¡  | dd¡ | dd¡ | |||	¡ | ¡  | dd¡ | dd¡ | |||	¡ | ¡  d S )Ng      ð?g      ø?g       @g      @é   é   g    àÿï@g      Y@g      à?g        g…ëQ¸Õ?gq=
×£på?g333333ë?g333333Ã?gš™™™™™¹?gš™™™™™É?r   é   gš™™™™™Ù?g333333ã?gÍÌÌÌÌÌÜ?g      è?gš™™™™™á?g      Ð?)Zget_allocated_widthZget_allocated_heightÚ	translateZscaleÚmaxZdevice_to_user_distancer   ZredZgreenZbluer   Zmove_toZcurve_toZ
close_pathZset_source_rgbZset_line_widthZstroke_preserveÚcairoZLinearGradientZadd_color_stop_rgbaZ
set_sourceZfillZline_toZstroke)r   ZwidgetZctxÚwÚhZratioZ	thicknessÚrÚgÚbZ
fill_pointZ
grad_widthZ
grad_startZpatr   r   r   r   -   sl    





zGtkInkLevel.drawN)r   )Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r   r   r      s   
r   Ú__main__)ÚGLibc                 C   s:   t  ¡  |  ¡ }|d7 }|dkr$d}|  |¡ t  ¡  dS )Nr   éd   r   T)r   Zthreads_enterr   r   Zthreads_leave)r   Úlr   r   r   Úadjust_levelv   s    
r&   é   é   )ZspacingFZblackr$   )r   Zcyané<   Zmagentar   Zyellowé
   Zdelete_event)Zgi.repositoryr   r   r   r   r   r   r#   Útimer&   ZWindowr   Zset_border_widthZVBoxZvboxÚaddZHBoxZhboxZ
pack_startZklevelZclevelZmlevelZylevelZtimeout_addZshow_allr
   Z	main_quitZthreads_initÚmainr   r   r   r   Ú<module>   s:   Y



