void Add(IntPtr attribute, uint start, uint end) { unsafe { PangoAttribute *attPtr = (PangoAttribute *)attribute; attPtr->start_index = start; attPtr->end_index = end; } pango_attr_list_insert(list, attribute); }
void AddOffsetCopy(IntPtr attr, uint startOffset, uint endOffset) { var copy = pango_attribute_copy(attr); unsafe { PangoAttribute *attPtr = (PangoAttribute *)copy; attPtr->start_index = startOffset + attPtr->start_index; attPtr->end_index = System.Math.Min(endOffset, startOffset + attPtr->end_index); } pango_attr_list_insert(list, copy); }