|
|
@ -13,24 +13,24 @@ public class PixelBlenderTests |
|
|
{ |
|
|
{ |
|
|
public static TheoryData<object, Type, PixelColorBlendingMode> BlenderMappings = new() |
|
|
public static TheoryData<object, Type, PixelColorBlendingMode> BlenderMappings = new() |
|
|
{ |
|
|
{ |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.NormalSrcOver), PixelColorBlendingMode.Normal }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.NormalSrcOver.GetType(), PixelColorBlendingMode.Normal }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.ScreenSrcOver), PixelColorBlendingMode.Screen }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.ScreenSrcOver.GetType(), PixelColorBlendingMode.Screen }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.HardLightSrcOver), PixelColorBlendingMode.HardLight }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.HardLightSrcOver.GetType(), PixelColorBlendingMode.HardLight }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.OverlaySrcOver), PixelColorBlendingMode.Overlay }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.OverlaySrcOver.GetType(), PixelColorBlendingMode.Overlay }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.DarkenSrcOver), PixelColorBlendingMode.Darken }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.DarkenSrcOver.GetType(), PixelColorBlendingMode.Darken }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.LightenSrcOver), PixelColorBlendingMode.Lighten }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.LightenSrcOver.GetType(), PixelColorBlendingMode.Lighten }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.AddSrcOver), PixelColorBlendingMode.Add }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.AddSrcOver.GetType(), PixelColorBlendingMode.Add }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.SubtractSrcOver), PixelColorBlendingMode.Subtract }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.SubtractSrcOver.GetType(), PixelColorBlendingMode.Subtract }, |
|
|
{ new TestPixel<Rgba32>(), typeof(DefaultPixelBlenders<Rgba32>.MultiplySrcOver), PixelColorBlendingMode.Multiply }, |
|
|
{ new TestPixel<Rgba32>(), DefaultPixelBlenders<Rgba32>.MultiplySrcOver.GetType(), PixelColorBlendingMode.Multiply }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.NormalSrcOver), PixelColorBlendingMode.Normal }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.NormalSrcOver.GetType(), PixelColorBlendingMode.Normal }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.ScreenSrcOver), PixelColorBlendingMode.Screen }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.ScreenSrcOver.GetType(), PixelColorBlendingMode.Screen }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.HardLightSrcOver), PixelColorBlendingMode.HardLight }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.HardLightSrcOver.GetType(), PixelColorBlendingMode.HardLight }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.OverlaySrcOver), PixelColorBlendingMode.Overlay }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.OverlaySrcOver.GetType(), PixelColorBlendingMode.Overlay }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.DarkenSrcOver), PixelColorBlendingMode.Darken }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.DarkenSrcOver.GetType(), PixelColorBlendingMode.Darken }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.LightenSrcOver), PixelColorBlendingMode.Lighten }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.LightenSrcOver.GetType(), PixelColorBlendingMode.Lighten }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.AddSrcOver), PixelColorBlendingMode.Add }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.AddSrcOver.GetType(), PixelColorBlendingMode.Add }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.SubtractSrcOver), PixelColorBlendingMode.Subtract }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.SubtractSrcOver.GetType(), PixelColorBlendingMode.Subtract }, |
|
|
{ new TestPixel<RgbaVector>(), typeof(DefaultPixelBlenders<RgbaVector>.MultiplySrcOver), PixelColorBlendingMode.Multiply }, |
|
|
{ new TestPixel<RgbaVector>(), DefaultPixelBlenders<RgbaVector>.MultiplySrcOver.GetType(), PixelColorBlendingMode.Multiply }, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
public static TheoryData<PixelColorBlendingMode, PixelAlphaCompositionMode, Type> BlenderModeMappings |
|
|
public static TheoryData<PixelColorBlendingMode, PixelAlphaCompositionMode, Type> BlenderModeMappings |
|
|
@ -42,158 +42,158 @@ public class PixelBlenderTests |
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.Clear, |
|
|
PixelAlphaCompositionMode.Clear, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalClear), |
|
|
DefaultPixelBlenders<Rgba32>.NormalClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyClear), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddClear), |
|
|
DefaultPixelBlenders<Rgba32>.AddClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractClear), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenClear), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenClear), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenClear), |
|
|
DefaultPixelBlenders<Rgba32>.LightenClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayClear), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayClear.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightClear)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightClear.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.Xor, |
|
|
PixelAlphaCompositionMode.Xor, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalXor), |
|
|
DefaultPixelBlenders<Rgba32>.NormalXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyXor), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddXor), |
|
|
DefaultPixelBlenders<Rgba32>.AddXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractXor), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenXor), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenXor), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenXor), |
|
|
DefaultPixelBlenders<Rgba32>.LightenXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayXor), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayXor.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightXor)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightXor.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.Src, |
|
|
PixelAlphaCompositionMode.Src, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalSrc), |
|
|
DefaultPixelBlenders<Rgba32>.NormalSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplySrc), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplySrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddSrc), |
|
|
DefaultPixelBlenders<Rgba32>.AddSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractSrc), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenSrc), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenSrc), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenSrc), |
|
|
DefaultPixelBlenders<Rgba32>.LightenSrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlaySrc), |
|
|
DefaultPixelBlenders<Rgba32>.OverlaySrc.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightSrc)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightSrc.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.SrcAtop, |
|
|
PixelAlphaCompositionMode.SrcAtop, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.NormalSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplySrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplySrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.AddSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenSrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.LightenSrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlaySrcAtop), |
|
|
DefaultPixelBlenders<Rgba32>.OverlaySrcAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightSrcAtop)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightSrcAtop.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.SrcIn, |
|
|
PixelAlphaCompositionMode.SrcIn, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.NormalSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplySrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplySrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.AddSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenSrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.LightenSrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlaySrcIn), |
|
|
DefaultPixelBlenders<Rgba32>.OverlaySrcIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightSrcIn)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightSrcIn.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.SrcOut, |
|
|
PixelAlphaCompositionMode.SrcOut, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.NormalSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplySrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplySrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.AddSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenSrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.LightenSrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlaySrcOut), |
|
|
DefaultPixelBlenders<Rgba32>.OverlaySrcOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightSrcOut)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightSrcOut.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.Dest, |
|
|
PixelAlphaCompositionMode.Dest, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalDest), |
|
|
DefaultPixelBlenders<Rgba32>.NormalDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyDest), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddDest), |
|
|
DefaultPixelBlenders<Rgba32>.AddDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractDest), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenDest), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenDest), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenDest), |
|
|
DefaultPixelBlenders<Rgba32>.LightenDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayDest), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayDest.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightDest)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightDest.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.DestAtop, |
|
|
PixelAlphaCompositionMode.DestAtop, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.NormalDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.AddDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.LightenDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayDestAtop), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayDestAtop.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightDestAtop)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightDestAtop.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.DestIn, |
|
|
PixelAlphaCompositionMode.DestIn, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.NormalDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.AddDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.LightenDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayDestIn), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayDestIn.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightDestIn)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightDestIn.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.DestOut, |
|
|
PixelAlphaCompositionMode.DestOut, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.NormalDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.AddDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.LightenDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayDestOut), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayDestOut.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightDestOut)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightDestOut.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.DestOver, |
|
|
PixelAlphaCompositionMode.DestOver, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.NormalDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplyDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplyDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.AddDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.LightenDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlayDestOver), |
|
|
DefaultPixelBlenders<Rgba32>.OverlayDestOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightDestOver)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightDestOver.GetType()); |
|
|
|
|
|
|
|
|
AddBlenderModeMappings( |
|
|
AddBlenderModeMappings( |
|
|
data, |
|
|
data, |
|
|
PixelAlphaCompositionMode.SrcOver, |
|
|
PixelAlphaCompositionMode.SrcOver, |
|
|
typeof(DefaultPixelBlenders<Rgba32>.NormalSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.NormalSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.MultiplySrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.MultiplySrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.AddSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.AddSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.SubtractSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.SubtractSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.ScreenSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.ScreenSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.DarkenSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.DarkenSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.LightenSrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.LightenSrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.OverlaySrcOver), |
|
|
DefaultPixelBlenders<Rgba32>.OverlaySrcOver.GetType(), |
|
|
typeof(DefaultPixelBlenders<Rgba32>.HardLightSrcOver)); |
|
|
DefaultPixelBlenders<Rgba32>.HardLightSrcOver.GetType()); |
|
|
|
|
|
|
|
|
return data; |
|
|
return data; |
|
|
} |
|
|
} |
|
|
@ -246,7 +246,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Blend_WithConstantSourceAndSingleAmount() |
|
|
public void Blend_WithConstantSourceAndSingleAmount() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrcOver(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrcOver; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -265,7 +265,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Blend_WithConstantSourceSingleAmountAndWorkingBuffer() |
|
|
public void Blend_WithConstantSourceSingleAmountAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrcOver(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrcOver; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -285,7 +285,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Blend_WithConstantSourceAndAmountSpan() |
|
|
public void Blend_WithConstantSourceAndAmountSpan() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrcOver(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrcOver; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -305,7 +305,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Blend_WithConstantSourceAmountSpanAndWorkingBuffer() |
|
|
public void Blend_WithConstantSourceAmountSpanAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrcOver(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrcOver; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -326,7 +326,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void Blend_WithSourceSpanAmountSpanAndWorkingBuffer() |
|
|
public void Blend_WithSourceSpanAmountSpanAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrcOver(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrcOver; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] destination = new Rgba32[2]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -352,7 +352,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithConstantSourceAndSingleAmount() |
|
|
public void BlendWithCoverage_WithConstantSourceAndSingleAmount() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -374,7 +374,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithConstantSourceSingleAmountAndWorkingBuffer() |
|
|
public void BlendWithCoverage_WithConstantSourceSingleAmountAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -397,7 +397,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithSourceSpanAndSingleAmount() |
|
|
public void BlendWithCoverage_WithSourceSpanAndSingleAmount() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -425,7 +425,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithSourceSpanSingleAmountAndWorkingBuffer() |
|
|
public void BlendWithCoverage_WithSourceSpanSingleAmountAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -454,7 +454,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithConstantSourceAndAmountSpan() |
|
|
public void BlendWithCoverage_WithConstantSourceAndAmountSpan() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -477,7 +477,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithConstantSourceAmountSpanAndWorkingBuffer() |
|
|
public void BlendWithCoverage_WithConstantSourceAmountSpanAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -501,7 +501,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithSourceSpanAndAmountSpan() |
|
|
public void BlendWithCoverage_WithSourceSpanAndAmountSpan() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
@ -530,7 +530,7 @@ public class PixelBlenderTests |
|
|
[Fact] |
|
|
[Fact] |
|
|
public void BlendWithCoverage_WithSourceSpanAmountSpanAndWorkingBuffer() |
|
|
public void BlendWithCoverage_WithSourceSpanAmountSpanAndWorkingBuffer() |
|
|
{ |
|
|
{ |
|
|
PixelBlender<Rgba32> blender = new DefaultPixelBlenders<Rgba32>.NormalSrc(); |
|
|
PixelBlender<Rgba32> blender = DefaultPixelBlenders<Rgba32>.NormalSrc; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] destination = new Rgba32[3]; |
|
|
Rgba32[] background = |
|
|
Rgba32[] background = |
|
|
[ |
|
|
[ |
|
|
|