目次 - API(機能別) - イベント処理 - SDL_TextInputEvent

SDL_TextInputEvent

テキスト入力イベントの情報の構造体

フィールド

Uint32typeSDL_TEXTINPUT
Uint32timestampイベントのタイムスタンプ
Uint32windowIDフォーカスのあるウィンドウ (可能なら)
char[32]textNUL終端のUTF-8テキスト

詳細

SDL_TextInputEventSDL_Eventのメンバで, SDL_TEXTINPUTが報告されたときに使われる. eventのtextフィールドからアクセスできる.

チュートリアルはここにある.

詳細な説明 (SDLメーリングリストのJiang Jiang <gzjjgod@gmail.com>の投稿より)

典型的なGUIアプリケーションでは, OSは(SDL_TEXTEDITINGで)入力中のテキストの通知を担当することになる. IMEで"abc"と入力し, そしてUnicode文字の"X"を得たとすると, SDLアプリケーションはまず3回のSDL_TEXTEDITINGイベントで"a", "ab", "abc"を受け取り, 次にSDL_INPUTイベントでUnicode文字の"X"を受け取る. このテキストの構成中に, ユーザはファンクションキーやバックスペースキーなどの任意のキーを押せる. SDLアプリケーションとIMEは両方ともキーを受け取り, これらのキーを扱うか否かを判断する. 例えばユーザがバックスペースキーを押すと, 多くのIMEは入力中の最後の文字を削除する. そしてSDLは新しいSDL_TEXTEDITINGイベントを受信する. (ユーザがa, b, バックスペース, cと入力したならば, アプリケーションは4回のイベント'a', 'ab', 'a', 'ac'を受け取ることになる.) OSはSDL_TEXTEDITINGイベントで受け取ったテキストを表示したいかどうかはわからないため, SDL_SetTextInputRect()でOSに入力中のテキストを表示するか否かのヒントを与えることができる.

関連項目(列挙体)

SDL_EventType

関連項目(構造体)

SDL_Event
SDL_TextEditingEvent

関連項目(関数)

SDL_StartTextInput
SDL_StopTextInput

SDL Wikiへのリンク

SDL_TextInputEvent - SDL Wiki