Difference between revisions of "TextField"

From GiderosMobile
(added some more example (plus a colored text example))
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<languages />
 
 
 
<!-- GIDEROSOBJ:TextField -->
 
<!-- GIDEROSOBJ:TextField -->
'''<translate>Supported platforms</translate>:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]
+
'''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/>
<br/>
+
'''Available since:''' Gideros 2011.6<br/>
'''<translate>Available since</translate>:''' Gideros 2011.6
+
'''Inherits from:''' [[Sprite]]<br/>
<br/>
 
'''<translate>Inherits from</translate>:''' [[Special:MyLanguage/Sprite|Sprite]]
 
<br/>
 
  
=== <translate>Description</translate> ===
+
=== Description ===
<translate>
+
The '''TextField''' class is used to create objects for text display.
The [[Special:MyLanguage/TextField|TextField]] class is used to create display objects for text display.
 
<br/>
 
</translate>
 
  
=== <translate>Examples</translate> ===
+
=== Examples ===
'''Example 1:''' bitmap font.
+
'''Example 1:''' bitmap font:
<br/>
+
<syntaxhighlight lang="lua">
 
+
local font = Font.new("myfont.txt", "myfont.png") -- you need to add your bitmap font
<source lang="lua">
 
local font = Font.new("myfont.txt", "myfont.png")
 
 
local textfield = TextField.new(font, "some text")
 
local textfield = TextField.new(font, "some text")
 
stage:addChild(textfield)
 
stage:addChild(textfield)
 
textfield:setText("some other text") -- change the text
 
textfield:setText("some other text") -- change the text
</source>
+
</syntaxhighlight>
<br/>
 
  
'''Example 2:''' default font.
+
'''Example 2:''' default font:
<br/>
+
<syntaxhighlight lang="lua">
 
 
<source lang="lua">
 
 
-- to use the default font, pass nil value for the font parameter
 
-- to use the default font, pass nil value for the font parameter
 
local textfield2 = TextField.new(nil, "some text with default font")
 
local textfield2 = TextField.new(nil, "some text with default font")
 
stage:addChild(textfield2)
 
stage:addChild(textfield2)
</source>
+
</syntaxhighlight>
<br/>
 
  
'''Example 3:''' TTFont.
+
'''Example 3:''' TTFont:
<br/>
+
<syntaxhighlight lang="lua">
 
+
local font = TTFont.new("fonts/Tahoma.ttf", 32, "", true, 1) -- you need to add your .ttf font
<source lang="lua">
 
local font = TTFont.new("fonts/Tahoma.ttf", 32, "", true, 1)
 
 
local text = TextField.new(font, "This is a text")
 
local text = TextField.new(font, "This is a text")
 
text:setPosition(100, 100)
 
text:setPosition(100, 100)
 
stage:addChild(text)
 
stage:addChild(text)
</source>
+
</syntaxhighlight>
<br/>
 
  
'''Example 4:''' colored text.
+
'''Example 4:''' colored text:
<br/>
+
<syntaxhighlight lang="lua">
 
 
<source lang="lua">
 
 
local text = TextField.new(nil, "This is a \e[color=#f005]semi transparent red\e[color] text")
 
local text = TextField.new(nil, "This is a \e[color=#f005]semi transparent red\e[color] text")
 
text:setPosition(32, 64)
 
text:setPosition(32, 64)
 
stage:addChild(text)
 
stage:addChild(text)
</source>
+
</syntaxhighlight>
<br/>
+
 
<br/>
+
'''Example 5:''' additional text formatting (since Gideros 2024.2):
 +
<syntaxhighlight lang="lua">
 +
local font = TTFont.new("DejaVuSans.ttf", 20, "", nil, nil)
 +
--For l,s and u, the thickness is a fraction of the text line height.
 +
local tf = TextField.new(font, "Text in \e[u=0.2]Underline\e[!u] Text in \e[i=15]Oblique 15°\e[!i] Custom \e[l=0.3:0.2]line placement and \e[color=#f00]thickness\e[color]\e[!l]")
 +
tf:setLayout{w = 400, h = 100, flags = 1280|FontBase.TLF_CENTER|FontBase.TLF_VCENTER}
 +
tf:setPosition(0,40)
 +
stage:addChild(tf)
 +
</syntaxhighlight>
 +
 
 +
=== See also ===
 +
