*/}}
소스 검색

Better color picker display

Yiming Wu 2 년 전
부모
커밋
681b390189
1개의 변경된 파일15개의 추가작업 그리고 10개의 파일을 삭제
  1. 15 10
      resources/la_widgets.c

+ 15 - 10
resources/la_widgets.c

@@ -534,11 +534,11 @@ void la_IntDraw(laUiItem *ui, int h){
         if(IsIcon){
             sprintf(buf, "%lc", laGetInt(&ui->PP));
         }else{
-            buf[0] = L'\0'; 
+            buf[0] = '\0'; buf2[0] = '\0';
+            if(Len==1){ strcat(buf2, transLate(ui->PP.LastPs->p->Name)); }
+            if(i<8)strcat(Len==1?buf:buf2, &prefix[i]);
             strPrintIntAfter(buf, 48, Data[i]);
             strAppend(buf, ui->PP.LastPs->p->Unit ? transLate(ui->PP.LastPs->p->Unit) : "");
-            buf2[0] = L'\0'; if(Len==1){ strcat(buf2, transLate(ui->PP.LastPs->p->Name)); }
-            if(i<8)strcat(buf2, &prefix[i]);
         }
 
         if (ui->Extra && ui->Extra->On == i + 1){
@@ -617,10 +617,11 @@ void la_FloatDraw(laUiItem *ui, int h){
             _L = ui->L + i * Seg; _R=_L+Seg;
         }
 
-        buf[0] = L'\0'; if(i<8)strcat(buf, &prefix[i]);
+        buf[0] = '\0'; buf2[0] = '\0';
+        if(Len==1){ strcat(buf2, transLate(ui->PP.LastPs->p->Name)); }
+        if(i<8)strcat(Len==1?buf:buf2, &prefix[i]);
         strPrintFloatAfter(buf, 48, 3, IsRad?deg(Data[i]):Data[i]);
         strAppend(buf, ui->PP.LastPs->p->Unit ? transLate(ui->PP.LastPs->p->Unit) : "");
-        buf2[0] = L'\0'; if(Len==1){ strcat(buf2, transLate(ui->PP.LastPs->p->Name)); }
 
         if (ui->Extra && ui->Extra->On == i + 1){
             Original = ui->State;
@@ -1075,14 +1076,16 @@ void la_ColorCircleDrawHCY(laUiItem *ui, int h){
 
     tnsFlush();
 
-    int isClay=ui->Flags&LA_UI_FLAGS_COLOR_SPACE_CLAY;
+    int IsClay=ui->Flags&LA_UI_FLAGS_COLOR_SPACE_CLAY;
+    int ShowInfo=0;
 
-    if(MAIN.CurrentWindow->OutputColorSpace!=TNS_COLOR_SPACE_SRGB && (!isClay)){
+    if(MAIN.CurrentWindow->OutputColorSpace!=TNS_COLOR_SPACE_SRGB && (!IsClay)){
         tnsUniformShowColorOverflowStripes(T->immShader,1);
     }
 
-    if(isClay){
+    if(IsClay){
         tnsUniformInputColorSpace(T->immShader,TNS_COLOR_SPACE_CLAY);
+        if(MAIN.CurrentWindow->OutputColorSpace!=TNS_COLOR_SPACE_CLAY) ShowInfo=1;
     }else{
         tnsUniformInputColorSpace(T->immShader,TNS_COLOR_SPACE_SRGB);
     }
@@ -1148,8 +1151,10 @@ void la_ColorCircleDrawHCY(laUiItem *ui, int h){
     tnsVertexArray2d(verts, 16);
     tnsPackAs(GL_LINE_LOOP);
 
-    if(ui->Extra->HeightCoeff>=0)
-        tnsDrawStringAuto("◿",laThemeColor(bt,LA_BT_BORDER),ui->R-LA_RH, ui->R, ui->B-bt->BM-LA_RH, LA_TEXT_ALIGN_CENTER);
+    if(ui->Extra->HeightCoeff>=0) tnsDrawStringAuto("◿",laThemeColor(bt,LA_BT_BORDER),ui->R-LA_RH, ui->R, ui->B-bt->BM-LA_RH, LA_TEXT_ALIGN_CENTER);
+
+    if(IsClay) tnsDrawStringAuto("Clay",laThemeColor(bt,LA_BT_BORDER),ui->L, c-r+LA_RH, ui->U+bt->TM, LA_TEXT_ALIGN_RIGHT|LA_TEXT_MONO);
+    if(ShowInfo) tnsDrawStringAuto("🛈",laThemeColor(bt,LA_BT_TEXT),c-r, ui->R, ui->B-bt->BM-LA_RH, LA_TEXT_ALIGN_LEFT);
 
     tnsFlush();