[前へ] [目次へ] [次へ]

ButtonWindow (script/fgs/system_multipart.fges)


このクラスはボタンを描画するのに適したクラスです。

●継承/注入

   extends BasicButtonWindow

●インターフェイスとインターフェイスメソッド

   extends INativeWindow

●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
internal操作メソッドconst GetDrawText描画するテキストを構成、取得します
public取得メソッドconst GetEnableボタンの有効化状態を取得します
public設定メソッド SetEnableボタンの有効化状態を設定します
public設定メソッド SetBaseDRボタン背景用DRを設定します
public設定メソッド SetContentDRボタン背景の上に描画する領域内DRを設定します
public設定メソッド SetFullDR領域内DRの上に描画するDRを設定します
public設定メソッド SetTextボタンに描画する文字列を設定します
public設定メソッド SetFontボタンテキストを描画するフォントを設定します
public設定メソッド SetTopDRボタンテキストの上に描画するDRを設定します
public操作メソッドoverride Draw描画内容を設定します
public操作メソッドoverride DrawEx描画内容を設定します
public操作メソッドoverride NewWindowウィンドウを作成します
public操作メソッドoverride ReDrawWindowウィンドウを再描画します
public操作メソッドoverride ResizeWindowウィンドウをリサイズします

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

名前概要
internal enableボタンの有効化状態
readable base_dr背景用DR
readable content_dr背景の上に描画する領域内DR
readable full_dr領域内DRの上に描画するDR
readable top_drテキストの上に描画するDR
readable content_x領域内DRを描画する左上X座標
readable content_y領域内DRを描画する左上Y座標
readable content_width領域内DRを描画する横幅
readable content_height領域内DRを描画する縦幅
readable textボタンテキスト
readable fontボタンテキストを描画するフォント




ButtonWindow::GetDrawText

internal readonly String?@ GetDrawText( String? text,editable String temp)const

   有効化状態を反映したボタンテキストを構成、取得します。
   このメソッドは処理速度向上のため、作業用のオブジェクトを必要とします。

戻り値:描画メソッドに渡すための文字列参照を返します。
      返す参照は text か temp のどちらかです。
   
String? text :ベースになるボタンテキスト。
editable String temp :[出力]必要に応じて使用する作業用オブジェクト。

先頭へ


ButtonWindow::GetEnable

public Bool GetEnable()const

   ボタンの有効化状態を取得します。

戻り値:ボタンが有効なら真を返します。
   
先頭へ


ButtonWindow::SetEnable

public void SetEnable( IBool new_state)

   ボタンの有効化状態を設定します。
   この設定はデフォルトでは真に設定されています。

IBool new_state :設定する有効化状態。

先頭へ


ButtonWindow::SetBaseDR

public void SetBaseDR( INativeDrawResource? dr)

   ボタン背景用DRを設定します。
   このメソッドは指定したオブジェクトの参照のみを保持します。
   このオブジェクトが消滅するか他のオブジェクトを設定するまで
   指定したオブジェクトを維持しなければいけません。

INativeDrawResource? dr :設定するボタン背景用DR。
      空参照を指定した場合は何も描画しません。

先頭へ


ButtonWindow::SetContentDR

public void SetContentDR( INativeDrawResource? dr,
             Integer content_x, Integer content_y, Integer content_width, Integer content_height)


   ボタン背景の上に描画する領域内DRを設定します。
   このメソッドは指定したオブジェクトの参照のみを保持します。
   このオブジェクトが消滅するか他のオブジェクトを設定するまで
   指定したオブジェクトを維持しなければいけません。

INativeDrawResource? dr :設定するボタン背景の上に描画する領域内DR。
      空参照を指定した場合は何も描画しません。
Integer content_x :領域内DRを描画する左上X座標。
Integer content_y :領域内DRを描画する左上Y座標。
Integer content_width :領域内DRを描画する横幅。
Integer content_height :領域内DRを描画する縦幅。

先頭へ


ButtonWindow::SetFullDR

public void SetFullDR( INativeDrawResource? dr)

   領域内DRの上に描画するDRを設定します。
   このメソッドは指定したオブジェクトの参照のみを保持します。
   このオブジェクトが消滅するか他のオブジェクトを設定するまで
   指定したオブジェクトを維持しなければいけません。

INativeDrawResource? dr :設定する領域内DRの上に描画するDR。
      空参照を指定した場合は何も描画しません。

先頭へ


ButtonWindow::SetText

public void SetText( String text)

   ボタンに描画する文字列を設定します。

