3 writes to _syncData
PresentationCore (3)
System\Windows\Media\Animation\Clock.cs (1)
616_syncData = new SyncData(this); // CanSlip clocks keep themselves synced
System\Windows\Media\Animation\ClockGroup.cs (2)
141_syncData = new SyncData(child); 142child._syncData = null; // The child will no longer self-sync
66 references to _syncData
PresentationCore (66)
System\Windows\Media\Animation\Clock.cs (59)
1174_syncData?.IsInSyncPeriod = false; // Reset sync tracking 1827(_syncData == null || !_syncData.IsInSyncPeriod)) 2663if (_syncData != null && _syncData.IsInSyncPeriod && !_syncData.SyncClockHasReachedEffectiveDuration) 2855_syncData?.SyncClockDiscontinuousEvent = true; // Notify the syncing node of discontinuity 2896if (_syncData != null && _syncData.IsInSyncPeriod && _parent.CurrentState != ClockState.Stopped) // We are already in a slip zone 2922if (_syncData != null && !_syncData.IsInSyncPeriod && _parent.CurrentState != ClockState.Stopped && 3159Debug.Assert(_syncData.SyncClock == this || _syncData.SyncClock._parent == this); 3162Debug.Assert(_syncData != null); 3163Debug.Assert(!_syncData.IsInSyncPeriod); 3178if (_syncData.SyncClock == this || previewCurrentTimeLT >= _syncData.SyncClockBeginTime) 3191TimeSpan ourSyncTimeST = (_syncData.SyncClock == this) ? 3193MultiplyTimeSpan(previewCurrentTimeLT - _syncData.SyncClockBeginTime, 3194_syncData.SyncClockSpeedRatio); 3196TimeSpan? syncClockEffectiveDurationST = _syncData.SyncClockEffectiveDuration; 3197if (_syncData.SyncClock == this || 3201Duration syncClockDuration = _syncData.SyncClockResolvedDuration; 3205_syncData.PreviousSyncClockTime = TimeSpan.FromTicks(ourSyncTimeST.Ticks % syncClockDuration.TimeSpan.Ticks); 3206_syncData.PreviousRepeatTime = ourSyncTimeST - _syncData.PreviousSyncClockTime; 3210_syncData.PreviousSyncClockTime = ourSyncTimeST; 3211_syncData.PreviousRepeatTime = TimeSpan.Zero; 3222_syncData.IsInSyncPeriod = true; 3228TimeSpan? previousSyncParentTimeSPT = (_syncData.SyncClock == this) ? 3233|| _syncData.SyncClockDiscontinuousEvent 3234|| previousSyncParentTimeSPT.Value <= _syncData.SyncClockBeginTime) 3242if (_syncData.SyncClock != this) // SyncClock is our child; account for SyncClock starting later than us 3244timeIntoSyncPeriodPT -= DivideTimeSpan(_syncData.SyncClockBeginTime, _appliedSpeedRatio); 3262_syncData.IsInSyncPeriod = true; 3263_syncData.PreviousSyncClockTime = TimeSpan.Zero; 3264_syncData.PreviousRepeatTime = TimeSpan.Zero; 3265_syncData.SyncClockDiscontinuousEvent = false; 3285Debug.Assert(_syncData != null); 3286Debug.Assert(_syncData.IsInSyncPeriod); 3289Debug.Assert(_syncData.SyncClock == this || _syncData.SyncClock._parent == this); 3308TimeSpan syncTimeST = _syncData.SyncClock.GetCurrentTimeCore(); 3309TimeSpan syncElapsedTimeST = syncTimeST - _syncData.PreviousSyncClockTime; // Elapsed from last tick 3315TimeSpan? effectiveDurationST = _syncData.SyncClockEffectiveDuration; 3316Duration syncDuration = _syncData.SyncClockResolvedDuration; 3319(_syncData.PreviousRepeatTime + syncTimeST >= effectiveDurationST.Value)) 3321_syncData.IsInSyncPeriod = false; // This is the last time we need to sync 3322_syncData.PreviousRepeatTime = TimeSpan.Zero; 3323_syncData.SyncClockDiscontinuousEvent = false; // Make sure we don't reenter the sync period 3334_syncData.PreviousSyncClockTime = TimeSpan.Zero; 3335_syncData.PreviousRepeatTime += syncDuration.TimeSpan; 3339_syncData.PreviousSyncClockTime = syncTimeST; 3348TimeSpan syncElapsedTimeLT = (_syncData.SyncClock == this) 3350: DivideTimeSpan(syncElapsedTimeST, _syncData.SyncClockSpeedRatio); 3388if (current._syncData != null) 3390current._syncData.IsInSyncPeriod = false; 3391current._syncData.SyncClockDiscontinuousEvent = true; 3821_syncData?.UpdateClockBeginTime();
System\Windows\Media\Animation\ClockGroup.cs (7)
345bool bufferingSlipNode = (_syncData != null // This variable makes sure that our slip node completes as needed 346&& _syncData.IsInSyncPeriod 347&& !_syncData.SyncClockHasReachedEffectiveDuration); 368if (bufferingSlipNode && _syncData.SyncClock == this) 439if (child._syncData != null) 442child._syncData.IsInSyncPeriod = false; 443child._syncData.UpdateClockBeginTime(); // Apply effects of realigning