DxSetAspectRatioAdjustmentEnabled

From Multi Theft Auto: Wiki
Jump to: navigation, search

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.

Requirements

Minimum supported server n/a
Minimum supported client 1.3.3-9.05547
Note: Using this function requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.3.3-9.05547" />

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

FROM VERSION 1.5.6 r14203 ONWARDS