<?xml version="1.0" encoding="UTF-8" ?>
<class name="CanvasItemMaterial" inherits="Material" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		A material for [CanvasItem]s.
	</brief_description>
	<description>
		[CanvasItemMaterial]s provide a means of modifying the textures associated with a CanvasItem. They specialize in describing blend and lighting behaviors for textures. Use a [ShaderMaterial] to more fully customize a material's interactions with a [CanvasItem].
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="CanvasItemMaterial.BlendMode" default="0">
			The manner in which a material's rendering is applied to underlying textures.
		</member>
		<member name="light_mode" type="int" setter="set_light_mode" getter="get_light_mode" enum="CanvasItemMaterial.LightMode" default="0">
			The manner in which material reacts to lighting.
		</member>
		<member name="particles_anim_h_frames" type="int" setter="set_particles_anim_h_frames" getter="get_particles_anim_h_frames">
			The number of columns in the spritesheet assigned as [Texture2D] for a [GPUParticles2D] or [CPUParticles2D].
			[b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code].
		</member>
		<member name="particles_anim_loop" type="bool" setter="set_particles_anim_loop" getter="get_particles_anim_loop">
			If [code]true[/code], the particles animation will loop.
			[b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code].
		</member>
		<member name="particles_anim_v_frames" type="int" setter="set_particles_anim_v_frames" getter="get_particles_anim_v_frames">
			The number of rows in the spritesheet assigned as [Texture2D] for a [GPUParticles2D] or [CPUParticles2D].
			[b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code].
		</member>
		<member name="particles_animation" type="bool" setter="set_particles_animation" getter="get_particles_animation" default="false">
			If [code]true[/code], enable spritesheet-based animation features when assigned to [GPUParticles2D] and [CPUParticles2D] nodes. The [member ParticleProcessMaterial.anim_speed_max] or [member CPUParticles2D.anim_speed_max] should also be set to a positive value for the animation to play.
			This property (and other [code]particles_anim_*[/code] properties that depend on it) has no effect on other types of nodes.
		</member>
	</members>
	<constants>
		<constant name="BLEND_MODE_MIX" value="0" enum="BlendMode">
			Mix blending mode. Colors are assumed to be independent of the alpha (opacity) value.
		</constant>
		<constant name="BLEND_MODE_ADD" value="1" enum="BlendMode">
			Additive blending mode.
		</constant>
		<constant name="BLEND_MODE_SUB" value="2" enum="BlendMode">
			Subtractive blending mode.
		</constant>
		<constant name="BLEND_MODE_MUL" value="3" enum="BlendMode">
			Multiplicative blending mode.
		</constant>
		<constant name="BLEND_MODE_PREMULT_ALPHA" value="4" enum="BlendMode">
			Mix blending mode. Colors are assumed to be premultiplied by the alpha (opacity) value.
		</constant>
		<constant name="LIGHT_MODE_NORMAL" value="0" enum="LightMode">
			Render the material using both light and non-light sensitive material properties.
		</constant>
		<constant name="LIGHT_MODE_UNSHADED" value="1" enum="LightMode">
			Render the material as if there were no light.
		</constant>
		<constant name="LIGHT_MODE_LIGHT_ONLY" value="2" enum="LightMode">
			Render the material as if there were only light.
		</constant>
	</constants>
</class>
