/// <summary> /// Invalidates draw matrix and autosize caches. /// </summary> /// <returns>If the invalidate was actually necessary.</returns> public virtual bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if (invalidation == Invalidation.None) { return(false); } OnInvalidate?.Invoke(); if (shallPropagate && Parent != null && source != Parent) { Parent.InvalidateFromChild(invalidation, this); } bool alreadyInvalidated = true; // Either ScreenSize OR ScreenPosition OR Colour if ((invalidation & (Invalidation.Geometry | Invalidation.Colour)) > 0) { if ((invalidation & Invalidation.SizeInParentSpace) > 0) { alreadyInvalidated &= !boundingSizeBacking.Invalidate(); } alreadyInvalidated &= !screenSpaceDrawQuadBacking.Invalidate(); alreadyInvalidated &= !drawInfoBacking.Invalidate(); } if (!alreadyInvalidated || (invalidation & Invalidation.DrawNode) > 0) { invalidationID = invalidationCounter.Increment(); } return(!alreadyInvalidated); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if (!base.Invalidate(invalidation, source, shallPropagate)) { return(false); } if (shallPropagate) { foreach (var c in children) { Debug.Assert(c != source); Invalidation childInvalidation = invalidation; if (c.RelativeSizeAxes == Axes.None) { childInvalidation = childInvalidation & ~Invalidation.SizeInParentSpace; } c.Invalidate(childInvalidation, this); } } return(true); }
protected override Invalidation InvalidationEffectByChildren(Invalidation childInvalidation) { if ((childInvalidation & (Invalidation.Visibility | Invalidation.Position | Invalidation.SizeInParentSpace)) > 0) { return(Invalidation.Position | Invalidation.SizeInParentSpace); } return(base.InvalidationEffectByChildren(childInvalidation)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.SizeInParentSpace) > 0) { layout.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override void InvalidateFromChild(Invalidation invalidation) { if ((invalidation & Invalidation.RequiredParentSizeToFit) > 0) { menuWidth.Invalidate(); } base.InvalidateFromChild(invalidation); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.Colour) > 0 && Shadow) { layout.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
/// <summary> /// Creates a new <see cref="InvalidationList"/>. /// </summary> /// <param name="initialState">The initial invalidation state.</param> public InvalidationList(Invalidation initialState) { this = default; invalidate(ref selfInvalidation, initialState); invalidate(ref parentInvalidation, initialState); invalidate(ref childInvalidation, initialState); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.DrawSize) != 0) { applyPath(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override void InvalidateFromChild(Invalidation invalidation, Drawable source = null) { if ((invalidation & Invalidation.RequiredParentSizeToFit) > 0) { sizeCache.Invalidate(); } base.InvalidateFromChild(invalidation, source); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.Colour) > 0 && Shadow) { internalSize.Invalidate(); //we may need to recompute the shadow alpha if our text colour has changed (see shadowAlpha). } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & (Invalidation.ScreenSpaceQuad | Invalidation.Visibility)) > 0) { layout.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override void InvalidateFromChild(Invalidation invalidation, IDrawable source) { if ((invalidation & Invalidation.SizeInParentSpace) > 0) { layout.Invalidate(); } base.InvalidateFromChild(invalidation, source); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if (invalidation.HasFlag(Invalidation.Parent)) { PaddingCache.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.DrawSize) > 0) { flashlightProperties.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { t1.Text = (Padding.Top > 0 ? $"p{Padding.Top}" : string.Empty) + (Margin.Top > 0 ? $"m{Margin.Top}" : string.Empty); t2.Text = (Padding.Right > 0 ? $"p{Padding.Right}" : string.Empty) + (Margin.Right > 0 ? $"m{Margin.Right}" : string.Empty); t3.Text = (Padding.Bottom > 0 ? $"p{Padding.Bottom}" : string.Empty) + (Margin.Bottom > 0 ? $"m{Margin.Bottom}" : string.Empty); t4.Text = (Padding.Left > 0 ? $"p{Padding.Left}" : string.Empty) + (Margin.Left > 0 ? $"m{Margin.Left}" : string.Empty); return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.DrawSize) != 0) { graph.Height = DrawHeight - padding * 2 - primary_textsize - secondary_textsize * 2; } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.DrawSize) > 0) { subtractionCache.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & (Invalidation.RequiredParentSizeToFit | Invalidation.DrawInfo)) > 0) { initialStateCache.Invalidate(); } return(base.Invalidate(invalidation, source, shallPropagate)); }
protected override bool OnInvalidate(Invalidation invalidation, InvalidationSource source) { if (invalidation.HasFlagFast(Invalidation.DrawSize)) { headerTextVisibilityCache.Invalidate(); } return(base.OnInvalidate(invalidation, source)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if (!base.Invalidate(invalidation, source, shallPropagate)) { return(false); } return(true); }
private bool invalidate(ref Invalidation target, Invalidation flags) { if ((target & flags) == flags) { return(false); } target |= Trim(flags); return(true); }
private bool validate(ref Invalidation target, Invalidation flags) { if ((target & flags) == 0) { return(false); } target &= ~flags; return(true); }
public override void InvalidateFromChild(Invalidation invalidation) { //Colour captures potential changes in IsPresent. If this ever becomes a bottleneck, //Invalidation could be further separated into presence changes. if ((invalidation & (Invalidation.RequiredParentSizeToFit | Invalidation.Colour)) > 0) { InvalidateLayout(); } base.InvalidateFromChild(invalidation); }
protected override bool OnInvalidate(Invalidation invalidation, InvalidationSource source) { Sprite.X = Sprite.Y = /*outb + inb +*/ DrawWidth / 2 - Sprite.Width / 2; DarkBorderBox.X = DarkBorderBox.Y = OutBorder; DarkBorderBox.Width = DarkBorderBox.Height = BackgroundBox.DrawWidth - (OutBorder * 2); // Sprite.Width = Sprite.Height = DarkBorderBox.DrawWidth - (inb * 2); Width = Height = Sprite.Width + (OutBorder + InBorder) * 2; return(base.OnInvalidate(invalidation, source)); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.SizeInParentSpace) > 0) { autoSize.Invalidate(); } bool alreadyInvalidated = base.Invalidate(invalidation, source, shallPropagate); return(!alreadyInvalidated); }
public void Add(string order_id) { if (this.orders == null) { this.orders = new List <Invalidation>(); } var invalidation = new Invalidation(); invalidation.order_id = order_id; this.orders.Add(invalidation); }
protected override bool OnInvalidate(Invalidation invalidation, InvalidationSource source) { base.OnInvalidate(invalidation, source); t1.Text = (Padding.Top > 0 ? $"p{Padding.Top}" : string.Empty) + (Margin.Top > 0 ? $"m{Margin.Top}" : string.Empty); t2.Text = (Padding.Right > 0 ? $"p{Padding.Right}" : string.Empty) + (Margin.Right > 0 ? $"m{Margin.Right}" : string.Empty); t3.Text = (Padding.Bottom > 0 ? $"p{Padding.Bottom}" : string.Empty) + (Margin.Bottom > 0 ? $"m{Margin.Bottom}" : string.Empty); t4.Text = (Padding.Left > 0 ? $"p{Padding.Left}" : string.Empty) + (Margin.Left > 0 ? $"m{Margin.Left}" : string.Empty); return(true); }
protected override Invalidation InvalidationEffectByChildren(Invalidation childInvalidation) { if ((childInvalidation & (Invalidation.Visibility | Invalidation.ScreenSpaceQuad)) > 0) { return(Invalidation.ScreenSpaceQuad); } else { return(base.InvalidationEffectByChildren(childInvalidation)); } }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { var result = base.Invalidate(invalidation, source, shallPropagate); if ((invalidation & Invalidation.RequiredParentSizeToFit) > 0) { cancelGeneration(); } return(result); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { bool result = base.Invalidate(invalidation, source, shallPropagate); if ((invalidation & (Invalidation.DrawInfo | Invalidation.RequiredParentSizeToFit)) > 0) { cornerRadius.Invalidate(); } return(result); }
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if (!base.Invalidate(invalidation, source, shallPropagate)) return false; if (Parent != null) { Config.Set(OsuConfig.Width, DrawSize.X); Config.Set(OsuConfig.Height, DrawSize.Y); } return true; }
public SlideshowInvalidator(IInvalidator innerInvalidator, Invalidation invalidationCallback) { this.innerInvalidator = innerInvalidator; this.invalidationCallback = invalidationCallback; }