
    ]j;                     <    d dl Zd dlmZ dej        e         fdZdS )    N)Monitorreturnc            
   #   @  	
K   dd l 	dd l	ddd	                    	j        	j        	j        	                    	j        j                  	j                  }  G 	fdd	j	                  g 
dt          j        dt          fd	d
t          j        dt          j        dt          j        dt          j        dt          f
	
fd}	j        j                            d           t#          d          D ]H}	j        j                            d           }|dk    r n"	j        j                            |           Id}	j        j                            |d  | |          d           	j        j                            |           
E d {V  d S )Nr             c                       e Zd Zdj        j        fdj        j        fdj        j        fdj        j        fdj        j         z  fgZdS )*enumerate_monitors.<locals>.MONITORINFOEXWcbSize	rcMonitorrcWorkdwFlagsszDeviceN)__name__
__module____qualname__wintypesDWORDRECTWCHAR_fields_)CCHDEVICENAMEctypess   Y/home/agentuser/manim-venv/lib/python3.11/site-packages/screeninfo/enumerators/windows.pyMONITORINFOEXWr
      s\        v,-&/./v+,-..>?
    r   rctr   c                 .    | j         dk    o
| j        dk    S )Nr   )lefttop)r   s    r   check_primaryz)enumerate_monitors.<locals>.check_primary"   s    x1}-A-r   monitordcrectdatac                     
            }                     
          |_        j        j                            |                     |                    r|j        }nd }j        j                            |	          }j        j                            |          }|j	        }
                    t          |j        |j        |j        |j        z
  |j        |j        z
  ||| |                               dS )N)xywidthheightwidth_mm	height_mmname
is_primary   )sizeofr   windlluser32GetMonitorInfoWbyrefr   gdi32GetDeviceCapscontentsappendr   r   r    rightbottom)r"   r#   r$   r%   infor-   h_sizev_sizer   HORZSIZEr   VERTSIZEr!   r   monitorss            r   callbackz$enumerate_monitors.<locals>.callback%   s    ~mmN33=//d9K9KLL 	=DDD$222x@@$222x@@m('i#(*zCG+ (=--	 	 		
 	
 	
 qr      d   )r   ctypes.wintypesWINFUNCTYPEc_intc_ulongPOINTERr   r   c_double	StructureTAnyboolintr1   shcoreSetProcessDpiAwarenessranger2   GetDC	ReleaseDCEnumDisplayMonitors)MonitorEnumProcrA   retrydc_fullr   r>   r   r?   r!   r   r@   s       @@@@@@@r   enumerate_monitorsrX      s     MMMMHH((v+,, O
 
 
 
 
 
 
 
) 
 
 
 H.15 .T . . . .!% QU !% qu            @ M//222 s  -&,,T22Q;;E&&w////  M,,x00!   M""7+++r   )typingrK   screeninfo.commonr   IterablerX    r   r   <module>r]      sV        % % % % % %YAJw/ Y Y Y Y Y Yr   