diff options
author | sapier <Sapier at GMX dot net> | 2014-11-23 13:40:43 +0100 |
---|---|---|
committer | sapier <Sapier at GMX dot net> | 2014-11-30 17:50:09 +0100 |
commit | dceb9f7d6058785cf60d9dbcc8eecdcee1053412 (patch) | |
tree | 0cbaa6969210d3e104f195ac5d3c2cabad8d6338 /src/settings.cpp | |
parent | 25945dc5395a03cab069ff0e6470ba8d59b03978 (diff) | |
download | minetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.tar.gz minetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.tar.bz2 minetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.zip |
Implement proper font handling
Diffstat (limited to 'src/settings.cpp')
-rw-r--r-- | src/settings.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/settings.cpp b/src/settings.cpp index 65896ef27..001d93f5e 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -620,6 +620,13 @@ void Settings::update(const Settings &other) } +void Settings::registerChangedCallback(std::string name, + setting_changed_callback cbf) +{ + m_callbacks[name].push_back(cbf); +} + + inline bool Settings::parseConfigObject(std::istream &is, std::string &name, std::string &value) { @@ -701,3 +708,20 @@ void Settings::clearNoLock() m_defaults.clear(); } +void Settings::doCallbacks(const std::string name) +{ + std::vector<setting_changed_callback> tempvector; + { + JMutexAutoLock lock(m_mutex); + if (m_callbacks.find(name) != m_callbacks.end()) + { + tempvector = m_callbacks[name]; + } + } + + for (std::vector<setting_changed_callback>::iterator iter = tempvector.begin(); + iter != tempvector.end(); iter ++) + { + (*iter)(name); + } +} |