Difference between revisions of "TextField:getPointFromTextPosition"
From GiderosMobile
 (added example + 1 typo)  | 
				|||
| Line 3: | Line 3: | ||
'''<translate>Available since</translate>:''' Gideros 2019.5<br/>  | '''<translate>Available since</translate>:''' Gideros 2019.5<br/>  | ||
'''<translate>Class</translate>:''' [[Special:MyLanguage/TextField|TextField]]<br/>  | '''<translate>Class</translate>:''' [[Special:MyLanguage/TextField|TextField]]<br/>  | ||
| + | |||
=== <translate>Description</translate> ===  | === <translate>Description</translate> ===  | ||
| − | <translate>Returns the coordinates from a given offset within the text  | + | <translate>Returns the coordinates from a given offset within the text.</translate>  | 
<source lang="lua">  | <source lang="lua">  | ||
(number),(number) = TextField:getPointFromTextPosition(offset)  | (number),(number) = TextField:getPointFromTextPosition(offset)  | ||
</source>  | </source>  | ||
| + | |||
=== <translate>Parameters</translate> ===  | === <translate>Parameters</translate> ===  | ||
| − | '''offset''': (string) <translate>The byte   | + | '''offset''': (string) <translate>The byte offset into the text string.</translate> <br/>  | 
| + | |||
=== <translate>Return values</translate> ===  | === <translate>Return values</translate> ===  | ||
'''<translate>Returns</translate>''' (number) <translate>The X coordinate.</translate><br/>  | '''<translate>Returns</translate>''' (number) <translate>The X coordinate.</translate><br/>  | ||
'''<translate>Returns</translate>''' (number) <translate>The Y coordinate.</translate><br/>  | '''<translate>Returns</translate>''' (number) <translate>The Y coordinate.</translate><br/>  | ||
| + | |||
| + | === <translate>Example</translate> ===  | ||
| + | '''Draws a red underline under the 'is' word:'''  | ||
| + | <source lang="lua">  | ||
| + | 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)   | ||
| + | </source>  | ||
{{TextField}}  | {{TextField}}  | ||
Revision as of 15:17, 10 December 2019
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)
- TextField
 - TextField.new
 - TextField:getLayout
 - TextField:getLetterSpacing
 - TextField:getLineHeight
 - TextField:getPointFromTextPosition
 - TextField:getSample
 - TextField:getText
 - TextField:getTextColor
 - TextField:getTextPositionFromPoint
 - TextField:setFont
 - TextField:setLayout
 - TextField:setLetterSpacing
 - TextField:setSample
 - TextField:setText
 - TextField:setTextColor