diff options
author | Constantin Shalnev <c.shalnev@corp.mail.ru> | 2015-09-10 17:02:54 +0300 |
---|---|---|
committer | Constantin Shalnev <c.shalnev@corp.mail.ru> | 2015-09-23 13:44:17 +0300 |
commit | 2ed83972365ab46dedcd456d088e4b8310fd0e1f (patch) | |
tree | 7f65501ac68666fccdc56a4ee9274c57a61c0402 /indexer/drawing_rules.hpp | |
parent | 1acbb7bcdf9a7b424e318941658c31914a22b98a (diff) |
Added processing of apply_if in the kernel
Diffstat (limited to 'indexer/drawing_rules.hpp')
-rw-r--r-- | indexer/drawing_rules.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indexer/drawing_rules.hpp b/indexer/drawing_rules.hpp index 8292836fea..ab9e92f956 100644 --- a/indexer/drawing_rules.hpp +++ b/indexer/drawing_rules.hpp @@ -2,6 +2,7 @@ #include "indexer/drawing_rule_def.hpp" #include "indexer/drules_city_rank_table.hpp" +#include "indexer/drules_selector.hpp" #include "base/base.hpp" #include "base/buffer_vector.hpp" @@ -21,6 +22,7 @@ class CaptionDefProto; class CircleRuleProto; class ShieldRuleProto; class ContainerProto; +class FeatureType; namespace drule @@ -30,6 +32,8 @@ namespace drule mutable buffer_vector<uint32_t, 4> m_id1; char m_type; // obsolete for new styles, can be removed + unique_ptr<ISelector> m_selector; + public: static uint32_t const empty_id = 0xFFFFFFFF; @@ -53,6 +57,13 @@ namespace drule virtual CaptionDefProto const * GetCaption(int) const; virtual CircleRuleProto const * GetCircle() const; virtual ShieldRuleProto const * GetShield() const; + + // Test feature by runtime feature style selector + // Returns true if rule is applicable for feature, otherwise it returns false + bool TestFeature(FeatureType const & ft, int zoom) const; + + // Set runtime feature style selector + void SetSelector(unique_ptr<ISelector> && selector); }; class RulesHolder |