Example #1
0
 public TextSelection(int baseOffset, int extentOffset, TextAffinity affinity = TextAffinity.downstream,
                      bool isDirectional = false) : base(baseOffset < extentOffset ? baseOffset : extentOffset,
                                                         baseOffset < extentOffset ? extentOffset : baseOffset)
 {
     this.baseOffset    = baseOffset;
     this.extentOffset  = extentOffset;
     this.affinity      = affinity;
     this.isDirectional = isDirectional;
 }
Example #2
0
        protected override InlineSpan getSpanForPositionVisitor(TextPosition position, Accumulator offset)
        {
            if (text == null)
            {
                return(null);
            }

            TextAffinity affinity     = position.affinity;
            int          targetOffset = position.offset;
            int          endOffset    = offset.value + text.Length;

            if (offset.value == targetOffset && affinity == TextAffinity.downstream ||
                offset.value < targetOffset && targetOffset < endOffset ||
                endOffset == targetOffset && affinity == TextAffinity.upstream)
            {
                return(this);
            }

            offset.increment(text.Length);
            return(null);
        }
 public TextPosition(int offset, TextAffinity affinity = TextAffinity.downstream) {
     this.offset = offset;
     this.affinity = affinity;
 }
Example #4
0
 public static TextSelection collapsed(int offset, TextAffinity affinity = TextAffinity.downstream)
 {
     return(new TextSelection(offset, offset, affinity, false));
 }
Example #5
0
 public PositionWithAffinity(int p, TextAffinity a)
 {
     this.position = p;
     this.affinity = a;
 }