目次 - SDL 3.0 API(機能別) - サーフェイスの生成と単純な描画 - SDL_BlitSurface9Grid

SDL_BlitSurface9Grid

サーフェイスに9-grid algorithmを使用して拡大縮小して転送する. 形式が異なってもよい

ヘッダ

SDL3/SDL_surface.h

構文

bool SDL_BlitSurface9Grid(SDL_Surface *src, const SDL_Rect *srcrect, int left_width, int right_width, int top_height, int bottom_height, float scale, SDL_ScaleMode scaleMode, SDL_Surface *dst, const SDL_Rect *dstrect);

引数

SDL_Surface *srcコピー元のSDL_Surface
const SDL_Rect *srcrect9-grid algorithmで使用する領域のSDL_Rect. NULLのときサーフェイス全体
intleft_widthsrcrectの左側の上下隅の幅ピクセル数
intright_widthsrcrectの右側の上下隅の幅ピクセル数
inttop_heightsrcrectの上側の左右隅の高さピクセル数
intbottom_heightsrcrectの下側の左右隅の高さピクセル数
floatscalesrcrectの隅のdstrectの隅への転送時の拡大率. 0.0fのとき拡大縮小せずに転送する
SDL_ScaleModescaleMode使用する拡大縮小アルゴリズム
SDL_Surface *dstコピー先のSDL_Surface
const SDL_Rect *dstrectサーフェイスのコピー先の領域を表すSDL_Rect. NULLのときサーフェイス全体

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

コピー元サーフェイスのピクセルは, それぞれのサイズの異なる4つの隅と, 上下左右と中央を残りのピクセルとした3×3の格子に区切られる. 4つの隅はscaleに従って拡大縮小され, コピー先の領域の隅に配置する. 上下左右と中央は, コピー先の残りの領域に合うように拡大縮小して配置する.

スレッドセーフ

srcdstのスレッドを同時に使用するのは1つのスレッドである必要がある

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_BlitSurface9Grid - SDL Wiki