summaryrefslogtreecommitdiff
path: root/src/settings.h
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2014-11-23 13:40:43 +0100
committersapier <Sapier at GMX dot net>2014-11-30 17:50:09 +0100
commitdceb9f7d6058785cf60d9dbcc8eecdcee1053412 (patch)
tree0cbaa6969210d3e104f195ac5d3c2cabad8d6338 /src/settings.h
parent25945dc5395a03cab069ff0e6470ba8d59b03978 (diff)
downloadminetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.tar.gz
minetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.tar.bz2
minetest-dceb9f7d6058785cf60d9dbcc8eecdcee1053412.zip
Implement proper font handling
Diffstat (limited to 'src/settings.h')
-rw-r--r--src/settings.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/settings.h b/src/settings.h
index f0ef9f6b2..0faccba4d 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -45,6 +45,9 @@ struct ValueSpec
const char *help;
};
+/** function type to register a changed callback */
+typedef void (*setting_changed_callback)(const std::string);
+
class Settings
{
@@ -139,7 +142,7 @@ public:
void clear();
void updateValue(const Settings &other, const std::string &name);
void update(const Settings &other);
-
+ void registerChangedCallback(std::string name, setting_changed_callback cbf);
private:
/***********************
@@ -166,9 +169,11 @@ private:
void updateNoLock(const Settings &other);
void clearNoLock();
+ void doCallbacks(std::string name);
std::map<std::string, std::string> m_settings;
std::map<std::string, std::string> m_defaults;
+ std::map<std::string, std::vector<setting_changed_callback> > m_callbacks;
// All methods that access m_settings/m_defaults directly should lock this.
mutable JMutex m_mutex;
};