クラス _Canvas／_Canvas3D

net.satis.d2a._Canvas
└ net.satis.d2a._Canvas3D

アプリケーションの表示面を提供します。イベントはこのクラスのサブクラスのインスタンスに通知されます。

メソッド

| getView

public SurfaceView getView()

SurfaceView オブジェクトを取得します。

戻り値：
SurfaceView オブジェクトを返します。

| [_Canvas クラス] getHolder

public SurfaceHolder getHolder()

SurfaceHolder オブジェクトを取得します。

戻り値：
SurfaceHolder オブジェクトを返します。

| getWidth

public int getWidth()

スクリーンの幅を取得します。

戻り値：
スクリーンの幅をピクセル単位で返します。

| getHeight

public int getHeight()

スクリーンの高さを取得します。

戻り値：
スクリーンの高さをピクセル単位で返します。

| [_Canvas クラス] getGraphics

public _Graphics getGraphics()

キャンバスに描画するための _Graphics オブジェクトを取得します。

戻り値：
キャンバスに描画するための _Graphics オブジェクトを返します。

| getTouchX

public int getTouchX(int id)

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

パラメータ：

id | タッチID

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

| getTouchY

public int getTouchY(int id)

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

パラメータ：

id | タッチID

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

| getTrackballX

public int getTrackballX()

トラックボールイベントX値を取得します。

戻り値：
トラックボールイベントX値を返します。

| getTrackballY

public int getTrackballY()

トラックボールイベントY値を取得します。

戻り値：
トラックボールイベントY値を返します。

| setWindow

public void setWindow(int left, int top, int right, int bottom, int width, int height)
public void setWindow(int width, int height)

スクリーン内の矩形領域をウィンドウ領域として設定します。

パラメータ：

left | スクリーン内の矩形の左上X座標を指定します。
top | スクリーン内の矩形の左上Y座標を指定します。
right | スクリーン内の矩形の右下X座標を指定します。
bottom | スクリーン内の矩形の右下Y座標を指定します。
width | スクリーン内の矩形領域にマッピングするウィンドウの幅を指定します。
height | スクリーン内の矩形領域にマッピングするウィンドウの高さを指定します。

補足説明：
パラメータが2個のタイプは、ピクセルアスペクト比1:1でスクリーン内にセンタリングされるようにマッピングされます。

| getWindowLeft

public int getWindowLeft()

setWindow() メソッドにより設定されているスクリーン内の矩形の左上X座標を取得します。

戻り値：
スクリーン内の矩形の左上X座標を返します。

| getWindowTop

public int getWindowTop()

setWindow() メソッドにより設定されているスクリーン内の矩形の左上Y座標を取得します。

戻り値：
スクリーン内の矩形の左上Y座標を返します。

| getWindowRight

public int getWindowRight()

setWindow() メソッドにより設定されているスクリーン内の矩形の右下X座標を取得します。

戻り値：
スクリーン内の矩形の右下X座標を返します。

| getWindowBottom

public int getWindowBottom()

setWindow() メソッドにより設定されているスクリーン内の矩形の右下Y座標を取得します。

戻り値：
スクリーン内の矩形の右下Y座標を返します。

| windowX

public int windowX(int x)

スクリーンX座標をウィンドウX座標に変換します。

パラメータ：

x | スクリーンX座標

戻り値：
ウィンドウX座標を返します。

| windowY

public int windowY(int y)

スクリーンY座標をウィンドウY座標に変換します。

パラメータ：

y | スクリーンY座標

戻り値：
ウィンドウY座標を返します。

| screenX

public int screenX(int x)

ウィンドウX座標をスクリーンX座標に変換します。

パラメータ：

x | ウィンドウX座標

戻り値：
スクリーンX座標を返します。

| screenY

public int screenY(int y)

ウィンドウY座標をスクリーンY座標に変換します。

パラメータ：

y | ウィンドウY座標

戻り値：
スクリーンY座標を返します。

| setLayout

public void setLayout(_Layout layout)

レイアウトを適用します。

パラメータ：

layout | レイアウト情報を保持する _Layout オブジェクト。null を指定すると、レイアウトを解除します。

補足説明：
レイアウトを適用すると、レイアウトタッチイベントを検知することができるようになります。
また、getLayoutState() メソッドでレイアウトのタッチ状態を取得できるようになります。

| getLayoutState

public int getLayoutState()

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

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

