Пример #1
0
        public Pango.GlyphString Copy()
        {
            IntPtr raw_ret = pango_glyph_string_copy(Handle);

            Pango.GlyphString ret = raw_ret == IntPtr.Zero ? null : (Pango.GlyphString)GLib.Opaque.GetOpaque(raw_ret, typeof(Pango.GlyphString), true);
            return(ret);
        }
Пример #2
0
        private void InternalDrawGlyphs(Pango.Font font, Pango.GlyphString glyphs, int x, int y)
        {
            DrawGlyphsNativeDelegate unmanaged = class_abi.BaseOverride <DrawGlyphsNativeDelegate>(this.LookupGType(), "draw_glyphs");

            if (unmanaged == null)
            {
                return;
            }

            unmanaged(this.Handle, font == null ? IntPtr.Zero : font.Handle, glyphs == null ? IntPtr.Zero : glyphs.Handle, x, y);
        }
Пример #3
0
        private void InternalDrawGlyphs(Pango.Font font, Pango.GlyphString glyphs, int x, int y)
        {
            DrawGlyphsNativeDelegate unmanaged = null;

            unsafe {
                IntPtr *raw_ptr = (IntPtr *)(((long)this.LookupGType().GetThresholdType().GetClassPtr()) + (long)class_abi.GetFieldOffset("draw_glyphs"));
                unmanaged = (DrawGlyphsNativeDelegate)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DrawGlyphsNativeDelegate));
            }
            if (unmanaged == null)
            {
                return;
            }

            unmanaged(this.Handle, font == null ? IntPtr.Zero : font.Handle, glyphs == null ? IntPtr.Zero : glyphs.Handle, x, y);
        }
Пример #4
0
 public void DrawGlyphs(Pango.Font font, Pango.GlyphString glyphs, int x, int y)
 {
     pango_renderer_draw_glyphs(Handle, font == null ? IntPtr.Zero : font.Handle, glyphs == null ? IntPtr.Zero : glyphs.Handle, x, y);
 }
Пример #5
0
 protected virtual void OnDrawGlyphs(Pango.Font font, Pango.GlyphString glyphs, int x, int y)
 {
     InternalDrawGlyphs(font, glyphs, x, y);
 }
Пример #6
0
        public static void ShapeFull(string item_text, string paragraph_text, Pango.Analysis analysis, Pango.GlyphString glyphs)
        {
            IntPtr native_item_text      = GLib.Marshaller.StringToPtrGStrdup(item_text);
            IntPtr native_paragraph_text = GLib.Marshaller.StringToPtrGStrdup(paragraph_text);
            IntPtr native_analysis       = GLib.Marshaller.StructureToPtrAlloc(analysis);

            pango_shape_full(native_item_text, System.Text.Encoding.UTF8.GetByteCount(item_text), native_paragraph_text, System.Text.Encoding.UTF8.GetByteCount(paragraph_text), native_analysis, glyphs == null ? IntPtr.Zero : glyphs.Handle);
            GLib.Marshaller.Free(native_item_text);
            GLib.Marshaller.Free(native_paragraph_text);
            Marshal.FreeHGlobal(native_analysis);
        }
Пример #7
0
 public static void GlyphStringPath(Cairo.Context cr, Pango.Font font, Pango.GlyphString glyphs)
 {
     pango_cairo_glyph_string_path(cr == null ? IntPtr.Zero : cr.Handle, font == null ? IntPtr.Zero : font.Handle, glyphs == null ? IntPtr.Zero : glyphs.Handle);
 }