目次 - SDL 3.0 API(機能別) - 2Dレンダリング - SDL_LockTexture

SDL_LockTexture

ピクセルの書込専用アクセスのためにテクスチャの一部をロックする

ヘッダ

SDL3/SDL_render.h

構文

bool SDL_LockTexture(SDL_Texture *texture, const SDL_Rect *rect, void **pixels, int *pitch);

引数

SDL_Texture *textureアクセスのためにロックするテクスチャ. SDL_TEXTUREACCESS_STREAMINGで生成されている必要がある
const SDL_Rect *rectアクセスのためロックする領域のSDL_Rect. NULLのとき全体をロックする
void **pixelsロックされたピクセルのポインタの代入先へのポインタ. ピクセルはロックされた領域に適切にオフセットされている
int *pitchロックされたピクセルの幅の代入先へのポインタ. 幅は1行のバイト数である

戻り値

(bool) 成功のとき真, テクスチャが無効またはSDL_TEXTUREACCESS_STREAMINGなしで生成されているとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

最適化のため, 編集用のピクセル領域には編集前のテクスチャデータが書き込まれているとは限らない. これは書き込み専用の操作であり, テクスチャデータのコピーを保持したいならば, アプリケーション側が行う必要がある.

SDL_UnlockTexture()でピクセル領域をロック解除して変更を適用する必要がある.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

関連項目

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_LockTexture - SDL Wiki