補足説明：
本メソッドの戻り値の各ビットの位置がレイアウトIDに対応します。ビットとレイアウトIDの対応は、1<<(レイアウトID) となります。例えば、レイアウトIDが 2 のレイアウトがタッチされているかどうかの判定は、本メソッドの戻り値と (1<<2) とでAND（"&"）をとります。

| [_Canvas クラス] drawLayout

public void drawLayout(_Graphics g)

レイアウトをデバッグ表示します。

パラメータ：

g | 描画に使用される _Graphics オブジェクト

補足説明：
描画に使用される色やフォントサイズ等は、あらかじめ設定しておく必要があります。

| [_Canvas3D クラス] lock3D

public void lock3D()

OpenGL ES 描画の開始を宣言します。

| [_Canvas3D クラス] unlock3D

public void unlock3D()

OpenGL ES 描画の終了を宣言します。

| frameTime

public int frameTime()

本メソッドをオーバーライドして、1フレームの時間（ミリ秒）を返してください。

| touchNum

public int touchNum()

本メソッドをオーバーライドして、マルチタッチ最大数を返してください。

補足説明：
実際に有効なマルチタッチ最大数は、機種依存です。

| [_Canvas3D クラス] backgroundColor

public int backgroundColor()

本メソッドをオーバーライドして、背景色を返してください。

| init init3D

public void init() [_Canvas クラス]
public void init3D(GL10 gl) [_Canvas3D クラス]

キャンバスの初期化時に呼ばれるメソッドです。

パラメータ：

gl | GL10 オブジェクトが渡されます。

補足説明：
init3D() メソッドの中で、OpenGL ES の初期化処理を行ってください。
アプリケーションのサスペンド／レジューム時にも、end()／end3D() メソッドとセットで本メソッドが呼ばれることがあります。

| end end3D

public void end() [_Canvas クラス]
public void end3D(GL10 gl) [_Canvas3D クラス]

キャンバスの終了時に呼ばれるメソッドです。

パラメータ：

gl | GL10 オブジェクトが渡されます。

補足説明：
end3D() メソッドの中で、OpenGL ES の終了処理を行ってください。
アプリケーションのサスペンド／レジューム時にも、本メソッドと init()／init3D() メソッドがセットで呼ばれることがあります。

| paint paint3D

public void paint(_Graphics g)
public void paint3D(GL10 gl)

キャンバスに表示するために使用するメソッドです。このメソッドは、タイマーにより呼び出されます。

パラメータ：

g | 描画に使用する _Graphics オブジェクトが渡されます。
gl | GL10 オブジェクトが渡されます。

補足説明：
paint3D() メソッドの中で、OpenGL ES の描画処理を行ってください。

| paintTime

public void paintTime(int time)

paint()／paint3D() 呼び出しの後に呼ばれるメソッドです。

パラメータ：

time | 直前の paint()／paint3D() 処理にかかった時間（ミリ秒）が渡されます。

| processEvent

public void processEvent(int type, int param)

イベントが通知されたときに呼ばれるメソッドです。

パラメータ：

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

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

_Canvas.KEY_PRESSED_EVENT | キーが押されると通知されます。パラメータには、キーの種類が渡されます。キーの種類とは、KeyEvent.KEYCODE_〜 です。
_Canvas.KEY_RELEASED_EVENT | キーが離されると通知されます。パラメータには、キーの種類が渡されます。キーの種類とは、KeyEvent.KEYCODE_〜 です。
_Canvas.TOUCH_DOWN_EVENT | 画面をタッチダウンすると通知されます。パラメータには、タッチIDが渡されます。
_Canvas.TOUCH_MOVE_EVENT | 画面をムーブすると通知されます。パラメータには、タッチIDが渡されます。
_Canvas.TOUCH_UP_EVENT | 画面をタッチアップすると通知されます。パラメータには、タッチIDが渡されます。
_Canvas.TRACKBALL_DOWN_EVENT | トラックボールが押されると通知されます。パラメータは常に 0 です。
_Canvas.TRACKBALL_MOVE_EVENT | トラックボールを回すと通知されます。パラメータは常に 0 です。
_Canvas.TRACKBALL_UP_EVENT | トラックボールが離されると通知されます。パラメータは常に 0 です。
_Canvas.LAYOUT_DOWN_EVENT | レイアウトをタッチダウンすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、_Canvas.TOUCH_DOWN_EVENT は通知されません。
_Canvas.LAYOUT_UP_EVENT | レイアウトをタッチアップすると通知されます。パラメータには、レイアウトIDが渡されます。本イベントが通知されたときは、_Canvas.TOUCH_UP_EVENT は通知されません。