Используйте cairo_set_line_width
, чтобы установить его и «разделить» путь более чем на один фрагмент. К несчастью, как вы заметили, cairo_set_line_width - это ширина всего текущего пути (поскольку он устанавливает атрибут, как будто вы выбираете перо для рисования этого пути):
cairo_set_line_width
«Как и в случае с другими параметрами обводки, текущая ширина линии проверяется cairo_stroke (), cairo_stroke_extents () и cairo_stroke_to_path (), но не оказывает никакого влияния при построении пути.»