_Main.js

アプリの雛型を提供します。

init() 関数内で以下の設定を有効にすることで、機能を付加できます。

_USE_DRAWSTRINGEX | HTML5 Canvas テキストAPIをサポートしていない場合に <span> 要素を使用します。
_USE_EXCANVAS | HTML5 Canvas をサポートしていない場合に「ExplorerCanvas」を使用します。
_USE_KEY | キーイベントを検知します。
_USE_MOUSE | マウスイベントを検知します。
_USE_TOUCH | タッチイベントを検知します。
_USE_LAYOUTMOUSE | レイアウト機能を使用します。レイアウトを設定している場合、レイアウトイベントが発生するようになります。 なお、自動的に _USE_MOUSE が有効になります。
_USE_LAYOUTTOUCH | レイアウト機能を使用します。レイアウトを設定している場合、レイアウトイベントが発生するようになります。 なお、自動的に _USE_TOUCH が有効になります。
_USE_LOCKIMAGE | オフスクリーンイメージ機能を有効にします。
_USE_REQUESTANIMATIONFRAME | paint() 関数呼び出しに、setTimeout を使用せずに requestAnimationFrame を使用します。

| d2js_onload

d2js_onload()

Webページ読み込み時に本関数を呼び出してください。

例：
<script type="text/javascript">
window.onload = d2js_onload;
</script>

| d2js_onorientationchange

d2js_onorientationchange()

画面の向きが変更された時に本関数を呼び出してください。

例：
<script type="text/javascript">
window.onorientationchange = d2js_onorientationchange;
</script>

| d2js_onresize

d2js_onresize()

ウィンドウがリサイズされた時に本関数を呼び出してください。

例：
<script type="text/javascript">
window.onresize = d2js_onresize;
</script>

| d2js_paint

d2js_paint()

start() 関数の戻り値を false にした場合、本関数を呼び出して、1フレーム分の描画を行います。

| d2js_loop

d2js_loop()

start() 関数の戻り値を false にした場合、本関数を呼び出して、タイマーによる paint() 関数呼び出しを開始することができます。

| canUseCanvas

canUseCanvas()

HTML5 Canvas をサポートしているかどうかチェックします。

戻り値：
HTML5 Canvas をサポートしている場合 true、サポートしていない場合 false

| getCurrent

getCurrent()

カレントのキャンバスを取得します。

戻り値：
カレントのキャンバスを返します。

| getCurrentContext

getCurrentContext()

カレントの2Dコンテキストを取得します。

戻り値：
カレントの2Dコンテキストを返します。

| getWidth

getWidth()

キャンバスの幅を取得します。

戻り値：
キャンバスの幅を返します。

| getHeight

getHeight()

キャンバスの高さを取得します。

戻り値：
キャンバスの高さを返します。

| getKeypadState

getKeypadState()

キーパッド状態を取得します。

戻り値：
キーパッド状態を返します。

補足説明：
戻り値の各ビットの位置が本ヘッダファイルで定義されている _KEY_〜 に対応します。キーに対応するビットがONのときの値は keyBit(_KEY_〜) で取得でき、その値とAND（"&"）をとることで、キーが押されているか判定できます。
_USE_KEY を有効にしている場合にのみ使用できます。

| getMouseX

getMouseX()

マウスイベントX座標を取得します。

戻り値：
マウスイベントX座標を返します。

補足説明：
_USE_MOUSE を有効にしている場合にのみ使用できます。

| getMouseY

getMouseY()

マウスイベントY座標を取得します。

戻り値：
マウスイベントY座標を返します。

補足説明：
_USE_MOUSE を有効にしている場合にのみ使用できます。

| touchNum

touchNum()

タッチ数を取得します。

戻り値：
タッチ数を返します。

補足説明：
_USE_TOUCH を有効にしている場合にのみ使用できます。

| getTouchX

getTouchX(index)

タッチイベントX座標を取得します。

パラメータ：

index | インデックス。0 から (touchNum() - 1) の値を指定します。

戻り値：
タッチイベントX座標を返します。

補足説明：
_USE_TOUCH を有効にしている場合にのみ使用できます。

| getTouchY

getTouchY(index)

タッチイベントY座標を取得します。

パラメータ：

index | インデックス。0 から (touchNum() - 1) の値を指定します。

戻り値：
タッチイベントY座標を返します。

補足説明：
_USE_TOUCH を有効にしている場合にのみ使用できます。

| getResImage

getResImage(id)

<img> 要素を取得します。

パラメータ：

id | <img> 要素の id 属性

戻り値：
<img> 要素を返します。

| getResString

getResString(id)

要素から文字列を取得します。

パラメータ：

id | <span> 要素等の id 属性

