Example #1
0
        private void CreateLayer(Vector2 canvasStartingPoint, Vector2 canvasPoint)
        {
            //History
            LayeragesArrangeHistory history = new LayeragesArrangeHistory("Add layer", this.ViewModel.LayerageCollection);

            this.ViewModel.HistoryPush(history);


            //Transformer
            Transformer transformer = new Transformer(canvasPoint, canvasStartingPoint);

            //Layer
            CurveLayer curveLayer = new CurveLayer(this.ViewModel.CanvasDevice, canvasStartingPoint, canvasPoint)
            {
                IsSelected = true,
                Transform  = new Transform(transformer),
                Style      = this.SelectionViewModel.StandCurveStyle,
            };
            Layerage curveLayerage = curveLayer.ToLayerage();

            LayerBase.Instances.Add(curveLayer);

            //Mezzanine
            LayerageCollection.Mezzanine(this.ViewModel.LayerageCollection, curveLayerage);


            this.SelectionViewModel.SetModeSingle(curveLayerage);//Selection
            LayerageCollection.ArrangeLayers(this.ViewModel.LayerageCollection);
            LayerageCollection.ArrangeLayersBackground(this.ViewModel.LayerageCollection);
            this.ViewModel.Invalidate(InvalidateMode.HD);//Invalidate
        }
Example #2
0
        //@Construct
        /// <summary>
        /// Initializes a LayersControl.
        /// </summary>
        public LayersControl()
        {
            this.InitializeComponent();
            //LayerageCollection
            this.ConstructLayerageCollection();
            this.ItemsControl.ItemsSource = this.ViewModel.LayerageCollection.RootControls;


            this.Tapped      += (s, e) => this.MethodViewModel.MethodSelectedNone();//Method
            this.RightTapped += (s, e) => this.ShowLayerMenu();
            this.Holding     += (s, e) => this.ShowLayerMenu();


            Retouch_Photo2.PhotosPage.AddImageCallBack += (photo) =>
            {
                if (photo == null)
                {
                    return;
                }

                //History
                LayeragesArrangeHistory history = new LayeragesArrangeHistory("Add layer", this.ViewModel.LayerageCollection);
                this.ViewModel.HistoryPush(history);

                //Transformer
                Transformer transformerSource = new Transformer(photo.Width, photo.Height, Vector2.Zero);

                //Layer
                Photocopier photocopier = photo.ToPhotocopier();
                ImageLayer  imageLayer  = new ImageLayer(this.ViewModel.CanvasDevice)
                {
                    Photocopier = photocopier,
                    IsSelected  = true,
                    Transform   = new Transform(transformerSource)
                };
                Layerage imageLayerage = imageLayer.ToLayerage();
                LayerBase.Instances.Add(imageLayer);

                //Selection
                this.SelectionViewModel.SetValue((layerage) =>
                {
                    ILayer layer = layerage.Self;

                    layer.IsSelected = false;
                });

                //Mezzanine
                LayerageCollection.Mezzanine(this.ViewModel.LayerageCollection, imageLayerage);

                this.SelectionViewModel.SetMode(this.ViewModel.LayerageCollection);//Selection
                LayerageCollection.ArrangeLayers(this.ViewModel.LayerageCollection);
                LayerageCollection.ArrangeLayersBackground(this.ViewModel.LayerageCollection);
                this.ViewModel.Invalidate();//Invalidate
            };
        }
Example #3
0
        public void Started(Vector2 startingPoint, Vector2 point)
        {
            Photocopier photocopier = this.SelectionViewModel.Photocopier;

            if (photocopier.FolderRelativeId == null)
            {
                this.ImagePage.TipSelect();
                return;
            }

            Photo photo = Photo.FindFirstPhoto(photocopier);

            if (photo == null)
            {
                this.ImagePage.TipSelect();
                return;
            }

            //History
            LayeragesArrangeHistory history = new LayeragesArrangeHistory("Add layer", this.ViewModel.LayerageCollection);

            this.ViewModel.HistoryPush(history);

            //Transformer
            this._sizeWidth  = photo.Width;
            this._sizeHeight = photo.Height;
            Transformer transformerSource      = new Transformer(photo.Width, photo.Height, Vector2.Zero);
            Transformer transformerDestination = this.CreateTransformer(startingPoint, point, photo.Width, photo.Height);

            //Mezzanine
            ImageLayer imageLayer = new ImageLayer(this.ViewModel.CanvasDevice)
            {
                Photocopier = photocopier,
                IsSelected  = true,
                Transform   = new Transform(transformerSource, transformerDestination),
                Style       = this.SelectionViewModel.StandGeometryStyle
            };
            Layerage imageLayerage = imageLayer.ToLayerage();

            LayerBase.Instances.Add(imageLayer);


            this.MezzanineLayerage = imageLayerage;
            LayerageCollection.Mezzanine(this.ViewModel.LayerageCollection, this.MezzanineLayerage);

            this.SelectionViewModel.Transformer = transformerDestination; //Selection

            this.ViewModel.Invalidate(InvalidateMode.Thumbnail);          //Invalidate
        }