
    Rj+(                     p    d Z ddlmZmZ ddlmZmZmZmZ ddl	m
Z
mZmZ erddlmZ  G d d          Zd	S )
zk
Usage documentation at: <https://py-pdf.github.io/fpdf2/PageFormatAndOrientation.html#viewer-preferences>
    )TYPE_CHECKINGOptional   )DuplexPageBoundariesPageModeTextDirection)Namebuild_obj_dictcreate_dictionary_string)StandardSecurityHandlerc            #          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ededededed	ed
edee         dee	e                  dee
ez           deeez           deeez           deeez           deeez           deeez           dee         ddf"dZdeddfdZedee         fd            Zej        deeez           ddfd            Zedee         fd            Zej        dee         ddfd            Zedee	e                  fd            Zej        dee	e                  ddfd            Zedee
         fd            Zej        dee
ez           ddfd             Zedefd!            Zej        d	eddfd"            Zedee         fd#            Zej        deeez           ddfd$            Zedee         fd%            Zej        deeez           ddfd&            Zedee         fd'            Zej        deeez           ddfd(            Zedee         fd)            Zej        deeez           ddfd*            Zedee         fd+            Zej        deeez           ddfd,            Zedee         fd-            Zej        dee         ddfd.            Z	 	 d3d/ed0         d1ee         defd2ZdS )4ViewerPreferencesz?Specifies the way the document shall be displayed on the screenFN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returnc                    d| _         || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 |	| _	        	 |
| _
        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        d S )Nz1.3)_min_pdf_versionr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s                    K/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/fpdf/prefs.py__init__zViewerPreferences.__init__   s    & !&(	 )	  /	
 %	 +	 "3	 *C&	 %	
 !1	 #	 	 #	
 #	
 %	
 %	
 +	 	    versionc                 :    t          | j        |          | _        d S N)maxr"   )r#   r'   s     r$   _set_min_pdf_versionz&ViewerPreferences._set_min_pdf_version   s     #D$97 C Cr&   c                     | j         S r)   )_non_full_screen_page_moder#   s    r$   r   z+ViewerPreferences.non_full_screen_page_mode   s    ..r&   	page_modec                     |d nt          j        |          | _        | j        t           j        t           j        fv rt          | j         d          d S )Nz3 is not a supported value for NonFullScreenPageMode)r   coercer-   FULL_SCREENUSE_ATTACHMENTS
ValueErrorr   )r#   r/   s     r$   r   z+ViewerPreferences.non_full_screen_page_mode   sr     %DD8?9+E+E 	' * $/
 
 
 1fff  	
 
r&   c                     | j         S r)   )_num_copiesr.   s    r$   r   zViewerPreferences.num_copies       r&   c                 B    ||                      d           || _        d S Nz1.7)r+   r6   )r#   r   s     r$   r   zViewerPreferences.num_copies   s*    !%%e,,,%r&   c                     | j         S r)   )_print_page_ranger.   s    r$   r   z"ViewerPreferences.print_page_range   s    %%r&   c                 B    ||                      d           || _        d S r9   )r+   r;   )r#   r   s     r$   r   z"ViewerPreferences.print_page_range   s*    '%%e,,,!1r&   c                     | j         S r)   )
_directionr.   s    r$   r   zViewerPreferences.direction   
    r&   c                 @    |d nt          j        |          | _        d S r)   )r	   r1   r>   )r#   r   s     r$   r   zViewerPreferences.direction   s!    "+"3$$9Mi9X9Xr&   c                     | j         S r)   )_display_doc_titler.   s    r$   r   z#ViewerPreferences.display_doc_title   s    &&r&   c                 B    |r|                      d           || _        d S Nz1.4)r+   rB   )r#   r   s     r$   r   z#ViewerPreferences.display_doc_title   s,     	-%%e,,,"3r&   c                     | j         S r)   )_duplexr.   s    r$   r   zViewerPreferences.duplex   s
    |r&   c                 n    ||                      d           |d nt          j        |          | _        d S r9   )r+   r   r1   rF   )r#   r   s     r$   r   zViewerPreferences.duplex   s9    %%e,,,%~tt6=3H3Hr&   c                     | j         S r)   )