戻り値：
文字列を返します。

| currentTimeMillis

currentTimeMillis()

ミリ秒で表される現在の時間を返します。

戻り値：
ミリ秒で測定した、現在時刻と協定世界時の UTC 1970 年 1 月 1 日午前 0 時との差

| getBrowserWidth

getBrowserWidth()

ブラウザの画面の幅を取得します。

戻り値：
ブラウザの画面の幅を返します。

| getBrowserHeight

getBrowserHeight()

ブラウザの画面の高さを取得します。

戻り値：
ブラウザの画面の高さを返します。

| getOrientation

getOrientation()

画面の向きを取得します。

戻り値：
90度単位の角度を返します。

| setCanvasSize

setCanvasSize(width,height)

キャンバスの大きさを変更します。

パラメータ：

width | キャンバスの幅
height | キャンバスの高さ

補足説明：
本処理を実行すると、
・_Graphics／_ScalableGraphics クラスの setStrokeWidth()／setColor()／setAlpha()／setROP()／setFont()／setClip() メソッド
の内容が初期化されます。

| setCurrent

setCurrent(id)

カレントのキャンバスを設定します。

パラメータ：

id | <canvas> 要素の id 属性

| readParameter

readParameter(text,key)

URLパラメータ形式の文字列からパラメータを1つ取得します。

パラメータ：

text | URLパラメータ形式の文字列を指定します。
key | 取得するパラメータのキー文字列を指定します。

戻り値：
キーに対応する値を返します。URLデコードは自動的に行われます。

| readParameters

readParameters(text)

URLパラメータ形式の文字列から連想配列を構築します。

パラメータ：

text | URLパラメータ形式の文字列を指定します。

戻り値：
配列のキーが、パラメータのキー文字列になっている連想配列を返します。URLデコードは自動的に行われます。

| getParameter

getParameter(key)

アプリ起動時のパラメータを取得します。

パラメータ：

key | 取得するパラメータのキー文字列を指定します。

戻り値：
キーに対応する値を返します。URLデコードは自動的に行われます。

| keyBit

keyBit(key)

キーに対応するビットがONのときの値を取得します。

パラメータ：

key | キーを指定します。本ヘッダファイルで定義されている _KEY_〜 を指定します。

戻り値：
キーに対応するビットがONのときの値を返します。

補足説明：
_USE_KEY を有効にしている場合にのみ使用できます。

| clearLayout

clearLayout()

すべてのレイアウト情報を削除します。

補足説明：
_USE_LAYOUTMOUSE または _USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| addLayout

addLayout(x,y,width,height,id)

レイアウト情報を追加します。

パラメータ：

x | 矩形の左上のX座標を指定します。
y | 矩形の左上のY座標を指定します。
width | 矩形の幅を指定します。
height | 矩形の高さを指定します。
id | 割り当てるレイアウトIDを指定します。0 以上の値を指定します。getLayoutState() でタッチ状態を取得するには、0〜31 の値を指定する必要があります。

補足説明：
_USE_LAYOUTMOUSE または _USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| addLayoutArea

addLayoutArea(x,y,width,height,id,shape,coords)

レイアウト情報を追加します。

パラメータ：

x | 矩形の左上のX座標を指定します。
y | 矩形の左上のY座標を指定します。
width | 矩形の幅を指定します。
height | 矩形の高さを指定します。
id | 割り当てるレイアウトIDを指定します。0 以上の値を指定します。getLayoutState() でタッチ状態を取得するには、0〜31 の値を指定する必要があります。
shape | 領域の形
coords | 領域の座標

補足説明：
_USE_LAYOUTMOUSE または _USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。
shape と coords には、以下の指定が有効です。

shape | coords
"circle" | "中心X座標,中心Y座標,半径"
"poly" | "X座標1,Y座標1,X座標2,Y座標2…"
"rect" | "左上X座標,左上Y座標,右下X座標,右下Y座標"

| getLayout

getLayout(id)

レイアウト情報を取得します。

パラメータ：

id | 取得するレイアウト情報のレイアウトIDを指定します。

戻り値：
レイアウト情報を保持するオブジェクトを返します。指定したレイアウトIDに対応するオブジェクトが無かった場合、null を返します。
オブジェクトのプロパティは以下のものです。

x | 矩形の左上のX座標
y | 矩形の左上のY座標
width | 矩形の幅
height | 矩形の高さ
id | レイアウトID
shape | 領域の形の文字列。設定されていない場合 null
coords | 領域の座標の配列。設定されていない場合 null

補足説明：
_USE_LAYOUTMOUSE または _USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| checkLayout

checkLayout(x,y)

指定した座標がレイアウトの内側かどうかチェックします。

パラメータ：

