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 }
//@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 }; }
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 }