Beispiel #1
0
 protected override void Dispose(bool disposing)
 {
     if (disposing && (this.layer != null))
     {
         this.layer.Dispose();
         this.layer = null;
     }
 }
Beispiel #2
0
 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));
 }
Beispiel #3
0
 public void SetAt(int index, Layer newValue)
 {
     this[index] = newValue;
 }
Beispiel #4
0
 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;
        }
Beispiel #7
0
        /// <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);
        }
Beispiel #8
0
        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;
        }
Beispiel #9
0
 protected Layer(Layer copyMe)
 {
     this.width = copyMe.width;
     this.height = copyMe.height;
     this.properties = (LayerProperties)copyMe.properties.Clone();
 }
Beispiel #10
0
 public LayerEventArgs(Layer layer)
 {
     this.layer = layer;
 }
Beispiel #11
0
        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();
                }
            }
        }
Beispiel #12
0
 private void OnDoubleClickedOnLayer(Layer layer)
 {
     if (DoubleClickedOnLayer != null)
     {
         DoubleClickedOnLayer(this, new EventArgs<Layer>(layer));
     }
 }
Beispiel #13
0
 private void OnClickedOnLayer(Layer layer)
 {
     if (ClickedOnLayer != null)
     {
         ClickedOnLayer(this, new EventArgs<Layer>(layer));
     }
 }
Beispiel #14
0
 private void OnActiveLayerChanged(Layer layer)
 {
     if (ActiveLayerChanged != null)
     {
         ActiveLayerChanged(this, new EventArgs<Layer>(layer));
     }
 }
Beispiel #15
0
 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;
 }