DgsGetPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (little correction)
m (DGS OOP Syntax changing)
Line 7: Line 7:
float, float dgsGetPosition ( element dgsElement, bool relative [, bool includeParent = false ] )
float, float dgsGetPosition ( element dgsElement, bool relative [, bool includeParent = false ] )
</syntaxhighlight>
</syntaxhighlight>
{{DGS/OOP|The variable is a conjunction: '''position.x''' (get X position), '''position.y''' (get Y position) and '''position.relative''' (get Relative property)|DGSElement:'''getPosition'''||position|dgsSetPosition}}
{{DGS/OOP|
    Note = The variable is a conjunction: <br><code>position.x</code> (get X position), <code>position.y</code> (get Y position) and <code>position.relative</code> (get Relative property)|
    Method = DGSElement:'''getPosition'''|
    Variable = position|
    Counterpart = dgsSetPosition
}}


===Required Arguments===  
===Required Arguments===  

Revision as of 18:53, 3 May 2021

This function allows retrieval of a DGS element's current position, relative to its parent.

Syntax

float, float dgsGetPosition ( element dgsElement, bool relative [, bool includeParent = false ] )

DGS OOP Syntax Help! I don't understand this!

Note: The variable is a conjunction:
position.x (get X position), position.y (get Y position) and position.relative (get Relative property)
Method: DGSElement:getPosition(...)
Variable: .position
Counterpart: dgsSetPosition

Required Arguments

  • guiElement: The dgs element of which you wish to retrieve the position.
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes relative to the parent.

Optional Arguments

  • includeParent A boolean representing whether the position is relative to the screen rather than the parent.

Returns

Returns floats representing the x and y position of the element, or false if the position could not be retrieved.

Example

This example checks which corner a dgs element exists in

DGS = exports.dgs

function positionCheck ( dgsElement )
	local x,y = DGS:dgsGetPosition ( dgsElement, true ) --get the position
	local position --define the position
	if ( x == 0.5 ) and ( y == 0.5 ) then --if its bang in the middle
		position = "middle" --set position to middle
	elseif ( x > 0.5 ) and ( y > 0.5 ) then --if its in the right bottom
		position = "right-bottom" 
	elseif ( x < 0.5 ) and ( y < 0.5 ) then --if its in the left top
		position = "left-top"
	elseif ( x < 0.5 ) and ( y > 0.5 ) then --if its in the left bottom
		position = "left-bottom"
	elseif ( x > 0.5 ) and ( y < 0.5 ) then --if its in the right top
		position = "right-top" 
	else --if it couldnt be retrieved
		position = "unknown"
	end
	--announce this into the chatbox
	outputChatBox ( "The dgs element's position is "..position.."!" )
end

See Also

General Functions

General Events