U
    :vh@#                     @   s>   d dl mZmZmZmZ d dlmZmZmZ G dd dZ	dS )   )TextDirectionDuplexPageBoundariesPageMode)build_obj_dictcreate_dictionary_stringNamec                   @   sl  e Zd ZdZddddddejdddddddddfddZdd Zedd	 Z	e	j
d
d	 Z	edd Zej
dd Zedd Zej
dd Zedd Zej
dd Zedd Zej
dd Zedd Zej
dd Zedd Zej
dd Zedd Zej
dd Zed d! Zej
d"d! Zed#d$ Zej
d%d$ Zed&d' Zej
d(d' Zd+d)d*ZdS ),ViewerPreferencesz?Specifies the way the document shall be displayed on the screenFNc                 C   sj   d| _ || _|| _|| _|| _|| _|| _|| _|| _|	| _	|
| _
|| _|| _|| _|| _|| _|| _d S )Nz1.3)_min_pdf_versionhide_toolbarhide_menubarhide_window_u_i
fit_windowcenter_windowdisplay_doc_titlenon_full_screen_page_mode
num_copiesprint_page_range	directionduplex	view_area	view_clip
print_area
print_clipprint_scaling)selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   ./tmp/pip-unpacked-wheel-dvf6lv8i/fpdf/prefs.py__init__   s$    zViewerPreferences.__init__c                 C   s   t | j|| _d S N)maxr
   )r   versionr   r   r   _set_min_pdf_version}   s    z&ViewerPreferences._set_min_pdf_versionc                 C   s   | j S r   )_non_full_screen_page_moder   r   r   r   r      s    z+ViewerPreferences.non_full_screen_page_modec                 C   s>   |d krd nt || _| jt jt jfkr:t| j dd S )Nz3 is not a supported value for NonFullScreenPageMode)r   coercer#   ZFULL_SCREENZUSE_ATTACHMENTS
ValueErrorr   )r   Z	page_moder   r   r   r      s    
c                 C   s   | j S r   )_num_copiesr$   r   r   r   r      s    zViewerPreferences.num_copiesc                 C   s   |d k	r|  d || _d S Nz1.7)r"   r'   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )_print_page_ranger$   r   r   r   r      s    z"ViewerPreferences.print_page_rangec                 C   s   |d k	r|  d || _d S r(   )r"   r)   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )
_directionr$   r   r   r   r      s    zViewerPreferences.directionc                 C   s   |d krd nt || _d S r   )r   r%   r*   )r   r   r   r   r   r      s    c                 C   s   | j S r   )_display_doc_titler$   r   r   r   r      s    z#ViewerPreferences.display_doc_titlec                 C   s   |r|  d || _d S Nz1.4)r"   r+   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )_duplexr$   r   r   r   r      s    zViewerPreferences.duplexc                 C   s.   |d k	r|  d |d krd nt|| _d S r(   )r"   r   r%   r-   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )
_view_arear$   r   r   r   r      s    zViewerPreferences.view_areac                 C   s.   |d k	r|  d |d krd nt|| _d S r,   )r"   r   r%   r.   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )
_view_clipr$   r   r   r   r      s    zViewerPreferences.view_clipc                 C   s.   |d k	r|  d |d krd nt|| _d S r,   )r"   r   r%   r/   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )_print_arear$   r   r   r   r      s    zViewerPreferences.print_areac                 C   s.   |d k	r|  d |d krd nt|| _d S r,   )r"   r   r%   r0   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )_print_clipr$   r   r   r   r      s    zViewerPreferences.print_clipc                 C   s.   |d k	r|  d |d krd nt|| _d S r,   )r"   r   r%   r1   )r   r   r   r   r   r      s    
c                 C   s   | j S r   )_print_scalingr$   r   r   r   r      s    zViewerPreferences.print_scalingc                 C   sB   |d krd | _ d S | d |dkr4td|dt|| _ d S )Nz1.6)NoneZ
AppDefaultzInvalid print_scaling=z value provided)r2   r"   r&   r   )r   r   r   r   r   r      s    
c                    s(   t  fddt D ||d}t|S )Nc                    s   i | ]}|t  |qS r   )getattr).0keyr$   r   r   
<dictcomp>  s      z/ViewerPreferences.serialize.<locals>.<dictcomp>)_security_handler_obj_id)r   dirr   )r   r8   r9   Zobj_dictr   r$   r   	serialize   s    zViewerPreferences.serialize)NN)__name__
__module____qualname____doc__r   ZUSE_NONEr   r"   propertyr   setterr   r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r	      s   
u





















	r	   N)
enumsr   r   r   r   Zsyntaxr   r   r   r	   r   r   r   r   <module>   s   