Утилита для создания XML описания битмапа С любезной помощью Генерала, в файлообменнике появилась утилита FootprintBmpToXml.exe
Она упрощает создание XML описания картинки, на которой изображен футпринт. Ссылка на соответствующее XML описание картинки используется в описании футпринта.
Чего данная утилита НЕ делает - так это не помогает создавать скрипты калькулятора, который "на лету" вычисляет значения одних размеров по значениям других размеров. Этот скрипт является элементом XML описания картинки, тело скрипта заключено между тегами calculate и /calculate
Скрипт пишется для стековой машины, глубина стека 100 элементов типа double (т.е. с плавающей точкой).
Определены арифметические операции + - * /, а также операции чтения переменной @ и записи в переменную !
Все слова и операции должны быть разделены одним или более пробелами.
Каждое слово скрипта рассматривается в такой последовательности:
-- если слово можно преобразовать в число, то это число кладется на вершину стека (push)
-- если слово является именем переменной, то номер этой переменной запоминается в служебном регистре для использования в последующих операторах @ и !
-- если слово является арифметическим оператором, то производится соответствующая арифметическая операция над двумя верхними элементами стека (при этом они снимаются со стека), полученный результат кладется на вершину стека
-- если ничего из вышеназванного не сработало, выдается ошибка, скрипт прерывается
Переменные имеют заранее определенные имена VAR0, VAR1, и т.д. (текст нечувствителен к регистру). Номера переменных соответствуют порядку их определения в XML описания картинки, а также порядку задания значения в описании футпринта.
Примеры:
-- прочитать значение переменной 2 и положить (push) на вершину стека
VAR2 @-- снять значение с вершины стека (pop) и записать его в переменную 5
VAR5 !-- вычислить значение VAR4 по формуле (VAR0 + VAR1)/2, затем вычислить VAR5 по формуле (VAR2 - VAR1)
VAR0 @ VAR1 @ + 2 / VAR4 ! VAR2 @ VAR1 @ - VAR5 !