Rules are now passed as argument by const references rather than const pointers. This allows overriding arithmetic operators to easily create OperatorRule instances.
The OperatorRule operators return a reference to a refless rule instance that the caller is expected to take a reference to.
Added a Floor operator to OperatorRule.
Rules are also by default invalid after instantiation.
DelegateRules inform their source when they become invalid so that any internal dependencies can be resolved. Fixes a problem with RuleRectangles where invalidating a Width or Height would not cause the Left/Right, Top/Bottom edges to also become invalid.
libdeng2|Refactor|Fixed: Improved Rules implementation
Rules are now passed as argument by const references rather than
const pointers. This allows overriding arithmetic operators to easily
create OperatorRule instances.
The OperatorRule operators return a reference to a refless rule
instance that the caller is expected to take a reference to.
Added a Floor operator to OperatorRule.
Rules are also by default invalid after instantiation.
DelegateRules inform their source when they become invalid so that any
internal dependencies can be resolved. Fixes a problem with
RuleRectangles where invalidating a Width or Height would not cause
the Left/Right, Top/Bottom edges to also become invalid.