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<br /></translate>
+
<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 ofsset into the text string.</translate> <br/>
+
'''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)