Esempio n. 1
0
 public void SetRecieveBlender(IRecieveBlenderFloat value)
 {
     if (value != null && value.NumPixelBits != BitDepth)
     {
         throw new NotSupportedException("The blender has to support the bit depth of this image.");
     }
     m_Blender = value;
 }
Esempio n. 2
0
        public void Attach(IImageFloat sourceImage, IRecieveBlenderFloat blender, int distanceBetweenPixelsInclusive, int bufferOffset, int bitsPerPixel)
        {
            SetDimmensionAndFormat(sourceImage.Width, sourceImage.Height, sourceImage.StrideInFloats(), bitsPerPixel, distanceBetweenPixelsInclusive);
            int offset = sourceImage.GetBufferOffsetXY(0, 0);

            float[] buffer = sourceImage.GetBuffer();
            SetBuffer(buffer, offset + bufferOffset);
            SetRecieveBlender(blender);
        }
Esempio n. 3
0
        public ImageBufferFloat(IImageFloat sourceImage, IRecieveBlenderFloat blender)
        {
            SetDimmensionAndFormat(sourceImage.Width, sourceImage.Height, sourceImage.StrideInFloats(), sourceImage.BitDepth, sourceImage.GetFloatsBetweenPixelsInclusive());
            int offset = sourceImage.GetBufferOffsetXY(0, 0);

            float[] buffer    = sourceImage.GetBuffer();
            float[] newBuffer = new float[buffer.Length];
            agg_basics.memcpy(newBuffer, offset, buffer, offset, buffer.Length - offset);
            SetBuffer(newBuffer, offset);
            SetRecieveBlender(blender);
        }
Esempio n. 4
0
        public ImageBufferFloat(IImageFloat sourceImageToCopy, IRecieveBlenderFloat blender, int distanceBetweenPixelsInclusive, int bufferOffset, int bitsPerPixel)
        {
            SetDimmensionAndFormat(sourceImageToCopy.Width, sourceImageToCopy.Height, sourceImageToCopy.StrideInFloats(), bitsPerPixel, distanceBetweenPixelsInclusive);
            int offset = sourceImageToCopy.GetBufferOffsetXY(0, 0);

            float[] buffer    = sourceImageToCopy.GetBuffer();
            float[] newBuffer = new float[buffer.Length];
            throw new NotImplementedException();
            //agg_basics.memcpy(newBuffer, offset, buffer, offset, buffer.Length - offset);
            //SetBuffer(newBuffer, offset + bufferOffset);
            //SetRecieveBlender(blender);
        }
Esempio n. 5
0
        public static void BasedOnAlpha(IRecieveBlenderFloat Blender, float[] destBuffer, int bufferOffset, ColorF sourceColor)
        {
            //if (sourceColor.m_A != 0)
            {
#if false // we blend regardless of the alpha so that we can get Light Opacity working (used this way we have additive and faster blending in one blender) LBB
                if (sourceColor.m_A == base_mask)
                {
                    Blender.CopyPixel(pDestBuffer, sourceColor);
                }
                else
#endif
                {
                    Blender.BlendPixel(destBuffer, bufferOffset, sourceColor);
                }
            }
        }
Esempio n. 6
0
        public static void BasedOnAlphaAndCover(IRecieveBlenderFloat Blender, float[] destBuffer, int bufferOffset, RGBA_Floats sourceColor, int cover)
        {
            if (cover == 255)
            {
                BasedOnAlpha(Blender, destBuffer, bufferOffset, sourceColor);
            }
            else
            {
                //if (sourceColor.m_A != 0)
                {
                    sourceColor.alpha = sourceColor.alpha * ((float)cover * (1 / 255));
#if false // we blend regardless of the alpha so that we can get Light Opacity working (used this way we have addative and faster blending in one blender) LBB
                    if (sourceColor.m_A == base_mask)
                    {
                        Blender.CopyPixel(pDestBuffer, sourceColor);
                    }
                    else
#endif
                    {
                        Blender.BlendPixel(destBuffer, bufferOffset, sourceColor);
                    }
                }
            }
        }
Esempio n. 7
0
 public ImageBufferFloat(IRecieveBlenderFloat blender)
 {
     SetRecieveBlender(blender);
 }
