SDL_BlitSurface函数:
用此函数来快速地拷贝一个表面内容到目标表面。
int SDL_BlitSurface(SDL_Surface* src,
const SDL_Rect* srcrect,
SDL_Surface* dst,
SDL_Rect* dstrect)
4个参数都是指针——2个SDL_Surface指针,2个SDL_Rect指针。src是源面,也就是被blit的面;dst是目的面,也就是源面被blit到的面。srcrect是源面上的一个矩形区域,实际上,正是这个矩形区域被blit,如果是空指针,则整个源面被blit;dstrect虽然是个矩形区域指针,但是实际上只用到了这个矩形左上角坐标的数据。所以,实际上,它是源面被blit到目的面上的坐标。如果是空指针,则被blit到目的面的左上角(0,0)。
例子:
// // 恢复保存的内容 // rect.x = PAL_X(lpBox->pos); rect.y = PAL_Y(lpBox->pos); rect.w = lpBox->wWidth; rect.h = lpBox->wHeight; SDL_BlitSurface(lpBox->lpSavedArea, NULL, gpScreen, &rect);