/* Generated by GOB (v2.0.18)   (do not edit directly) */

#include <glib.h>
#include <glib-object.h>
#ifndef __GGOBI_RENDERER_CAIRO_H__
#define __GGOBI_RENDERER_CAIRO_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


 /* only use cairo when GTK+ 2.8.0 or higher installed */
  #include <gtk/gtk.h>
  #if GTK_CHECK_VERSION(2,8,0)



  #include "ggobi-renderer.h"
  #include <cairo/cairo.h>


/*
 * Type checking and casting macros
 */
#define GGOBI_TYPE_RENDERER_CAIRO	(ggobi_renderer_cairo_get_type())
#define GGOBI_RENDERER_CAIRO(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_renderer_cairo_get_type(), GGobiRendererCairo)
#define GGOBI_RENDERER_CAIRO_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_renderer_cairo_get_type(), GGobiRendererCairo const)
#define GGOBI_RENDERER_CAIRO_CLASS(klass)	G_TYPE_CHECK_CLASS_CAST((klass), ggobi_renderer_cairo_get_type(), GGobiRendererCairoClass)
#define GGOBI_IS_RENDERER_CAIRO(obj)	G_TYPE_CHECK_INSTANCE_TYPE((obj), ggobi_renderer_cairo_get_type ())

#define GGOBI_RENDERER_CAIRO_GET_CLASS(obj)	G_TYPE_INSTANCE_GET_CLASS((obj), ggobi_renderer_cairo_get_type(), GGobiRendererCairoClass)

/* Private structure type */
typedef struct _GGobiRendererCairoPrivate GGobiRendererCairoPrivate;

/*
 * Main object structure
 */
#ifndef __TYPEDEF_GGOBI_RENDERER_CAIRO__
#define __TYPEDEF_GGOBI_RENDERER_CAIRO__
typedef struct _GGobiRendererCairo GGobiRendererCairo;
#endif
struct _GGobiRendererCairo {
	GGobiRenderer __parent__;
	/*< private >*/
	GGobiRendererCairoPrivate *_priv;
};

/*
 * Class definition
 */
typedef struct _GGobiRendererCairoClass GGobiRendererCairoClass;
struct _GGobiRendererCairoClass {
	GGobiRendererClass __parent__;
	cairo_t * (* create_cairo) (GGobiRendererCairo * self, GdkDrawable * target);
};


/*
 * Public methods
 */
GType	ggobi_renderer_cairo_get_type	(void) G_GNUC_CONST;
#line 32 "renderer-cairo.gob"
cairo_t * 	ggobi_renderer_cairo_get_cairo	(GGobiRendererCairo * self);
#line 67 "ggobi-renderer-cairo.h"
#line 25 "renderer-cairo.gob"
void 	ggobi_renderer_cairo_set_cairo	(GGobiRendererCairo * self,
					cairo_t * val);
#line 71 "ggobi-renderer-cairo.h"

/*
 * Argument wrapping macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define GGOBI_RENDERER_CAIRO_PROP_CAIRO(arg)    	"cairo", __extension__ ({cairo_t * z = (arg); z;})
#define GGOBI_RENDERER_CAIRO_GET_PROP_CAIRO(arg)	"cairo", __extension__ ({cairo_t * *z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define GGOBI_RENDERER_CAIRO_PROP_CAIRO(arg)    	"cairo",(cairo_t * )(arg)
#define GGOBI_RENDERER_CAIRO_GET_PROP_CAIRO(arg)	"cairo",(cairo_t * *)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */



  #endif


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
