UI_Control

   <task pointer> = UI_Control( "<onClick callback>", "<onDrag callback>")

   function <onClick callback>(x, y)

   end


   function <onDrag callback>(mode, x, y, mvX, mvY)

   end

引数

  • <onClick callback> クリック動作時に呼ばれるコールバック関数の名称。関数は以下の二つの引数を持つ。
    • x,y クリックされた座標
  • <onDrag callback> ドラッグ動作時に呼ばれるコールバック関数の名称。関数は以下の5つの引数を持つ。
    • mode ドラッグ中もしくはリリース動作を表す値のいずれか
      • PAD_ITEM_DRAG ドラッグ中
      • PAD_ITEM_RELEASE リリース]
    • x, y 現在の座標
    • mvX, mvY タップ座標からの移動量

戻り値

  • <task pointer> 生成された UI_Control タスクのポインタ

解説

高レベルの入力ゼスチャーを解釈し、それぞれに対応したコールバックを呼ぶ。 ピンチイン/アウト、ローテーション、ダブルクリック、ロングタップ(長押し)に対応。

また、モーダルスタックの影響を受ける。

コマンド

UI_CONTROL_ON_PINCH
ピンチイン/アウトおよびローテーション動作の値を取得するコールバック関数を指定する。
  • UI_CONTROL_ON_PINCH
       pCtrl = UI_Control(...)
       sysCommand(pCtrl, UI_CONTROL_ON_PINCH, "<onPinch callback>")
    
       function <onPinch callback>( mode, pinch, rot )
    
       end
    
        mode PAD_ITEM_DRAG / PAD_ITEM_RELEASE のどちらか
        pinch 最初に指を置いた2点間の距離に対する、現在の2点間の距離の比率
        rot   最初に指を置いた2点間を結ぶ線分に対する、現在の2点間を結ぶ線分の角度
    
UI_CONTROL_ON_DBLCLICK
ダブルクリック動作の値を取得するコールバック関数を指定する。
  • UI_CONTROL_ON_DBLCLICK
       pCtrl = UI_Control(...)
       sysCommand(pCtrl, UI_CONTROL_ON_DBLCLICK, "<onDblClick callback>")
    
       function <onDblClick callback>( x, y )
    
       end
    
        x,y ダブルクリック動作が行われた座標
    
UI_CONTROL_ON_LONGTAP
ロングタップ(長押し)動作の値を取得するコールバック関数を指定する。 ロングタップ動作の通知は、ドラッグやリリースなどが行われるまで毎フレーム行われる。
  • UI_CONTROL_ON_LONGTAP
       pCtrl = UI_Control(...)
       sysCommand(pCtrl, UI_CONTROL_ON_LONGTAP, "<onLongTap callback>")
    
       function <onLongTap callback>( t, x, y )
    
       end
    
        t   タップ時点からの経過時間(ミリ秒)
        x,y ダブルクリック動作が行われた座標
    
UI_CONTROL_SET_GROUP
UI_ControlをUI_FormやUI_Listと同様グループに所属させる。 指定されたグループの他のフォーム等が操作中、UI_Controlの各操作におけるコールバックは呼ばれなくなる。また、後述のUI_CONTROL_LOCKで同グループの他のフォーム等の操作を禁止することができる。
  • UI_CONTROL_SET_GROUP
       pCtrl = UI_Control(...)
       sysCommand(pCtrl, UI_CONTROL_SET_GROUP, "<group-name>")
    
UI_CONTROL_SET_MASK
UI_Controlが呼び出すcallback各種の許可/禁止フラグを設定する。 指定はビットマスクで行い、対応するビットが 1 のコールバックは呼び出しが禁止される。
  • UI_CONTROL_SET_MASK
       pCtrl = UI_Control(...)
       sysCommand(pCtrl, UI_CONTROL_SET_MASK, <bit-mask>)
    
       <bit-mask> に指定できるマスクビット定数
        CTRLMASK_CLICK     クリック
        CTRLMASK_DRAG      ドラッグ
        CTRLMASK_PINCH      ピンチイン/アウト/ローテーション
        CTRLMASK_DBLCLICK   ダブルクリック
        CTRLMASK_LONGTAP    ロングタップ