Garry's Mod Wiki

Revision Difference

surface.DrawText#526997

<function name="DrawText" parent="surface" type="libraryfunc"> <description> Draw the specified text on the screen, using the previously set position, font and color. <note>This function does not handle newlines properly</note> <note>This function sets new text position at the end of the text length, this can be used to append to texts seamlessly.</note>⤶ <rendercontext hook="false" type="2D"></rendercontext> </description> <realm>Client and Menu</realm> <args> <arg name="text" type="string">The text to be rendered.</arg> </args> </function> <example> <description>Draws 'Hello World' on the screen. All functions in this example must be called for the draw to work flawlessly.</description> <code> hook.Add( "HUDPaint", "drawsometext", function() surface.SetFont( "Default" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 128, 128 ) surface.DrawText( "Hello World" ) end )⤶ </code>⤶ ⤶ </example>⤶ ⤶ <example>⤶ <description>Draws rainbow text without using <page>surface.GetTextSize</page> (more efficient). Can be improved by using custom `HSV to separate RGB` function.</description>⤶ <code>⤶ local text = "Rainbow"⤶ hook.Add( "HUDPaint", "drawsometext", function()⤶ surface.SetFont( "DermaLarge" )⤶ surface.SetTextPos( 400, 128 )⤶ for char = 1, #text do⤶ surface.SetTextColor( HSVToColor( ( ( RealTime() * 100 ) - char * 15 ) % 360, 1, 1 ) )⤶ surface.DrawText( string.sub( text, char, char ) )⤶ end⤶ end ) </code> </example>