diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
commit | 60072c1d8089ffd3294e76636198d14710be95b8 (patch) | |
tree | 511d459e9afe69ca58d05880eb53ce44a9a183c6 /yage/base/texturecache.cpp | |
parent | 660996bd750dbb5fcdce85845ee6b260f3ed23eb (diff) | |
download | YAGE-60072c1d8089ffd3294e76636198d14710be95b8.tar.gz YAGE-60072c1d8089ffd3294e76636198d14710be95b8.zip |
Restructuring
Diffstat (limited to 'yage/base/texturecache.cpp')
-rw-r--r-- | yage/base/texturecache.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/yage/base/texturecache.cpp b/yage/base/texturecache.cpp new file mode 100644 index 00000000..fda5fcd9 --- /dev/null +++ b/yage/base/texturecache.cpp @@ -0,0 +1,30 @@ +/* ---------------------------------------------------------------------------- + * texturecache.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include <YAGE/texturecache.h> +#include <YAGE/imageloader.h> + +namespace yage +{ + +TextureCache::TextureCache() = default; + +Texture TextureCache::getTexture(const std::string &texture_path) +{ + auto itr = texture_map_.find(texture_path); + + if (itr == texture_map_.end()) { + Texture new_texture = ImageLoader::loadPng(texture_path); + texture_map_.insert(make_pair(texture_path, new_texture)); + return new_texture; + } + + return itr->second; +} + +} // namespace yage |