DxGetTextWidth: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
(Preventing scripters to think it returns the width in relative because of the Note)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}  
{{Client function}}  
This function retrieves the theoretical width of a certain piece of text, if it were to be drawn using [[dxDrawText]].
This function retrieves the theoretical width (in pixels) of a certain piece of text, if it were to be drawn using [[dxDrawText]].
{{Note|The returned width will be in logical units which are 1.75 times the actual pixel width.}}


'''NOTE:''' This function is relative to the client's screen resolution.
'''NOTE:''' This function already takes the client's screen resolution into account.


==Syntax==
==Syntax==
Line 22: Line 21:


===Returns===
===Returns===
Returns the float of the width of the text.  
Returns the float of the width of the text (in pixels).  


==Example==  
==Example==  

Latest revision as of 14:27, 5 April 2020

This function retrieves the theoretical width (in pixels) of a certain piece of text, if it were to be drawn using dxDrawText.

NOTE: This function already takes the client's screen resolution into account.

Syntax

float dxGetTextWidth ( string text, [float scale=1, mixed font="default", bool bColorCoded=false] )

OOP Syntax Help! I don't understand this!

Note: This syntax requires you to ignore the font argument above
Method: font:getTextWidth(...)

Required Arguments

  • text: A string representing the text for which you wish to retrieve with width for.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • scale: The size of the text.
  • font: Either a custom DX font element or the name of a built-in dx font:
    • "default": Tahoma
    • "default-bold": Tahoma Bold
    • "clear": Verdana
    • "arial": Arial
    • "sans": Microsoft Sans Serif
    • "pricedown": Pricedown (GTA's theme text)
    • "bankgothic": Bank Gothic Medium
    • "diploma": Diploma Regular
    • "beckett": Beckett Regular
    • "unifont": Unifont
  • bColorCoded: Should we exclude color codes from the width? (false will include the hex in the length)

Returns

Returns the float of the width of the text (in pixels).

Example

Click to collapse [-]
Example

This will show you the width of a message in a normal chatbox sent by a player

function dxwidth(msg)
    chatbox = getChatboxLayout()
    local length = dxGetTextWidth(msg,chatbox["chat_scale"][1])
    outputChatBox(tostring(length))
end
addEventHandler("onClientChatMessage",root,dxwidth)

See Also