internal static extern void cairo_glyph_extents(IntPtr cr, IntPtr glyphs, int num_glyphs, out TextExtents extents);
public TextExtents GlyphExtents(Glyph[] glyphs) { IntPtr ptr = FromGlyphToUnManagedMemory(glyphs); TextExtents extents; NativeMethods.cairo_glyph_extents(state, ptr, glyphs.Length, out extents); Marshal.FreeHGlobal(ptr); return(extents); }