
    kj                     ^    d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	  G d de          Z
dS )    N)ImproperlyConfigured)PillowLoader
image_data)ResourceDescription)TextureDescriptionc                   J     e Zd ZU dZeed<   def fdZdej	        fdZ
 xZS )Loaderarraymetac                     t                                          |           | j        j        | _        | j        t	          d          d S )Nz&TextureArray requires layers parameter)super__init__r   layersr   )selfr   	__class__s     `/home/agentuser/manim-venv/lib/python3.11/site-packages/moderngl_window/loaders/texture/array.pyr   zLoader.__init__   sF    i&;&'OPPP     returnc                 V   |                                   | j        j        d         | j        j        d         | j        z  | j        }}}t	          | j                  \  }}| j                            |||f||          }d| j        i|_        | j        j	        d| j        _
        | j        j
        ret          | j        j	        t                    r |j        | j        j	          n|                                 | j        j        r| j        j        |_        |                                  |S )zLoad a texture array as described by the supplied ``TextureDescription```

        Returns:
            moderngl.TextureArray: The TextureArray instance
        r      r   NT)_open_imageimagesizer   r   ctxtexture_arrayr   extramipmap_levelsmipmap
isinstancetuplebuild_mipmaps
anisotropy_close_image)r   widthheightdepth
componentsdatatextures          r   loadzLoader.load   s&    	 JOAJOA$+-K v
 &dj11
D(((FE"
 

  +9".#DI9 	:$)1599 (%%ty'>???%%'''y# :%)Y%9"r   )__name__
__module____qualname__kindr   __annotations__r   r   modernglTextureArrayr*   __classcell__)r   s   @r   r	   r	   	   s}         D
Q0 Q Q Q Q Q Q$h+ $ $ $ $ $ $ $ $r   r	   )r0   moderngl_window.exceptionsr   &moderngl_window.loaders.texture.pillowr   r   moderngl_window.meta.baser   moderngl_window.meta.texturer   r	    r   r   <module>r8      s     ; ; ; ; ; ; K K K K K K K K 9 9 9 9 9 9 ; ; ; ; ; ;/ / / / /\ / / / / /r   