ユーザーのスクリーンショットライブラリにスクリーンショットを追加するための関数です。
詳細は、
Steamスクリーンショット を参照してください。
メンバー関数
ISteamScreenshots
のメンバー関数は、グローバルのアクセサ関数
SteamScreenshots()
経由で呼び出されます。
AddScreenshotToLibrary
ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight );
名前 | 型 | 説明 |
pchFilename | const char * | JPG、PNG、またはTGAスクリーンショットへの絶対ファイルパス。 |
pchThumbnailFilename | const char * | オプションのサムネイル画像への絶対ファイルパス。 k_ScreenshotThumbWidth の説明の通り、これは200ピクセル幅で、同じアスペクト比でなければなりません。 サムネイルが無ければNULLを渡し、自動でサムネイルが作成されます。 |
nWidth | int | スクリーンショットの幅。 |
nHeight | int | スクリーンショットの高さ。 |
ディスクからユーザーのSteamスクリーンショットライブラリにスクリーンショットを追加します。
戻り値: ScreenshotHandleScreenshotReady_tコールバックをトリガーします。
ゲームプロセスの期間中有効で、タグを適用するために使用できるこのスクリーンショットへのハンドル。
ファイルが保存できなかった場合には、
INVALID_SCREENSHOT_HANDLEを返します。
この呼び出しは非同期で、スクリーンショットがディスクへの書き込みを終了した時点で
ScreenshotReady_tコールバックが送信されます。
AddVRScreenshotToLibrary
ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename );
名前 | 型 | 説明 |
eType | EVRScreenshotType | VRスクリーンショットのタイプ。 |
pchFilename | const char * | ライブラリビューのための、2D JPG、PNGまたはTGAバージョンのスクリーンショットへの絶対ファイルパス。 |
pchVRFilename | const char * | VRスクリーンショットへの絶対ファイルパス、これはeType で指定されたのと同一のタイプである必要があります。 |
ディスクからサポートされたタイプのユーザーのSteamスクリーンショットライブラリにVRスクリーンショットを追加します。
戻り値: ScreenshotHandleScreenshotReady_tコールバックをトリガーします。
ゲームプロセスの期間中有効で、タグを適用するために使用できるこのスクリーンショットへのハンドル。
ファイルが保存できなかった場合には、
INVALID_SCREENSHOT_HANDLEを返します。
この呼び出しは非同期で、スクリーンショットがディスクへの書き込みを終了した時点で
ScreenshotReady_tコールバックが送信されます。
HookScreenshots
void HookScreenshots( bool bHook );
名前 | 型 | 説明 |
bHook | bool | フッキングを有効化 (true)または無効化(false)? |
ユーザーがスクリーンショット撮影用のホットキーを押した時にオーバーレイがスクリーンショットを処理するか、ゲームが処理するかを切り替えます。
フックはデフォルトでは無効になっており、この機能を使用して有効にした場合のみ有効になります。
フックが有効になっている場合、ユーザーがホットキーを押すか
TriggerScreenshotが呼び出されると
ScreenshotRequested_tコールバックが送信され、ゲームは応答で
WriteScreenshotまたは
AddScreenshotToLibraryを呼び出す必要があります。
IsScreenshotsHookedでフックが有効化されているかを確認できます。
IsScreenshotsHooked
bool IsScreenshotsHooked();
アプリがスクリーンショットをフックするか、Steamオーバーレイが処理するのかを確認します。
HookScreenshotsで切り替えできます。
戻り値: bool
true となるのはゲームがスクリーンショットをフックして処理する場合で、それ以外は
falseです。
SetLocation
bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation );
スクリーンショットの場所について、任意のメタデータを設定します。 例えば、撮影されたマップの場所名などです。
ScreenshotReady_tコールバックまたは
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary呼び出し経由で正常に保存されたら、スクリーンショットにタグ付けするためのハンドルを取得できます。
戻り値: bool
true となるのは場所がスクリーンショットに正常に追加された時です。
false となるのは
hScreenshot
が無効または、
pchLocation
が無効か長すぎる場合です。
TagPublishedFile
bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID );
スクリーンショットに表示されるよう、公開されたファイルにタグを付けます。
一枚のスクリーンショット内に
k_nScreenshotMaxTaggedPublishedFilesで宣言された最大値までタグ付けできます。 それより多くのアイテムへタグ付けすると、破棄されます。
この関数にはタグを保存する前に組み込まれた遅延があるので、各アイテム用に繰り返して呼び出し可能です。
ScreenshotReady_tコールバックまたは
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary呼び出し経由で正常に保存されたら、スクリーンショットにタグ付けするためのハンドルを取得できます。
戻り値: bool
TagUser
bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID );
スクリーンショットに表示されるように、Steamユーザーにタグを付けます。
一枚のスクリーンショット内に
k_nScreenshotMaxTaggedUsersで宣言された最大値までタグ付けできます。 それより多くのユーザーへタグ付けすると、破棄されます。
この関数にはタグを保存する前に組み込まれた遅延があるので、各ユーザー用に繰り返して呼び出し可能です。
ScreenshotReady_tコールバックまたは
WriteScreenshot、
AddScreenshotToLibrary、
AddVRScreenshotToLibrary呼び出し経由で正常に保存されたら、スクリーンショットにタグ付けするためのハンドルを取得できます。
戻り値: bool
TriggerScreenshot
void TriggerScreenshot();
Steamオーバーレイにスクリーンショットを撮影させるか、スクリーンショットを撮る必要があることをスクリーンショットマネージャーに伝えます。
IsScreenshotsHookedの値に基づきます。
戻り値: void
ScreenshotRequested_tコールバックをトリガーします。
ScreenshotReady_tコールバックをトリガーします。
HookScreenshotsでフックが有効化されている場合のみ、
ScreenshotRequested_tが発生します。 それ以外の場合は、スクリーンショットが保存されてライブラリに追加されると
ScreenshotReady_tが呼び出されます。
WriteScreenshot
ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight );
名前 | 型 | 説明 |
pubRGB | void * | スクリーンショットからの未処理のRGBデータを含むバッファー。 |
cubRGB | uint32 | バイト単位でのpubRGB のサイズ。 |
nWidth | int | ピクセル単位でのスクリーンショットの幅。 |
nHeight | int | ピクセル単位でのスクリーンショットの高さ。 |
RGB形式の未処理の画像データを元に、ユーザーのSteamスクリーンショットライブラリにスクリーンショットを書き込みます。
戻り値: ScreenshotHandleScreenshotReady_tコールバックをトリガーします。
ゲームプロセスの期間中有効で、タグを適用するために使用できるこのスクリーンショットへのハンドル。
ファイルが保存できなかった場合には、
INVALID_SCREENSHOT_HANDLEを返します。
この呼び出しは非同期で、スクリーンショットがディスクへの書き込みを終了した時点で
ScreenshotReady_tコールバックが送信されます。
コールバック
これらは
SteamAPI_RunCallbacks を呼び出すことによって実行されるコールバックです。 これらの多くは
ISteamScreenshots
のメンバー関数への応答として直接実行されます。
ScreenshotReady_t
正常に書き込まれるか、ライブラリに追加されてタグが可能なスクリーンショット。
関連する関数: WriteScreenshot,
AddScreenshotToLibrary,
TriggerScreenshot,
AddVRScreenshotToLibraryScreenshotRequested_t
スクリーンショットがユーザーのSteamスクリーンショットホットキーから要求された。 これは
HookScreenshotsが有効な場合のみ呼び出され、その場合Steam自身はスクリーンショットを撮影しません。
このコールバックにはフィールドはありません。
関連する関数: TriggerScreenshot列挙型
これらはISteamScreenshotsで使用するために定義された列挙型です。
EVRScreenshotType
VRスクリーンショットのタイプを説明します。
名前 | 値 | 説明 |
k_EVRScreenshotType_None | 0 | |
k_EVRScreenshotType_Mono | 1 | |
k_EVRScreenshotType_Stereo | 2 | |
k_EVRScreenshotType_MonoCubemap | 3 | |
k_EVRScreenshotType_MonoPanorama | 4 | |
k_EVRScreenshotType_StereoPanorama | 5 | |
Typedefs
これらはISteamScreenshotsで使用するために定義されたtypedefsです。
名前 | ベース型 | 説明 |
ScreenshotHandle | uint32 | スクリーンショットへのハンドル。 プロセスの間中は有効ですが、それよりは長持ちしません。 |
定数
これらはISteamScreenshotsで使用するために定義された定数です。
名前 | 型 | 値 | 説明 |
INVALID_SCREENSHOT_HANDLE | int | 0 | 無効なスクリーンショットハンドルで、スクリーンショットの書き込みか追加が失敗した時に返されます。 |
k_cubUFSTagTypeMax | int | 255 | 未使用。 |
k_cubUFSTagValueMax | int | 255 | SetLocationを使ってスクリーンショットに設定する場所メタデータ文字列のバイト単位での最長の長さ。 |
k_nScreenshotMaxTaggedPublishedFiles | uint32 | 32 | TagPublishedFileを使用してスクリーンショット内にタグ付けできるワークショップアイテムの最大数。 |
k_nScreenshotMaxTaggedUsers | uint32 | 32 | TagUserを使用してスクリーンショット内にタグ付けできるユーザーの最大数。 |
k_ScreenshotThumbWidth | int | 200 | AddScreenshotToLibraryに提供される、必要とされるサムネイルの幅。 サムネイルを提供しない場合、自動で作成されます。 |
STEAMSCREENSHOTS_INTERFACE_VERSION | const char * | "STEAMSCREENSHOTS_INTERFACE_VERSION003" | |