bool setEnd(Range &r, const VisiblePosition &c) { RangeImpl *ri = r.handle(); if (!ri) return false; Position p = c.position(); int code = 0; ri->setEnd(p.node(), p.offset(), code); return code == 0; }
Range makeRange(const VisiblePosition &start, const VisiblePosition &end) { Position s = start.position(); Position e = end.position(); return Range(s.node(), s.offset(), e.node(), e.offset()); }