Exemplo n.º 1
0
        /// <summary>
        /// 發生於版面重新配置
        /// </summary>
        protected virtual void OnReLayout()
        {
            if (!IsLoadComplete)
            {
                return;
            }
            if (BufferImage != null)
            {
                BufferImage.Dispose();
            }
            if (BufferGraphics != null)
            {
                BufferGraphics.Dispose();
            }
            if (ThisGraphics != null)
            {
                ThisGraphics.Dispose();
            }

            MainRectangle  = ClientRectangle;
            BufferImage    = new Bitmap(this.DisplayRectangle.Width, this.DisplayRectangle.Height);
            BufferGraphics = Graphics.FromImage(BufferImage);
            BufferGraphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            //BufferGraphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
            //BufferGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
            ThisGraphics = CreateGraphics();
        }
Exemplo n.º 2
0
 public BufferImage(BufferImage handle) : this(Interop.BufferImage.new_BufferImage__SWIG_1(BufferImage.getCPtr(handle)), true)
 {
     if (NDalicPINVOKE.SWIGPendingException.Pending)
     {
         throw NDalicPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Exemplo n.º 3
0
        public void SetPixel()
        {
            BufferImage img = new BufferImage(16, 16);

            img.SetPixel(3, 3, GREEN);
            Assert.AreEqual(GREEN, img.GetPixel(3, 3));
        }
Exemplo n.º 4
0
        public void CreateBufferImageFromArray()
        {
            BufferImage img = new BufferImage(16, 16, CreatePixels(16, 16, GREEN));

            Assert.AreEqual(16, img.Width);
            Assert.AreEqual(16, img.Height);
            Assert.AreEqual(CreatePixels(16, 16, GREEN), img.GetArray());
        }
Exemplo n.º 5
0
        public void RenderDrawsDeathMagenta()
        {
            IRenderImage src  = new BufferImage(16, 16, CreatePixels(16, 16, MAGENTA));
            IRenderImage dest = RenderImage.Create(16, 16);

            Render.render(dest, 0, 0, src, true);
            Assert.AreEqual(dest.GetArray(), src.GetArray());
        }
Exemplo n.º 6
0
        public new static BufferImage DownCast(BaseHandle handle)
        {
            BufferImage ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as BufferImage;

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemplo n.º 7
0
        public static BufferImage WHITE()
        {
            BufferImage ret = new BufferImage(Interop.BufferImage.BufferImage_WHITE(), true);

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemplo n.º 8
0
        public BufferImage Assign(BufferImage rhs)
        {
            BufferImage ret = new BufferImage(Interop.BufferImage.BufferImage_Assign(swigCPtr, BufferImage.getCPtr(rhs)), false);

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemplo n.º 9
0
        public void RenderSkipsDeathMagenta()
        {
            IRenderImage src  = new BufferImage(16, 16, CreatePixels(16, 16, MAGENTA));
            IRenderImage dest = RenderImage.Create(16, 16);

            dest.Clear(BLACK);

            Render.render(dest, 0, 0, src, false);
            Assert.AreEqual(dest.GetArray(), CreatePixels(16, 16, BLACK));
        }
Exemplo n.º 10
0
        public void Clone()
        {
            BufferImage img = new BufferImage(16, 16);

            img.UpdatePixels(CreateStippledPixels(16, 16, WHITE, GREEN));

            IRenderImage i2 = img.Clone();

            Assert.AreEqual(i2.GetArray(), img.GetArray());
        }
Exemplo n.º 11
0
        public void DrawImage()
        {
            int[] pixels = new int[16 * 16];
            for (int i = 0; i < pixels.Length; i++)
            {
                pixels[i] = 1;
            }
            IRenderImage img = new BufferImage(16, 16, pixels);

            IRenderImage destImage = RenderImage.Create(16, 16);

            Render.render(destImage, 0, 0, img, true);

            int[] resultPixels = destImage.GetArray();
            Assert.AreEqual(pixels, resultPixels);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Puts the image into saving schedule list.
        /// </summary>
        /// <param name="filePath">Save path.</param>
        /// <param name="image">Bitmap image.</param>
        public void ReadBuffer(string filePath, Bitmap image)
        {
            if (imageList.ContainsKey(filePath))
            {
                return;
            }

            var imageBuff = new BufferImage();

            imageBuff.FilePath = filePath;

            // Copy the image buffer into memory buffer.
            image.Save(imageBuff.mStream, ImageFormat.Bmp);


            imageList.AddOrUpdate(filePath, imageBuff, (key, val) => { return(imageBuff); });
        }
Exemplo n.º 13
0
        private void UpdateInternal()
        {
            if (IsUpdateLocked() || !Visible)
            {
                return;
            }

            BufferImage.Clear(Bounds.Size);

            bool aeroEnabled = DesktopWindowManager.IsAeroEnabled() && !DesktopWindowManager.IsAeroOpaque();

            if (BackgroundBlur && !aeroEnabled)
            {
                DrawCustomBackgroundBlur(BufferImage);
            }

            Draw(BufferImage);

            if (Height == 0)
            {
                Height = 1;
            }

            Point  location = Bounds.Location;
            Size   size     = Bounds.Size;
            IntPtr hdcSrc   = BufferImage.Dc;
            Point  point    = Point.Empty;

            Form.UpdateLayered(BufferImage.Dc, ref location, ref size, hdcSrc, ref point, 0);

            if (BackgroundBlur && aeroEnabled)
            {
                var blurBounds = new Rectangle(ContentPadding.Left, ContentPadding.Top, Width - (ContentPadding.Right),
                                               Height - (ContentPadding.Bottom));
                DesktopWindowManager.EnableBlurBehindWindow(this, blurBounds);
            }
        }
Exemplo n.º 14
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BufferImage obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }