コード例 #1
0
 public MeTLImage Clone()
 {
     var img = new MeTLImage();
     img.Height = Height;
     img.Width = Width;
     img.Source = Source;
     InkCanvas.SetLeft(img, InkCanvas.GetLeft(this));
     InkCanvas.SetTop(img, InkCanvas.GetTop(this));
     Canvas.SetZIndex(img, Canvas.GetZIndex(this));
     img.Stretch = Stretch.Fill;
     img.tag(this.tag());
     img.offsetX = offsetX;
     img.offsetY = offsetY;
     return img;
 }
コード例 #2
0
 private bool dirtiesThis(TargettedMoveDelta moveDelta, MeTLImage elem)
 {
     return moveDelta.imageIds.Any(i => elem.tag().id == i && elem.tag().privacy == moveDelta.privacy && elem.tag().timestamp < moveDelta.timestamp);
 }
コード例 #3
0
        public MeTLImage adjustImage(MeTLImage image, Func<MeTLImage, MeTLImage> adjustment)
        {
            reassociateImageToCanvas(image);
            var oldCanvasOffsetX = logicalX;
            var oldCanvasOffsetY = logicalY;
            double translateX = 0.0;
            double translateY = 0.0;
            var localX = InkCanvas.GetLeft(image);
            var localY = InkCanvas.GetTop(image);
            if (checkIfLogicalBoundsUpdates(localX, localY))
            {
                var newBounds = generateLogicalBounds(localX, localY);
                logicalX = newBounds.X;
                logicalY = newBounds.Y;
                translateX = ReturnPositiveValue(ReturnPositiveValue(logicalX) - ReturnPositiveValue(oldCanvasOffsetX));
                translateY = ReturnPositiveValue(ReturnPositiveValue(logicalY) - ReturnPositiveValue(oldCanvasOffsetY));

                updateCanvasPositioning(strokeFilter.Strokes, textFilter.TextBoxes,
                    imageFilter.Images.Where(i => ((MeTLImage)(i)).tag().id != image.tag().id).Select(i => (UIElement)i), translateX, translateY);
                reassociateImageToCanvas(image);
            }
            return doAdjustImage(image, adjustment);
        }