
    Dh                         d dl mZmZmZmZmZmZmZ d Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zg dZy)    )ffiglib_libvips_libgobject_lib
_to_string	_to_bytesErrorc                 ,    t        j                  |       S )zEnable or disable libvips leak checking.

    With this enabled, libvips will check for object and area leaks on exit.
    Enabling this option will make libvips run slightly more slowly.
    )r   vips_leak_set)leaks    m/var/www/fastuser/data/www/generator.snapmosaic.io/flask_app/venv/lib/python3.12/site-packages/pyvips/base.pyleak_setr      s     !!$''    c                  ,    t        j                          y)zShut libvips down.N)r   vips_shutdown r   r   shutdownr      s    r   c                 P    t        j                  |       }|dk  rt        d      |S )a  Get the major, minor or micro version number of the libvips library.

    Args:
        flag (int): Pass flag 0 to get the major version number, flag 1 to
            get minor, flag 2 to get micro.

    Returns:
        The version number,

    Raises:
        :class:`.Error`
    r   zunable to get library version)r   vips_versionr	   )flagvalues     r   versionr      s,     !!$'Eqy344Lr   c                  R   g } t        dd      rt        j                         }d}||   t        j                  k7  rWt        ||         }|| vr| j                  |       t        j                  ||          |dz  }||   t        j                  k7  rWt        j                  |       | S )zbGet a list of all the filename suffixes supported by libvips.

    Returns:
        [string]

       r      )	at_least_libvipsr   vips_foreign_get_suffixesr   NULLr   appendr   g_free)namesarrayinames       r   get_suffixesr%   ,   s     E1224Ah#(("eAh'D5 T"OOE!H%FA Ah#((" 	Lr   c                 T    t        d      }t        d      }|| kD  xs || k(  xr ||k\  S )zIs this at least libvips x.y?r   r   )r   )xymajorminors       r   r   r   F   s2     AJEAJE193!2
3r   c                 R    t        j                  t        |       t        |            S )zGet the GType for a name.

    Looks up the GType for a nickname. Types below basename in the type
    hierarchy are searched.
    )r   vips_type_findr   )basenamenicknames     r   	type_findr/   O   s!     ""9X#6	(8KLLr   c                 >    t        t        j                  |             S )zReturn the name for a GType.)r   r   g_type_namegtypes    r   	type_namer4   Y   s     k--e455r   c                 >    t        t        j                  |             S )z Return the nickname for a GType.)r   r   vips_nickname_findr2   s    r   nickname_findr7   _   s     h11%899r   c                 >    t        j                  t        |             S )zReturn the GType for a name.)r   g_type_from_namer   )r$   s    r   type_from_namer:   e   s     ''	$88r   c                     t        j                  d|      }t        j                  | |t         j                  t         j                        S )z%Map fn over all child types of gtype.VipsTypeMap2Fn)r   callbackr   vips_type_mapr   )r3   fncbs      r   type_maprA   k   s4     
&	+B!!%SXXsxx@@r   c                     t        j                  |       }t        j                  d|      }t	        |j
                  dz
        D cg c]$  }t        |j                  |   j                        & c}S c c}w )Deprecated.GEnumClass *r   	r   g_type_class_refr   castrangen_valuesr   values
value_nickr3   g_type_classg_enum_classr#   s       r   values_for_enumrO   r   sl     //6L88NL9L <001457 |**1-889 7 7 7s   )A2c                     t        j                  |       }t        j                  d|      }t	        |j
                        D cg c]$  }t        |j                  |   j                        & c}S c c}w )rC   GFlagsClass *rE   r3   rM   g_flags_classr#   s       r   values_for_flagrT   }   sg     //6LHH_l;M =1124 }++A.99: 4 4 4s   )A/c                    t        j                  |       }t        j                  d|      }t	        |j
                  dz
        D ci c]<  }t        |j                  |   j                        |j                  |   j                  > c}S c c}w )z*Get name -> value dict for a enum (gtype).rD   r   
r   rF   r   rG   rH   rI   r   rJ   rK   r   rL   s       r   	enum_dictrW      s     //6L88NL9L
 <001457 |**1-889"(() 7 7 7s   AB
c                    t        j                  |       }t        j                  d|      }t	        |j
                        D ci c]<  }t        |j                  |   j                        |j                  |   j                  > c}S c c}w )z+Get name -> value dict for a flags (gtype).rQ   rV   rR   s       r   
flags_dictrY      s     //6LHH_l;M =1124 }++A.99:  #))* 4 4 4s   AB)r   r   r   r   r/   r7   r%   r4   rA   r:   rO   rT   rW   rY   N)pyvipsr   r   r   r   r   r   r	   r   r   r   r%   r   r/   r4   r7   r:   rA   rO   rT   rW   rY   __all__r   r   r   <module>r\      sc   ! ! !(
*44M6:9A74	74r   