private static FillArea ( int xSize, int ySize, Color retval, Color topLeftColor, Color rightGradient, Color downGradient ) : void | ||
xSize | int | |
ySize | int | |
retval | Color | |
topLeftColor | Color | |
rightGradient | Color | |
downGradient | Color | |
return | void |
private static void FillArea(int xSize, int ySize, Color[] retval, Color topLeftColor, Color rightGradient, Color downGradient)
{
Color color = new Color(0f, 0f, 0f, 0f);
Color color2 = new Color(0f, 0f, 0f, 0f);
if (xSize > 1)
{
color = (Color) (rightGradient / ((float) (xSize - 1)));
}
if (ySize > 1)
{
color2 = (Color) (downGradient / ((float) (ySize - 1)));
}
Color color3 = topLeftColor;
int num = 0;
for (int i = 0; i < ySize; i++)
{
Color color4 = color3;
for (int j = 0; j < xSize; j++)
{
retval[num++] = color4;
color4 += color;
}
color3 += color2;
}
}
private static Texture2D Update1DSlider(Texture2D tex, int xSize, float const1, float const2, ref float oldConst1, ref float oldConst2, int idx, bool hsvSpace) { if (!tex || const1 != oldConst1 || const2 != oldConst2) { if (!tex) { tex = ColorPicker.MakeTexture(xSize, 2); } Color[] array = new Color[xSize * 2]; Color black = Color.black; Color black2 = Color.black; switch (idx) { case 0: black = new Color(0f, const1, const2, 1f); black2 = new Color(1f, 0f, 0f, 0f); break; case 1: black = new Color(const1, 0f, const2, 1f); black2 = new Color(0f, 1f, 0f, 0f); break; case 2: black = new Color(const1, const2, 0f, 1f); black2 = new Color(0f, 0f, 1f, 0f); break; case 3: black = new Color(0f, 0f, 0f, 1f); black2 = new Color(1f, 1f, 1f, 0f); break; } ColorPicker.FillArea(xSize, 2, array, black, black2, new Color(0f, 0f, 0f, 0f)); if (hsvSpace) { ColorPicker.HSVToRGBArray(array); } oldConst1 = const1; oldConst2 = const2; tex.SetPixels(array); tex.Apply(); } return(tex); }