--:-- LUA API

イベント対応表

pico.on(id, event_name, fn) に渡せるイベント名と対応ウィジェット

使い方や典型パターンは イベント を参照してください。ここでは対応表のみ示します。

event_name対応ウィジェットコールバック引数発生条件
press_start全種別(id, x, y, lx, ly, dx, dy)押し始め
press_end全種別(id, x, y, lx, ly, dx, dy)押した場所の上で離した
press_move全種別(id, x, y, lx, ly, dx, dy)押しながら移動
press_out全種別(id, x, y, lx, ly, dx, dy)押したまま当たり判定の外へ
renderCanvas のみ(id)描き直しが要るとき(Canvasと直接描画)
closedダイアログ(pico.show_*が返すID)のみ(id, is_ok, value)ダイアログが閉じた。決定で閉じたときはvalueに結果が入る(ダイアログ)
checked_changedCheckbox のみ(id)チェック状態が変わった
value_changedNumberSlider のみ(id)値が変わった(ドラッグ中は毎フレーム)
select_itemScrollList のみ(id, already_selected)項目をタップした
tab_changedTabBar のみ(id)選択タブが変わった(同じタブの押し直しでは発火しない)
dropdown_changedDropdownMenu のみ(id)項目を選んで確定した
text_changedTextbox のみ(id)オンスクリーンキーボードを閉じて確定した(1文字ごとには発火しない)
text_inputTextbox のみ(id)1文字ごと(入力中もtextが最新になる)
duration_changedDurationPicker のみ(id, total_ms)▲▼で値が変わった(pico.setでは発火しない)
day_selectedMonthGrid のみ(id, day)日付をタップした(同じ日の押し直しでも発火する)
link_tapMarkdownView のみ(id, path)リンクをタップした(pathは文書基準で解決済みのパスかURL)
text_tapTextView のみ(id, byte_offset)動かさずにタップした(位置は文章中のバイト位置)
scrolledScrollContainer のみ(id, scroll_y)スクロール位置が変わった
long_press全種別(id, x, y, lx, ly)動かさずに0.5秒押し続けた
double_tap全種別(id, x, y, lx, ly)0.4秒以内に近い位置で2回タップした
swipe全種別(id, direction, dx, dy, x, y)24px以上を0.7秒以内に動かして離した。directionは"left" "right" "up" "down"

対応外のウィジェット種別へ登録しようとすると、pico.on() はエラーになります。

タッチのイベント(press_*)には座標が引数で届きます(x, y=画面座標、lx, ly=ウィジェット内の座標、dx, dy=前のイベントからの移動量。イベント 参照)。他のイベントには座標は含まれません。必要なら pico.get_touch() を呼んでください。