вопрос господам, когда-либо использовавшим graphviz C API:
допустим я отрисовываю граф - не важно какой, пусть будет планарный - в итоге я получаю готовый имедж, который в дальнейшим передаётся специальным вьювером. каждый узел графа, помимо стандартной информации в поле key хранит дополнительную информацию в поле value. информация в жтом поле может быть любой и может быть сколь угодно сложна, поэтому выводить её на имедже не имеет смысла, тк она может быть довольно велика. соответсвенно нужно реализовать механизм, при котором пользователь, наведя мышь на конкретный нод графа на изображении, видит информацию о контенте поля value в специальном окне. как это сделать, в принципе понятно, соотнести координаты нода на изображении с координатами курсора и проверять, находятся ли координаты курсора в заданном рэньже или нет. НО, как, чёрт возьми, мне взять координаты каждого узла графа до создания имеджа(или после, но такое вроде как не возможно)? есть мнение написать plugin для graphbiz'a, который бы делал свою render опкрацию и собирал координаты к некоторую дата структуру с взаимооднозначным соответсвие между нодом и координатами. но писать плагин довольно геморно, учитывая, что из-за одной мелкой фичи придётся переписывать render операцию с реюзингом основных процедур из канонического render'a. скорее всего это можно сделать как-то иначе. вопрос: как?
p/s:
гугл молчит, graphviz mailing list тоже =(