mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
removed triangle fan draw on color picker
This commit is contained in:
parent
eb20b9e614
commit
87f62c427c
1 changed files with 51 additions and 40 deletions
|
|
@ -121,68 +121,76 @@ void GuiColorPickerCtrl::drawBlendBox(RectI &bounds, ColorF &c1, ColorF &c2, Col
|
||||||
S32 l = bounds.point.x, r = bounds.point.x + bounds.extent.x;
|
S32 l = bounds.point.x, r = bounds.point.x + bounds.extent.x;
|
||||||
S32 t = bounds.point.y, b = bounds.point.y + bounds.extent.y;
|
S32 t = bounds.point.y, b = bounds.point.y + bounds.extent.y;
|
||||||
|
|
||||||
|
//A couple of checks to determine if color blend
|
||||||
//A couple of checks to determine if color blend
|
//A couple of checks to determine if color blend
|
||||||
if(c1 == colorWhite && c3 == colorAlpha && c4 == colorBlack)
|
if(c1 == colorWhite && c3 == colorAlpha && c4 == colorBlack)
|
||||||
{
|
{
|
||||||
//Color
|
//Color
|
||||||
PrimBuild::begin(GFXTriangleFan, 4);
|
PrimBuild::begin(GFXTriangleStrip, 4);
|
||||||
PrimBuild::color( c2 );
|
|
||||||
PrimBuild::vertex2i( r, t );
|
|
||||||
|
|
||||||
PrimBuild::color( c2 );
|
PrimBuild::color( c2 );
|
||||||
PrimBuild::vertex2i( r, b );
|
PrimBuild::vertex2i(l, t);
|
||||||
|
|
||||||
|
PrimBuild::color( c2 );
|
||||||
|
PrimBuild::vertex2i(r, t);
|
||||||
|
|
||||||
PrimBuild::color( c2 );
|
PrimBuild::color( c2 );
|
||||||
PrimBuild::vertex2i( l, b );
|
PrimBuild::vertex2i( l, b );
|
||||||
|
|
||||||
PrimBuild::color( c2 );
|
PrimBuild::color( c2 );
|
||||||
PrimBuild::vertex2i( l, t );
|
PrimBuild::vertex2i(r, b);
|
||||||
|
|
||||||
PrimBuild::end();
|
PrimBuild::end();
|
||||||
|
|
||||||
//White
|
//White
|
||||||
PrimBuild::begin( GFXTriangleFan, 4 );
|
PrimBuild::begin(GFXTriangleStrip, 4);
|
||||||
PrimBuild::color( colorAlphaW );
|
|
||||||
PrimBuild::vertex2i( r, t );
|
PrimBuild::color(c1);
|
||||||
|
PrimBuild::vertex2i(l, t);
|
||||||
|
|
||||||
PrimBuild::color( colorAlphaW );
|
PrimBuild::color( colorAlphaW );
|
||||||
PrimBuild::vertex2i( r, b );
|
PrimBuild::vertex2i(r, t);
|
||||||
|
|
||||||
PrimBuild::color( c1 );
|
PrimBuild::color( c1 );
|
||||||
PrimBuild::vertex2i( l, b );
|
PrimBuild::vertex2i( l, b );
|
||||||
|
|
||||||
PrimBuild::color( c1 );
|
PrimBuild::color(colorAlphaW);
|
||||||
PrimBuild::vertex2i( l, t );
|
PrimBuild::vertex2i(r, b);
|
||||||
|
|
||||||
PrimBuild::end();
|
PrimBuild::end();
|
||||||
|
|
||||||
//Black
|
//Black
|
||||||
PrimBuild::begin( GFXTriangleFan, 4 );
|
PrimBuild::begin(GFXTriangleStrip, 4);
|
||||||
|
|
||||||
|
PrimBuild::color(c3);
|
||||||
|
PrimBuild::vertex2i(l, t);
|
||||||
PrimBuild::color( c3 );
|
PrimBuild::color( c3 );
|
||||||
PrimBuild::vertex2i( r, t );
|
PrimBuild::vertex2i( r, t );
|
||||||
|
|
||||||
PrimBuild::color( c4 );
|
PrimBuild::color( c4 );
|
||||||
PrimBuild::vertex2i( r, b );
|
PrimBuild::vertex2i(l, b);
|
||||||
|
|
||||||
PrimBuild::color( c4 );
|
PrimBuild::color( c4 );
|
||||||
PrimBuild::vertex2i( l, b );
|
PrimBuild::vertex2i(r, b);
|
||||||
|
|
||||||
PrimBuild::color( c3 );
|
|
||||||
PrimBuild::vertex2i( l, t );
|
|
||||||
PrimBuild::end();
|
PrimBuild::end();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PrimBuild::begin( GFXTriangleFan, 4 );
|
PrimBuild::begin(GFXTriangleStrip, 4);
|
||||||
|
|
||||||
PrimBuild::color( c1 );
|
PrimBuild::color( c1 );
|
||||||
PrimBuild::vertex2i( l, t );
|
PrimBuild::vertex2i( l, t );
|
||||||
|
|
||||||
PrimBuild::color( c2 );
|
PrimBuild::color( c2 );
|
||||||
PrimBuild::vertex2i( r, t );
|
PrimBuild::vertex2i( r, t );
|
||||||
|
|
||||||
|
PrimBuild::color(c4);
|
||||||
|
PrimBuild::vertex2i(l, b);
|
||||||
|
|
||||||
PrimBuild::color( c3 );
|
PrimBuild::color( c3 );
|
||||||
PrimBuild::vertex2i( r, b );
|
PrimBuild::vertex2i( r, b );
|
||||||
|
|
||||||
PrimBuild::color( c4 );
|
|
||||||
PrimBuild::vertex2i( l, b );
|
|
||||||
PrimBuild::end();
|
PrimBuild::end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -191,45 +199,48 @@ void GuiColorPickerCtrl::drawBlendBox(RectI &bounds, ColorF &c1, ColorF &c2, Col
|
||||||
/// Function to draw a set of boxes blending throughout an array of colors
|
/// Function to draw a set of boxes blending throughout an array of colors
|
||||||
void GuiColorPickerCtrl::drawBlendRangeBox(RectI &bounds, bool vertical, U8 numColors, ColorI *colors)
|
void GuiColorPickerCtrl::drawBlendRangeBox(RectI &bounds, bool vertical, U8 numColors, ColorI *colors)
|
||||||
{
|
{
|
||||||
|
|
||||||
GFX->setStateBlock(mStateBlock);
|
GFX->setStateBlock(mStateBlock);
|
||||||
|
|
||||||
S32 l = bounds.point.x, r = bounds.point.x + bounds.extent.x + 4;
|
S32 l = bounds.point.x, r = bounds.point.x + bounds.extent.x + 4;
|
||||||
S32 t = bounds.point.y, b = bounds.point.y + bounds.extent.y + 4;
|
S32 t = bounds.point.y, b = bounds.point.y + bounds.extent.y + 4;
|
||||||
|
|
||||||
// Calculate increment value
|
// Calculate increment value
|
||||||
S32 x_inc = int(mFloor((r - l) / F32(numColors-1)));
|
S32 x_inc = int(mFloor((r - l) / F32(numColors - 1)));
|
||||||
S32 y_inc = int(mFloor((b - t) / F32(numColors-1)));
|
S32 y_inc = int(mFloor((b - t) / F32(numColors - 1)));
|
||||||
|
|
||||||
for( U16 i = 0;i < numColors - 1; i++ )
|
for (U16 i = 0; i < numColors - 1; i++)
|
||||||
{
|
{
|
||||||
// This is not efficent, but then again it doesn't really need to be. -pw
|
// This is not efficent, but then again it doesn't really need to be. -pw
|
||||||
PrimBuild::begin( GFXTriangleFan, 4 );
|
PrimBuild::begin(GFXTriangleStrip, 4);
|
||||||
|
|
||||||
if (!vertical) // Horizontal (+x)
|
if (!vertical) // Horizontal (+x)
|
||||||
{
|
{
|
||||||
// First color
|
// First color
|
||||||
PrimBuild::color( colors[i] );
|
PrimBuild::color(colors[i]);
|
||||||
PrimBuild::vertex2i( l, t );
|
PrimBuild::vertex2i(l, t);
|
||||||
PrimBuild::vertex2i( l, b );
|
PrimBuild::color(colors[i + 1]);
|
||||||
|
PrimBuild::vertex2i(l + x_inc, t);
|
||||||
|
|
||||||
// Second color
|
// Second color
|
||||||
PrimBuild::color( colors[i+1] );
|
PrimBuild::color(colors[i]);
|
||||||
PrimBuild::vertex2i( l + x_inc, b );
|
PrimBuild::vertex2i(l, b);
|
||||||
PrimBuild::vertex2i( l + x_inc, t );
|
PrimBuild::color(colors[i + 1]);
|
||||||
|
PrimBuild::vertex2i(l + x_inc, b);
|
||||||
l += x_inc;
|
l += x_inc;
|
||||||
}
|
}
|
||||||
else // Vertical (+y)
|
else // Vertical (+y)
|
||||||
{
|
{
|
||||||
// First color
|
// First color
|
||||||
PrimBuild::color( colors[i] );
|
PrimBuild::color(colors[i]);
|
||||||
PrimBuild::vertex2i( l, t );
|
PrimBuild::vertex2i(l, t);
|
||||||
PrimBuild::vertex2i( r, t );
|
PrimBuild::color(colors[i + 1]);
|
||||||
|
PrimBuild::vertex2i(l, t + y_inc);
|
||||||
|
|
||||||
// Second color
|
// Second color
|
||||||
PrimBuild::color( colors[i+1] );
|
PrimBuild::color(colors[i]);
|
||||||
PrimBuild::vertex2i( r, t + y_inc );
|
PrimBuild::vertex2i(r, t);
|
||||||
PrimBuild::vertex2i( l, t + y_inc );
|
PrimBuild::color(colors[i + 1]);
|
||||||
|
PrimBuild::vertex2i(r, t + y_inc);
|
||||||
t += y_inc;
|
t += y_inc;
|
||||||
}
|
}
|
||||||
PrimBuild::end();
|
PrimBuild::end();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue