public Rect CalcSize(XdObjectJson xdObject, Rect rect) { var clipPath = xdObject.Meta.Ux.ClipPathResources.Children[0]; var shapeRect = ShapeObjectParser.CalcSize(clipPath); shapeRect.position += new Vector2(clipPath.Transform?.Tx ?? 0f, clipPath.Transform?.Ty ?? 0f); return(shapeRect); }
public (IComponent[], IAsset[]) Render(XdObjectJson xdObject, Obb obb, XdAssetHolder assetHolder) { var(imageComponent, assets) = ShapeObjectParser.RenderImage(xdObject, obb, assetHolder); IComponent scrollbar = new VerticalScrollbarComponent(imageComponent); if (xdObject.HasParameter("horizontal")) { scrollbar = new HorizontalScrollbarComponent(imageComponent); } return(new[] { scrollbar }, assets); }
public (IComponent[], IAsset[]) Render(XdObjectJson xdObject, XdAssetHolder assetHolder, IObbGetter obbGetter) { var obb = obbGetter.Get(xdObject); var clipPath = xdObject.Meta.Ux.ClipPathResources.Children[0]; if (SvgUtil.IsAlphaOnly(clipPath)) { return(new IComponent[] { }, new IAsset[] { }); } var(imageComponent, assets) = ShapeObjectParser.RenderImage(clipPath, obb, assetHolder); return(new IComponent[] { new MaskComponent(imageComponent.Sprite) }, assets); }
public bool Is(XdObjectJson xdObject, XdObjectJson[] parents) { var isLinkedElement = new[] { xdObject }.Concat(parents).Any(x => { var hasParameter = x.HasParameter("vector"); return(hasParameter); }); bool IsShapeOnly(XdObjectJson x) { if (x.Type != "group" && !ShapeObjectParser.Is(x)) { return(false); } return((x.Group?.Children ?? new XdObjectJson[] { }).All(IsShapeOnly)); } return(isLinkedElement && IsShapeOnly(xdObject)); }
public bool Is(XdObjectJson xdObject) { return(xdObject.NameEndsWith("scrollbar") && ShapeObjectParser.Is(xdObject)); }
public Rect CalcSize(XdObjectJson xdObject) { return(ShapeObjectParser.CalcSize(xdObject)); }
public bool Is(XdObjectJson xdObject) { var shapeObjectParser = new ShapeObjectParser(); return(xdObject.NameEndsWith("scrollbar") && shapeObjectParser.Is(xdObject)); }
public Rect CalcSize(XdObjectJson xdObject) { var shapeObjectParser = new ShapeObjectParser(); return(shapeObjectParser.CalcSize(xdObject)); }