diff options
author | 2016-02-21 14:50:24 +0100 | |
---|---|---|
committer | 2016-02-21 14:50:24 +0100 | |
commit | bf4640c309c655c6cb7bc5b9bbab5c03029ccd86 (patch) | |
tree | c50f6f204d34c7a1888ab41cdf6c5250ffe7b8af /src/osd/modules/render/bgfx/texturemanager.cpp | |
parent | cc24a339d8c0517259084b5c178d784626ba965c (diff) | |
parent | a0ba40749d98488dafb84d365e4a6e44a4c01f84 (diff) |
Merge remote-tracking branch 'refs/remotes/mamedev/master'
Resolved Conflicts:
- src/osd/modules/render/d3d/d3dhlsl.cpp
- src/osd/modules/render/d3d/d3dhlsl.h
- src/osd/modules/render/drawd3d.cpp
- src/osd/modules/render/drawd3d.h
- src/osd/windows/winmain.cpp
Diffstat (limited to 'src/osd/modules/render/bgfx/texturemanager.cpp')
-rw-r--r-- | src/osd/modules/render/bgfx/texturemanager.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/osd/modules/render/bgfx/texturemanager.cpp b/src/osd/modules/render/bgfx/texturemanager.cpp new file mode 100644 index 00000000000..bb8f49494da --- /dev/null +++ b/src/osd/modules/render/bgfx/texturemanager.cpp @@ -0,0 +1,47 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +//============================================================ +// +// texturemanager.cpp - BGFX texture manager +// +// Maintains a string-to-entry mapping for any registered +// textures. +// +//============================================================ + +#include <bgfx/bgfx.h> + +#include "texturemanager.h" +#include "texture.h" + +texture_manager::~texture_manager() +{ + for (std::pair<std::string, bgfx_texture*> texture : m_textures) + { + delete texture.second; + } + m_textures.clear(); +} + +void texture_manager::add_texture(std::string name, bgfx_texture* texture) +{ + m_textures[name] = texture; +} + +bgfx_texture* texture_manager::create_texture(std::string name, bgfx::TextureFormat::Enum format, uint32_t width, uint32_t height, void* data, uint32_t flags) +{ + bgfx_texture* texture = new bgfx_texture(name, format, width, height, data, flags); + m_textures[name] = texture; + return texture; +} + +bgfx_texture* texture_manager::texture(std::string name) +{ + std::map<std::string, bgfx_texture*>::iterator iter = m_textures.find(name); + if (iter != m_textures.end()) + { + return iter->second; + } + + return nullptr; +} |