Lors de l'initialisation de mon programme, j'appelle SDL_SetVideoMode() juste après SDL_Init() et il suspend mon programme. Lors de l'exécution du programme, si j'appuie sur Ctrl-C pendant le blocage, il continuera comme d'habitude et tout ira bien.SDL_SetVideoMode bloque le processus
Évidemment, devoir interrompre SDL_SetVideoMode() à chaque fois n'est pas idéal! Quelqu'un a des idées sur ce que cela pourrait être?
est ici le code de test simple j'utilise:
main.cpp
int main(int argc, char* argv[])
{
Presentation* p = new Presentation(); //Presentation is used to display JPEGs
p->Initialise();
while (p->hasSlides())
{
p->DisplayNextSlide();
sleep(5);
}
return 0;
}
Presentation.cpp
Presentation::Initialise()
{
SDL_Init(SDL_INIT_VIDEO);
m_pScreen = SDL_SetVideoMode(1280,720,16, SDL_DOUBLEBUF | SDL_FULLSCREEN);
if (!m_pScreen)
{
//error handling...
}
SDL_ShowCursor(SDL_DISABLE);
initialised = true;
}
SDL_Surface* m_pImage;
Presentation::DisplayNextSlide()
{
m_pImage = IMG_Load(filename);
if(!m_pImage)
{
//error handling...
}
SDL_BlitSurface(m_pImage,0,m_pScreen,0);
SDL_Flip(m_pScreen);
}
Veuillez montrer le code que vous utilisez. – Giann