context: // This file was generated by the Gtk# code generator.
  // Any changes made will be lost if regenerated.
  
  namespace Pango {
  
  	using System;
  	using System.Collections;
  	using System.Collections.Generic;
  	using System.Runtime.InteropServices;
  
  #region Autogenerated code
  	public partial class FontDescription : GLib.Opaque {
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern bool pango_font_description_better_match(IntPtr raw, IntPtr old_match, IntPtr new_match);
  
  		public bool BetterMatch(Pango.FontDescription old_match, Pango.FontDescription new_match) {
  			bool raw_ret = pango_font_description_better_match(Handle, old_match == null ? IntPtr.Zero : old_match.Handle, new_match == null ? IntPtr.Zero : new_match.Handle);
  			bool ret = raw_ret;
  			return ret;
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_copy(IntPtr raw);
  
  		public Pango.FontDescription Copy() {
  			IntPtr raw_ret = pango_font_description_copy(Handle);
  			Pango.FontDescription ret = raw_ret == IntPtr.Zero ? null : (Pango.FontDescription) GLib.Opaque.GetOpaque (raw_ret, typeof (Pango.FontDescription), true);
  			return ret;
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_copy_static(IntPtr raw);
  
  		public Pango.FontDescription CopyStatic() {
  			IntPtr raw_ret = pango_font_description_copy_static(Handle);
  			Pango.FontDescription ret = raw_ret == IntPtr.Zero ? null : (Pango.FontDescription) GLib.Opaque.GetOpaque (raw_ret, typeof (Pango.FontDescription), true);
  			return ret;
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern bool pango_font_description_equal(IntPtr raw, IntPtr desc2);
  
  		public bool Equal(Pango.FontDescription desc2) {
  			bool raw_ret = pango_font_description_equal(Handle, desc2 == null ? IntPtr.Zero : desc2.Handle);
  			bool ret = raw_ret;
  			return ret;
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_from_string(IntPtr str);
  
  		public static Pango.FontDescription FromString(string str) {
  			IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
  			IntPtr raw_ret = pango_font_description_from_string(native_str);
  			Pango.FontDescription ret = raw_ret == IntPtr.Zero ? null : (Pango.FontDescription) GLib.Opaque.GetOpaque (raw_ret, typeof (Pango.FontDescription), true);
  			GLib.Marshaller.Free (native_str);
  			return ret;
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_get_family(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_family(IntPtr raw, IntPtr family);
  
  		public string Family { 
  			get {
  				IntPtr raw_ret = pango_font_description_get_family(Handle);
  				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
  				return ret;
  			}
  			set {
  				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
  				pango_font_description_set_family(Handle, native_value);
  				GLib.Marshaller.Free (native_value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_gravity(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_gravity(IntPtr raw, int gravity);
  
  		public Pango.Gravity Gravity { 
  			get {
  				int raw_ret = pango_font_description_get_gravity(Handle);
  				Pango.Gravity ret = (Pango.Gravity) raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_gravity(Handle, (int) value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_set_fields(IntPtr raw);
  
  		public Pango.FontMask SetFields { 
  			get {
  				int raw_ret = pango_font_description_get_set_fields(Handle);
  				Pango.FontMask ret = (Pango.FontMask) raw_ret;
  				return ret;
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_size(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_size(IntPtr raw, int size);
  
  		public int Size { 
  			get {
  				int raw_ret = pango_font_description_get_size(Handle);
  				int ret = raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_size(Handle, value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern bool pango_font_description_get_size_is_absolute(IntPtr raw);
  
  		public bool SizeIsAbsolute { 
  			get {
  				bool raw_ret = pango_font_description_get_size_is_absolute(Handle);
  				bool ret = raw_ret;
  				return ret;
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_stretch(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_stretch(IntPtr raw, int stretch);
  
  		public Pango.Stretch Stretch { 
  			get {
  				int raw_ret = pango_font_description_get_stretch(Handle);
  				Pango.Stretch ret = (Pango.Stretch) raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_stretch(Handle, (int) value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_style(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_style(IntPtr raw, int style);
  
  		public Pango.Style Style { 
  			get {
  				int raw_ret = pango_font_description_get_style(Handle);
  				Pango.Style ret = (Pango.Style) raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_style(Handle, (int) value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_get_type();
  
  		public static GLib.GType GType { 
  			get {
  				IntPtr raw_ret = pango_font_description_get_type();
  				GLib.GType ret = new GLib.GType(raw_ret);
  				return ret;
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_variant(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_variant(IntPtr raw, int variant);
  
  		public Pango.Variant Variant { 
  			get {
  				int raw_ret = pango_font_description_get_variant(Handle);
  				Pango.Variant ret = (Pango.Variant) raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_variant(Handle, (int) value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern int pango_font_description_get_weight(IntPtr raw);
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_weight(IntPtr raw, int weight);
  
  		public Pango.Weight Weight { 
  			get {
  				int raw_ret = pango_font_description_get_weight(Handle);
  				Pango.Weight ret = (Pango.Weight) raw_ret;
  				return ret;
  			}
  			set {
  				pango_font_description_set_weight(Handle, (int) value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern uint pango_font_description_hash(IntPtr raw);
  
  		public uint Hash { 
  			get {
  				uint raw_ret = pango_font_description_hash(Handle);
  				uint ret = raw_ret;
  				return ret;
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_merge(IntPtr raw, IntPtr desc_to_merge, bool replace_existing);
  
  		public void Merge(Pango.FontDescription desc_to_merge, bool replace_existing) {
  			pango_font_description_merge(Handle, desc_to_merge == null ? IntPtr.Zero : desc_to_merge.Handle, replace_existing);
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_merge_static(IntPtr raw, IntPtr desc_to_merge, bool replace_existing);
  
  		public void MergeStatic(Pango.FontDescription desc_to_merge, bool replace_existing) {
  			pango_font_description_merge_static(Handle, desc_to_merge == null ? IntPtr.Zero : desc_to_merge.Handle, replace_existing);
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_absolute_size(IntPtr raw, double size);
  
  		public double AbsoluteSize { 
  			set {
  				pango_font_description_set_absolute_size(Handle, value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern void pango_font_description_set_family_static(IntPtr raw, IntPtr family);
  
  		public string FamilyStatic { 
  			set {
  				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
  				pango_font_description_set_family_static(Handle, native_value);
  				GLib.Marshaller.Free (native_value);
  			}
  		}
  
  		[DllImport(NativeMethods.Pango, CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr pango_font_description_to_filename(IntPtr raw);
  
  		public string ToFilename() {
  			IntPtr raw_ret = pango_font_description_to_filename(Handle);
  
gt: 			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);