protected override void Dispose(bool disposing) { if (disposing && (this.layer != null)) { this.layer.Dispose(); this.layer = null; } }
protected DocumentLayerOverlay(PaintDotNet.Layer layer, RectInt32 affectedBounds) { Validate.IsNotNull <PaintDotNet.Layer>(layer, "layer"); this.layer = layer; this.affectedBounds = affectedBounds; this.cancellationTokenSource = new CancellationTokenSource(); this.cancellationTokenSource.Token.Register(new Action(this.OnCancelled)); }
public void SetAt(int index, Layer newValue) { this[index] = newValue; }
public DeleteLayerHistoryMementoData(PaintDotNet.Layer layer) { this.layer = layer; }
public void SelectClosestVisibleLayer(Layer layer) { int oldLayerIndex = this.Document.Layers.IndexOf(layer); int newLayerIndex = oldLayerIndex; // find the closest layer that is still visible for (int i = 0; i < this.Document.Layers.Count; ++i) { int lower = oldLayerIndex - i; int upper = oldLayerIndex + i; if (lower >= 0 && lower < this.Document.Layers.Count && ((Layer)this.Document.Layers[lower]).Visible) { newLayerIndex = lower; break; } if (upper >= 0 && upper < this.Document.Layers.Count && ((Layer)this.Document.Layers[upper]).Visible) { newLayerIndex = upper; break; } } if (newLayerIndex != oldLayerIndex) { this.ActiveLayer = (Layer)Document.Layers[newLayerIndex]; } }
public DocumentWorkspace() { this.activeLayer = null; this.history = new HistoryStack(this); InitializeComponent(); // hook the DocumentWorkspace with its selectedPath ... this.selectionRenderer = new SelectionRenderer(this.RendererList, this.Selection, this); this.RendererList.Add(this.selectionRenderer, true); this.selectionRenderer.EnableOutlineAnimation = true; this.selectionRenderer.EnableSelectionTinting = false; this.selectionRenderer.EnableSelectionOutline = true; this.selection.Changed += new EventHandler(Selection_Changed); this.zoomBasis = ZoomBasis.FitToWindow; }
/// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose(bool disposing) { if (disposing) { this.Layer = null; if (components != null) { components.Dispose(); components = null; } } base.Dispose(disposing); }
protected override Image Load() { int layerPosition = 0; int colorOffset = 0; var document = Document.FromStream(Reader.BaseStream); Console.WriteLine("Width : " + document.Width); Console.WriteLine("height : " + document.Height); var image = new Image(document.Width, document.Height, ImageBaseType.Rgb); // Is it the best type ? image.Filename = Filename; PaintDotNet.LayerList layers = document.Layers; Console.WriteLine("#layers: " + layers.Count); foreach (PaintDotNet.Layer readLayer in layers) { try { Console.WriteLine(readLayer.Name); var layer = new Layer(image, readLayer.Name, document.Width, document.Height, ImageType.Rgba, (readLayer.Opacity / 255) * 100, // 100 what means ? LayerModeEffects.Normal); Console.WriteLine("11"); image.AddLayer(layer, layerPosition++); Console.WriteLine("1"); var rgn = new PixelRgn(layer, 0, 0, document.Width, document.Height, true, false); var buf = new byte[document.Width * document.Height * 4]; var color_conv_ary = new byte[4]; int lastPixelConverted = 0; colorOffset = 0; var surf = (readLayer as BitmapLayer).Surface; for (int row = 0; row < document.Height; row++) { var memory = surf.GetRow(row); var bitmapBytes = memory.ToByteArray(); lastPixelConverted = 0; colorOffset = 0; for (int col = 0; col < document.Width * 4; col++) { color_conv_ary[colorOffset++] = bitmapBytes[col]; // Console.WriteLine("ColorOffset = " + colorOffset); if (colorOffset >= 4) { var tmpArray = FromBGRAToRGBA(color_conv_ary); for (int j = 0; j < colorOffset; j++) { // buf[row * document.Height + (lastPixelConverted++)] = tmpArray[j]; buf[(row * document.Width * 4) + (lastPixelConverted++)] = tmpArray[j]; /* Console.WriteLine("Scritto il byte[" + ((row * document.Width * 4) + (lastPixelConverted-1)) + "] : " + tmpArray[j]);*/ } colorOffset = 0; } // buf[row * document.Height + col] = bitmapBytes[col]; //0x7F; } // Console.WriteLine(memory.Length); } // Console.ReadLine(); rgn.SetRect(buf, 0, 0, document.Width, document.Height); layer.Flush(); } catch (Exception e) { Console.WriteLine("Exception : " + e.Message + " - " + e.StackTrace); } } // missing colormap, mcolor and background Console.WriteLine("2"); /* var surface = (layers[0] as BitmapLayer).Surface; var memory1 = surface.GetRow(13); var bytes = memory1.ToByteArray(); Console.WriteLine("length: " + bytes.Length);*/ return image; }
protected Layer(Layer copyMe) { this.width = copyMe.width; this.height = copyMe.height; this.properties = (LayerProperties)copyMe.properties.Clone(); }
public LayerEventArgs(Layer layer) { this.layer = layer; }
private void SetActive(Layer layer) { foreach (LayerElement lec in layerControls) { bool active = (lec.Layer == layer); lec.IsSelected = active; if (active) { OnActiveLayerChanged(lec.Layer); layerControlPanel.ScrollControlIntoView(lec); lec.Select(); Update(); } } }
private void OnDoubleClickedOnLayer(Layer layer) { if (DoubleClickedOnLayer != null) { DoubleClickedOnLayer(this, new EventArgs<Layer>(layer)); } }
private void OnClickedOnLayer(Layer layer) { if (ClickedOnLayer != null) { ClickedOnLayer(this, new EventArgs<Layer>(layer)); } }
private void OnActiveLayerChanged(Layer layer) { if (ActiveLayerChanged != null) { ActiveLayerChanged(this, new EventArgs<Layer>(layer)); } }
private void InitializeLayerElement(LayerElement lec, Layer l) { lec.Height = elementHeight; lec.Layer = l; lec.Click += elementClickDelegate; lec.DoubleClick += elementDoubleClickDelegate; lec.KeyUp += keyUpDelegate; lec.IsSelected = false; }