// this is just a simple test input file

module g {
	@int int;
};

module Gtk {
	@int Type;
};

module Gimp{
		class Object;
		class Layer;
		class Drawable;
		class Image;
		enum ImageType;
		enum ChannelType;
		enum BaseType;
};


module Gimp;

enum ImageType{
	rgb, rgba, gray, graya, indexed, indexeda
};
enum ChannelType{
	red, green, blue, gray, indexed, auxillary
};
enum BaseType{
		rgb, gray, indexed
};

class Image : Object{
	read-only g.int width;
	read-only g.int height;
	g.int num-cols;
	read-only BaseType base-type;
	read-write g.int foobar;
	Layer* active-layer;
	Layer* floating-sel;
	public static Image* new(g.int width,
				 g.int height,
				 BaseType base-type);
	public void add-layer(Layer* l);
	public static g.int foo-1(Layer* x);
	public direct g.int foo-2(Layer* x);
	public abstract void foo-3(g.int x);
	public pre-emit void foo-4(g.int x) const;
	public post-emit void foo-5(g.int x, Drawable**& n, Image* z);
};
