Beispiel #1
0
func render(sdlrenderer *clingon.SDLRenderer, updatedRects []sdl.Rect, y int16) {
	if updatedRects == nil {
		appSurface.Blit(nil, gopher, nil)
		appSurface.Blit(&sdl.Rect{consoleX, y, 0, 0}, sdlrenderer.GetSurface(), nil)
		appSurface.Flip()
	} else {
		for _, r := range updatedRects {
			appSurface.Blit(&sdl.Rect{r.X + consoleX, r.Y + consoleY, 0, 0}, gopher, &sdl.Rect{r.X + consoleX, r.Y + consoleY, r.W, r.H})
			appSurface.Blit(&sdl.Rect{consoleX, consoleY, 0, 0}, sdlrenderer.GetSurface(), &sdl.Rect{0, 0, consoleW, consoleH})
			appSurface.UpdateRect(int32(r.X+consoleX), int32(r.Y+consoleY), uint32(r.W), uint32(r.H))
		}
	}
}