_view_arear.   s    r$   r   zViewerPreferences.view_area   r?   r&   c                 n    ||                      d           |d nt          j        |          | _        d S rD   )r+   r   r1   rI   )r#   r   s     r$   r   zViewerPreferences.view_area   >     %%e,,,%DD>+@+K+K 	r&   c                     | j         S r)   )
_view_clipr.   s    r$   r   zViewerPreferences.view_clip   r?   r&   c                 n    ||                      d           |d nt          j        |          | _        d S rD   )r+   r   r1   rM   )r#   r   s     r$   r   zViewerPreferences.view_clip   rK   r&   c                     | j         S r)   )_print_arear.   s    r$   r   zViewerPreferences.print_area   r7   r&   c                 n    ||                      d           |d nt          j        |          | _        d S rD   )r+   r   r1   rP   )r#   r   s     r$   r   zViewerPreferences.print_area   A    !%%e,,,&DDN,A*,M,M 	r&   c                     | j         S r)   )_print_clipr.   s    r$   r   zViewerPreferences.print_clip   r7   r&   c                 n    ||                      d           |d nt          j        |          | _        d S rD   )r+   r   r1   rT   )r#   r   s     r$   r   zViewerPreferences.print_clip   rR   r&   c                     | j         S r)   )_print_scalingr.   s    r$   r   zViewerPreferences.print_scaling   s    ""r&   c                     |	d | _         d S |                     d           |dvrt          d|d          t          |          | _         d S )Nz1.6)None
AppDefaultzInvalid print_scaling=z value provided)rW   r+   r4   r
   )r#   r   s     r$   r   zViewerPreferences.print_scaling   se     "&DF!!%((( 666GGGGHHH"=11r&   _security_handlerr   _obj_idc                 x     t           fdt                     D             ||          }t          |          S )Nc                 2    i | ]}|t          |          S  )getattr).0keyr#   s     r$   
<dictcomp>z/ViewerPreferences.serialize.<locals>.<dictcomp>  s%    :::S'$$$:::r&   )r[   r\   )r   dirr   )r#   r[   r\   obj_dicts   `   r$   	serializezViewerPreferences.serialize	  sL    
 "::::D		:::/
 
 

 (111r&   )NN)__name__
__module____qualname____doc__r   USE_NONEboolr   intlistr	   strr   r   r%   r+   propertyr   setterr   r   r   r   r   r   r   r   r   r
   r   rf   r_   r&   r$   r   r      sK       EE #" % #"'.6.?$(0437)-48485959'+#t tt t 	t
 t t  t $,t SMt #49-t MC/0t #&t NS01t NS01t ^c12t  ^c12!t"  }#t$ 
%t t t tlDC DD D D D D /8H+= / / / X/ %
8HsN3K 
PT 
 
 
 &%
  HSM       X  &Xc] &t & & & &
 &(49"5 & & & X& 2$s)1D 2 2 2 2 2
 8M2    X Y8MC,?#@ YT Y Y Y Y '4 ' ' ' X' 44 4D 4 4 4 4
 (    X ]IXfsl3 I I I I ]I
 8N3    X 
8NS,@#A 
d 
 
 
 
 8N3    X 
8NS,@#A 
d 
 
 
 
  H^4       X  
Xns.B%C 
 
 
 
 
  H^4       X  
Xns.B%C 
 
 
 
 
 #x~ # # # X# 28C= 2T 2 2 2 2 BF!%
2 
2#$=>
2 #
2 
	
2 
2 
2 
2 
2 
2r&   r   N)rj   typingr   r   enumsr   r   r   r	   syntaxr
   r   r   
encryptionr   r   r_   r&   r$   <module>rv      s     + * * * * * * * B B B B B B B B B B B B B B B B B B B B B B 4333333E2 E2 E2 E2 E2 E2 E2 E2 E2 E2r&   