private Character(VisualObject owner, VisualObject creator, int index, Geometry geometry, Brush fill, Pen stroke, Brush selectionFill, Pen selectionStroke, Matrix transform, bool isTransformed, bool isHitTestVisible, object data) { Owner = owner; Creator = creator; Index = index; Geometry = geometry; Fill = fill; Stroke = stroke; SelectionFill = selectionFill; SelectionStroke = selectionStroke; Transform = transform; IsTransformed = isTransformed; IsHitTestVisible = isHitTestVisible; Data = data; }
public Character Clone(VisualObject owner, int index) => new Character(owner, Creator ?? Owner, index, Geometry?.CloneCurrentValue(), Fill?.CloneCurrentValue(), Stroke?.CloneCurrentValue(), SelectionFill?.CloneCurrentValue(), SelectionStroke?.CloneCurrentValue(), Transform, IsTransformed, IsHitTestVisible, Data);
public bool ContainsKey(VisualObject key) => Selection.ContainsKey(key);
public bool TryGetValue(VisualObject key, out Interval <int> value) => Selection.TryGetValue(key, out value);
public Interval <int> this[VisualObject key] => Selection[key];