Esempio n. 8
0
		public static void BasedOnAlphaAndCover(IRecieveBlenderFloat Blender, float[] destBuffer, int bufferOffset, RGBA_Floats sourceColor, int cover)
		{
			if (cover == 255)
			{
				BasedOnAlpha(Blender, destBuffer, bufferOffset, sourceColor);
			}
			else
			{
				//if (sourceColor.m_A != 0)
				{
					sourceColor.alpha = sourceColor.alpha * ((float)cover * (1 / 255));
#if false // we blend regardless of the alpha so that we can get Light Opacity working (used this way we have additive and faster blending in one blender) LBB
                    if (sourceColor.m_A == base_mask)
                    {
                        Blender.CopyPixel(pDestBuffer, sourceColor);
                    }
                    else
#endif
					{
						Blender.BlendPixel(destBuffer, bufferOffset, sourceColor);
					}
				}
			}
		}
Esempio n. 9
0
 public void Attach(IImageFloat sourceImage, IRecieveBlenderFloat blender)
 {
     Attach(sourceImage, blender, sourceImage.GetFloatsBetweenPixelsInclusive(), 0, sourceImage.BitDepth);
 }
Esempio n. 10
0
		public ImageBufferFloat(IImageFloat sourceImageToCopy, IRecieveBlenderFloat blender, int distanceBetweenPixelsInclusive, int bufferOffset, int bitsPerPixel)
		{
			SetDimmensionAndFormat(sourceImageToCopy.Width, sourceImageToCopy.Height, sourceImageToCopy.StrideInFloats(), bitsPerPixel, distanceBetweenPixelsInclusive);
			int offset = sourceImageToCopy.GetBufferOffsetXY(0, 0);
			float[] buffer = sourceImageToCopy.GetBuffer();
			float[] newBuffer = new float[buffer.Length];
			throw new NotImplementedException();
			//agg_basics.memcpy(newBuffer, offset, buffer, offset, buffer.Length - offset);
			//SetBuffer(newBuffer, offset + bufferOffset);
			//SetRecieveBlender(blender);
		}
Esempio n. 11
0
		public void Attach(IImageFloat sourceImage, IRecieveBlenderFloat blender)
		{
			Attach(sourceImage, blender, sourceImage.GetFloatsBetweenPixelsInclusive(), 0, sourceImage.BitDepth);
		}
Esempio n. 12
0
		public void Attach(IImageFloat sourceImage, IRecieveBlenderFloat blender, int distanceBetweenPixelsInclusive, int bufferOffset, int bitsPerPixel)
		{
			SetDimmensionAndFormat(sourceImage.Width, sourceImage.Height, sourceImage.StrideInFloats(), bitsPerPixel, distanceBetweenPixelsInclusive);
			int offset = sourceImage.GetBufferOffsetXY(0, 0);
			float[] buffer = sourceImage.GetBuffer();
			SetBuffer(buffer, offset + bufferOffset);
			SetRecieveBlender(blender);
		}
Esempio n. 13
0
 public ImageBufferFloat(int width, int height, int bitsPerPixel, IRecieveBlenderFloat blender)
 {
     Allocate(width, height, width * (bitsPerPixel / 32), bitsPerPixel);
     SetRecieveBlender(blender);
 }
Esempio n. 14
0
		public void SetRecieveBlender(IRecieveBlenderFloat value)
		{
			linkedImage.SetRecieveBlender(value);
		}
Esempio n. 15
0
		public void SetRecieveBlender(IRecieveBlenderFloat value)
		{
			if (value != null && value.NumPixelBits != BitDepth)
			{
				throw new NotSupportedException("The blender has to support the bit depth of this image.");
			}
			m_Blender = value;
		}
Esempio n. 16
0
		public ImageBufferFloat(IImageFloat sourceImage, IRecieveBlenderFloat blender)
		{
			SetDimmensionAndFormat(sourceImage.Width, sourceImage.Height, sourceImage.StrideInFloats(), sourceImage.BitDepth, sourceImage.GetFloatsBetweenPixelsInclusive());
			int offset = sourceImage.GetBufferOffsetXY(0, 0);
			float[] buffer = sourceImage.GetBuffer();
			float[] newBuffer = new float[buffer.Length];
			agg_basics.memcpy(newBuffer, offset, buffer, offset, buffer.Length - offset);
			SetBuffer(newBuffer, offset);
			SetRecieveBlender(blender);
		}
Esempio n. 17
0
		public ImageBufferFloat(IRecieveBlenderFloat blender)
		{
			SetRecieveBlender(blender);
		}
Esempio n. 18
0
 public void SetRecieveBlender(IRecieveBlenderFloat value)
 {
     linkedImage.SetRecieveBlender(value);
 }
Esempio n. 19
0
		public ImageBufferFloat(int width, int height, int bitsPerPixel, IRecieveBlenderFloat blender)
		{
			Allocate(width, height, width * (bitsPerPixel / 32), bitsPerPixel);
			SetRecieveBlender(blender);
		}