|
@@ -718,6 +718,7 @@ void la_FloatArrayColorDraw(laUiItem *ui, int h){
|
|
|
laBoxedTheme *bt = (*ui->Type->Theme);
|
|
|
real Data[32];
|
|
|
int Len, i, Y = ui->U;
|
|
|
+ int IsColorful=ui->Flags&LA_UI_FLAGS_COLORFUL;
|
|
|
|
|
|
laGetFloatArray(&ui->PP, Data);
|
|
|
Len = laGetArrayLength(&ui->PP);
|
|
@@ -725,18 +726,26 @@ void la_FloatArrayColorDraw(laUiItem *ui, int h){
|
|
|
if(ui->PP.LastPs->p->Tag&LA_PROP_IS_LINEAR_SRGB){ tns2LogsRGB(Data); }
|
|
|
|
|
|
tnsUseNoTexture();
|
|
|
- tnsColor4d(Data[0], Data[1], Data[2], /*Len>3?Data[4]:*/ 1);
|
|
|
- tnsVertex2d(ui->L, Y);
|
|
|
- tnsVertex2d(ui->R, Y);
|
|
|
- tnsVertex2d(ui->R, Y + h);
|
|
|
- tnsVertex2d(ui->L, Y + h);
|
|
|
- tnsPackAs(GL_TRIANGLE_FAN);
|
|
|
+ if(IsColorful){
|
|
|
+ int sw=(ui->R-ui->L)/2;
|
|
|
+ tnsColor4d(Data[0], Data[1], Data[2], 1);
|
|
|
+ tnsVertex2d(ui->L, Y); tnsVertex2d(ui->L+sw, Y);
|
|
|
+ tnsVertex2d(ui->L+sw, Y + h); tnsVertex2d(ui->L, Y + h);
|
|
|
+ tnsPackAs(GL_TRIANGLE_FAN);
|
|
|
+ tnsColor4d(Data[0], Data[1], Data[2], Len>3?Data[3]:1);
|
|
|
+ tnsVertex2d(ui->L+sw, Y); tnsVertex2d(ui->R, Y);
|
|
|
+ tnsVertex2d(ui->R, Y + h); tnsVertex2d(ui->L+sw, Y + h);
|
|
|
+ tnsUseHalftone(1.0); tnsPackAs(GL_TRIANGLE_FAN); tnsUseHalftone(0.0);
|
|
|
+ }else{
|
|
|
+ tnsColor4d(Data[0], Data[1], Data[2], 1);
|
|
|
+ tnsVertex2d(ui->L, Y); tnsVertex2d(ui->R, Y);
|
|
|
+ tnsVertex2d(ui->R, Y + h); tnsVertex2d(ui->L, Y + h);
|
|
|
+ tnsPackAs(GL_TRIANGLE_FAN);
|
|
|
+ }
|
|
|
|
|
|
tnsColor4dv(laThemeColor(bt,LA_BT_BORDER));
|
|
|
- tnsVertex2d(ui->L, Y);
|
|
|
- tnsVertex2d(ui->R, Y);
|
|
|
- tnsVertex2d(ui->R, Y + h);
|
|
|
- tnsVertex2d(ui->L, Y + h);
|
|
|
+ tnsVertex2d(ui->L, Y); tnsVertex2d(ui->R, Y);
|
|
|
+ tnsVertex2d(ui->R, Y + h); tnsVertex2d(ui->L, Y + h);
|
|
|
tnsPackAs(GL_LINE_LOOP);
|
|
|
|
|
|
tnsFlush();
|