String text :設定するボタンテキスト。

先頭へ


ButtonWindow::SetFont

public void SetFont( FGESFont? font)

   ボタンテキストを描画するフォントを設定します。

FGESFont? font :設定するフォント。
      空参照を指定した場合はデフォルトフォントで描画します。

先頭へ


ButtonWindow::SetTopDR

public void SetTopDR( INativeDrawResource? dr)

   ボタンテキストの上に描画するDRを設定します。
   このメソッドは指定したオブジェクトの参照のみを保持します。
   このオブジェクトが消滅するか他のオブジェクトを設定するまで
   指定したオブジェクトを維持しなければいけません。

INativeDrawResource? dr :設定するボタンテキストの上に描画するDR。
      空参照を指定した場合は何も描画しません。

先頭へ


ButtonWindow::Draw

public override Bool Draw( INativeDrawResource? base=NULL, INativeDrawResource? dr=NULL,
             String? text=NULL, FGESFont? font=NULL)


   ウィンドウの描画内容を設定します。
   このメソッドはウィンドウを作成している状態でなければ機能しません。

戻り値:処理に成功すると真を返します。
   
INativeDrawResource? base=NULL :ウィンドウの背景に使用するDR。
      空参照を指定すると @buttonframe_dr を使用します。
INativeDrawResource? dr=NULL :背景の上に描画するDR。
      空参照を指定すると無視します。
String? text=NULL :ボタンに描画する文字列。
      空参照を指定すると無視します。
FGESFont? font=NULL :文字列の描画に使用するフォント。
      空参照を指定するとデフォルトフォントを使用します。

先頭へ


ButtonWindow::DrawEx

public override Bool DrawEx( INativeDrawResource? base, INativeDrawResource content_dr,
             Integer content_x, Integer content_y, Integer content_width, Integer content_height,
             INativeDrawResource? full_dr=NULL, String? text=NULL,
             FGESFont? font=NULL, INativeDrawResource? top_dr=NULL)


   ウィンドウの描画内容を細かく設定します。
   このメソッドはウィンドウを作成している状態でなければ機能しません。

戻り値:処理に成功すると真を返します。
   
INativeDrawResource? base :ウィンドウの背景に使用するDR。
      空参照を指定すると @buttonframe_dr を使用します。
INativeDrawResource content_dr :背景の上に描画するDR。
Integer content_x : content_dr を描画する左上X座標。
Integer content_y : content_dr を描画する左上Y座標。
Integer content_width : content_dr を描画する横幅。
Integer content_height : content_dr を描画する縦幅。
INativeDrawResource? full_dr=NULL : content_dr の上に描画するDR。
      空参照を指定すると無視します。
String? text=NULL :ボタンに描画する文字列。
      空参照を指定すると無視します。
FGESFont? font=NULL :文字列の描画に使用するフォント。
      空参照を指定するとデフォルトフォントを使用します。
INativeDrawResource? top_dr=NULL :テキストの上に描画するDR。
      空参照を指定すると無視します。

先頭へ


ButtonWindow::NewWindow

public override Bool NewWindow( INativeInteger x, INativeInteger y,
             INativeInteger width, INativeInteger height, INativeWindow? addwnd,
             INativeInteger wndtype, INativeInteger? drawmode=NULL, INativeInteger? focus=NULL,
             INativeBool? visible=NULL, INativeInteger? alv=NULL)


   このオブジェクトでウィンドウを作成します。
   座標系は作成するウィンドウタイプによって決定されます。
   ウィンドウタイプがトップレベルウィンドウである場合、仮想ビュー座標系が使用されます。
   ウィンドウタイプが子ウィンドウかサブウィンドウである場合、所属させるウィンドウのローカル座標系が使用されます。
   それ以外のウィンドウタイプである場合、所属させるウィンドウと同じ座標系が使用されます。
   
   作成するウィンドウは現在のシーンに関連付けられます。
   シーンが起動していない状態ではこのメソッドは使用できません。
   
   このクラスはウィンドウを作成しただけでは正しく描画されません。
   続けて Draw または DrawEx を呼び出して描画内容を設定してください。

戻り値:作成に成功すると真を返します。
   
