public override void Draw(Action <TexturedVertex2D> vertexAction) { updateQuadBatch(); // Prefer to use own vertex batch instead of the parent-owned one. if (quadBatch != null) { vertexAction = quadBatch.AddAction; } base.Draw(vertexAction); drawEdgeEffect(); if (maskingInfo != null) { MaskingInfo info = maskingInfo.Value; if (info.BorderThickness > 0) { info.BorderColour = ColourInfo.Multiply(info.BorderColour, DrawColourInfo.Colour); } GLWrapper.PushMaskingInfo(info); } if (Children != null) { for (int i = 0; i < Children.Count; i++) { Children[i].Draw(vertexAction); } } if (maskingInfo != null) { GLWrapper.PopMaskingInfo(); } }