DxSetAspectRatioAdjustmentEnabled: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:


{{New feature/item|3.0140|1.3.3|5547|
{{New feature/item|3.0140|1.3.3|5547|
This function is used to aligning the output of dxDraw calls with GTA HUD components. It can only be called during these events: onClientRender, onClientPreRender and onClientHUDRender, and is automatically disabled when these events return. So the function has to be called every frame, just like dxDraws.
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==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool dxSetAspectRatioAdjustmentEnabled ( bool bEnabled [, float fSourceRatio = 4/3 ] )
bool dxSetAspectRatioAdjustmentEnabled ( bool bEnabled [, float sourceRatio = 4/3 ] )
</syntaxhighlight>
</syntaxhighlight>


Line 16: Line 18:
===Optional Arguments===
===Optional Arguments===
{{OptionalArg}}
{{OptionalArg}}
* '''fSourceRatio :''' This should be set to the aspect ratio the dxDraw were originally designed in.
* '''sourceRatio :''' This should be set to the aspect ratio the dxDraws were originally designed in.


===Returns===
===Returns===
Line 26: Line 28:
==Example==
==Example==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler("onClientRender",root,
scx,scy = guiGetScreenSize()
 
addEventHandler( "onClientRender", root,
     function()
     function()
         dxDrawText("Hello", 100, 100 )            -- Text will be drawn at 100,100
         dxDrawText( "Hello", 300, 300 )            -- Text will be drawn at 300,300
         dxSetAspectRatioAdjustmentEnabled( true )
         dxSetAspectRatioAdjustmentEnabled( true )
         dxDrawText("Goodbye", 100, 100 )           -- Text will be drawn at some adjusted position
         dxDrawText( "Goodbye", 0.78*scx, 0.22*scy ) -- Text will be drawn just below HUD money, with any aspect ratio
     end
     end
)
)
Line 37: Line 41:
==See Also==
==See Also==
{{Drawing_functions}}
{{Drawing_functions}}
[[hu:dxSetAspectRatioAdjustmentEnabled]]

Latest revision as of 10:34, 30 November 2018

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 server version n/a
Minimum client version 1.3.3-9.05547

Note: Using this feature 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