public override void Initialize() { PRoot root = Canvas.Root; PCamera camera = Canvas.Camera; //PLayer gridLayer = new GridLayer(); // replace standard layer with grid layer. root.RemoveChild(camera.GetLayer(0)); camera.RemoveLayer(0); root.AddChild(gridLayer); camera.AddLayer(gridLayer); // add constraints so that grid layers bounds always match cameras view bounds. This makes // it look like an infinite grid. camera.BoundsChanged += new PPropertyEventHandler(camera_BoundsChanged); camera.ViewTransformChanged += new PPropertyEventHandler(camera_ViewTransformChanged); gridLayer.Bounds = camera.ViewBounds; PNode n = new PNode(); n.Brush = Color.Blue; n.SetBounds(0, 0, 100, 80); Canvas.Layer.AddChild(n); Canvas.RemoveInputEventListener(Canvas.PanEventHandler); Canvas.AddInputEventListener(new GridDragHandler(Canvas)); }
/// <summary> /// Remove the given layer from the list of layers managed by the camera child of /// this lens. /// </summary> /// <param name="layer">The layer to remove.</param> public virtual void RemoveLayer(PLayer layer) { camera.RemoveLayer(layer); }