C에서 SDL 1.2 코드를 SDL 2로 변환하고 텍스트 (SDL 1.2 SDL_Surface, nanoglk_surface)를 스크롤하는 코드가 발생했습니다. 하단에 새로운 라인을위한 빈 공간을 허용합니다 :C에서 SDL2 코드를 변환하는 SDL2 코드, 이전에 창을 스크롤하는 방법 SDL_BlitSurface
이// Copy (scroll down).
SDL_Rect r1 = { win->area.x, win->area.y + d,
win->area.w, win->area.h - d };
SDL_Rect r2 = { win->area.x, win->area.y, win->area.w, win->area.h - d };
SDL_BlitSurface(nanoglk_surface, &r1, nanoglk_surface, &r2);
// Clear new, free area.
SDL_Rect r = { win->area.x, win->area.y + win->area.h - d,
win->area.w, d };
SDL_FillRect(nanoglk_surface, &r,
SDL_MapRGB(nanoglk_surface->format,
win->bg[win->cur_styl].r,
win->bg[win->cur_styl].g,
win->bg[win->cur_styl].b));
이 여기에 오픈 소스 C 응용 프로그램의 일부입니다 : https://github.com/BroadcastGames/nanoglk/blob/master/nanoglk/wintextbuffer.c - 전체 응용 프로그램 컴파일 및 우분투 16.04 또는 16.10에 잘 실행됩니다. 하지만 SDL 2.0 협약으로 업데이트하려고합니다.
응용 프로그램에는 렌더러와 텍스처가 연결된 창이 하나뿐입니다. SDL_BlitSurface를 수행하는 SDL 2.0 방식은 무엇입니까? 고맙습니다. 코멘트에 링크 @genpfault 무엇인지에 관해서는
https://wiki.libsdl.org/MigrationGuide#If_your_game_wants_to_blit_surfaces_to_the_screen – genpfault