'''[[CompositeFont]]'''
  
 
{|-
 
{|-
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 +
=== Methods ===
 +
[[TextField.new]] ''creates a new TextField object with the specified font and text''<br/><!--GIDEROSMTD:TextField.new(font,text,sample,layout) creates a new TextField object with the specified font and text-->
 +
[[TextField:getLayout]] ''retrieves the layout parameters of the Textfield''<br/><!--GIDEROSMTD:TextField:getLayout() retrieves the layout parameters of the Textfield-->
 +
[[TextField:getLetterSpacing]] ''returns the letter-spacing property which is used to increase or decrease the space between characters in a text''<br/><!--GIDEROSMTD:TextField:getLetterSpacing() returns the letter-spacing property which is used to increase or decrease the space between characters in a text-->
 +
[[TextField:getLineHeight]] ''gets the textfield line height''<br/><!--GIDEROSMTD:TextField:getLineHeight() gets the textfield line height-->
 +
[[TextField:getPointFromTextPosition]] ''returns the coordinates from a given offset within the text''<br/><!--GIDEROSMTD:TextField:getPointFromTextPosition(offset) returns the coordinates from a given offset within the text-->
 +
[[TextField:getSample]] ''gets the string used as sample for determining line height''<br/><!--GIDEROSMTD:TextField:getSample() gets the string used as sample for determining line height-->
 +
[[TextField:getText]] ''returns the textfield text''<br/><!-- GIDEROSMTD:TextField:getText() returns the textfield text-->
 +
[[TextField:getTextColor]] ''returns the textfield text color in hexadecimal format''<br/><!--GIDEROSMTD:TextField:getTextColor() returns the textfield text color in hexadecimal format-->
 +
[[TextField:getTextPositionFromPoint]] ''returns the offset into a text from x,y coordinates''<br/><!--GIDEROSMTD:TextField:getTextPositionFromPoint(x,y) returns the offset into a text from x,y coordinates-->
 +
[[TextField:setFont]] ''sets the textfield font to use''<br/><!--GIDEROSMTD:TextField:setFont(font) sets the textfield font to use-->
 +
[[TextField:setLayout]] ''changes the textfield layout parameters''<br/><!--GIDEROSMTD:TextField:setLayout(layout) changes the textfield layout parameters-->
 +
[[TextField:setLetterSpacing]] ''sets the letter-spacing property which is used to increase or decrease the space between characters in a text''<br/><!-- GIDEROSMTD:TextField:setLetterSpacing(spacing) sets the letter-spacing property which is used to increase or decrease the space between characters in a text-->
 +
[[TextField:setSample]] ''sets the sample string used for determining the text line height''<br/><!--GIDEROSMTD:TextField:setSample(sample) sets the sample string used for determining the text line height-->
 +
[[TextField:setText]] ''sets the textfield text to be displayed''<br/><!--GIDEROSMTD:TextField:setText(text) sets the textfield text to be displayed-->
 +
[[TextField:setTextColor]] ''sets the textfield text color in hexadecimal format''<br/><!--GIDEROSMTD:TextField:setTextColor(color) sets the textfield text color in hexadecimal format-->
  
=== <translate>Methods</translate> ===
 
[[Special:MyLanguage/TextField.new|TextField.new]] ''<translate>creates a new TextField object with the specified font and text</translate>''<br/><!-- GIDEROSMTD:TextField.new(font,text,sample,layout) creates a new TextField object with the specified font and text -->
 
[[Special:MyLanguage/TextField:getLayout|TextField:getLayout]] ''<translate>Retrieve the layout parameters of this Textfield</translate>''<br/><!-- GIDEROSMTD:TextField:getLayout() Retrieve the layout parameters of this Textfield -->
 
[[Special:MyLanguage/TextField:getLetterSpacing|TextField:getLetterSpacing]] ''<translate>returns the letter-spacing property which is used to increase or decrease the space between characters in a text</translate>''<br/><!-- GIDEROSMTD:TextField:getLetterSpacing() returns the letter-spacing property which is used to increase or decrease the space between characters in a text -->
 
[[Special:MyLanguage/TextField:getLineHeight|TextField:getLineHeight]] ''<translate>Get line height</translate>''<br/><!-- GIDEROSMTD:TextField:getLineHeight() Get line height -->
 
[[Special:MyLanguage/TextField:getPointFromTextPosition|TextField:getPointFromTextPosition]] ''<translate>returns the coordinates from a given offset within the text</translate>''<br/><!-- GIDEROSMTD:TextField:getPointFromTextPosition(offset) returns the coordinates from a given offset within the text -->
 
[[Special:MyLanguage/TextField:getSample|TextField:getSample]] ''<translate>get string that was used as sample for determining line height</translate>''<br/><!-- GIDEROSMTD:TextField:getSample() get string that was used as sample for determining line height -->
 
[[Special:MyLanguage/TextField:getText|TextField:getText]] ''<translate>returns the text displayed</translate>''<br/><!-- GIDEROSMTD:TextField:getText() returns the text displayed -->
 
[[Special:MyLanguage/TextField:getTextColor|TextField:getTextColor]] ''<translate>returns the color of the text in a text field in hexadecimal format</translate>''<br/><!-- GIDEROSMTD:TextField:getTextColor() returns the color of the text in a text field in hexadecimal format -->
 
[[Special:MyLanguage/TextField:getTextPositionFromPoint|TextField:getTextPositionFromPoint]] ''<translate>returns the offset into a text from x,y coordinates</translate>''<br/><!-- GIDEROSMTD:TextField:getTextPositionFromPoint(x,y) returns the offset into a text from x,y coordinates -->
 
[[Special:MyLanguage/TextField:setFont|TextField:setFont]] ''<translate>set font to use</translate>''<br/><!-- GIDEROSMTD:TextField:setFont(font) set font to use -->
 
[[Special:MyLanguage/TextField:setLayout|TextField:setLayout]] ''<translate>Change the layout parameters for this TextField</translate>''<br/><!-- GIDEROSMTD:TextField:setLayout(layout) Change the layout parameters for this TextField -->
 
[[Special:MyLanguage/TextField:setLetterSpacing|TextField:setLetterSpacing]] ''<translate>sets the letter-spacing property which is used to increase or decrease the space between characters in a text</translate>''<br/><!-- GIDEROSMTD:TextField:setLetterSpacing(spacing) sets the letter-spacing property which is used to increase or decrease the space between characters in a text -->
 
[[Special:MyLanguage/TextField:setSample|TextField:setSample]] ''<translate>Set string that will be used as sample for determining text's line height</translate>''<br/><!-- GIDEROSMTD:TextField:setSample(sample) Set string that will be used as sample for determining text's line height -->
 
[[Special:MyLanguage/TextField:setText|TextField:setText]] ''<translate>sets the text to be displayed</translate>''<br/><!-- GIDEROSMTD:TextField:setText(text) sets the text to be displayed -->
 
[[Special:MyLanguage/TextField:setTextColor|TextField:setTextColor]] ''<translate>sets the color of the text in a text field in hexadecimal format</translate>''<br/><!-- GIDEROSMTD:TextField:setTextColor(color) sets the color of the text in a text field in hexadecimal format -->
 
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
=== <translate>Events</translate> ===
+
=== Events ===
=== <translate>Constants</translate> ===
+
=== Constants ===
 
|}
 
|}
 +
 +
{{GIDEROS IMPORTANT LINKS}}

