4D v16

SVG_DEFINE_STYLE_WITH_ARRAYS

ホーム

 
4D v16
SVG_DEFINE_STYLE_WITH_ARRAYS

SVG_DEFINE_STYLE_WITH_ARRAYS 


 

SVG_DEFINE_STYLE_WITH_ARRAYS ( svgObject ; namesArrayPointer ; valuesArrayPointer {; className {; type {; media {; title}}}} ) 
引数   説明
svgObject  SVG_Ref in SVGオブジェクト参照
namesArrayPointer  ポインター in スタイル名配列へのポインター
valuesArrayPointer  ポインター in スタイル値配列へのポインター
className  テキスト in CSSクラス名
type  テキスト in スタイルシートランゲージ
media  テキスト in メディア記述子
title  テキスト in スタイル名

説明   

SVG_DEFINE_STYLE_WITH_ARRAYSメソッドは、svgObject 引数で指定したSVGオブジェクト用に (配列を使用して) スタイルを定義します。

  • svgObject 引数がルート要素である場合、スタイルは"defs"セクションに含まれる"style"要素として定義されます (内部スタイルシート)。この場合 className 引数は必須です (渡されない場合エラーが生成されます)。この後SVG_SET_CLASSに名前を指定することで、SVGオブジェクトにclassNameスタイルシートを割り当てることができます (例題1参照)。 
  • svgObject 引数がルート要素でないSVG要素を参照している場合、スタイルはこの要素のスタイル属性として設定されます (インラインスタイル) (例題2参照)。

オプションの type 引数を使用してスタイルシートランゲージを指定できます。省略した場合のデフォルトは "text/css" です。

オプションの media 引数を使用してスタイル情報を適用するメディアを指定できます。この引数を省略すると、デフォルトで"all"が使用されます。指定した値がCSS2で認識可能なメディアタイプに含まれない場合、エラーが生成されます。

オプションの title 引数は "title" タイプ属性を追加します。

内部スタイル定義例:

 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")

このメソッドは以下のコードを生成します:

<?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>

インラインスタイル定義の例題:

 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)

このメソッドは以下のコードを生成します:

<?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>

 
プロパティ 

プロダクト: 4D
テーマ: ストラクチャー & 定義
番号: 65871

 
履歴 

初出: 4D v13

 
ARTICLE USAGE

SVGコンポーネント ( 4D v16)