o
    _c                     @   s0   d Z ddlmZ ddlmZ G dd deZdS )zEmulation Manager module.    )helper)
CDPSessionc                   @   s4   e Zd ZdZdeddfddZdedefdd	ZdS )
EmulationManagerzEmulationManager class.clientreturnNc                 C   s   || _ d| _d| _dS )zMake new emulation manager.FN)_client_emulatingMobile	_hasTouch)selfr    r   F/usr/local/lib/python3.10/dist-packages/pyppeteer/emulation_manager.py__init__   s   
zEmulationManager.__init__viewportc                    s   t  }|dd}||d< d|v rt|d|d< d|v r&t|d|d< |dd|d< |dr;d	d
d|d< nddd|d< |dd}| jd|I dH  | jd||r[dnddI dH  | j|kpl| j|k}|| _|| _|S )zEvaluate viewport.ZisMobileFmobilewidthheightZdeviceScaleFactor   ZisLandscapeZ   ZlandscapePrimary)ZangletypeZscreenOrientationr   ZportraitPrimaryhasTouchz"Emulation.setDeviceMetricsOverrideNz"Emulation.setTouchEmulationEnabledZdesktop)enabledconfiguration)dictgetr   Zget_positive_intr   sendr   r	   )r
   r   optionsr   r   ZreloadNeededr   r   r   emulateViewport   s8   



z EmulationManager.emulateViewport)	__name__
__module____qualname____doc__r   r   r   boolr   r   r   r   r   r   
   s    r   N)r    Z	pyppeteerr   Zpyppeteer.connectionr   objectr   r   r   r   r   <module>   s   