sk_paint_break_text() private method

private sk_paint_break_text ( IntPtr t, IntPtr text, IntPtr length, float maxWidth, float &measuredWidth ) : IntPtr
t System.IntPtr
text IntPtr
length IntPtr
maxWidth float
measuredWidth float
return IntPtr
Ejemplo n.º 1
0
 public long BreakText(byte[] text, float maxWidth, out float measuredWidth)
 {
     if (text == null)
     {
         throw new ArgumentNullException(nameof(text));
     }
     return((long)SkiaApi.sk_paint_break_text(Handle, text, (IntPtr)text.Length, maxWidth, out measuredWidth));
 }
Ejemplo n.º 2
0
        public long BreakText(IntPtr buffer, IntPtr length, float maxWidth, out float measuredWidth)
        {
            if (buffer == IntPtr.Zero)
            {
                throw new ArgumentNullException(nameof(buffer));
            }

            return((long)SkiaApi.sk_paint_break_text(Handle, buffer, length, maxWidth, out measuredWidth));
        }
Ejemplo n.º 3
0
        public long BreakText(string text, float maxWidth, out float measuredWidth)
        {
            if (text == null)
            {
                throw new ArgumentNullException("text");
            }
            var bytes = Util.GetEncodedText(text, TextEncoding);

            return((long)SkiaApi.sk_paint_break_text(Handle, bytes, (IntPtr)bytes.Length, maxWidth, out measuredWidth));
        }
Ejemplo n.º 4
0
        public long BreakText(string text, float maxWidth, out float measuredWidth, out string measuredText)
        {
            if (text == null)
            {
                throw new ArgumentNullException(nameof(text));
            }
            var bytes      = StringUtilities.GetEncodedText(text, TextEncoding);
            var byteLength = (int)SkiaApi.sk_paint_break_text(Handle, bytes, (IntPtr)bytes.Length, maxWidth, out measuredWidth);

            if (byteLength == 0)
            {
                measuredText = String.Empty;
                return(0);
            }
            if (byteLength == bytes.Length)
            {
                measuredText = text;
                return(text.Length);
            }
            measuredText = StringUtilities.GetString(bytes, 0, byteLength, TextEncoding);
            return(measuredText.Length);
        }