public override void Draw(SpriteBatch sb) { GraphicsDevice.Clear(Color.Gray); base.Draw(sb); Point c = GraphicsDevice.Viewport.Bounds.Center; Vector2 catGirlPosition = new Vector2(c.X + 100, c.Y); Color color; if(lockToGreen) color = new Color(greenSlider.Value, greenSlider.Value, greenSlider.Value, alphaSlider.Value); else color = new Color(redSlider.Value, greenSlider.Value, blueSlider.Value, alphaSlider.Value); color = color * multiplySlider.Value; BlendState blendState; switch (blendMode) { default: case 0: blendState = BlendState.AlphaBlend; break; case 1: blendState = BlendState.NonPremultiplied; break; case 2: blendState = BlendState.Additive; break; case 3: blendState = BlendState.Opaque; break; } sb.Begin(SpriteSortMode.Deferred, blendState); if(displaySecondCatGirl) { sb.HintDynamicColor(doHinting && blendMode != 0); sb.Draw(CatGirl, catGirlSecondRectangle, Color.White * multiplySlider.Value); } sb.HintDynamicColor(doHinting); sb.Draw(CatGirl, catGirlRectangle, color); sb.HintDynamicColor(false); sb.End(); sb.Begin(); sb.DrawString(UIFont, blendState.Name, new Vector2(blendModeButton.Rectangle.X + blendModeButton.Rectangle.Width + 5, blendModeButton.Rectangle.Y), Color.Black); sb.End(); }