Example #1
0
        static GtkHeaderBarClass GetClassStruct(GLib.GType gtype, bool use_cache)
        {
            if (class_structs == null)
            {
                class_structs = new Dictionary <GLib.GType, GtkHeaderBarClass> ();
            }

            if (use_cache && class_structs.ContainsKey(gtype))
            {
                return(class_structs [gtype]);
            }
            else
            {
                IntPtr            class_ptr    = new IntPtr(gtype.GetClassPtr().ToInt64() + class_offset);
                GtkHeaderBarClass class_struct = (GtkHeaderBarClass)Marshal.PtrToStructure(class_ptr, typeof(GtkHeaderBarClass));
                if (use_cache)
                {
                    class_structs.Add(gtype, class_struct);
                }
                return(class_struct);
            }
        }
Example #2
0
        static void OverrideClassStruct(GLib.GType gtype, GtkHeaderBarClass class_struct)
        {
            IntPtr class_ptr = new IntPtr(gtype.GetClassPtr().ToInt64() + class_offset);

            Marshal.StructureToPtr(class_struct, class_ptr, false);
        }