DxCreateFont: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added example)
No edit summary
 
(24 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{Client function}}
{{Client function}}
__NOTOC__
__NOTOC__
{{New feature|3.0110|1.1|
{{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.}}
Only available in 1.1
<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 font element that can be used in functions such as [[dxDrawText]] and [[guiSetFont]]
 
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==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
element createFont ( string filepath[, int size=9, bool bold=false ] )
element dxCreateFont ( string filepath[, int size=9, bool bold=false, string quality="proof" ] )
</syntaxhighlight>  
</syntaxhighlight>  
 
{{OOP||[[DX_font|DxFont]]}}
===Required Arguments===  
===Required Arguments===  
*'''filepath:''' the GUI element whose visibility is to be changed
*'''filepath:''' the name of the file containing the font


===Optional Arguments===
===Optional Arguments===
*'''size:''' size of the font
*'''size:''' size of the font
*'''bold:''' flag to indicate if the font should be bold when drawn with [[dxDrawText]]
*'''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===
Returns a [[font]] [[element]] if successful, ''false'' if invalid arguments were passed to the function.
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==  
==Example==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- Display a gui label
local font = dxCreateFont('myfont.ttf', 20, false, 'proof') or 'default' -- fallback to default
local myLabel = guiCreateLabel( 100, 300, 400, 50, "GUI label", false )


-- 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)
        dxDrawText( "dxDrawText", 100, 350, 300, 350, tocolor(255,255,0), 1, myFont )
    end
)
 
-- Use 'toggle' command to switch custom font on and off
addCommandHandler( "toggle",
    function()
        if not myFont then
            myFont = createFont( "segoeui.ttf", 20 ) -- Create custom font
            guiSetFont( myLabel, myFont )            -- Apply to a gui label
        else       
            destroyElement( myFont )                  -- Destroy custom font
            myFont = nil
        end
    end
)
</syntaxhighlight>
</syntaxhighlight>


==See Also==
==See Also==
{{Drawing_functions}}
[[hu:dxCreateFont]]

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