*/}}
Procházet zdrojové kódy

Prevent esc freezing and value matter point fix

YimingWu před 1 týdnem
rodič
revize
add82453a8
1 změnil soubory, kde provedl 7 přidání a 6 odebrání
  1. 7 6
      resources/la_widgets.c

+ 7 - 6
resources/la_widgets.c

@@ -1558,16 +1558,17 @@ void la_MapperDraw(laUiItem *ui, int h){
 
     laValueMapper* vm=ui->PP.EndInstance;
 
-    tnsColor4dv(laAccentColor(LA_BT_TEXT)); tnsLineWidth(2);tnsPointSize(5);
+    tnsColor4dv(laAccentColor(LA_BT_TEXT)); tnsLineWidth(2);
     for(laValueMapperPoint* vmp=vm->Points.pFirst;vmp;vmp=vmp->Item.pNext){
         tnsVertex2d(tnsInterpolate(ui->L,ui->R,vmp->x),tnsInterpolate(ui->B,ui->U,vmp->y));
     } tnsPackAs(GL_LINE_STRIP);
 
     for(laValueMapperPoint* vmp=vm->Points.pFirst;vmp;vmp=vmp->Item.pNext){
-        tnsVertex2d(tnsInterpolate(ui->L,ui->R,vmp->x),tnsInterpolate(ui->B,ui->U,vmp->y));
-    } tnsPackAs(GL_POINTS);
+        real px=tnsInterpolate(ui->L,ui->R,vmp->x), py=tnsInterpolate(ui->B,ui->U,vmp->y); real ps=(real)LA_RH/10.0f; if(ps<2.0f) ps=2.0f;
+        la_DrawBorder(px-ps,px+ps,py-ps,py+ps);
+    }
 
-    tnsLineWidth(1);tnsPointSize(1);
+    tnsLineWidth(1);
 }
 void la_ImageDraw(laUiItem *ui, int h){
     laBoxedTheme *bt = (*ui->Type->Theme);
@@ -2522,7 +2523,7 @@ int OPMOD_IntArrayHorizon(laOperator *a, laEvent *e){
                 laRecordAndPushProp(&ui->PP,0); laMarkPropChanged(&ui->PP);
                 laRedrawCurrentPanel();
             }elif(e->key==LA_KEY_ESCAPE){
-                ui->State = LA_UI_NORMAL; uit->Dragging = 0; uit->On = 0;
+                ui->State = LA_UI_NORMAL; uit->Dragging = 0; uit->On = 0; strEndEdit(&uit->Edit, 1); laRedrawCurrentPanel();
                 la_DisplayKeyboard(0);
             }
         }
@@ -2670,7 +2671,7 @@ int OPMOD_FloatArrayHorizon(laOperator *a, laEvent *e){
                 laRecordAndPushProp(&ui->PP,0); laMarkPropChanged(&ui->PP);
                 laRedrawCurrentPanel();
             }elif(e->key==LA_KEY_ESCAPE){
-                ui->State = LA_UI_NORMAL; uit->Dragging = 0; uit->On = 0;
+                ui->State = LA_UI_NORMAL; uit->Dragging = 0; uit->On = 0; strEndEdit(&uit->Edit, 1); laRedrawCurrentPanel();
                 la_DisplayKeyboard(0);
             }
         }