Ver Fonte

canvas3d: add commited event

dsehnal há 4 anos atrás
pai
commit
ee6c2e0841
1 ficheiros alterados com 5 adições e 1 exclusões
  1. 5 1
      src/mol-canvas3d/canvas3d.ts

+ 5 - 1
src/mol-canvas3d/canvas3d.ts

@@ -47,7 +47,7 @@ export const Canvas3DParams = {
             on: PD.Group(StereoCameraParams),
             on: PD.Group(StereoCameraParams),
             off: PD.Group({})
             off: PD.Group({})
         }, { cycle: true, hideIf: p => p?.mode !== 'perspective' }),
         }, { cycle: true, hideIf: p => p?.mode !== 'perspective' }),
-        manualReset: PD.Boolean(false, { isHidden: true })
+        manualReset: PD.Boolean(false, { isHidden: true }),
     }, { pivot: 'mode' }),
     }, { pivot: 'mode' }),
     cameraFog: PD.MappedStatic('on', {
     cameraFog: PD.MappedStatic('on', {
         on: PD.Group({
         on: PD.Group({
@@ -117,6 +117,7 @@ interface Canvas3D {
 
 
     notifyDidDraw: boolean,
     notifyDidDraw: boolean,
     readonly didDraw: BehaviorSubject<now.Timestamp>
     readonly didDraw: BehaviorSubject<now.Timestamp>
+    readonly commited: BehaviorSubject<now.Timestamp>
     readonly reprCount: BehaviorSubject<number>
     readonly reprCount: BehaviorSubject<number>
     readonly resized: BehaviorSubject<any>
     readonly resized: BehaviorSubject<any>
 
 
@@ -218,6 +219,7 @@ namespace Canvas3D {
 
 
         let startTime = now();
         let startTime = now();
         const didDraw = new BehaviorSubject<now.Timestamp>(0 as now.Timestamp);
         const didDraw = new BehaviorSubject<now.Timestamp>(0 as now.Timestamp);
+        const commited = new BehaviorSubject<now.Timestamp>(0 as now.Timestamp);
 
 
         const { gl, contextRestored } = webgl;
         const { gl, contextRestored } = webgl;
 
 
@@ -391,6 +393,7 @@ namespace Canvas3D {
                     draw(true);
                     draw(true);
                     forceDrawAfterAllCommited = false;
                     forceDrawAfterAllCommited = false;
                 }
                 }
+                commited.next(now());
             }
             }
         }
         }
 
 
@@ -616,6 +619,7 @@ namespace Canvas3D {
             get notifyDidDraw() { return notifyDidDraw; },
             get notifyDidDraw() { return notifyDidDraw; },
             set notifyDidDraw(v: boolean) { notifyDidDraw = v; },
             set notifyDidDraw(v: boolean) { notifyDidDraw = v; },
             didDraw,
             didDraw,
+            commited,
             reprCount,
             reprCount,
             resized,
             resized,
             setProps: (properties, doNotRequestDraw = false) => {
             setProps: (properties, doNotRequestDraw = false) => {