Implements the splash screen window to the SDL platform stuff.

This commit is contained in:
Areloch 2016-08-27 17:47:03 -05:00
parent 5d38357785
commit 6f72c7b119
2 changed files with 31 additions and 6 deletions

View file

@ -23,12 +23,42 @@
#include "platform/platform.h"
#include "console/console.h"
#include "SDL.h"
#include "windowManager/sdl/sdlWindow.h"
static SDL_Window* gSplashWindow = nullptr;
static SDL_Surface* gSplashImage = nullptr;
static SDL_Texture* gSplashTexture = nullptr;
static SDL_Renderer* gSplashRenderer = nullptr;
bool Platform::displaySplashWindow( String path )
{
if(path.isEmpty())
return false;
gSplashImage = SDL_LoadBMP(path);
//now the pop-up window
gSplashWindow = SDL_CreateWindow("", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
gSplashImage->w, gSplashImage->h, SDL_WINDOW_BORDERLESS | SDL_WINDOW_SHOWN);
gSplashRenderer = SDL_CreateRenderer(gSplashWindow, -1, SDL_RENDERER_ACCELERATED);
gSplashTexture = SDL_CreateTextureFromSurface(gSplashRenderer, gSplashImage);
SDL_RenderCopy(gSplashRenderer, gSplashTexture, NULL, NULL);
SDL_RenderPresent(gSplashRenderer);
return true;
}
bool Platform::closeSplashWindow()
{
SDL_DestroyTexture(gSplashTexture);
SDL_FreeSurface(gSplashImage);
SDL_DestroyRenderer(gSplashRenderer);
SDL_DestroyWindow(gSplashWindow);
return true;
}

View file

@ -153,7 +153,7 @@ PlatformWindow *PlatformWindowManagerSDL::createWindow(GFXDevice *device, const
{
// Do the allocation.
PlatformWindowSDL *window = new PlatformWindowSDL();
U32 windowFlags = /*SDL_WINDOW_SHOWN |*/ SDL_WINDOW_RESIZABLE;
U32 windowFlags = /*SDL_WINDOW_SHOWN |*/ SDL_WINDOW_RESIZABLE | SDL_WINDOW_HIDDEN;
if(GFX->getAdapterType() == OpenGL)
windowFlags |= SDL_WINDOW_OPENGL;
@ -343,11 +343,6 @@ void PlatformWindowManagerSDL::raiseCurtain()
// TODO SDL
}
bool Platform::closeSplashWindow()
{
return true;
}
void Platform::openFolder(const char* path )
{
AssertFatal(0, "Not Implemented");