Memo for autogenerated sources.

The defs file will be the way.  But for now, I can't find reliable
source of defs file for gtk-2.0 and so I take my own.

[Source]

   h2stub.scm  - A quick hacked generation script.
   pango-lib.hints, gdk-lib.hints, gtk-lib.hints
               - Scheme files that is loaded by h2stub.scm to correct
                 stuff that h2stub.scm couldn't make out from parsing
                 C header files.

[Generated files]

   gtk-lib.h   - Contains decls of Scheme wrapper classes of Gtk objects.
   gtk-lib.inits - A C code fragment that calls initialization routines
                 of autogenerated stuff.  Included from gauche-gtk.c.
   gtk-lib.types - A fragment of stub file that specifies stub type
                 definitions.  This is included from every autogenerated
                 stub files.
   *.stub      - All stub files except gauche-*.stub



[Type mapping strategy]

There seem to be three categories in Gtk objects.

 (1) The object that inherit GObject

   In Scheme world, this is encapsulated by ScmGObject.
   (So there's no individual struct definition).
   Type query is done with help of Gtk type system.

 (2) The object that doesn't inherit GObject, but does it's own
     ref counting.

   In Scheme world, a wrapper structure is defined,
   which keeps a pointer to the real structure.

 (3) The helper structure that doesn't do ref counting at all.

   This object is designed mostly for transient operation.
   In Scheme world, a structure that contains the whole
   original struct is defined.






