SVG_Get_options コマンドは、それぞれのbitがコンポーネントのオプションを表す、32-bitの配列を示す倍長整数を返します。4D bitの演算子を用いることによって、オプションの状態のチェック(??)、有効化(?+)、無効化(?-)ができます。
現在利用可能なオプションは以下の通りです:
ビット | オプション | デフォルト値 |
1 | 要素作成時に自動的にIDを割り当て | 0 (無効化) |
2 | 可能なオブジェクトは全て自動的に閉じる | 0 (無効化) |
3 | オブジェクトを背景付きで作成 | 1 (有効化) |
4 | パスで絶対座標を使用 | 1 (有効化) |
5 | より読みやすいコードを作成 | 0 (無効化) |
6 | エラー発生時にビープ音を鳴らす | 1 (有効化) |
7 | 4Dエラーを表示しない | 0 (無効化) |
8 | 透明なピクチャー | 1 (有効化) |
9 | 三角法の原点を使用 | 0 (無効化) |
10 | 自動的にArial を置き換える | 1 (有効化) |
11 | 新しいキャンバスにおいてshape-rendering='crispEdges' をデフォルトとして設定 | 0 (無効化) |
12 | 引数をチェックする | 1 (有効化) |
13 | 余分な空白を削除しない | 0 (無効化) |
14 | オブジェクトの中心を軸にして回転 | 0 (無効化) |
- 要素作成時に自動的にIDを割り当て
このオプションが有効化されていると、コンポーネントが新しい要素を作成したときに、作成されたオブジェクトに対して'id'属性をシステム的に追加して入力します(この属性が指定されていない場合に限る)。
- オブジェクトを背景付きで作成
このオプションが有効化されているとき、閉じられたオブジェクトは背景色つきで作成されます。そうでない場合には、背景は透明になります。
- より読みやすいコードを作成
このオプションを使用すると、インデントされ、スペースが空いた、それでいて広すぎないコードが作成されます。このオプションは、特にデバッグフェーズにおいて有効です。
- エラー発生時にビープ音を鳴らす
エラーが発生し、ホストデータベース側でSVG_Set_error_handler コマンドを使用したエラーハンドリングメソッドが実装されていないとき、このオプションが有効化されているとビープ音が発生します。
- 4Dエラーを表示しない
このオプション(デフォルトで有効化)は、コンポーネント独自のエラーハンドリングメソッドを実装することによって4Dエラーの表示をブロックします。場合によってはこの内部管理を使用せず、そういった4Dのメッセージの表示を許可したいこともあるかもしれません。これは例えば、デバッグの途中などでは有効でしょう。
- 透明なピクチャー
デフォルトでは、SVG_New コマンドを使用して作成されたSVGピクチャーは透明です。このオプションを無効化することによって、ピクチャーの背景は白になります。
- 三角法の原点を使用
デフォルトで、SVGは原点を、上の角度(0時方向)に原点を持ってきます。このオプションを使用すると、通常の三角法の参照点(3時方向または15分方向)を原点として座標を渡す事ができるようになります。変換は実行中に行われます。
- 自動的にArial を置き換える
デフォルトでは、4D SVGは非ローマ文字(日本語など)との互換性を向上させるために、'Arial' フォントを 'Arial Unicode MS' で置き換えますが、特定の場合においてはこの機能を無効化したいこともあるでしょう。このオプションはArialフォントを置き換えなくてもよいという事を意味しています。
- 新しいキャンバスにおいてshape-rendering='crispEdges' をデフォルトとして設定
このオプションを使用すると、crispEdges 属性(SVG_SET_SHAPE_RENDERING を参照の事)をデフォルトとして強制的に使用することができます。
- 引数をチェックする
デフォルトでは、4D SVGはコマンドに渡された引数の有効性をチェックします。開発ステップが完了したら、コードの実行速度を上げるためにこのオプションは無効化する方が賢明でしょう。
- 余分な空白を削除しない(v14からの新機能)
テキストオブジェクトにおいて隣り合った複数の空白の表示を許可します。
- オブジェクトの中心を軸にして回転(v14からの新機能)
このオプションが有効化されているとき、SVG_SET_TRANSFORM_ROTATE コマンドは、第3と第4引数が省略されている場合にオブジェクトの中心を軸に回転を実行します。回転の中心はオブジェクトのx軸座標、y軸座標、そして高さと幅の属性を元に計算されます。参照しているオブジェクトがこれらの属性を持っていない場合、回転は(0,0)の点を中心にして実行されます。