// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. namespace CPF.Razor { /// /// Utilities needed by the system to manage native controls. Implementations /// of native rendering systems have their own quirks in terms of dealing with /// parent/child relationships, so each must implement this given the constraints /// and requirements of their systems. /// public abstract class ElementManager { public abstract void AddChildElement(IElementHandler parentHandler, IElementHandler childHandler, int physicalSiblingIndex); public abstract int GetPhysicalSiblingIndex(IElementHandler handler); public abstract bool IsParented(IElementHandler handler); public abstract bool IsParentOfChild(IElementHandler parentHandler, IElementHandler childHandler); public abstract void RemoveElement(IElementHandler handler); } }