Пётр Кушнир писал(а):
Димыч писал(а):
Обертка написана на С++
Некошерно
Зачем тогда КП, если писать придется на С++?
Изначально не было обертки. Был (и остается) код на КП. Обертка появилась, когда появился тупик с реализацией шрифтов на КП.
Дело в том, что библиотека AGG написана на C++ с применением шаблонов. В конечном коде (после раскрытия шаблонов) используется «
утиная типизация», т.е. стыковка кусков кода осуществляется по сигнатурам, а не по типам. Более того, и в коде на C++, и в коде на Pascal (AggPas), в модулях, связанных со шрифтами, байтовые массивы данных весьма вольно преобразуются от типа к типу, т.е. сначала это массив одного типа, несколькими строками ниже — другого типа. В общем и целом, осилить этот кусок сразу целиком у меня не получилось. Но, поскольку работать надо, я и решил потратить силы и сделать обертку, тем более, что архитектурно то, что легло в основу обертки будет использоваться и в КП.
В процессе реализации обертки, а также после некоторых обсуждений здесь и в офлайне появилось понимание того, как надо делать шрифты. Поэтому судьба обертки сейчас под вопросом.
Тем не менее, опыт её написания полезный.
Сейчас, к своему глубокому сожалению, вынужденно занят ремонтом. Как только появится возможность, продолжу работу.
Иван Денисов писал(а):
Вот только у меня как-то глючит, то что я скачал по последним ссылкам Дмитрия... не могу понять, так и должно быть?
Я исправил только одну ошибку, приводившую к трапу. Связана она была со сборщиком мусора. Есть еще одна, периодически обваливающая ББ. Ошибка плавающая, для вылавливания требуется
отладка. Еще есть проблема
с некорректной отрисовкой, видимо неправильный расчет координат.
Есть еще и другие проблемы:
ссылка.