File: //lib/python3/dist-packages/PIL/__pycache__/GimpGradientFile.cpython-38.pyc
U
g�
^
� @ s� d dl mZmZmZmZ ddlmZ dZdd� Zdd� Z d d
� Z
dd� Zd
d� Zee e
eegZ
G dd� d�ZG dd� de�ZdS )� )�log�pi�sin�sqrt� )�o8g�����|�=c C sR || kr"| t k rdS d| | S n,|| }d| } | t k r>dS dd| | S d S )Ng � �?� �?)�EPSILON�Zmiddle�pos� r
�6/usr/lib/python3/dist-packages/PIL/GimpGradientFile.py�linear s r c C s |t d�t t| t�� S )Nr )r �maxr
r r
r
r �curved, s r c C s$ t t d tt| |� �d d S )Ng @r )r r r r r
r
r �sine0 s r c C s t dt| |�d d �S �Nr � �r r r r
r
r �sphere_increasing4 s r c C s dt dt| |�d � S r r r r
r
r �sphere_decreasing8 s r c @ s e Zd ZdZddd�ZdS )�GradientFileN� c C sp g }d}| j | \}}}}}} t|�D �]8}
|
t|d � }||k rd|d7 }| j | \}}}}}} q<|| }|tk r�| dd�}
n| || | || | �}
ttd|d |d |
|d d ��}ttd|d |d |
|d d ��}ttd|d |d |
|d d ��}ttd|d |d |
|d d ��}|�|| | | � q&d�|�dfS ) Nr r r � r � � ZRGBA)�gradient�range�floatr
r �int�append�join)�self�entriesZpaletteZix�x0�x1�xm�rgb0�rgb1�segment�i�x�wZscale�r�g�b�ar
r
r �
getpaletteC s$ ,,,,zGradientFile.getpalette)r )�__name__�
__module__�__qualname__r r2 r
r
r
r r ? s r c @ s e Zd Zdd� ZdS )�GimpGradientFilec C s� |� � d d� dkrtd��|� � }|�d�r:|� � �� }t|�}g }t|�D ]�}|� � �� }dd� |d d� D �}|d |d }} |d
}
|dd� }|dd� }tt|d � }
t|d
�}|dkr�td��|� || |
|||
f� qN|| _
d S )N�
s
GIMP Gradientznot a GIMP gradient files Name: c S s g | ]}t |��qS r
)r )�.0r, r
r
r �
<listcomp>| s z-GimpGradientFile.__init__.<locals>.<listcomp>� r r r r � � zcannot handle HSV colour space)�readline�SyntaxError�
startswith�stripr r �split�SEGMENTS�OSErrorr! r )r# �fp�line�countr r+ �sr- r% r&