/// <summary><para> /// Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier /// control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger /// in some situations (like when rotating an outline which contains Bézier outside arcs). /// </para><para> /// Computing the control box is very fast, while getting the bounding box can take much more time as it needs /// to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component /// which is dedicated to this single task. /// </para></summary> /// <remarks>See <see cref="Glyph.GetCBox"/> for a discussion of tricky fonts.</remarks> /// <returns>The outline's control box.</returns> public BBox GetCBox() { if (disposed) { throw new ObjectDisposedException("Outline", "Cannot access a disposed object."); } BBox cbox; FT.FT_Outline_Get_CBox(reference, out cbox); return(cbox); }
/// <summary><para> /// Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier /// control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger /// in some situations (like when rotating an outline which contains Bézier outside arcs). /// </para><para> /// Computing the control box is very fast, while getting the bounding box can take much more time as it needs /// to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component /// which is dedicated to this single task. /// </para></summary> /// <remarks>See <see cref="Glyph.GetCBox"/> for a discussion of tricky fonts.</remarks> /// <returns>The outline's control box.</returns> public BBox GetCBox() { FT.FT_Outline_Get_CBox(Reference, out BBox cbox); return(cbox); }