4D v16

SVG_DEFINE_STYLE_WITH_ARRAYS

Inicio

 
4D v16
SVG_DEFINE_STYLE_WITH_ARRAYS

SVG_DEFINE_STYLE_WITH_ARRAYS 


 

SVG_DEFINE_STYLE_WITH_ARRAYS ( objetoSVG ; puntArrayNoms ; puntArrayValores {; className {; tipo {; media {; titulo}}}} ) 
Parámetro Tipo   Descripción
objetoSVG  Ref_SVG in Referencia del objeto SVG
puntArrayNoms  Puntero in Puntero al array de los nombres de estilos
puntArrayValores  Puntero in Puntero al array de los valores de estilos
className  Texto in Nombre de la clase del estilo CSS
tipo  Texto in Tipo del contenido
media  Texto in Descriptor de media
titulo  Texto in Nombre del estilo

El comando SVG_DEFINE_STYLE_WITH_ARRAYS define los estilos del objeto SVG (utilizando arrays) designado por el parámetro objetoSVG.

  • Si el parámetro objetoSVG designa el elemento raíz, los estilos se definen como elementos "style" incluidos en la sección "defs" (Internal Style Sheet). En este caso, el parámetro nomclass es obligatorio (si falta, devuelve un error). Luego puede asignar la hoja de estilo className a los objetos SVG pasando su nombre al método SVG_SET_CLASS (ver el ejemplo 1). 
  • Si el parámetro objetoSVG designa un elemento SVG diferente al elemento raíz, el estilo está definido como un atributo de estilo para este elemento (Inline Style Sheet) (ver ejemplo 2).

El parámetro opcional tipo especifica el lenguaje de la hoja de estilo del contenido del elemento. El valor por defecto es "text/css".

El parámetro opcional media indica la media de destino para la información de estilo. Si omite este parámetro, el valor por defecto utilizado es "all". Si el valor no está incluido en la lista de  medias reconocidas por CSS2, se genera un error.

El parámetro opcional titulo añade un atributo de tipo "title".

Ejemplo de definición de estilos internos:

 ARRAY TEXT($arrnames;0)
 ARRAY TEXT($arrvalues;0)
 APPEND TO ARRAY($arrnames;"fill")
 APPEND TO ARRAY($arrvalues;"black")
 APPEND TO ARRAY($arrnames;"font-family")
 APPEND TO ARRAY($arrvalues;"'Lucida Grande' Verdana")
 APPEND TO ARRAY($arrnames;"font-size")
 APPEND TO ARRAY($arrvalues;"20px")
 APPEND TO ARRAY($arrnames;"text-align")
 APPEND TO ARRAY($arrvalues;"center")
 
 $svg:=SVG_New
 SVG_DEFINE_STYLE_WITH_ARRAYS($svg;->$arrnames;->$arrvalues;"title")
 $object:=SVG_New_textArea($svg;"Hello World!";10;10;200;310)
 SVG_SET_CLASS($object;"title")

Este método genera el siguiente código:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<svg xmlns="http://www.w3.org/2000/svg">
    <defs id="4D">
        <style type="text/css">.title{fill:red;font-family:'Lucida Grande' Verdana;font-size:20px;text-align:center;}</style>
    </defs>
    <textArea class="title" height="310" width="200" x="10" y="10">Hello World!</textArea>
</svg>

Ejemplo de definición de estilos inline:

 ARRAY TEXT($arrnames;0)
 ARRAY TEXT($arrvalues;0)
 APPEND TO ARRAY($arrnames;"fill")
 APPEND TO ARRAY($arrvalues;"black")
 APPEND TO ARRAY($arrnames;"font-family")
 APPEND TO ARRAY($arrvalues;"'Lucida Grande' Verdana")
 APPEND TO ARRAY($arrnames;"font-size")
 APPEND TO ARRAY($arrvalues;"20px")
 APPEND TO ARRAY($arrnames;"text-align")
 APPEND TO ARRAY($arrvalues;"center")
 
 $svg:=SVG_New
 $object:=SVG_New_textArea($svg;"Hello World!";10;10;200;310)
 SVG_DEFINE_STYLE_WITH_ARRAYS($object;->$arrnames;->$arrvalues)

Este método genera el siguiente código:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<svg xmlns="http://www.w3.org/2000/svg">
    <textArea height="310" style="fill:red;font-family:'Lucida Grande' Verdana;font-size:20px;text-align:center;" width="200" x="10" y="10">Hello World!</textArea>
</svg>

 
PROPIEDADES 

Producto: 4D
Tema: Estructura y definiciones
Número 65871

 
HISTORIA 

Creado por: 4D v13

 
ARTICLE USAGE

4D SVG ( 4D v16)