<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorResourcePreviewGenerator" inherits="Reference" version="3.3">
	<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">
			<return type="bool">
			</return>
			<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">
			<return type="Texture">
			</return>
			<argument index="0" name="from" type="Resource">
			</argument>
			<argument index="1" name="size" type="Vector2">
			</argument>
			<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).
			</description>
		</method>
		<method name="generate_from_path" qualifiers="virtual">
			<return type="Texture">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<argument index="1" name="size" type="Vector2">
			</argument>
			<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).
			</description>
		</method>
		<method name="generate_small_preview_automatically" qualifiers="virtual">
			<return type="bool">
			</return>
			<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">
			<return type="bool">
			</return>
			<argument index="0" name="type" type="String">
			</argument>
			<description>
				Returns [code]true[/code] if your generator supports the resource of type [code]type[/code].
			</description>
		</method>
	</methods>
	<constants>
	</constants>
</class>
