void RegenerateBoundaries(GUIBase_Label label, Vector3 position, Vector3 lossyScale)
    {
        if (label == null)
        {
            return;
        }

        Vector3 topLeft = label.GetLeftUpPos(position, m_Width, m_Height, lossyScale);
        float   width   = m_Width * lossyScale.x;
        float   height  = m_Height * lossyScale.y;

        m_Position   = position;
        m_LossyScale = lossyScale;

        m_Boundaries.x      = topLeft.x;
        m_Boundaries.y      = topLeft.y;
        m_Boundaries.width  = width;
        m_Boundaries.height = height;

        label.Boundaries = m_Boundaries;
    }