
    kj                     Z    d dl Z d dlmZmZ d dlmZ  G d de          Z e            ZdS )    N)ProgramDescriptionResourceDescription)BaseRegistryc                   Z     e Zd ZU dZdZeed<   deddf fdZdede	j
        f fdZ xZS )ProgramszHandle program loadingPROGRAM_LOADERSmetareturnNc                     |j         dk    r|j        d|_         nd|_         t                                          |           dS )zResolve program loader.

        Determines if the references resource is a single
        or multiple glsl files unless ``kind`` is specified.

        Args:
            meta (ProgramDescription): The resource description
         Nseparatesingle)kindpathsuperresolve_loaderselfr	   	__class__s     ]/home/agentuser/manim-venv/lib/python3.11/site-packages/moderngl_window/resources/programs.pyr   zPrograms.resolve_loader   sF     9??y &		$	t$$$$$    c                 F    t                                          |          S )a  Loads a shader program with the configured loaders

        Args:
            meta (:py:class:`~moderngl_window.meta.program.ProgramDescription`):
            The resource description
        Returns:
            moderngl.Program: The shader program
        )r   loadr   s     r   r   zPrograms.load   s     ww||D!!!r   )__name__
__module____qualname____doc__settings_attrr   __annotations__r   r   modernglProgramr   __classcell__)r   s   @r   r   r      s           %M
%#6 %4 % % % % % %"	", 	"1A 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"r   r   )r    moderngl_window.metar   r   moderngl_window.resources.baser   r   programs r   r   <module>r'      st     H H H H H H H H 7 7 7 7 7 7 "  "  "  "  "|  "  "  "F 8::r   