INativeInteger x :ウィンドウを作成するX座標。座標系はウィンドウタイプに依存します。
INativeInteger y :ウィンドウを作成するY座標。座標系はウィンドウタイプに依存します。
INativeInteger width :ウィンドウの横幅。
INativeInteger height :ウィンドウの縦幅。
INativeWindow? addwnd :作成するウィンドウの所属を決定するウィンドウ。意味はウィンドウタイプに依存します。
ウィンドウタイプごとの意味:
ウィンドウタイプ意味
トップレベルウィンドウこの引数は無視されます。
子ウィンドウ所属させる親ウィンドウ。
サブウィンドウ所属させるウィンドウ。
スタックウィンドウ所属させるウィンドウ。
挿入ウィンドウ直前の序列のウィンドウ。所属は指定したウィンドウと同じになります。
INativeInteger wndtype :ウィンドウタイプ。以下のいずれか。
識別子意味
Window::WND_TOPLEVELトップレベルウィンドウ。
独立して扱われるウィンドウです。仮想ビュー座標系を使用します。
Window::WND_CHILD子ウィンドウ。
親ウィンドウの中に配置されるウィンドウで、親ウィンドウの領域外に出ると正常に描画されません。
座標系は親ウィンドウのローカル座標となり、親ウィンドウが移動すると連動して移動します。
また、親ウィンドウに対して行われた操作の一部は連動して影響します。
Window::WND_SUBサブウィンドウ。
所属するウィンドウの補足情報を提示するためのウィンドウです。
座標系は所属するウィンドウのローカル座標となり、所属するウィンドウが移動すると連動して移動します。
原則として所属するウィンドウとは独立して扱われますが、削除や更新は連動します。
Window::WND_STACKスタックウィンドウ。
所属するウィンドウの追加処理を行うウィンドウで、ダイアログに近い扱いをします。
座標系は所属するウィンドウと同じになります。
原則として所属するウィンドウとは独立して扱われますが、削除は連動します。
また、サブウィンドウよりも上に描画されます。
Window::WND_PREV挿入ウィンドウ。
指定したウィンドウの次の序列に作成するウィンドウを挿入します。
ウィンドウタイプや座標系は指定したウィンドウと同じになります。
INativeInteger? drawmode=NULL :描画方法。以下のいずれか。
識別名内容
Window::COPY色と透過度を上書き
Window::COPYC色のみを上書き
Window::ALPHA透過描画(デフォルト)
Window::BLEND半透明描画
Window::LAYERレイヤー描画
Window::BACK背後に描画
Window::ALPHABLEND透過半透明描画
Window::LAYERBLENDレイヤー半透明描画
Window::BACKBLEND背後に半透明
Window::MIXALPHA透過合成
Window::MIXBLEND半透明合成
Window::MIXLAYERレイヤー合成
Window::MIXBACK背後に合成
Window::MIXALPHABLEND透過半透明合成
Window::MIXLAYERBLENDレイヤー半透明合成
Window::MIXBACKBLEND背後に半透明合成
Window::COPYAアルファのみ上書き
Window::MULAアルファのみ乗算
Window::REVMULAアルファのみ逆乗算
Window::ADDAアルファのみ加算
Window::SUBAアルファのみ減算
Window::FILLAアルファ設定
Window::BLENDALPHAアルファのみブレンド
Window::COPYTONE色変換して上書き
Window::TONE色変換して色のみに描画
Window::ALPHATONE色変換して透過描画
Window::LAYERTONE色変換してレイヤー描画
Window::BACKTONE色変換して背後に描画
Window::MIXTONE色変換して合成
Window::MIXALPHATONE色変換して透過合成
Window::MIXLAYERTONE色変換してレイヤー合成
Window::MIXBACKTONE色変換して背後に合成
Window::MULC乗算
Window::REVMULC逆乗算
Window::ADDC加算
Window::SUBC減算
Window::SCREENスクリーン
Window::OVERLAYオーバーレイ
Window::HARDLIGHTハードライト
Window::MULBLENDC半透明乗算
Window::ADDBLENDC半透明加算
Window::SUBBLENDC半透明減算
Window::SCREENBLEND半透明スクリーン
Window::OVERLAYBLEND半透明オーバーレイ
Window::HARDLIGHTBLEND半透明ハードライト
Window::MUL乗算合成
Window::REVMUL逆乗算合成
Window::ADD加算合成
Window::SUB減算合成
Window::MIXSCREENスクリーン合成
Window::MIXOVERLAYオーバーレイ合成
Window::MIXHARDLIGHTハードライト合成
Window::MULBLEND半透明乗算合成
Window::ADDBLEND半透明加算合成
Window::SUBBLEND半透明減算合成
Window::MIXSCREENBLEND半透明スクリーン合成
Window::MIXOVERLAYBLEND半透明オーバーレイ合成
Window::MIXHARDLIGHTBLEND半透明ハードライト合成
INativeInteger? focus=NULL :フォーカス制御。
以下の一斉指定識別子か、各グループのOR結合。
一斉指定識別子:全グループで同じ意味を設定したOR結合済み識別子。
識別名内容
Window::FOCUS_OK所属ウィンドウへのフォーカス制御に干渉しません(デフォルト)
Window::FOCUS_REDIRECT所属ウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_BLOCK所属ウィンドウへのフォーカス制御を拒否します
スタックウィンドウ用:
識別名内容
Window::FOCUS_STACK_OKスタックウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_STACK_REDIRECTスタックウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_STACK_BLOCKスタックウィンドウへのフォーカス制御を拒否します
サブウィンドウ用:
識別名内容
Window::FOCUS_SUB_OKサブウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_SUB_REDIRECTサブウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_SUB_BLOCKサブウィンドウへのフォーカス制御を拒否します
子ウィンドウ用:
識別名内容
Window::FOCUS_CHILD_OK子ウィンドウへのフォーカス制御に干渉しません
Window::FOCUS_CHILD_REDIRECT子ウィンドウへのフォーカスはこのウィンドウが奪います
Window::FOCUS_CHILD_BLOCK子ウィンドウへのフォーカス制御を拒否します
INativeBool? visible=NULL :ウィンドウを可視にする場合は真を指定します。
         空参照を指定した場合は真として扱います。
