Uint32 | type | SDL_EVENT_USERからSDL_EVENT_LASTまでの値. Uint32なのはSDL_EventType列挙体に存在しないため |
Uint32 | reserved | 予約 |
Uint64 | timestamp | イベントのナノ秒単位のタイムスタンプ. SDL_GetTicksNS()で設定 |
SDL_WindowID | windowID | 関連するウィンドウ (存在すれば) |
Sint32 | code | ユーザ定義のイベントコード |
void * | data1 | ユーザ定義のデータポインタ |
void * | data2 | ユーザ定義のデータポインタ |
このイベントは特別で, SDLは決して発することはなく, アプリケーションのみが発する.
イベントはSDL_PushEvent()でイベントキューにプッシュできる.
構造体のメンバは完全に作成者次第であり, 必要なことはtype
をSDL_RegisterEvents()から得ることのみである.
extern Sint32 my_event_code;
extern void *significant_data;
extern void *some_other_data;
const Uint32 myEventType = SDL_RegisterEvents(1);
if (myEventType != 0) {
SDL_Event event;
SDL_zero(event);
event.type = myEventType;
event.user.code = my_event_code;
event.user.data1 = significant_data;
event.user.data2 = some_other_data;
SDL_PushEvent(&event);
}