*/}}
Browse Source

Wacom twist on windows.

YimingWu 11 months ago
parent
commit
5c952d708b
3 changed files with 13 additions and 8 deletions
  1. 6 6
      la_animation.c
  2. 5 2
      la_kernel.c
  3. 2 0
      la_tns_mesh.c

+ 6 - 6
la_animation.c

@@ -362,12 +362,6 @@ int la_ActionSaveKeyOriginalAt(laAction* aa){
     }
     return any;
 }
-void la_ActionRestoreKeyOriginalAt(laAction* aa){
-    for(laActionChannel* ac=aa->Channels.pFirst;ac;ac=ac->Item.pNext){
-        for(laActionKey* ak=ac->Keys.pFirst;ak;ak=ak->Item.pNext){ if(!ak->Selected) continue; ak->At=ak->OriginaAt; }
-    }
-    la_ActionEnsureFrameOrder(aa);
-}
 void la_ActionEnsureFrameOrder(laAction* aa){
     for(laActionChannel* ac=aa->Channels.pFirst;ac;ac=ac->Item.pNext){
         laListHandle lst={0};
@@ -382,6 +376,12 @@ void la_ActionEnsureFrameOrder(laAction* aa){
         lstCopyHandle(&ac->Keys,&lst);
     }
 }
+void la_ActionRestoreKeyOriginalAt(laAction* aa) {
+    for (laActionChannel* ac = aa->Channels.pFirst; ac; ac = ac->Item.pNext) {
+        for (laActionKey* ak = ac->Keys.pFirst; ak; ak = ak->Item.pNext) { if (!ak->Selected) continue; ak->At = ak->OriginaAt; }
+    }
+    la_ActionEnsureFrameOrder(aa);
+}
 void la_ActionRemoveDuplicatedFrames(laAction* aa){
     for(laActionChannel* ac=aa->Channels.pFirst;ac;ac=ac->Item.pNext){
         laActionKey* ak2; for(laActionKey* ak=ac->Keys.pFirst;ak;ak=ak->Item.pNext){

+ 5 - 2
la_kernel.c

@@ -799,7 +799,7 @@ int laGetReadyWith(laInitArguments* ia){
     wt.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
     if (!RegisterClassExW(&wt)) return 0;
     
-    MAIN.GLMajor=MAIN.GLMajor<0?GLMajor:3; MAIN.GLMinor=MAIN.GLMinor<0?GLMinor:3; MAIN.BufferSamples=BufferSamples;
+    MAIN.GLMajor=MAIN.InitArgs.GLMajor; MAIN.GLMinor=MAIN.InitArgs.GLMinor; MAIN.BufferSamples=MAIN.InitArgs.BufferSamples;
     logPrint("Chosen OpenGL version %d.%d\n", MAIN.GLMajor, MAIN.GLMinor);
 
     SetProcessDPIAware();
@@ -6760,7 +6760,10 @@ LRESULT CALLBACK LA_WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
             MAIN.StylusPressure = (real)pkt.pkNormalPressure/MAIN.WinTabMaxPenPressure;
             real angle = (real)pkt.pkOrientation.orAzimuth / 3600*TNS_PI*2+TNS_PI/2;
             MAIN.StylusOrientation = angle; MAIN.StylusDeviation=rad((90.0f-(real)pkt.pkOrientation.orAltitude/10.0f));
-            //printf("%f %f\n",angle,MAIN.StylusDeviation);
+            real tw=(real)pkt.pkOrientation.orTwist; tw=rad(tw/10);
+            MAIN.StylusTwist = tw;
+            MAIN.EraserDeviation=MAIN.StylusDeviation;MAIN.EraserOrientation=MAIN.StylusOrientation;
+            MAIN.EraserPressure=MAIN.StylusPressure;
             MAIN.IsPen = 1; MAIN.PointerIsEraser=((pkt.pkStatus & TPS_INVERT)==TPS_INVERT);
         }
         break;

+ 2 - 0
la_tns_mesh.c

@@ -21,6 +21,8 @@
 
 extern tnsMain *T;
 
+void tnsMMeshClearFirstLastSelection(tnsMeshObject* mo);
+
 void tnsPrintMeshTopology(tnsMeshObject*mo){
     for(tnsMVert* mv=mo->mv.pFirst;mv;mv=mv->Item.pNext){ printf("%d ",mv->i); } printf("\n");
     for(tnsMEdge* me=mo->me.pFirst;me;me=me->Item.pNext){ printf("%d-%d ",me->vl->i,me->vr->i); } printf("\n");