DxCreateFont: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Client function}}
{{Client function}}
{{Note|The size can't be less than 5 or more than 150}}
__NOTOC__
{{Note|The size can't be less than 5 or more than 150. Use this function after onClientResourceStart, otherwise some characters may be displayed incorrectly.}}
<br/>
<br/>
This function creates a [[DX font]] element that can be used in [[dxDrawText]]. Successful font creation is not guaranteed, and may fail due to hardware or memory limitations.
This function creates a [[DX font]] element that can be used in [[dxDrawText]]. Successful font creation is not guaranteed, and may fail due to hardware or memory limitations.
Line 34: Line 35:
==Example==  
==Example==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local myFont = nil
local font = dxCreateFont('myfont.ttf', 20, false, 'proof') or 'default' -- fallback to default


-- Display text using dxDrawText
addEventHandler('onClientRender', root, function()
addEventHandler( "onClientRender", root,
    dxDrawText('Example Text', 100, 350, 300, 350, tocolor(255, 255, 0), 1, font)
    function()
end)
        if myFont then
            dxDrawText( "dxDrawText", 100, 350, 300, 350, tocolor(255,255,0), 1, myFont )
        end
    end
)
 
-- Use 'toggle' command to switch custom font on and off
addCommandHandler( "toggle",
    function()
        if not myFont then
            myFont = dxCreateFont( "segoeui.ttf", 20 )  -- Create custom font
        else       
            destroyElement( myFont )                   -- Destroy custom font
            myFont = nil
        end
    end
)
</syntaxhighlight>
</syntaxhighlight>



Latest revision as of 12:26, 21 January 2024

[[{{{image}}}|link=|]] Note: The size can't be less than 5 or more than 150. Use this function after onClientResourceStart, otherwise some characters may be displayed incorrectly.


This function creates a DX font element that can be used in dxDrawText. Successful font creation is not guaranteed, and may fail due to hardware or memory limitations.

To see if creation is likely to fail, use dxGetStatus. (When VideoMemoryFreeForMTA is zero, failure is guaranteed.)

It is highly recommended that dxSetTestMode is used when writing and testing scripts using dxCreateFont.

Syntax

element dxCreateFont ( string filepath[, int size=9, bool bold=false, string quality="proof" ] )

OOP Syntax Help! I don't understand this!

Method: DxFont(...)


Required Arguments

  • filepath: the name of the file containing the font

Optional Arguments

  • size: size of the font
  • bold: flag to indicate if the font should be bold
  • quality: the font quality
    • "default": not the actual default
    • "draft"
    • "proof": the default
    • "nonantialiased"
    • "antialiased"
    • "cleartype"
    • "cleartype_natural"

Returns

Returns a DX font element if successful, false if invalid arguments were passed to the function, or there is insufficient resources available.

You should always check to see if this function has returned false.

Example

local font = dxCreateFont('myfont.ttf', 20, false, 'proof') or 'default' -- fallback to default

addEventHandler('onClientRender', root, function()
    dxDrawText('Example Text', 100, 350, 300, 350, tocolor(255, 255, 0), 1, font)
end)

See Also