Merge branch 'master' into math_clamp

This commit is contained in:
Dan Balasescu 2019-11-21 11:08:56 +09:00 committed by GitHub
commit a7c074ff37
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 5 deletions

View File

@ -517,6 +517,12 @@ public FallbackSampleStore(ISampleStore primary, ISampleStore secondary)
public BindableDouble Frequency => throw new NotImplementedException(); public BindableDouble Frequency => throw new NotImplementedException();
public IBindable<double> AggregateVolume => throw new NotImplementedException();
public IBindable<double> AggregateBalance => throw new NotImplementedException();
public IBindable<double> AggregateFrequency => throw new NotImplementedException();
public int PlaybackConcurrency public int PlaybackConcurrency
{ {
get => throw new NotImplementedException(); get => throw new NotImplementedException();

View File

@ -452,9 +452,6 @@ protected override void Update()
if (!itemsCache.IsValid) if (!itemsCache.IsValid)
updateItems(); updateItems();
if (!scrollPositionCache.IsValid)
updateScrollPosition();
// Remove all items that should no longer be on-screen // Remove all items that should no longer be on-screen
scrollableContent.RemoveAll(p => p.Y < visibleUpperBound - p.DrawHeight || p.Y > visibleBottomBound || !p.IsPresent); scrollableContent.RemoveAll(p => p.Y < visibleUpperBound - p.DrawHeight || p.Y > visibleBottomBound || !p.IsPresent);
@ -519,6 +516,14 @@ protected override void Update()
updateItem(p); updateItem(p);
} }
protected override void UpdateAfterChildren()
{
base.UpdateAfterChildren();
if (!scrollPositionCache.IsValid)
updateScrollPosition();
}
protected override void Dispose(bool isDisposing) protected override void Dispose(bool isDisposing)
{ {
base.Dispose(isDisposing); base.Dispose(isDisposing);
@ -637,9 +642,12 @@ void performMove(float y, float? startY = null)
private void updateScrollPosition() private void updateScrollPosition()
{ {
if (scrollTarget != null) scroll.ScrollTo(scrollTarget.Value); if (scrollTarget != null)
{
scroll.ScrollTo(scrollTarget.Value);
scrollPositionCache.Validate(); scrollPositionCache.Validate();
} }
}
/// <summary> /// <summary>
/// Computes the x-offset of currently visible items. Makes the carousel appear round. /// Computes the x-offset of currently visible items. Makes the carousel appear round.