<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorResourcePreviewGenerator" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Custom generator of previews.
	</brief_description>
	<description>
		Custom code to generate previews. Please check [code]file_dialog/thumbnail_size[/code] in [EditorSettings] to find out the right size to do previews at.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="_can_generate_small_preview" qualifiers="virtual const">
			<return type="bool" />
			<description>
				If this function returns [code]true[/code], the generator will call [method _generate] or [method _generate_from_path] for small previews as well.
				By default, it returns [code]false[/code].
			</description>
		</method>
		<method name="_generate" qualifiers="virtual const">
			<return type="Texture2D" />
			<param index="0" name="resource" type="Resource" />
			<param index="1" name="size" type="Vector2i" />
			<param index="2" name="metadata" type="Dictionary" />
			<description>
				Generate a preview from a given resource with the specified size. This must always be implemented.
				Returning an empty texture is an OK way to fail and let another generator take care.
				Care must be taken because this function is always called from a thread (not the main thread).
				[param metadata] dictionary can be modified to store file-specific metadata that can be used in [method EditorResourceTooltipPlugin._make_tooltip_for_path] (like image size, sample length etc.).
			</description>
		</method>
		<method name="_generate_from_path" qualifiers="virtual const">
			<return type="Texture2D" />
			<param index="0" name="path" type="String" />
			<param index="1" name="size" type="Vector2i" />
			<param index="2" name="metadata" type="Dictionary" />
			<description>
				Generate a preview directly from a path with the specified size. Implementing this is optional, as default code will load and call [method _generate].
				Returning an empty texture is an OK way to fail and let another generator take care.
				Care must be taken because this function is always called from a thread (not the main thread).
				[param metadata] dictionary can be modified to store file-specific metadata that can be used in [method EditorResourceTooltipPlugin._make_tooltip_for_path] (like image size, sample length etc.).
			</description>
		</method>
		<method name="_generate_small_preview_automatically" qualifiers="virtual const">
			<return type="bool" />
			<description>
				If this function returns [code]true[/code], the generator will automatically generate the small previews from the normal preview texture generated by the methods [method _generate] or [method _generate_from_path].
				By default, it returns [code]false[/code].
			</description>
		</method>
		<method name="_handles" qualifiers="virtual const">
			<return type="bool" />
			<param index="0" name="type" type="String" />
			<description>
				Returns [code]true[/code] if your generator supports the resource of type [param type].
			</description>
		</method>
	</methods>
</class>