INativeInteger? alv=NULL :ウィンドウを半透明描画する場合の透過度。

先頭へ


ButtonWindow::ReDrawWindow

public override void ReDrawWindow()

   このウィンドウを強制的に再描画します。
   通常、再描画が必要な場合ウィンドウクラスは自動的に再描画を行います。
   明示的に呼び出すよう指定されている場合以外、呼び出す必要はありません。
   
   また、ウィンドウクラスによっては通常の再描画はキャッシュ制御していますが、
   このメソッドを使用した場合はキャッシュを放棄して全て描画しなおします。
   
   このメソッドはウィンドウが作られている状態でのみ意味があります。

先頭へ


ButtonWindow::ResizeWindow

public override Bool ResizeWindow( INativeInteger? x, INativeInteger? y,
             INativeInteger? width, INativeInteger? height)


   このウィンドウを指定した座標に移動し、さらに大きさを変更します。
   座標系はこのウィンドウがトップレベルウィンドウである場合、仮想ビュー座標系が使用されます。
   このウィンドウが子ウィンドウかサブウィンドウとして所属している場合、所属しているウィンドウのローカル座標系が使用されます。
   それ以外のウィンドウとして所属している場合、所属しているウィンドウと同じ座標系が使用されます。
   
   ウィンドウクラスによってはこの処理は時間が掛かる場合があります。
   
戻り値:処理に成功すると真を返します。

INativeInteger? x :移動先のX座標。
         空参照を指定した場合、現在の値を維持します。
INativeInteger? y :移動先のY座標。
         空参照を指定した場合、現在の値を維持します。
INativeInteger? width :新しいウィンドウの横幅。
         空参照を指定した場合、現在の値を維持します。
INativeInteger? height :新しいウィンドウの縦幅。
         空参照を指定した場合、現在の値を維持します。

先頭へ


ButtonWindow::enable

internal Bool enable

   テキスト描画の左側マージン。

先頭へ


ButtonWindow::base_dr

readable ConstPointer<INativeDrawResource> base_dr

   背景用DR。

先頭へ


ButtonWindow::content_dr

readable ConstPointer<INativeDrawResource> content_dr

   背景の上に描画する領域内DR。

先頭へ


ButtonWindow::full_dr

readable ConstPointer<INativeDrawResource> full_dr

   領域内DRの上に描画するDR。

先頭へ


ButtonWindow::top_dr

readable ConstPointer<INativeDrawResource> top_dr

   テキストの上に描画するDR。

先頭へ


ButtonWindow::content_x

readable Integer content_x

   領域内DRを描画する左上X座標。

先頭へ


ButtonWindow::content_y

readable Integer content_y

   領域内DRを描画する左上Y座標。

先頭へ


ButtonWindow::content_width

readable Integer content_width

   領域内DRを描画する横幅。

先頭へ


ButtonWindow::content_height

readable Integer content_height

   領域内DRを描画する縦幅。

先頭へ


ButtonWindow::text

readable String text

   ボタンテキスト。

先頭へ


ButtonWindow::font

readable ConstPointer<FGESFont> font

   ボタンテキストを描画するフォント。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2023/02/04