Для этого вам необходимо перейти на исходный код. Взгляните на «lib/common/стрелки.c». Вы обнаружите, что вы должны:
- Добавить #define как ARR_TYPE_YOURARROWNAME
- добавить запись в Arrownames [] с именем, которое вы будете использовать в коде для стрелки и определения.
- напишите прототип вашей функции стрелки (см. Вокруг строки 115), прочтите пункты ниже
- добавьте свою функцию в массив Arrowtypes [] запись с именем, которое вы написали ранее, шириной пера, именем вашего стрелка, которая будет что-то вроде стрелки_type_yourarrowname
- написать свою собственную функцию стрелки.
Для того, чтобы написать функцию, посмотрите на arrow_type_normal(), она принимает 6 параметров: работа (вы не должны заботиться об этом, просто использовать его как в этой функции), две точки (» p 'и' u '), стрелки, ширину полосы пропускания и флаг. Если вы не хотите создавать разные версии своей стрелки или хотите игнорировать модификаторы (перевернутые стрелки и т. П.), Игнорируйте параметр флага.
Тогда функция в основном принимает две точки p и u (которые являются структурами с атрибутами 'x' и 'y' в них) и объединяет их, создавая массив, называемый [], переданный в gvrender_polygon(), который, наконец, визуализируйте вашу форму стрелки. arrow_type_normal() также беспорядок с шириной полосы пропускания и шириной стрелки.
Подведение итогов: подготовьте graphviz, чтобы принять имя вашей стрелки, выполнив первые шаги, затем создайте функцию, которая создаст форму стрелки, и вызовет gvrender_polygon или gvrender_polyline (если хотите).
Я еще не пытался, но он должен работать.