4D-SVG

SVG_New_textArea

SVG_New_textArea ( parentSVGObject ; text {; x {; y {; textWidth {; textHeight {; font styleDef {; size {; style {; alignment}}}}}}}} ) -> Function result
Parameter Type   Description
parentSVGObject SVG_Ref Reference of parent element
text Text Text to insert
x Longint Coordinate on X axis
y Longint Coordinate on Y axis
textWidth Longint Width of text area
textHeight Longint Height of text area
font | styleDef Text Font name or Style definition
size Integer Size of characters in points
style Integer Style of characters
alignment Integer Alignment
Function result SVG_Ref Reference of SVG text object

Description

The SVG_New_textArea command inserts a text area in the SVG container designated by parentSVGObject and returns its reference. If parentSVGObject is not an SVG document, an error is generated.

The “textArea” element is recommended by the SVG tiny 1.2 standard and implemented in 4D v11 SQL beginning with version 11.3 (see http://www.w3.org/TR/SVGMobile12/text.html#TextAreaElement). This element implements a text area that, unlike the “text” element, automatically handles the line feed when the text exceeds the width requested.

Notes:

The optional x and y parameters can be used to specify the position on the X and Y axes of the top left corner of the area.

The optional textWidth and textHeight parameters specify the size of the area in the user coordinate space. If one or the other of these parameters is not provided, the text area will automatically be fitted to its contents.

The SVG_New_textArea command accepts two different syntaxes for setting characters:

0 = Plain
1 = Bold
2 = Italic
4 = Underline
8 = Strikethrough

The optional alignment parameter can be used to set the type of alignment to be applied to the drawn text. You can pass one of the following values:

1 = Align default (left)
2 = Align left
3 = Center
4 = Align right
5 = Justify

… where the style_definition parameter contains a complete style definition. If you pass, for instance, “{font-size:48px;fill:red;}”, this definition is added as a style attribute in the form:

style="font-size:48px;fill:red;"  

In this case, any additional parameters are ignored.

Example 1

 $svg:=SVG_New
  //Position a border rectangle
 $rec:=SVG_New_rect($svg;5;5;210;320;0;0;"#777";"peachpuff";3)
  //The text
 $txt:="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor."
 $txtArea:=SVG_New_textArea($svg;$txt;10;10;200;310;"Georgia";25;Italic;5)
  //Save document
 SVG_SAVE_AS_TEXT($svg;"test.svg")

Example 2

Display of multi-style text:

 var $Dom_svg;$Dom_text;$Txt_buffer : Text
  //definition of multi-style text
 $Txt_buffer:="Hello "+\
 "World"+\
 "!
"+\
 "It's "+\
 "Monday"
 $Dom_svg:=SVG_New
 
  //title
 SVG_SET_FONT_COLOR(SVG_New_text($Dom_svg;"_______ SVG_New_textArea ______";10;30;"";-1);"blue")
  //textArea
 $Dom_text:=SVG_New_textArea($Dom_svg;$Txt_buffer;50;50)
 
 SVGTool_SHOW_IN_VIEWER($Dom_svg)
 SVG_CLEAR($Dom_svg)

See also

SVG_APPEND_TEXT_TO_TEXTAREA
SVG_New_text
SVG_New_vertical_text
SVG_SET_TEXTAREA_TEXT