Garry's Mod Wiki

surface.DrawText

surface.DrawText( string text )

Description

Draw the specified text on the screen, using the previously set position, font and color.

This function does not handle newlines properly
This function sets new text position at the end of the previous drawn text length - this can be used to change text properties (such as font or color) without recalculating and resetting text position. See example #2 for example use of this behavior.
This is a rendering function that requires a 2d rendering context.

This means that it will only work in 2d Rendering Hooks.

Arguments

1 string text
The text to be rendered.

Example

Draws 'Hello World' on the screen. All functions in this example must be called for the draw to work flawlessly.

hook.Add( "HUDPaint", "drawsometext", function() surface.SetFont( "Default" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 128, 128 ) surface.DrawText( "Hello World" ) end )

Example

Draws rainbow text without using surface.GetTextSize and surface.SetTextPos for every character (more efficient).

local text = "~Rainbow~" hook.Add( "HUDPaint", "drawsometext", function() surface.SetFont( "DermaLarge" ) surface.SetTextPos( 400, 128 ) for char = 1, #text do local col = HSVToColor( ( ( RealTime() * 100 ) - char * 15 ) % 360, 1, 1 ) surface.SetTextColor( col.r, col.g, col.b ) -- Providing 3 numbers to surface.SetTextColor rather surface.DrawText( string.sub( text, char, char ) ) -- than a single color is faster end end )

Page Links


Special Pages


Wikis

?

Render Time: 33ms

DB GetPage 4
Generate Html 5
SaveChanges (1) 9
Render Body 0
Render Sidebar 12