private bool ShouldSerializeImagePadding() { return(!ImagePadding.Equals(Padding.Empty)); }
public bool Equals(AllocationParams other) { return(true && Flags.Equals(other.Flags) && Align.Equals(other.Align) && Prefix.Equals(other.Prefix) && Padding.Equals(other.Padding)); }
private bool ShouldSerializeContentPadding() { return(!ContentPadding.Equals(Padding.Empty)); }
private bool ShouldSerializeTitlePadding() { return(!TitlePadding.Equals(Padding.Empty)); }
void SetButtonMode() { if (Icon != null && Text.Length > 0) { mode = ButtonMode.IconWithText; } else if (Icon != null && Text.Length == 0) { mode = ButtonMode.IconOnly; } else if (Icon == null && Text.Length > 0) { mode = ButtonMode.TextOnly; } switch (mode) { case ButtonMode.IconOnly: ContainerContent.HorizontalOptions = LayoutOptions.Fill; Grid.SetColumnSpan(ButtonIcon, 2); Grid.SetColumn(ButtonText, 1); ButtonText.IsVisible = false; if (Padding.Equals(new Thickness(-1))) { Padding = new Thickness(HeightRequest * .3, HeightRequest * .3); } break; case ButtonMode.IconWithText: ContainerContent.HorizontalOptions = LayoutOptions.Center; switch (IconOrientation) { case IconOrientation.Left: FirstColumn.Width = new GridLength(1, GridUnitType.Star); SecondColumn.Width = GridLength.Auto; Grid.SetColumn(ButtonIcon, 0); Grid.SetColumnSpan(ButtonIcon, 1); Grid.SetColumn(ButtonText, 1); break; case IconOrientation.Right: FirstColumn.Width = GridLength.Auto; SecondColumn.Width = new GridLength(1, GridUnitType.Star); Grid.SetColumn(ButtonIcon, 1); Grid.SetColumnSpan(ButtonIcon, 1); Grid.SetColumn(ButtonText, 0); break; } ButtonText.IsVisible = true; if (Padding.Equals(new Thickness(-1))) { Padding = new Thickness(HeightRequest * .1, HeightRequest * .3); } break; case ButtonMode.TextOnly: ContainerContent.HorizontalOptions = LayoutOptions.Center; Grid.SetColumnSpan(ButtonIcon, 1); Grid.SetColumn(ButtonText, 0); ButtonText.IsVisible = true; if (Padding.Equals(new Thickness(-1))) { Padding = new Thickness(0); } break; } }
public string Canonicalize() { var sb = StringBuilderCache.Aquire(); sb.Append("blob#" + Source.Key); if (Expires != null) { sb.Append("|>expires("); sb.Append(new DateTimeOffset(Expires.Value).ToUnixTimeSeconds()); sb.Append(')'); } if (Encode.Format == FormatId.Json && Metadata != null) { sb.Append("|>"); Metadata.WriteTo(sb); sb.Append("|>"); Encode.WriteTo(sb); return(sb.ToString()); } if (Extract is ExtractFilter extract) { sb.Append("|>"); // frame | page | timestamp sb.Append(extract.ToString()); } if (Background != null) { sb.Append("|>background("); sb.Append(Background); sb.Append(')'); } if (Flip != null) { sb.Append("|>"); Flip.WriteTo(sb); } if (Rotate != 0) { sb.Append("|>rotate("); sb.Append(Rotate); sb.Append("deg)"); } if (Crop is Rectangle crop) { sb.Append("|>"); sb.Append($"crop({crop.X},{crop.Y},{crop.Width},{crop.Height})"); } if (Scale != null) { sb.Append("|>"); Scale.WriteTo(sb); } // pad(0,0) if (!Padding.Equals(Padding.Zero)) { sb.Append("|>"); sb.Append("pad("); sb.Append(Padding.ToString()); sb.Append(")"); } foreach (var filter in Filters) { sb.Append("|>"); if (filter is ICanonicalizable canonicalizable) { canonicalizable.WriteTo(sb); } else { sb.Append(filter.Canonicalize()); } } sb.Append("|>"); Encode.WriteTo(sb); if (IsDebug) { sb.Append("|>debug"); } return(StringBuilderCache.ExtractAndRelease(sb)); }
public string ToTransformPath() { if (Encode == null) { throw new Exception("Missing Encode"); } var sb = StringBuilderCache.Aquire(); if (Expires != null) { sb.Append('/'); sb.Append("expires("); sb.Append(new DateTimeOffset(Expires.Value).ToUnixTimeSeconds()); sb.Append(')'); } if (Encode.Format == FormatId.Json && Metadata != null) { sb.Append('/'); Metadata.WriteTo(sb); sb.Append(".json"); return(sb.ToString()); } if (Extract is ExtractFilter extract) { sb.Append('/'); // page | timestamp | frame | poster sb.Append(extract.ToString()); } if (Background != null) { sb.Append('/'); sb.Append("background("); sb.Append(Background); sb.Append(')'); } if (Flip != null) { sb.Append('/'); Flip.WriteTo(sb); } // TODO: Orient... if (Rotate != 0) { sb.Append('/'); sb.Append("rotate("); sb.Append(Rotate); sb.Append("deg)"); } if (Crop is Rectangle crop) { sb.Append('/'); sb.Append($"crop({crop.X},{crop.Y},{crop.Width},{crop.Height})"); } if (Scale != null) { sb.Append('/'); sb.Append(Scale.Width); sb.Append('x'); sb.Append(Scale.Height); } // pad(0,0) if (!Padding.Equals(Padding.Zero)) { sb.Append('/'); sb.Append("pad("); sb.Append(Padding.ToString()); sb.Append(")"); } foreach (var filter in Filters) { sb.Append('/'); if (filter is ICanonicalizable canonicalizable) { canonicalizable.WriteTo(sb); } else { sb.Append(filter.Canonicalize()); } } if (Encode.Flags.HasFlag(EncodeFlags.Lossless)) { sb.Append('/'); sb.Append("lossless"); } else if (Encode.Quality != null) { sb.Append('/'); sb.Append("quality("); sb.Append(Encode.Quality.Value); sb.Append(')'); } sb.Append('.'); sb.Append(Encode.Format.ToString().ToLower()); return(StringBuilderCache.ExtractAndRelease(sb).Substring(1)); }