<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="jit.gl.text2d" module="jit" category="Jitter OpenGL">
	<digest>
		Render bitmap text
	</digest>
	<description>
		Draws bitmap text in the named drawing context. The text can be sent as a symbol, a list of symbols, or as a <o>jit.matrix</o> containing char data. When a <o>jit.matrix</o> is used, each row of the matrix is interpreted as one line of text.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
		<metadata name="tag">
			Jitter OpenGL
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				messages to this 3d object
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				matrix output if enabled
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="OUTLET_TYPE">
			<digest>
				dumpout
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<methodlist>
		<method name="append">
			<arglist>
				<arg name="text" type="list" />
			</arglist>
			<digest>
				Appends to the stored text
			</digest>
			<description>
				Appends the specified symbol or list to the stored text string.
			</description>
		</method>
		<method name="face">
			<arglist>
				<arg name="face-variant" type="list" />
			</arglist>
			<digest>
				Set the font face
			</digest>
			<description>
				Specifies the face variant of the current font. One or more face variants may be specified. The supported font faces are <m>normal</m>, <m>bold</m>, and <m>italic</m>. Note that some fonts do not contain different faces.
			</description>
		</method>
		<method name="font">
			<arglist>
				<arg name="fontname" type="symbol" />
				<arg name="size" type="int" />
			</arglist>
			<digest>
				Set the drawing font and size
			</digest>
			<description>
				Specifies the font in which to draw. An optional size parameter can follow the font.
			</description>
		</method>
		<method name="size">
			<arglist>
				<arg name="size" type="int" />
			</arglist>
			<digest>
				Set font size
			</digest>
			<description>
				Specifies the size in which to draw.
			</description>
		</method>
		<method name="style">
			<arglist />
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="text">
			<arglist>
				<arg name="text" type="list" />
			</arglist>
			<digest>
				Replace the stored text
			</digest>
			<description>
				Replaces the current text string with a symbol or list of symbols.
			</description>
		</method>
	</methodlist>
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="anim_grow" />
		<jittermethod name="anim_move" />
		<jittermethod name="anim_reset" />
		<jittermethod name="anim_turn" />
		<jittermethod name="draw" />
		<jittermethod name="drawimmediate" />
		<jittermethod name="drawraw" />
		<jittermethod name="export_material" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="import_material" />
		<jittermethod name="jit_gl_texture" />
		<jittermethod name="jit_matrix" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="align" get="1" set="1" type="int" size="1">
			<digest>
				Text alignment
			</digest>
			<description>
				Alignment for rows of text. (default = 0 (left))
				<br />
				0 = left
				<br />
				1 = center
				<br />
				2 = right
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="4">
					<enumlist>
						<enum name="left">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="center">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="right">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="justify">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Align" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="depth" get="1" set="1" type="float" size="1">
			<digest>
				Depth
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Depth" />
			</attributelist>
		</attribute>
		<attribute name="floatchomp" get="1" set="1" type="int" size="1">
			<digest>
				Floating-point precision rounding
			</digest>
			<description>
				Toggles floating-point precision rounding.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Float Chomp" />
			</attributelist>
		</attribute>
		<attribute name="floatplaces" get="1" set="1" type="int" size="1">
			<digest>
				Floating-point precision
			</digest>
			<description>
				When float point precision rounding is enabled set via the <m>floatchomp</m> attribute, this value sets the precision of the number.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Float Places" />
			</attributelist>
		</attribute>
		<attribute name="fontsize" get="1" set="1" type="int" size="1">
			<digest>
				Font Size
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Font Size" />
			</attributelist>
		</attribute>
		<attribute name="leadscale" get="1" set="1" type="float" size="1">
			<digest>
				Text leading
			</digest>
			<description>
				The leading between multiple rows of text as a multiple of the standard leading. (default = 1.)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Leading Scale" />
			</attributelist>
		</attribute>
		<attribute name="line_length" get="1" set="1" type="float" size="1">
			<digest>
				Line Length
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Line Length" />
			</attributelist>
		</attribute>
		<attribute name="matrixoutput" get="1" set="1" type="int" size="1">
			<digest>
				Matrix Output
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="Off">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="On">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="On With Transform">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Matrix Output" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="mode" get="1" set="1" type="symbol" size="1">
			<digest>
				Mode
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="3">
					<enumlist>
						<enum name="2d">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="3d">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="outline">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Mode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enum" />
			</attributelist>
		</attribute>
		<attribute name="plane" get="1" set="1" type="int" size="1">
			<digest>
				Matrix text plane
			</digest>
			<description>
				The plane of a multi-plane char input matrix which will be interpreted as text. (default = 0)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Plane" />
			</attributelist>
		</attribute>
		<attribute name="precision" get="1" set="1" type="float" size="1">
			<digest>
				Precision
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Precision" />
			</attributelist>
		</attribute>
		<attribute name="screenmode" get="1" set="1" type="int" size="1">
			<digest>
				Screen mode
			</digest>
			<description>
				<b>Macintosh only</b>
				<br />
				If screenmode = 1, some 3D transformations are skipped so that pixel-accurate text can be drawn. The origin of the text on screen is determined by the usual projection of the object's position, but the text remains the same size. Rotation is only applied around the z axis. Screenmode is useful for making fixed-size labels which follow objects in space. With screenmode off, the text is transformed in space in the usual way for an OB3D-group object. (default = 1)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Screen Mode" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="slant" get="1" set="1" type="int" size="1">
			<digest>
				Slant
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="normal">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="italic">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Slant" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
		<attribute name="tracking" get="1" set="1" type="float" size="1">
			<digest>
				Tracking (intra-character spacing)
			</digest>
			<description>
				The tracking (intra-character spacing) as a multiple of the standard tracking for the face. (default = 1.)
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Tracking" />
			</attributelist>
		</attribute>
		<attribute name="weight" get="1" set="1" type="int" size="1">
			<digest>
				Weight
			</digest>
			<description>
				TEXT_HERE
			</description>
			<attributelist>
				<attribute name="enumvals" get="1" set="1" type="atom" size="2">
					<enumlist>
						<enum name="normal">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
						<enum name="bold">
							<digest>
								TEXT_HERE
							</digest>
							<description>
								TEXT_HERE
							</description>
						</enum>
					</enumlist>
				</attribute>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Weight" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="enumindex" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="anchor" />
		<jitterattribute name="anim" />
		<jitterattribute name="animmode" />
		<jitterattribute name="antialias" />
		<jitterattribute name="auto_material" />
		<jitterattribute name="automatic" />
		<jitterattribute name="aux_color" />
		<jitterattribute name="axes" />
		<jitterattribute name="blend" />
		<jitterattribute name="blend_enable" />
		<jitterattribute name="blend_mode" />
		<jitterattribute name="boundcalc" />
		<jitterattribute name="bounds" />
		<jitterattribute name="capture" />
		<jitterattribute name="color" />
		<jitterattribute name="cull_face" />
		<jitterattribute name="depth_clear" />
		<jitterattribute name="depth_enable" />
		<jitterattribute name="depth_write" />
		<jitterattribute name="dest_dim" />
		<jitterattribute name="drawbounds" />
		<jitterattribute name="drawto" />
		<jitterattribute name="enable" />
		<jitterattribute name="filterclass" />
		<jitterattribute name="fog" />
		<jitterattribute name="fog_color" />
		<jitterattribute name="fog_density" />
		<jitterattribute name="fog_params" />
		<jitterattribute name="fog_range" />
		<jitterattribute name="gl_color" />
		<jitterattribute name="inherit_all" />
		<jitterattribute name="inherit_color" />
		<jitterattribute name="inherit_depth" />
		<jitterattribute name="inherit_fog" />
		<jitterattribute name="inherit_material" />
		<jitterattribute name="inherit_poly" />
		<jitterattribute name="inherit_texture" />
		<jitterattribute name="inherit_transform" />
		<jitterattribute name="layer" />
		<jitterattribute name="lighting_enable" />
		<jitterattribute name="line_width" />
		<jitterattribute name="mat_ambient" />
		<jitterattribute name="mat_diffuse" />
		<jitterattribute name="mat_emission" />
		<jitterattribute name="mat_specular" />
		<jitterattribute name="material" />
		<jitterattribute name="matfile" />
		<jitterattribute name="name" />
		<jitterattribute name="point_size" />
		<jitterattribute name="poly_mode" />
		<jitterattribute name="position" />
		<jitterattribute name="quat" />
		<jitterattribute name="rotate" />
		<jitterattribute name="rotatexyz" />
		<jitterattribute name="scale" />
		<jitterattribute name="shader" />
		<jitterattribute name="shadow_caster" />
		<jitterattribute name="shininess" />
		<jitterattribute name="smooth_shading" />
		<jitterattribute name="tex_map" />
		<jitterattribute name="tex_plane_s" />
		<jitterattribute name="tex_plane_t" />
		<jitterattribute name="texanchor" />
		<jitterattribute name="texrotate" />
		<jitterattribute name="texture" />
		<jitterattribute name="texzoom" />
		<jitterattribute name="transform_reset" />
		<jitterattribute name="two_sided" />
		<jitterattribute name="viewalign" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.text2d.png" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.gl.graph" />
		<seealso name="jit.gl.gridshape" />
		<seealso name="jit.gl.handle" />
		<seealso name="jit.gl.isosurf" />
		<seealso name="jit.gl.mesh" />
		<seealso name="jit.gl.model" />
		<seealso name="jit.gl.nurbs" />
		<seealso name="jit.gl.plato" />
		<seealso name="jit.gl.render" />
		<seealso name="jit.gl.shader" />
		<seealso name="jit.gl.sketch" />
		<seealso name="jit.gl.slab" />
		<seealso name="jit.gl.text3d" />
		<seealso name="jit.gl.texture" />
		<seealso name="jit.gl.videoplane" />
		<seealso name="jit.gl.volume" />
	</seealsolist>
	<discussion>
		<p>
			The <o>jit.gl.text2d</o> object requires one argument: the name of a drawing context. A named drawing context is a named instance of a <o>jit.window</o>, <o>jit.pwindow</o>, or <o>jit.matrix</o> object that has an instance of the <o>jit.gl.render</o> object associated with it. Additionally it can reference the name of a <o>jit.gl.node</o> sub-context. This value may also be set via the OB3D <at>drawto</at> attribute. If no argument is present, the object is implicitly added to the first valid drawing context or sub-context found in the current patch or by searching up the patcher hierarchy.
		</p>
		<p>
			Notes:
		</p>
		<p>
			Due to differences in implementation, the rotate, scale, screenmode, classic, and interp attributes are currently only supported on Macintosh. On PC, it behaves similar to when classic mode on Macintosh is turned on.
		</p>
		<p>
			On Macintosh, this object interprets the input text as Unicode, allowing the display of non-Roman fonts. The Unicode encoding to use is determined based on the current font, set using the <m>font</m> message, and the operating system's script system and region code settings.
		</p>
		<p>
			<b>Note:</b> The Windows version of this object does not suport Unicode.
		</p>
	</discussion>
</c74object>