Latest revision as of 18:31, 20 February 2024

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: Sprite

Description

The TextField class is used to create objects for text display.

Examples

Example 1: bitmap font:

local font = Font.new("myfont.txt", "myfont.png") -- you need to add your bitmap font
local textfield = TextField.new(font, "some text")
stage:addChild(textfield)
textfield:setText("some other text") -- change the text

Example 2: default font:

-- to use the default font, pass nil value for the font parameter
local textfield2 = TextField.new(nil, "some text with default font")
stage:addChild(textfield2)

Example 3: TTFont:

local font = TTFont.new("fonts/Tahoma.ttf", 32, "", true, 1) -- you need to add your .ttf font
local text = TextField.new(font, "This is a text")
text:setPosition(100, 100)
stage:addChild(text)

Example 4: colored text:

local text = TextField.new(nil, "This is a \e[color=#f005]semi transparent red\e[color] text")
text:setPosition(32, 64)
stage:addChild(text)

Example 5: additional text formatting (since Gideros 2024.2):

local font = TTFont.new("DejaVuSans.ttf", 20, "", nil, nil)
--For l,s and u, the thickness is a fraction of the text line height. 
local tf = TextField.new(font, "Text in \e[u=0.2]Underline\e[!u] Text in \e[i=15]Oblique 15°\e[!i] Custom \e[l=0.3:0.2]line placement and \e[color=#f00]thickness\e[color]\e[!l]")
tf:setLayout{w = 400, h = 100, flags = 1280|FontBase.TLF_CENTER|FontBase.TLF_VCENTER}
tf:setPosition(0,40)
stage:addChild(tf)

See also

CompositeFont

Methods

TextField.new creates a new TextField object with the specified font and text
TextField:getLayout retrieves the layout parameters of the Textfield
TextField:getLetterSpacing returns the letter-spacing property which is used to increase or decrease the space between characters in a text
TextField:getLineHeight gets the textfield line height
TextField:getPointFromTextPosition returns the coordinates from a given offset within the text
TextField:getSample gets the string used as sample for determining line height
TextField:getText returns the textfield text
TextField:getTextColor returns the textfield text color in hexadecimal format
TextField:getTextPositionFromPoint returns the offset into a text from x,y coordinates
TextField:setFont sets the textfield font to use
TextField:setLayout changes the textfield layout parameters
TextField:setLetterSpacing sets the letter-spacing property which is used to increase or decrease the space between characters in a text
TextField:setSample sets the sample string used for determining the text line height
TextField:setText sets the textfield text to be displayed
TextField:setTextColor sets the textfield text color in hexadecimal format

Events

Constants