Hi,
I discovered a significant problem in
RTMetricNormalizer>>normalizeWidth:min:max:using:.
The method is used in the Charter package and it produces an unwanted
normalization. I fixed it for this case (see the comment below), but I
think we should take the time to review the whole class.
Name: Roassal2-TudorGirba.476
Author: TudorGirba
Time: 19 September 2014, 12:14:30.030534 pm
UUID: 097886cf-6898-d541-a4a7-21431cfecd67
Ancestors: Roassal2-TudorGirba.475
Patched normalizeWidth. This is used in the Charter package.
The old implementation was like this:
tt := min + ((max - min) * ( (t - minValue) / (maxValue - minValue)))
asInteger.
The problem with this is that the normalization will return for the lowest
value, the specified min value.
So, if we had two numbers 10 and 5 to be normalized between 0 and 100, we
would get:
- 10 => 100
- 5 => 0
This rule works for colors, but for numbers, we want that 5 to be 50.
So, the current implementation looks like:
tt := t * (max-min) / maxValue.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"