3
Z                 @   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j
 Zejd
 ejddZeje ejddZej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jeddd  ejeddd  ejeddd  ejeddd  ejde	e ejde	e ejde	e ejde	e ej  ejdej ej  ej  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j|  | jd| j || _d | _|r6tj|| _| jsHtjd| _| j	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   || _ | j  d S )N)r   Zqueue_resize)r   r   r   r   r   	set_level&   s    zGtkInkLevel.set_levelc             C   s   | j S )N)r   )r   r   r   r   	get_level*   s    zGtkInkLevel.get_levelc             C   s  |j  }|j }d| | }|dk r2|d d }n|d d }d}|j|| |j|d|  |d|   t|j||}| jjd }| jjd }| jj	d }	| j
d }
|jd	d
 |jd	ddd	dd |jddddd	d |jddd
dd
d |jd
d	ddd	d
 |j  |j|||	 |j| |j  |
d
krd}|
|d  }|dk rTd}tjdddd}|jd|||	d |j| j
d d |||	d |j| j
d d dddd |jddddd |j| |j  n|jddd |j  |j|d  |jd	d
 |jd	d |j|||	 |j  |jdd	 |jdd	 |j|||	 |j  |jdd |jdd |j|||	 |j  |jdd |jdd |j|||	 |j  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 j  | j }|d7 }|dkr$d}| j| t j  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"   Z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



