/// <summary> /// layout controls in OpenGL canvas.( /// Updates absolute and relative (location and size) of specified node and its children nodes. /// <para>This coordinate system is shown as below.</para> /// <para> /\ y</para> /// <para> |</para> /// <para> |</para> /// <para> |</para> /// <para> |</para> /// <para> |</para> /// <para> |----------------->x</para> /// <para>(0, 0)</para> /// </summary> /// <param name="node"></param> public static void Layout(GLControl node) { if (node == null) { return; } var layoutEvent = node; bool cancelTreeLayout = layoutEvent.DoBeforeLayout(); var parent = node.Parent; if ((parent != null) && (!cancelTreeLayout)) { NonRootNodeLayout(node, parent); } layoutEvent.DoAfterLayout(); node.UpdateAbsoluteLocation(); foreach (var item in node.Children) { GLControl.Layout(item); } if (parent != null) { node.parentLastWidth = parent.width; node.parentLastHeight = parent.height; } }
private static void Layout(GLControl control) { if (control != null) { control.Layout(); foreach (var item in control.Children) { GUILayoutAction.Layout(item); } } }
/// <summary> /// /// </summary> /// <param name="param"></param> public override void Act(ActionParams param) { GLControl.Layout(this.Scene.RootControl); }
/// <summary> /// /// </summary> public override void Act() { GLControl.Layout(this.Scene.RootControl); }