void Drawing::DrawRectGradientVertical(int x, int y, int width, int height, Color color1, Color color2)
{
float flDifferenceR = (float)(color2.r() - color1.r()) / (float)height;
float flDifferenceG = (float)(color2.g() - color1.g()) / (float)height;
float flDifferenceB = (float)(color2.b() - color1.b()) / (float)height;
float flDifferenceA = (float)(color2.a() - color1.a()) / (float)height;
for (float i = 0.f; i < height; i++)
{
Color colGradient = Color(color1.r() + (flDifferenceR * i), color1.g() + (flDifferenceG * i), color1.b() + (flDifferenceB * i), color1.a() + (flDifferenceA * i));
Drawing::DrawRect(x, y + i, width, 1, colGradient);
}
}
void Drawing::DrawRectGradientHorizontal(int x, int y, int width, int height, Color color1, Color color2)
{
float flDifferenceR = (float)(color2.r() - color1.r()) / (float)width;
float flDifferenceG = (float)(color2.g() - color1.g()) / (float)width;
float flDifferenceB = (float)(color2.b() - color1.b()) / (float)width;
float flDifferenceA = (float)(color2.a() - color1.a()) / (float)width;
for (float i = 0.f; i < width; i++)
{
Color colGradient = Color(color1.r() + (flDifferenceR * i), color1.g() + (flDifferenceG * i), color1.b() + (flDifferenceB * i), color1.a() + (flDifferenceA * i));
Drawing::DrawRect(x + i, y, 1, height, colGradient);
}
}