public List <InkSynchronizer.StrokeSynchronizer> BeginDry() { object lockObject = this._lockObject; List <MouseRender.StrokeInfo> list2; lock (lockObject) { List <MouseRender.StrokeInfo> list = this._strokeInfoList.ToList <MouseRender.StrokeInfo>(); if (!false) { list2 = list; } this._strokeInfoList.Clear(); } List <InkSynchronizer.StrokeSynchronizer> list3 = new List <InkSynchronizer.StrokeSynchronizer>(); foreach (MouseRender.StrokeInfo strokeInfo in list2) { if (strokeInfo != null) { MouseRender.InkRenderInfo inkRenderInfo = strokeInfo.InkRenderInfo; StylusPointCollection inkRenderInfoStylusPointList = this.GetInkRenderInfoStylusPointList(inkRenderInfo); if (inkRenderInfoStylusPointList != null && inkRenderInfoStylusPointList.Any <StylusPoint>()) { list3.Add(new InkSynchronizer.StrokeSynchronizer(inkRenderInfoStylusPointList, strokeInfo.StylusDeviceId, strokeInfo.DrawingAttributes) { LostCapture = strokeInfo.LostCapture }); } DryingDrawingVisual dryingDrawingVisual = new DryingDrawingVisual(inkRenderInfo.ContainerVisual, InkRenderVisual.GetInkRenderDryingDrawVisual(inkRenderInfo)); this._dynamicRenderer.InkCanvas.AddDryingDrawingVisualList(dryingDrawingVisual); } } return(list3); }
public void AddDryingDrawingVisualList(DryingDrawingVisual dryingDrawingVisual) { List <DryingDrawingVisual> dryingDrawingVisualList; dryingDrawingVisualList = this._dryingDrawingVisualList; bool flag = false; try { Monitor.Enter(dryingDrawingVisualList, ref flag); this._dryingDrawingVisualList.Add(dryingDrawingVisual); } finally { if (flag) { Monitor.Exit(dryingDrawingVisualList); } } }