DxSetAspectRatioAdjustmentEnabled: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Remove obsolete Requirements section)
 
Line 22: Line 22:
===Returns===
===Returns===
Returns ''true'' when it was changed successfully, or ''false'' otherwise.
Returns ''true'' when it was changed successfully, or ''false'' otherwise.
==Requirements==
{{Requirements|n/a|1.3.3-9.05547}}


==Example==
==Example==

Latest revision as of 17:12, 7 November 2024

This function allows for the positioning of dxDraw calls to be automatically adjusted according to the client's aspect ratio setting. This lasts for a single execution of an event handler for one of the following events: onClientRender, onClientPreRender and onClientHUDRender. So the function has to be called every frame, just like dxDraws.

This is particularly useful for draws that must align with the GTA HUD, for which the sizing and positioning can vary for different aspect ratios.

Syntax

bool dxSetAspectRatioAdjustmentEnabled ( bool bEnabled [, float sourceRatio = 4/3 ] )

Required Arguments

  • bEnabled: Should the adjustment be enabled or disabled.

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.

  • sourceRatio : This should be set to the aspect ratio the dxDraws were originally designed in.

Returns

Returns true when it was changed successfully, or false otherwise.

Example

scx,scy = guiGetScreenSize()

addEventHandler( "onClientRender", root,
    function()
        dxDrawText( "Hello", 300, 300 )             -- Text will be drawn at 300,300
        dxSetAspectRatioAdjustmentEnabled( true )
        dxDrawText( "Goodbye", 0.78*scx, 0.22*scy )  -- Text will be drawn just below HUD money, with any aspect ratio
    end
)

See Also