目次 - SDL 3.0 API(機能別) - 初期化と終了 - SDL_SetAppMetadataProperty
SDL_SetAppMetadataProperty
アプリケーションのメタデータをプロパティで指定する
ヘッダ
SDL3/SDL_init.h
構文
bool SDL_SetAppMetadataProperty(const char *name, const char *value);
引数
const char * | name | 設定するメタデータプロパティの名前 |
const char * | value | 設定するプロパティの値. NULLのときプロパティを取り除く |
戻り値
(bool) 成功のとき真, エラーの偽を戻す.
SDL_GetError()を呼んで詳細を知ることができる.
詳細
SDLにアプリケーションのメタデータを提供することができる(任意).
これは必須ではないが, 強く推奨する.
SDLがメタデータを使用する箇所は複数ある(macOSの"About"ボックス, 一部のオーディオミキサーで表示されるアプリケーション名など).
アプリケーションの詳細が意味をなさないと考えるならば, 各メタデータはNULLのままにすることができる.
この関数はなるべく早く, SDL_Initの前に呼ぶ必要がある.
この関数を複数回呼ぶことはできる. しかし, 以前この関数で一度設定した値は変わらない.
設定したメタデータはSDL_GetAppMetadataProperty()で得ることができる.
これらのプロパティに対応している:
- SDL_PROP_APP_METADATA_NAME_STRING: "My Game 2: Bad Guy's Revenge!"のような, 人が読むことのできるアプリケーションの名前.
これはウィンドウのタイトルとは別にアプリケーションの名前としてOSによって音量設定アプレット等のあらゆる場所に表示される.
デフォルトは"SDL Application"
- SDL_PROP_APP_METADATA_VERSION_STRING: アプリケーションのバージョン.
形式にはルールはなく, "1.0.3beta2"や"April 22nd, 2024"やgitのハッシュ値などのいずれでもよい.
デフォルトは存在しない
- SDL_PROP_APP_METADATA_IDENTIFIER_STRING: アプリケーションのユニークな文字列. これは"com.example.mygame2"のようなドメイン名を逆から呼んだ形式である必要がある.
この文字列は, デスクトップコンポジッタ(デスクトップマネージャ)の識別や, ウィンドウをグループ化するだけでなく, アプリケーションとデスクトップ設定やアイコンを関連付けるために使用される.
もしアプリケーションをFlatpakでコンテナ化するつもりならば, アプリケーションのIDはFlatpakコンテナの名前と一致する必要がある.
デフォルトは存在しない
- SDL_PROP_APP_METADATA_CREATOR_STRING: "MojoWorkshop, LLC"のような, 人が読むことができるアプリケーションのクリエイター/開発者/メーカーの名前.
- SDL_PROP_APP_METADATA_COPYRIGHT_STRING: "Copyright (c) 2024 MojoWorkshop, LLC"やそれ以外のような, 人が読むことができる著作権表記.
これは1行に収めること. ここにコピーしたライセンスの全文を張り付けてはならない.
デフォルトは存在しない
- SDL_PROP_APP_METADATA_URL_STRING: アプリケーションのwebサイトのURL.
企業のページや, ストア, GitHubリポジトリなど, ユーザの追加の情報がありうる.
デフォルトは存在しない
- SDL_PROP_APP_METADATA_TYPE_STRING: アプリケーションの種類.
現在この文字列は, ビデオゲームならば"game", メディアプレイヤーならば"mediaplayer", 一致するものがなければ一般的な"application"である.
SDLの将来のバージョンには新しい種類が追加される.
デフォルトは"application"
スレッドセーフ
この関数はどのスレッドからも安全に呼べる.
バージョン
SDL 3.2.0以降
関連項目
SDL Wikiへのリンク
SDL_SetAppMetadataProperty - SDL Wiki