x | チェックするX座標を指定します。
y | チェックするY座標を指定します。

戻り値：
レイアウトとヒットした場合、ヒットしたレイアウトIDを返します。どのレイアウトにもヒットしていない場合、-1 を返します。

補足説明：
_USE_LAYOUTMOUSE または _USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| getLayoutState

getLayoutState()

レイアウトのタッチ状態を取得します。

戻り値：
レイアウトのタッチ状態を返します。

補足説明：
戻り値の各ビットの位置がレイアウトIDに対応します。レイアウトIDに対応するビットがONのときの値は layoutBit(レイアウトID) で取得でき、その値とAND（"&"）をとることで、レイアウトがタッチされているか判定できます。
_USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| layoutBit

layoutBit(id)

キーに対応するビットがONのときの値を取得します。

パラメータ：

id | レイアウトIDを指定します。

戻り値：
レイアウトIDに対応するビットがONのときの値を返します。

補足説明：
_USE_LAYOUTTOUCH を有効にしている場合にのみ使用できます。

| launch

launch(url)

他のアプリを起動します。

パラメータ：

url | URLを指定します。

| frameTime

frameTime()

本関数を実装して、1フレームの時間（ミリ秒）を返してください。

| init

init()

アプリケーションが起動する前に呼ばれる関数です。

| start

start()

アプリケーションが起動したら呼ばれる関数です。

戻り値：
true を返すと、タイマーによる paint() 関数呼び出しが開始されます。
false を返すと、タイマーが停止した状態になります。

| paint

paint()

タイマーにより呼び出される関数です。

| processEvent

processEvent(type,param)

各種イベントが通知されたときに呼ばれる関数です。

パラメータ：

type | イベントのタイプが渡されます。
param | イベントのパラメータが渡されます。パラメータの意味はイベントによって異なります。

補足説明：
イベントのタイプには、次のものがあります。

_KEY_PRESSED_EVENT | キーが押されると通知されます。パラメータには、キーの種類が渡されます。キーの種類とは、本ヘッダファイルで定義されている _KEY_〜 です。
_KEY_RELEASED_EVENT | キーが離されると通知されます。パラメータには、キーの種類が渡されます。キーの種類とは、本ヘッダファイルで定義されている _KEY_〜 です。
_LAYOUT_DOWN_EVENT | レイアウト上でマウスボタンが押される、またはタッチが開始されると通知されます。パラメータには、レイアウトIDが渡されます。
_LAYOUT_UP_EVENT | レイアウト上でマウスボタンが離される、またはタッチが終了すると通知されます。パラメータには、レイアウトIDが渡されます。
_MOUSE_DOWN_EVENT | マウスボタンが押されると通知されます。パラメータは常に 0 です。
_MOUSE_MOVE_EVENT | マウスポインタが移動すると通知されます。パラメータは常に 0 です。
_MOUSE_OUT_EVENT | キャンバスからマウスポインタが出ると通知されます。パラメータは常に 0 です。
_MOUSE_OVER_EVENT | キャンバスにマウスポインタが入ると通知されます。パラメータは常に 0 です。
_MOUSE_UP_EVENT | マウスボタンが離されると通知されます。パラメータは常に 0 です。
_ORIENTATIONCHANGE_EVENT | 画面の向きが変更されると通知されます。パラメータには、90度単位の角度が渡されます。
_RESIZE_EVENT | ブラウザの画面サイズが変更されると通知されます。パラメータは常に 0 です。
_TOUCH_START_EVENT | タッチが開始されると通知されます。パラメータは常に 0 です。
_TOUCH_MOVE_EVENT | タッチムーブすると通知されます。パラメータは常に 0 です。
_TOUCH_END_EVENT | タッチが終了すると通知されます。パラメータは常に 0 です。
_BUTTON_DOWN_EVENT | _Button オブジェクトが押されると通知されます。パラメータには、イベントが発生した _Button オブジェクトの要素が渡されます。
_BUTTON_OUT_EVENT | _Button オブジェクトからマウスポインタが出ると通知されます。パラメータには、イベントが発生した _Button オブジェクトの要素が渡されます。
_BUTTON_OVER_EVENT | _Button オブジェクトにマウスポインタが入ると通知されます。パラメータには、イベントが発生した _Button オブジェクトの要素が渡されます。
_BUTTON_UP_EVENT | _Button オブジェクト上でマウスボタンが離されると通知されます。パラメータには、イベントが発生した _Button オブジェクトの要素が渡されます。

| error

error()

HTML5 Canvas をサポートしていない場合で _USE_EXCANVAS を有効にしていないときに呼ばれる関数です。

補足説明：
本関数が呼ばれたときは、start() 関数および paint() 関数は呼ばれません。