/// <summary>
 /// 
 /// </summary>
 public RendererState()
 {
     _panX = 0.0;
     _panY = 0.0;
     _zoom = 1.0;
     _enableAutofit = true;
     _drawShapeState = ShapeState.Create(ShapeStateFlags.Visible | ShapeStateFlags.Printable);
     _selectedShape = default(BaseShape);
     _selectedShapes = default(ImmutableHashSet<BaseShape>);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="flags"></param>
 /// <param name="length"></param>
 /// <param name="startTrigger"></param>
 /// <param name="endTrigger"></param>
 /// <returns></returns>
 public static LineFixedLength Create(
     LineFixedLengthFlags flags = LineFixedLengthFlags.Disabled,
     double length = 15.0,
     ShapeState startTrigger = null,
     ShapeState endTrigger = null)
 {
     return new LineFixedLength()
     {
         Flags = flags,
         Length = length,
         StartTrigger = startTrigger ?? ShapeState.Create(ShapeStateFlags.Connector | ShapeStateFlags.Output),
         EndTrigger = endTrigger ?? ShapeState.Create(ShapeStateFlags.Connector | ShapeStateFlags.Input)
     };
 }