private void doMyStrokeRemovedExceptHistory(Stroke stroke) { var sum = stroke.sum().checksum.ToString(); Commands.SendDirtyStroke.Execute(new MeTLLib.DataTypes.TargettedDirtyElement(currentSlide, stroke.tag().author,target,stroke.tag().privacy,sum)); }
private void doMyStrokeRemoved(Stroke stroke) { ClearAdorners(); doMyStrokeRemovedExceptHistory(stroke); UndoHistory.Queue( () => { if (Strokes.Where(s => s.sum().checksum == stroke.sum().checksum).Count() == 0) { Strokes.Add(stroke); doMyStrokeAddedExceptHistory(stroke, stroke.tag().privacy); } }, () => { if (Strokes.Where(s => s.sum().checksum == stroke.sum().checksum).Count() > 0) { Strokes.Remove(Strokes.Where(s=> s.sum().checksum == stroke.sum().checksum).First()); strokes.Remove(stroke.sum()); doMyStrokeRemovedExceptHistory(stroke); } }); }
private void doMyStrokeAddedExceptHistory(Stroke stroke, string thisPrivacy) { if (!strokes.Contains(stroke.sum())) strokes.Add(stroke.sum()); stroke.tag(new StrokeTag { author = stroke.tag().author, privacy = thisPrivacy, isHighlighter = stroke.DrawingAttributes.IsHighlighter }); SendTargettedStroke(stroke, thisPrivacy); }
public void doMyStrokeAdded(Stroke stroke, string intendedPrivacy) { doMyStrokeAddedExceptHistory(stroke, intendedPrivacy); UndoHistory.Queue( () => { var existingStroke = Strokes.Where(s => s.sum().checksum == stroke.sum().checksum).FirstOrDefault(); if (existingStroke != null) doMyStrokeRemovedExceptHistory(existingStroke); }, () => { if (Strokes.Where(s => s.sum().checksum == stroke.sum().checksum).Count() == 0) { Strokes.Add(stroke); doMyStrokeAddedExceptHistory(stroke, stroke.tag().privacy); } }); }
private void doMyStrokeRemovedExceptHistory(Stroke stroke) { var sum = stroke.sum().checksum.ToString(); var bounds = stroke.GetBounds(); Commands.SendDirtyStroke.Execute(new MeTLLib.DataTypes.TargettedDirtyElement(Globals.location.currentSlide,Globals.me,target,stroke.tag().privacy,sum)); }
public void sendRawDirtyStroke(Stroke stroke) { var element = new TargettedDirtyElement { author = myCredentials.name, privacy = "public", slide = myLocation.currentSlide, target = "presentationSpace", identifier = stroke.sum().checksum.ToString() }; var dStroke = new MeTLStanzas.DirtyInk(element); sendDirtyStroke(element); }