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

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

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



  #include <gdk/gdk.h>


/*
 * Type checking and casting macros
 */
#define GGOBI_TYPE_RENDERER	(ggobi_renderer_get_type())
#define GGOBI_RENDERER(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_renderer_get_type(), GGobiRenderer)
#define GGOBI_RENDERER_CONST(obj)	G_TYPE_CHECK_INSTANCE_CAST((obj), ggobi_renderer_get_type(), GGobiRenderer const)
#define GGOBI_RENDERER_CLASS(klass)	G_TYPE_CHECK_CLASS_CAST((klass), ggobi_renderer_get_type(), GGobiRendererClass)
#define GGOBI_IS_RENDERER(obj)	G_TYPE_CHECK_INSTANCE_TYPE((obj), ggobi_renderer_get_type ())

#define GGOBI_RENDERER_GET_CLASS(obj)	G_TYPE_INSTANCE_GET_CLASS((obj), ggobi_renderer_get_type(), GGobiRendererClass)

/* Private structure type */
typedef struct _GGobiRendererPrivate GGobiRendererPrivate;

/*
 * Main object structure
 */
#ifndef __TYPEDEF_GGOBI_RENDERER__
#define __TYPEDEF_GGOBI_RENDERER__
typedef struct _GGobiRenderer GGobiRenderer;
#endif
struct _GGobiRenderer {
	GdkDrawable __parent__;
	/*< private >*/
	GGobiRendererPrivate *_priv;
};

/*
 * Class definition
 */
typedef struct _GGobiRendererClass GGobiRendererClass;
struct _GGobiRendererClass {
	GdkDrawableClass __parent__;
	GdkDrawable * (* create_target) (GGobiRenderer * self, GdkDrawable * parent);
	GGobiRenderer * (* buffer) (GGobiRenderer * self);
	void (* flush) (GGobiRenderer * self, GdkGC * gc, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height);
};


/*
 * Public methods
 */
GType	ggobi_renderer_get_type	(void) G_GNUC_CONST;
#line 50 "renderer.gob"
GGobiRenderer * 	ggobi_renderer_buffer	(GGobiRenderer * self);
#line 63 "ggobi-renderer.h"
#line 57 "renderer.gob"
void 	ggobi_renderer_flush	(GGobiRenderer * self,
					GdkGC * gc,
					gint xsrc,
					gint ysrc,
					gint xdest,
					gint ydest,
					gint width,
					gint height);
#line 73 "ggobi-renderer.h"

/*
 * Argument wrapping macros
 */
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#define GGOBI_RENDERER_PROP_PARENT(arg)    	"parent", __extension__ ({GObject *z = (arg); z;})
#define GGOBI_RENDERER_GET_PROP_PARENT(arg)	"parent", __extension__ ({GObject **z = (arg); z;})
#else /* __GNUC__ && !__STRICT_ANSI__ */
#define GGOBI_RENDERER_PROP_PARENT(arg)    	"parent",(GObject *)(arg)
#define GGOBI_RENDERER_GET_PROP_PARENT(arg)	"parent",(GObject **)(arg)
#endif /* __GNUC__ && !__STRICT_ANSI__ */


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
