internal static ElmSharp.Wearable.CircleSurface GetSurface(this IVisualElementRenderer renderer) { if (null != renderer.Element) { Element element = renderer.Element; while (element != null) { if (element is CirclePage) { var circlePageRenderer = Platform.GetRenderer(element) as CirclePageRenderer; return(circlePageRenderer?.CircleSurface); } foreach (var effect in element.Effects) { if (effect is TizenCircleSurfaceEffect) { return(CircleSurfaceEffectBehavior.GetSurface(element) as ElmSharp.Wearable.CircleSurface); } } element = element.Parent; } } throw new CircleSurfaceNotFoundException(); }
internal static CircleSurface GetSurfaceRecursively(Element element) { while (element != null) { if (element is CirclePage) { var circlePageRenderer = Platform.GetRenderer(element) as CirclePageRenderer; return(circlePageRenderer?.CircleSurface); } foreach (var effect in element.Effects) { if (effect is TizenCircleSurfaceEffect) { return(CircleSurfaceEffectBehavior.GetSurface(element) as CircleSurface); } } element = element.Parent; } return(null); }