Difference between revisions of "TextField:getPointFromTextPosition"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
m (Text replacement - "</source>" to "</syntaxhighlight>")
Line 8: Line 8:
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
(number),(number) = TextField:getPointFromTextPosition(offset)
 
(number),(number) = TextField:getPointFromTextPosition(offset)
</source>
+
</syntaxhighlight>
  
 
=== <translate>Parameters</translate> ===
 
=== <translate>Parameters</translate> ===
Line 31: Line 31:
 
stage:addChild(text)
 
stage:addChild(text)
 
stage:addChild(underline)  
 
stage:addChild(underline)  
</source>
+
</syntaxhighlight>
  
 
{{TextField}}
 
{{TextField}}

Revision as of 14:33, 13 July 2023


Available since: Gideros 2019.5
Class: TextField

Description

Returns the coordinates from a given offset within the text.

(number),(number) = TextField:getPointFromTextPosition(offset)

Parameters

offset: (string) The byte offset into the text string.

Return values

Returns (number) The X coordinate.
Returns (number) The Y coordinate.

Example

Draws a red underline under the 'is' word:

local font = TTFont.new("fonts/Tahoma.ttf", 32, "", true, 1)
local text = TextField.new(font, "This is a text")
text:setPosition(100, 100)
local isS, isE = string.find(text:getText(), " is ") --Get 'is' word position
local isSX, isSY = text:getPointFromTextPosition(isS) --Get 'i' starting point
local isEX, isEY = text:getPointFromTextPosition(isE - 1) -- Get 's' end point
-- Draw a red underline under the 'is' word
local underline = Pixel.new(0xFF0000, 1, isEX - isSX, 3)
underline:setPosition(100 + isSX, 100 + 2)
stage:addChild(text)
stage:addChild(underline)