}
}
- this.lines[0].Draw(dc, new System.Windows.Point(x, y), InvertAxes.None);
+ double posY = y;
+ foreach(var line in this.lines)
+ {
+ line.Draw(dc, new System.Windows.Point(x, posY), InvertAxes.None);
+ posY += line.Height;
+ }
}
public void Dispose()
}
}
+ double _actualWidth = 0;
public double Width
{
- get { return this.Lines[0].Width; }
+ get
+ {
+ if (_actualWidth != 0)
+ return _actualWidth;
+ foreach (var line in this.Lines)
+ {
+ if(line.Width > _actualWidth)
+ _actualWidth = line.Width;
+ }
+ return _actualWidth;
+ }
}
+ double _height = 0;
public double Height
{
- get { return this.Lines[0].Height; }
+ get {
+ if (_height != 0)
+ return _height;
+ foreach (var line in this.Lines)
+ _height += line.Height;
+ return _height;
+ }
}
public int GetIndexFromColPostion(double x)
return this.Lines[0].GetDistanceFromCharacterHit(new CharacterHit(index, 0));
}
+ public int GetIndexFromPostion(double x, double y)
+ {
+ return 0;
+ }
+
+ public Point GetPostionFromIndex(int index)
+ {
+ throw new NotImplementedException();
+ }
+
public int AlignIndexToNearestCluster(int index, AlignDirection flow)
{
CharacterHit hit = this.Lines[0].GetNextCaretCharacterHit(new CharacterHit(index, 0));