Try -s USE_SDL2=1 Cheers,
- Bruce On Sat, Nov 8, 2014 at 5:00 PM, bussiere adrien <[email protected]> wrote: > hello > i would like to know if someone have time why my simple sdl2 c++ program > don't works as intended in html > https://gist.github.com/bussiere/c9828f513ddae1f554e7 > it only show the second image after six seconds > the compiled binary worked as intended > thanks > > Bussiere > > code below : > > /*This source code copyrighted by Lazy Foo' Productions (2004-2013) > and may not be redistributed without written permission.*/ > /* > i compile it with : > > /home/bussiere/Lib/emsdk_portable/emscripten/master/./emcc > 02_getting_an_image_on_the_screen.cpp -s USE_SDL=2 -s LEGACY_GL_EMULATION=1 > -o sdl2.html --preload-file hello_world.bmp --preload-file hello_world2.bmp > > and the html file only who the second image after six econd of blank > > > */ > > > //Using SDL and standard IO > #include <SDL2/SDL.h> > #include <stdio.h> > #ifdef __EMSCRIPTEN__ > #include <emscripten.h> > #endif > //Screen dimension constants > const int SCREEN_WIDTH = 640; > const int SCREEN_HEIGHT = 480; > > //Starts up SDL and creates window > bool init(); > > //Loads media > bool loadMedia(); > > //Frees media and shuts down SDL > void close(); > > //The window we'll be rendering to > SDL_Window* gWindow = NULL; > //The surface contained by the window > SDL_Surface* gScreenSurface = NULL; > > //The image we will load and show on the screen > SDL_Surface* gHelloWorld = NULL; > > SDL_Surface* gHelloWorld2 = NULL; > > bool init() > { > //Initialization flag > bool success = true; > > //Initialize SDL > if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) > { > printf( "SDL could not initialize! SDL_Error: %s\n", > SDL_GetError() ); > success = false; > } > else > { > //Create window > gWindow = SDL_CreateWindow( "SDL Tutorial", > SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, > SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); > if( gWindow == NULL ) > { > printf( "Window could not be created! SDL_Error: %s\n", > SDL_GetError() ); > success = false; > } > else > { > //Get window surface > gScreenSurface = SDL_GetWindowSurface( gWindow ); > } > } > > return success; > } > > bool loadMedia() > { > //Loading success flag > bool success = true; > > //Load splash image > gHelloWorld = SDL_LoadBMP( "hello_world.bmp" ); > if( gHelloWorld == NULL ) > { > printf( "Unable to load image %s! SDL Error: %s\n", > "02_getting_an_image_on_the_screen/hello_world.bmp", SDL_GetError() ); > success = false; > } > > gHelloWorld2 = SDL_LoadBMP("hello_world2.bmp" ); > if( gHelloWorld2 == NULL ) > { > printf( "Unable to load image %s! SDL Error: %s\n", > "02_getting_an_image_on_the_screen/hello_world.bmp", SDL_GetError() ); > success = false; > } > > return success; > } > > void close() > { > > > > SDL_FreeSurface( gHelloWorld2 ); > gHelloWorld2 = NULL; > > //Destroy window > SDL_DestroyWindow( gWindow ); > gWindow = NULL; > > //Quit SDL subsystems > SDL_Quit(); > } > > int main( int argc, char* args[] ) > { > //Start up SDL and create window > if( !init() ) > { > printf( "Failed to initialize!\n" ); > } > else > { > //Load media > if( !loadMedia() ) > { > printf( "Failed to load media!\n" ); > } > else > { > //Apply the image > SDL_BlitSurface( gHelloWorld, NULL, gScreenSurface, > NULL ); > //Update the surface > SDL_UpdateWindowSurface( gWindow ); > > //Wait two seconds > SDL_Delay( 6000 ); > SDL_FreeSurface( gHelloWorld ); > gHelloWorld = NULL; > //Apply the image > SDL_BlitSurface( gHelloWorld2, NULL, gScreenSurface, > NULL ); > //Update the surface > SDL_UpdateWindowSurface( gWindow ); > > //Wait two seconds > SDL_Delay( 2000 ); > } > } > > //Free resources and close SDL > close(); > > return 0; > } > > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
