
    Phf                     b    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
  ed      Z G d de
      Zy)	    )AnyOptional   )BooleanObject
NameObjectNumberObjectis_null_or_none)ArrayObjectDictionaryObjectFc                   B    e Zd Zddee   ddf fdZdedee   dee   fdZdede	ddfd	Z
dedee   dee   fd
Zdedee   deddfdZdedeee      dee   fdZdedee   ddfdZdedee   dee   fdZdededdfdZedefd       Zddededd fdZ xZS )ViewerPreferencesNobjreturnc                     t         |   |        t        |      s| j                  |j	                                	 |j
                  | _        y # t        $ r Y y w xY wN)super__init__r	   updateitemsindirect_referenceAttributeError)selfr   	__class__s     S/var/www/html/saasai/venv/lib/python3.12/site-packages/pypdf/generic/_viewerpref.pyr   zViewerPreferences.__init__)   sO    s#KK		$	&)&<&<D# 		s   A 	AAkeydefaultc                 &    | j                  ||      S r   getr   r   r   s      r   	_get_boolzViewerPreferences._get_bool2       xxW%%    vc                 6    t        |du       | t        |      <   y )NT)r   r   r   r   r$   s      r   	_set_boolzViewerPreferences._set_bool5   s     -a4i 8Z_r#   c                 &    | j                  ||      S r   r   r    s      r   	_get_namezViewerPreferences._get_name8   r"   r#   lstc                     |d   dk7  rt        | d      |g k7  r||vrt        | d      t        |      | t        |      <   y )Nr   /z does not start with '/'z is an unacceptable value)
ValueErrorr   )r   r   r*   r$   s       r   	_set_namezViewerPreferences._set_name;   sR    Q43;s":;<<"9#s";<== *1Z_r#   c                 H    | j                  ||d       S t        |            S r   )r   r
   r    s      r   _get_arrzViewerPreferences._get_arrB   s$    xxW_TOO+g:NOOr#   c                     |	 | t        |      = y t        |t              st	        d      || t        |      <   y # t        $ r Y y w xY w)NzArrayObject is expected)r   KeyError
isinstancer
   r-   r&   s      r   _set_arrzViewerPreferences._set_arrE   sX    9C) ![)677 !Z_  s   ; 	AAc                 &    | j                  ||      S r   r   r    s      r   _get_intzViewerPreferences._get_intP   r"   r#   c                 2    t        |      | t        |      <   y r   )r   r   r&   s      r   _set_intzViewerPreferences._set_intS   s     ,QZ_r#   c                     t        d      S )N/PrintScaling)r   )r   s    r   PRINT_SCALINGzViewerPreferences.PRINT_SCALINGV   s    /**r#   clsvaluec                    dt         dt        t           dt        fd}dt         dt        t            dt        t
           dt        fd}dt         dt        t           dt        fd}dt         dt        t           dt        fd} |d	t              | _	         |d
t              | _
         |dt              | _         |dt              | _         |dt              | _         |dt              | _         |dg dt        d            | _         |dddgt        d            | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg d       | _         |dg dd       | _         |dd       | _         |dd       | _         |dd       | _         |dt                     | _        t7        j8                  |       S ) Nr   r   r   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r!   r   r   r   s    r   <lambda>zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>]       T^^C9r#   c                 (    | j                  |      S r   )r'   r   r$   r   s     r   rB   zCViewerPreferences.__new__.<locals>._add_prop_bool.<locals>.<lambda>^   s    sA 6r#   *
            Returns/Modify the status of 
, Returns  if not defined
            propertyr   r   s   ``r   _add_prop_boolz1ViewerPreferences.__new__.<locals>._add_prop_bool[   s4    96**-j	 B	 r#   r*   c                 H     t         fd fdd d  d d d      S )Nc                 (    | j                        S r   )r)   rA   s    r   rB   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>i   rC   r#   c                 *    | j                  |      S r   )r.   )r   r$   r   r*   s     r   rB   zCViewerPreferences.__new__.<locals>._add_prop_name.<locals>.<lambda>j   s    sC ;r#   rF   rG   z0 if not defined.
            Acceptable values: z
            rI   )r   r*   r   s   ```r   _add_prop_namez1ViewerPreferences.__new__.<locals>._add_prop_namee   s@     9;**-j	 B  #u %	 r#   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r0   rA   s    r   rB   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>t       T]]38r#   c                 (    | j                  |      S r   )r4   rE   s     r   rB   zBViewerPreferences.__new__.<locals>._add_prop_arr.<locals>.<lambda>u       c1 5r#   rF   rG   rH   rI   rK   s   ``r   _add_prop_arrz0ViewerPreferences.__new__.<locals>._add_prop_arrr   4    85**-j	 B	 r#   c           
      >     t         fd fdd d  d d      S )Nc                 (    | j                        S r   )r6   rA   s    r   rB   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>~   rS   r#   c                 (    | j                  |      S r   )r8   rE   s     r   rB   zBViewerPreferences.__new__.<locals>._add_prop_int.<locals>.<lambda>   rU   r#   rF   rG   rH   rI   rK   s   ``r   _add_prop_intz0ViewerPreferences.__new__.<locals>._add_prop_int|   rW   r#   z/HideToolbarz/HideMenubarz/HideWindowUIz
/FitWindowz/CenterWindowz/DisplayDocTitlez/NonFullScreenPageMode)/UseNonez/UseOutlinesz
/UseThumbsz/UseOCr\   z
/Directionz/L2Rz/R2Lz	/ViewAreaz	/ViewClipz
/PrintAreaz
/PrintClipr:   z/Duplex)z/Simplexz/DuplexFlipShortEdgez/DuplexFlipLongEdgez/PickTrayByPDFSizez/PrintPageRangez
/NumCopiesz/Enforce)strr   r   rJ   listr   r
   intf_objhide_toolbarhide_menubarhide_windowui
fit_windowcenter_windowdisplay_doctitlenon_fullscreen_pagemode	direction	view_area	view_clip
print_area
print_clipprint_scalingduplexpick_tray_by_pdfsizeprint_pagerange
num_copiesenforcer   __new__)r<   r=   rL   rP   rV   r[   s         r   rs   zViewerPreferences.__new__Z   s   	 	h}.E 	( 			9	/7
/C			s 	Xk-B 	x 		s 	Xc] 	x 	 *.%@).%@*?EB'e<*?EB-.@%H&4$@z"'
#
 '66*Jv,>
 '{B=&{B='b$?'b$?*?BE#RTX

 $22F#M +,=tD&|T:#J>'',,r#   r   )__name__
__module____qualname__r   r   r   r]   r   r!   boolr'   r   r)   r^   r.   r   r
   r0   r4   r   r6   r_   r8   rJ   r;   rs   __classcell__)r   s   @r   r   r   (   sg   H%56 $ &S &8M+B &xP]G^ &9S 9T 9d 9&S &8J+? &HZDX &.S .tCy .Z .D .PC P(49*= P(;BW P	"C 	"H[$9 	"d 	"&C &(<*@ &XlE[ &0C 0C 0D 0 +z + +I-S I- I-0C I-r#   r   N)typingr   r   _baser   r   r   r	   _data_structuresr
   r   r`   r    r#   r   <module>r}      s/   :
 L K ;e{-( {-r#   