#include "IoState.h"
#include "IoObject.h"

IoObject *IoCairo_proto(void *state);
IoObject *IoCairoContext_proto(void *state);
IoObject *IoCairoExtents_proto(void *state);
IoObject *IoCairoFontExtents_proto(void *state);
IoObject *IoCairoFontFace_proto(void *state);
IoObject *IoCairoFontOptions_proto(void *state);
IoObject *IoCairoGlyph_proto(void *state);
IoObject *IoCairoGradient_proto(void *state);
IoObject *IoCairoImageSurface_proto(void *state);
IoObject *IoCairoLinearGradient_proto(void *state);
IoObject *IoCairoMatrix_proto(void *state);
IoObject *IoCairoPath_proto(void *state);
IoObject *IoCairoPathElement_proto(void *state);
IoObject *IoCairoPattern_proto(void *state);
IoObject *IoCairoRadialGradient_proto(void *state);
IoObject *IoCairoRectangle_proto(void *state);
IoObject *IoCairoScaledFont_proto(void *state);
IoObject *IoCairoSolidPattern_proto(void *state);
IoObject *IoCairoSurface_proto(void *state);
IoObject *IoCairoSurfacePattern_proto(void *state);
IoObject *IoCairoTextExtents_proto(void *state);
void IoCairo_fileSurfacesInit(void *context);

void IoCairoInit(IoObject *context)
{
	IoState *self = IoObject_state((IoObject *)context);

	IoObject_setSlot_to_(context, SIOSYMBOL("Cairo"), IoCairo_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoContext"), IoCairoContext_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoExtents"), IoCairoExtents_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoFontExtents"), IoCairoFontExtents_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoFontFace"), IoCairoFontFace_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoFontOptions"), IoCairoFontOptions_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoGlyph"), IoCairoGlyph_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoGradient"), IoCairoGradient_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoImageSurface"), IoCairoImageSurface_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoLinearGradient"), IoCairoLinearGradient_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoMatrix"), IoCairoMatrix_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoPath"), IoCairoPath_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoPathElement"), IoCairoPathElement_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoPattern"), IoCairoPattern_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoRadialGradient"), IoCairoRadialGradient_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoRectangle"), IoCairoRectangle_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoScaledFont"), IoCairoScaledFont_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoSolidPattern"), IoCairoSolidPattern_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoSurface"), IoCairoSurface_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoSurfacePattern"), IoCairoSurfacePattern_proto(self));

	IoObject_setSlot_to_(context, SIOSYMBOL("CairoTextExtents"), IoCairoTextExtents_proto(self));

	IoCairo_fileSurfacesInit(context);
}
