
    '	4j+(                     h    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y	)
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y)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| _         || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        	 |	| _	        	 |
| _
        	 || _        	 || _        	 || _        	 || _        	 || _        	 || _        y )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                    7/DATA/.local/lib/python3.12/site-packages/fpdf/prefs.py__init__zViewerPreferences.__init__   s    & !&(	 )	  /	
 %	 +	 "3	 *C&	 %	
 !1	 #	 	 #	
 #	
 %	
 %	
 +	    versionc                 :    t        | j                  |      | _        y N)maxr"   )r#   r'   s     r$   _set_min_pdf_versionz&ViewerPreferences._set_min_pdf_version   s     #D$9$97 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      y )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   sl     %D8??9+E 	' **  $$/
 
 1122ef 	
r&   c                     | j                   S r)   )_num_copiesr.   s    r$   r   zViewerPreferences.num_copies       r&   c                 8    || j                  d       || _        y 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                 8    || j                  d       || _        y 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                 L    |d | _        y t        j                  |      | _        y r)   )r	   r1   r>   )r#   r   s     r$   r   zViewerPreferences.direction   s    "+"3$9M9Mi9Xr&   c                     | j                   S r)   )_display_doc_titler.   s    r$   r   z#ViewerPreferences.display_doc_title   s    &&&r&   c                 8    |r| j                  d       || _        y 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                 r    || j                  d       |d | _        y t        j                  |      | _        y r9   )r+   r   r1   rF   )r#   r   s     r$   r   zViewerPreferences.duplex   s0    %%e,%~t6==3Hr&   c                     | j                   S r)   )
_view_arear.   s    r$   r   zViewerPreferences.view_area   r?   r&   c                 r    || j                  d       |d | _        y t        j                  |      | _        y rD   )r+   r   r1   rI   )r#   r   s     r$   r   zViewerPreferences.view_area   :     %%e,%D 	+9+@+@+K 	r&   c                     | j                   S r)   )
_view_clipr.   s    r$   r   zViewerPreferences.view_clip   r?   r&   c                 r    || j                  d       |d | _        y t        j                  |      | _        y 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                 r    || j                  d       |d | _        y t        j                  |      | _        y rD   )r+   r   r1   rP   )r#   r   s     r$   r   zViewerPreferences.print_area   <    !%%e,&D 	,:,A,A*,M 	r&   c                     | j                   S r)   )_print_clipr.   s    r$   r   zViewerPreferences.print_clip   r7   r&   c                 r    || j                  d       |d | _        y t        j                  |      | _        y 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 | _         y | j                  d       |dvrt        d|d      t        |      | _         y )Nz1.6)None
AppDefaultzInvalid print_scaling=z value provided)rW   r+   r4   r
   )r#   r   s     r$   r   zViewerPreferences.print_scaling   sM     "&D!!%( 666'7GHH"=1r&   _security_handlerr   _obj_idc           
          t        t        |       D ci c]  }|t        | |       c}||      }t        |      S c c}w )N)r[   r\   )r   dirgetattrr   )r#   r[   r\   keyobj_dicts        r$   	serializezViewerPreferences.serialize	  sH    
 "03D	:	S'$$$	:/

 (11	 ;s   <)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   rb    r&   r$   r   r      s   E #" % #"'.6.?.?$(0437)-48485959'+#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lDC DD D /8H+= / / %%
8HsN3K 
PT 
 &
  HSM     &Xc] &t & &
 &(49"5 & & 2$s)1D 2 2 2
 8M2   Y8MC,?#@ YT Y Y '4 ' ' 44 4D 4 4
 (   ]]IXfsl3 I I I
 8N3   
8NS,@#A 
d 
 
 8N3   
8NS,@#A 
d 
 
  H^4     
Xns.B%C 
 
 
  H^4     
Xns.B%C 
 
 
 #x~ # # 28C= 2T 2 2 BF!%
2#$=>
2 #
2 
	
2r&   r   N)rf   typingr   r   enumsr   r   r   r	   syntaxr
   r   r   
encryptionr   r   rn   r&   r$   <module>rs      s-    + B B B B3E2 E2r&   