Move static board functions to header
This commit is contained in:
parent
f3409daff9
commit
d345027a75
@ -245,40 +245,6 @@ TTF_Font* SDL_Font_Wrapper::font() {
|
|||||||
return _font;
|
return _font;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Static functions ///////////////////////////////////////////////////////////
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
SDL_Window* board::getWindow(){
|
|
||||||
static SDL_Window* _window = nullptr;
|
|
||||||
|
|
||||||
if(_window == nullptr){
|
|
||||||
_window = SDL_CreateWindow(WINDOW_TITLE,
|
|
||||||
SDL_WINDOWPOS_UNDEFINED,
|
|
||||||
SDL_WINDOWPOS_UNDEFINED,
|
|
||||||
SCREEN_WIDTH, SCREEN_HEIGHT,
|
|
||||||
SDL_WINDOW_FLAGS);
|
|
||||||
|
|
||||||
if(_window == NULL)
|
|
||||||
SDL_Log("Window could not be created, %s\n", SDL_GetError());
|
|
||||||
}
|
|
||||||
return _window;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_Renderer* board::getRenderer(){
|
|
||||||
static SDL_Renderer* _renderer = nullptr;
|
|
||||||
|
|
||||||
if(_renderer == nullptr){
|
|
||||||
_renderer = SDL_CreateRenderer(board::getWindow(), -1,
|
|
||||||
SDL_RENDERER_ACCELERATED);
|
|
||||||
|
|
||||||
if(_renderer == NULL)
|
|
||||||
SDL_Log("Renderer could not be created, %s\n", SDL_GetError());
|
|
||||||
}
|
|
||||||
|
|
||||||
return _renderer;
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Constructors ///////////////////////////////////////////////////////////////
|
// Constructors ///////////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -418,7 +384,8 @@ void board::start(){
|
|||||||
//call draw on the current panel
|
//call draw on the current panel
|
||||||
PANELS[i]->draw();
|
PANELS[i]->draw();
|
||||||
|
|
||||||
std::cerr << "Current frame: " << fcount << "\n";
|
if(fcount % 10 == 0)
|
||||||
|
std::cerr << "Frame : " << fcount << "\n";
|
||||||
|
|
||||||
SDL_RenderPresent(_renderer);
|
SDL_RenderPresent(_renderer);
|
||||||
|
|
||||||
@ -503,36 +470,6 @@ void board::initConstResources(){
|
|||||||
// Memory Functions ///////////////////////////////////////////////////////////
|
// Memory Functions ///////////////////////////////////////////////////////////
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
SDL_Texture* board::getString(const std::string& text, const font_and_size& fs){
|
|
||||||
//check for string in static strings, then check in dynamic strings
|
|
||||||
|
|
||||||
string_and_font sf = {text, fs};
|
|
||||||
if(_strings.find(sf) != _strings.end())
|
|
||||||
return _strings.find(sf)->second.texture();
|
|
||||||
|
|
||||||
//is dynamic string, generate:
|
|
||||||
return _dynamic_strings.get(sf).texture();
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_Texture* board::getImage(const std::string& path){
|
|
||||||
if(_textures.find(path) != _textures.end())
|
|
||||||
return _textures.find(path)->second.texture();
|
|
||||||
|
|
||||||
//TODO: Dynamic Images?
|
|
||||||
//not found, return null
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
TTF_Font* board::getFont(const font_and_size& fs){
|
|
||||||
if(_fonts.find(fs) != _fonts.end()){
|
|
||||||
return _fonts.find(fs)->second.font();
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: Dynamic Fonts? Is the needed?
|
|
||||||
//not found, return null
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
SDL_Texture* board::setString(const std::string& text, const font_and_size& fs){
|
SDL_Texture* board::setString(const std::string& text, const font_and_size& fs){
|
||||||
string_and_font sf = {text, fs};
|
string_and_font sf = {text, fs};
|
||||||
_strings.insert_or_assign(sf, SDL_Texture_Wrapper(text, fs));
|
_strings.insert_or_assign(sf, SDL_Texture_Wrapper(text, fs));
|
||||||
|
@ -147,7 +147,67 @@ namespace dashboard {
|
|||||||
|
|
||||||
|
|
||||||
//local pointers to the globals
|
//local pointers to the globals
|
||||||
SDL_Window* _window;
|
inline static SDL_Window* _window;
|
||||||
SDL_Renderer* _renderer;
|
inline static SDL_Renderer* _renderer;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Static functions ///////////////////////////////////////////////////////////
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
SDL_Window* dashboard::board::getWindow(){
|
||||||
|
if(_window == nullptr){
|
||||||
|
_window = SDL_CreateWindow(WINDOW_TITLE,
|
||||||
|
SDL_WINDOWPOS_UNDEFINED,
|
||||||
|
SDL_WINDOWPOS_UNDEFINED,
|
||||||
|
SCREEN_WIDTH, SCREEN_HEIGHT,
|
||||||
|
SDL_WINDOW_FLAGS);
|
||||||
|
|
||||||
|
if(_window == NULL)
|
||||||
|
SDL_Log("Window could not be created, %s\n", SDL_GetError());
|
||||||
|
}
|
||||||
|
return _window;
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_Renderer* dashboard::board::getRenderer(){
|
||||||
|
if(_renderer == nullptr){
|
||||||
|
_renderer = SDL_CreateRenderer(board::getWindow(), -1,
|
||||||
|
SDL_RENDERER_ACCELERATED);
|
||||||
|
|
||||||
|
if(_renderer == NULL)
|
||||||
|
SDL_Log("Renderer could not be created, %s\n", SDL_GetError());
|
||||||
|
}
|
||||||
|
|
||||||
|
return _renderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_Texture* dashboard::board::getString(const std::string& text, const font_and_size& fs){
|
||||||
|
//check for string in static strings, then check in dynamic strings
|
||||||
|
|
||||||
|
string_and_font sf = {text, fs};
|
||||||
|
if(_strings.find(sf) != _strings.end())
|
||||||
|
return _strings.find(sf)->second.texture();
|
||||||
|
|
||||||
|
//is dynamic string, generate:
|
||||||
|
return _dynamic_strings.get(sf).texture();
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_Texture* dashboard::board::getImage(const std::string& path){
|
||||||
|
if(_textures.find(path) != _textures.end())
|
||||||
|
return _textures.find(path)->second.texture();
|
||||||
|
|
||||||
|
//TODO: Dynamic Images?
|
||||||
|
//not found, return null
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
TTF_Font* dashboard::board::getFont(const font_and_size& fs){
|
||||||
|
if(_fonts.find(fs) != _fonts.end()){
|
||||||
|
return _fonts.find(fs)->second.font();
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO: Dynamic Fonts? Is the needed?
|
||||||
|
//not found, return null
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user