void Widget::Render(RenderTarget& target, RenderQueue& queue) const { OnPaint(target, queue); if (mUseScissor) { Area& area = ResourceManager::Get()->WidgetArea; area.PushArea(GetRect(true)); const FloatRect& top = area.GetTopArea(); target.Flush(); RenderChildren(target, queue); queue.SetScissor(true, Vector2f(top.Left, target.GetHeight() - top.Bottom), Vector2f(top.GetSize().x, top.GetSize().y)); target.Flush(); area.PopArea(); } else { queue.SetScissor(false); RenderChildren(target, queue); } }