ウィンドウスクリプト(wra)文法¶
wra文法¶
wraは、大きく二つのブロックから構成されています。
ウィンドウ定義ブロック
コントロール定義ブロック
必ず、ウィンドウ定義ブロックが先頭にきて、その後にコントロール定義ブロックが続くことになります。 ウィンドウIDは、 マルチID を使って指定してください。
// window define block
WINDOW(Window ID) {
Property 0;
Property 1;
:
Property n;
};
// control define blocks
ControlKind(name 0) {
Property 0;
Property 1;
:
Property n;
};
ControlKind(name 1) {
Property 0;
Property 1;
:
Property n;
};
:
ControlKind(name n) {
Property 0;
Property 1;
:
Property n;
};
#include "wr.h"
$y = 160;
#pragma RESOURCE ON
WINDOW(250_000_00010) {
RESOURCE;
PATH = NETWORKPATH;
ID = 001_000_00000;
TEX_ID = 100_000_00000;
CAPTION = 000_000_0000;
STYLE = NOTITLEBAR|NOFRAME|ANCHOR_CENTER|TOP;
SIZE = {100},{100};
PRIORITY = PROGRESSBAR_PRIORITY;
};
METER(ProgressTotal) {
ID = 000_001_00000;
STYLE = ANCHOR_BOTTOM;
SIZE = -128{100};
POSITION = 0,$y;
TEX_ID = 0,"MTRB";
COLOR = COLOR32(255.0,255.0,255.0,255.0);
TEX_ID1 = 0,"MTR";
COLOR1 = COLOR32(255.0,255.0,255.0,255.0);
};
$y -=64;
METER(ProgressPart) {
ID = 000_001_00010;
STYLE = ANCHOR_BOTTOM;
SIZE = -128{100},32;
SIZE = -128{100},32;
POSITION = 0,$y;
TEX_ID = 0,"MTRB";
COLOR = COLOR32(255.0,255.0,255.0,255.0);
TEX_ID1 = 0,"MTR";
COLOR1 = COLOR32(255.0,255.0,255.0,255.0);
};
変数と式¶
wraファイル内で変数とその変数を使った式が使えます。 $ から始まるものが変数となります。 使える変数の型は実数になります。 また、式をプロパティ内にも記述可能です。
ID = 000_000_00010 + (3 * $val);
変数の宣言¶
変数を使うときは、必ず初期値が付いている状態で宣言する必要があります。 未初期化な変数はエラーになります。
$i = 3; //integer(Decimal number)
$h = 0xfff123; //integer(Hexadecimal number)
$f = 3.14; //real number
$m = 001_002_00003; //Multi (8bit,8bit,16bit)
式において使える演算子¶
演算子 |
説明 |
---|---|
+,-,*,/ |
四則演算 |
% |
剰余 |
|,&,^,~ |
ビット演算(or,and,xor,not) |
<<,>> |
シフト演算 |
** |
べき乗演算 |
式においての定数表現¶
定数例 |
説明 |
---|---|
14 |
10進整数 |
0x12ffffff |
16進整数 |
000_001_00010 |
マルチID(8bit,8bit,16bit形式) |
0.345 |
浮動小数点 |
文字列の演算¶
文字列は、数字と違い変数に代入することはできませんが、連結するための演算は行えます。 連結するには、以下の形式で行います。
文字 + 文字
文字 . 文字
PATH = "test/" + "folder/";
プリプロセッサ¶
C言語,C++言語とほぼ同じプリプロセッサが使えます。
プリプロセッサ |
説明 |
---|---|
// コメント |
ラインコメント |
/* コメント */ |
ブロックコメント |
#include ファイル名 |
ファイルをインクルードする |
#define 記号定数の定義 |
記号定数の定義 |
#define 関数マクロ |
関数マクロ |
#if defined(記号定義) ~ #endif |
条件コンパイル |
#ifdef ~ #endif |
条件コンパイル |
#ifndef ~ #endif |
条件コンパイル |
#pragma once |
多重インクルード防止 |
次に、wra独自のプリプロセッサ定義について列挙しておきます。
プリプロセッサ |
説明 |
---|---|
#pragma RESOURCE マルチID |
アセットバンドルとして出力する
|
#pragma RESOURCE パス |
リソースデータとして指定されたパスに出力する
|
#pragma PATH 出力パス |
出力パスを変更する デフォルトは、以下のフォルダ
|
#pragma BASECLASS ベースクラス |
ベースクラスを変更する デフォルトは、以下のクラス
|