/* This file is automatically generated. Any changes made here will be lost. */

/* This header defines simple perlapi-ish macros for creating SV wrappers
 * and extracting the GPerl value from SV wrappers.  These macros are used
 * by the autogenerated typemaps, and are defined here so that you can use
 * the same logic anywhere in your code (e.g., if you handle the argument
 * stack by hand instead of using the typemap). */

#ifdef GOO_TYPE_CANVAS
  /* GtkObject derivative GooCanvas */
# define SvGooCanvas(sv)	((GooCanvas*)gperl_get_object_check (sv, GOO_TYPE_CANVAS))
# define newSVGooCanvas(val)	(gtk2perl_new_gtkobject (GTK_OBJECT (val)))
  typedef GooCanvas GooCanvas_ornull;
# define SvGooCanvas_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvas(sv) : NULL)
# define newSVGooCanvas_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gtk2perl_new_gtkobject (GTK_OBJECT (val)))
#endif /* GOO_TYPE_CANVAS */

#ifdef GOO_TYPE_CANVAS_ELLIPSE
  /* GObject derivative GooCanvasEllipse */
# define SvGooCanvasEllipse(sv)	((GooCanvasEllipse*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ELLIPSE))
# define newSVGooCanvasEllipse(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasEllipse GooCanvasEllipse_ornull;
# define SvGooCanvasEllipse_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasEllipse(sv) : NULL)
# define newSVGooCanvasEllipse_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasEllipse GooCanvasEllipse_noinc;
#define newSVGooCanvasEllipse_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasEllipse GooCanvasEllipse_noinc_ornull;
#define newSVGooCanvasEllipse_noinc_ornull(val)	((val) ? newSVGooCanvasEllipse_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ELLIPSE */

#ifdef GOO_TYPE_CANVAS_ELLIPSE_MODEL
  /* GObject derivative GooCanvasEllipseModel */
# define SvGooCanvasEllipseModel(sv)	((GooCanvasEllipseModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ELLIPSE_MODEL))
# define newSVGooCanvasEllipseModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasEllipseModel GooCanvasEllipseModel_ornull;
# define SvGooCanvasEllipseModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasEllipseModel(sv) : NULL)
# define newSVGooCanvasEllipseModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasEllipseModel GooCanvasEllipseModel_noinc;
#define newSVGooCanvasEllipseModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasEllipseModel GooCanvasEllipseModel_noinc_ornull;
#define newSVGooCanvasEllipseModel_noinc_ornull(val)	((val) ? newSVGooCanvasEllipseModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ELLIPSE_MODEL */

#ifdef GOO_TYPE_CANVAS_ANIMATE_TYPE
  /* GEnum GooCanvasAnimateType */
# define SvGooCanvasAnimateType(sv)	((GooCanvasAnimateType)gperl_convert_enum (GOO_TYPE_CANVAS_ANIMATE_TYPE, sv))
# define newSVGooCanvasAnimateType(val)	(gperl_convert_back_enum (GOO_TYPE_CANVAS_ANIMATE_TYPE, val))
#endif /* GOO_TYPE_CANVAS_ANIMATE_TYPE */

#ifdef GOO_TYPE_CANVAS_POINTER_EVENTS
  /* GFlags GooCanvasPointerEvents */
# define SvGooCanvasPointerEvents(sv)	((GooCanvasPointerEvents)gperl_convert_flags (GOO_TYPE_CANVAS_POINTER_EVENTS, sv))
# define newSVGooCanvasPointerEvents(val)	(gperl_convert_back_flags (GOO_TYPE_CANVAS_POINTER_EVENTS, val))
#endif /* GOO_TYPE_CANVAS_POINTER_EVENTS */

#ifdef GOO_TYPE_CANVAS_ITEM_VISIBILITY
  /* GEnum GooCanvasItemVisibility */
# define SvGooCanvasItemVisibility(sv)	((GooCanvasItemVisibility)gperl_convert_enum (GOO_TYPE_CANVAS_ITEM_VISIBILITY, sv))
# define newSVGooCanvasItemVisibility(val)	(gperl_convert_back_enum (GOO_TYPE_CANVAS_ITEM_VISIBILITY, val))
#endif /* GOO_TYPE_CANVAS_ITEM_VISIBILITY */

#ifdef GOO_TYPE_CANVAS_PATH_COMMAND_TYPE
  /* GEnum GooCanvasPathCommandType */
# define SvGooCanvasPathCommandType(sv)	((GooCanvasPathCommandType)gperl_convert_enum (GOO_TYPE_CANVAS_PATH_COMMAND_TYPE, sv))
# define newSVGooCanvasPathCommandType(val)	(gperl_convert_back_enum (GOO_TYPE_CANVAS_PATH_COMMAND_TYPE, val))
#endif /* GOO_TYPE_CANVAS_PATH_COMMAND_TYPE */

#ifdef GOO_TYPE_CANVAS_GROUP
  /* GObject derivative GooCanvasGroup */
# define SvGooCanvasGroup(sv)	((GooCanvasGroup*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_GROUP))
# define newSVGooCanvasGroup(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasGroup GooCanvasGroup_ornull;
# define SvGooCanvasGroup_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasGroup(sv) : NULL)
# define newSVGooCanvasGroup_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasGroup GooCanvasGroup_noinc;
#define newSVGooCanvasGroup_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasGroup GooCanvasGroup_noinc_ornull;
#define newSVGooCanvasGroup_noinc_ornull(val)	((val) ? newSVGooCanvasGroup_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_GROUP */

#ifdef GOO_TYPE_CANVAS_GROUP_MODEL
  /* GObject derivative GooCanvasGroupModel */
# define SvGooCanvasGroupModel(sv)	((GooCanvasGroupModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_GROUP_MODEL))
# define newSVGooCanvasGroupModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasGroupModel GooCanvasGroupModel_ornull;
# define SvGooCanvasGroupModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasGroupModel(sv) : NULL)
# define newSVGooCanvasGroupModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasGroupModel GooCanvasGroupModel_noinc;
#define newSVGooCanvasGroupModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasGroupModel GooCanvasGroupModel_noinc_ornull;
#define newSVGooCanvasGroupModel_noinc_ornull(val)	((val) ? newSVGooCanvasGroupModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_GROUP_MODEL */

#ifdef GOO_TYPE_CANVAS_IMAGE
  /* GObject derivative GooCanvasImage */
# define SvGooCanvasImage(sv)	((GooCanvasImage*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_IMAGE))
# define newSVGooCanvasImage(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasImage GooCanvasImage_ornull;
# define SvGooCanvasImage_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasImage(sv) : NULL)
# define newSVGooCanvasImage_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasImage GooCanvasImage_noinc;
#define newSVGooCanvasImage_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasImage GooCanvasImage_noinc_ornull;
#define newSVGooCanvasImage_noinc_ornull(val)	((val) ? newSVGooCanvasImage_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_IMAGE */

#ifdef GOO_TYPE_CANVAS_IMAGE_MODEL
  /* GObject derivative GooCanvasImageModel */
# define SvGooCanvasImageModel(sv)	((GooCanvasImageModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_IMAGE_MODEL))
# define newSVGooCanvasImageModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasImageModel GooCanvasImageModel_ornull;
# define SvGooCanvasImageModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasImageModel(sv) : NULL)
# define newSVGooCanvasImageModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasImageModel GooCanvasImageModel_noinc;
#define newSVGooCanvasImageModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasImageModel GooCanvasImageModel_noinc_ornull;
#define newSVGooCanvasImageModel_noinc_ornull(val)	((val) ? newSVGooCanvasImageModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_IMAGE_MODEL */

#ifdef GOO_TYPE_CANVAS_ITEM
  /* GObject derivative GooCanvasItem */
# define SvGooCanvasItem(sv)	((GooCanvasItem*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ITEM))
# define newSVGooCanvasItem(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasItem GooCanvasItem_ornull;
# define SvGooCanvasItem_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasItem(sv) : NULL)
# define newSVGooCanvasItem_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasItem GooCanvasItem_noinc;
#define newSVGooCanvasItem_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasItem GooCanvasItem_noinc_ornull;
#define newSVGooCanvasItem_noinc_ornull(val)	((val) ? newSVGooCanvasItem_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ITEM */

#ifdef GOO_TYPE_CANVAS_ITEM_MODEL
  /* GObject derivative GooCanvasItemModel */
# define SvGooCanvasItemModel(sv)	((GooCanvasItemModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ITEM_MODEL))
# define newSVGooCanvasItemModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasItemModel GooCanvasItemModel_ornull;
# define SvGooCanvasItemModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasItemModel(sv) : NULL)
# define newSVGooCanvasItemModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasItemModel GooCanvasItemModel_noinc;
#define newSVGooCanvasItemModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasItemModel GooCanvasItemModel_noinc_ornull;
#define newSVGooCanvasItemModel_noinc_ornull(val)	((val) ? newSVGooCanvasItemModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ITEM_MODEL */

#ifdef GOO_TYPE_CANVAS_ITEM_SIMPLE
  /* GObject derivative GooCanvasItemSimple */
# define SvGooCanvasItemSimple(sv)	((GooCanvasItemSimple*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ITEM_SIMPLE))
# define newSVGooCanvasItemSimple(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasItemSimple GooCanvasItemSimple_ornull;
# define SvGooCanvasItemSimple_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasItemSimple(sv) : NULL)
# define newSVGooCanvasItemSimple_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasItemSimple GooCanvasItemSimple_noinc;
#define newSVGooCanvasItemSimple_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasItemSimple GooCanvasItemSimple_noinc_ornull;
#define newSVGooCanvasItemSimple_noinc_ornull(val)	((val) ? newSVGooCanvasItemSimple_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ITEM_SIMPLE */

#ifdef GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE
  /* GObject derivative GooCanvasItemModelSimple */
# define SvGooCanvasItemModelSimple(sv)	((GooCanvasItemModelSimple*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE))
# define newSVGooCanvasItemModelSimple(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasItemModelSimple GooCanvasItemModelSimple_ornull;
# define SvGooCanvasItemModelSimple_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasItemModelSimple(sv) : NULL)
# define newSVGooCanvasItemModelSimple_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasItemModelSimple GooCanvasItemModelSimple_noinc;
#define newSVGooCanvasItemModelSimple_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasItemModelSimple GooCanvasItemModelSimple_noinc_ornull;
#define newSVGooCanvasItemModelSimple_noinc_ornull(val)	((val) ? newSVGooCanvasItemModelSimple_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_ITEM_MODEL_SIMPLE */

#ifdef GOO_TYPE_CANVAS_PATH
  /* GObject derivative GooCanvasPath */
# define SvGooCanvasPath(sv)	((GooCanvasPath*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_PATH))
# define newSVGooCanvasPath(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasPath GooCanvasPath_ornull;
# define SvGooCanvasPath_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasPath(sv) : NULL)
# define newSVGooCanvasPath_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasPath GooCanvasPath_noinc;
#define newSVGooCanvasPath_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasPath GooCanvasPath_noinc_ornull;
#define newSVGooCanvasPath_noinc_ornull(val)	((val) ? newSVGooCanvasPath_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_PATH */

#ifdef GOO_TYPE_CANVAS_PATH_MODEL
  /* GObject derivative GooCanvasPathModel */
# define SvGooCanvasPathModel(sv)	((GooCanvasPathModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_PATH_MODEL))
# define newSVGooCanvasPathModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasPathModel GooCanvasPathModel_ornull;
# define SvGooCanvasPathModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasPathModel(sv) : NULL)
# define newSVGooCanvasPathModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasPathModel GooCanvasPathModel_noinc;
#define newSVGooCanvasPathModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasPathModel GooCanvasPathModel_noinc_ornull;
#define newSVGooCanvasPathModel_noinc_ornull(val)	((val) ? newSVGooCanvasPathModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_PATH_MODEL */

#ifdef GOO_TYPE_CANVAS_POINTS
  /* GBoxed GooCanvasPoints */
  typedef GooCanvasPoints GooCanvasPoints_ornull;
# define SvGooCanvasPoints(sv)	((GooCanvasPoints *) gperl_get_boxed_check ((sv), GOO_TYPE_CANVAS_POINTS))
# define SvGooCanvasPoints_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasPoints (sv) : NULL)
  typedef GooCanvasPoints GooCanvasPoints_own;
  typedef GooCanvasPoints GooCanvasPoints_copy;
  typedef GooCanvasPoints GooCanvasPoints_own_ornull;
# define newSVGooCanvasPoints(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CANVAS_POINTS, FALSE))
# define newSVGooCanvasPoints_ornull(val)	((val) ? newSVGooCanvasPoints(val) : &PL_sv_undef)
# define newSVGooCanvasPoints_own(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CANVAS_POINTS, TRUE))
# define newSVGooCanvasPoints_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GOO_TYPE_CANVAS_POINTS))
# define newSVGooCanvasPoints_own_ornull(val)	((val) ? newSVGooCanvasPoints_own(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_POINTS */

#ifdef GOO_TYPE_CANVAS_POLYLINE
  /* GObject derivative GooCanvasPolyline */
# define SvGooCanvasPolyline(sv)	((GooCanvasPolyline*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_POLYLINE))
# define newSVGooCanvasPolyline(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasPolyline GooCanvasPolyline_ornull;
# define SvGooCanvasPolyline_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasPolyline(sv) : NULL)
# define newSVGooCanvasPolyline_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasPolyline GooCanvasPolyline_noinc;
#define newSVGooCanvasPolyline_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasPolyline GooCanvasPolyline_noinc_ornull;
#define newSVGooCanvasPolyline_noinc_ornull(val)	((val) ? newSVGooCanvasPolyline_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_POLYLINE */

#ifdef GOO_TYPE_CANVAS_POLYLINE_MODEL
  /* GObject derivative GooCanvasPolylineModel */
# define SvGooCanvasPolylineModel(sv)	((GooCanvasPolylineModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_POLYLINE_MODEL))
# define newSVGooCanvasPolylineModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasPolylineModel GooCanvasPolylineModel_ornull;
# define SvGooCanvasPolylineModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasPolylineModel(sv) : NULL)
# define newSVGooCanvasPolylineModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasPolylineModel GooCanvasPolylineModel_noinc;
#define newSVGooCanvasPolylineModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasPolylineModel GooCanvasPolylineModel_noinc_ornull;
#define newSVGooCanvasPolylineModel_noinc_ornull(val)	((val) ? newSVGooCanvasPolylineModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_POLYLINE_MODEL */

#ifdef GOO_TYPE_CANVAS_RECT
  /* GObject derivative GooCanvasRect */
# define SvGooCanvasRect(sv)	((GooCanvasRect*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_RECT))
# define newSVGooCanvasRect(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasRect GooCanvasRect_ornull;
# define SvGooCanvasRect_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasRect(sv) : NULL)
# define newSVGooCanvasRect_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasRect GooCanvasRect_noinc;
#define newSVGooCanvasRect_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasRect GooCanvasRect_noinc_ornull;
#define newSVGooCanvasRect_noinc_ornull(val)	((val) ? newSVGooCanvasRect_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_RECT */

#ifdef GOO_TYPE_CANVAS_RECT_MODEL
  /* GObject derivative GooCanvasRectModel */
# define SvGooCanvasRectModel(sv)	((GooCanvasRectModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_RECT_MODEL))
# define newSVGooCanvasRectModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasRectModel GooCanvasRectModel_ornull;
# define SvGooCanvasRectModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasRectModel(sv) : NULL)
# define newSVGooCanvasRectModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasRectModel GooCanvasRectModel_noinc;
#define newSVGooCanvasRectModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasRectModel GooCanvasRectModel_noinc_ornull;
#define newSVGooCanvasRectModel_noinc_ornull(val)	((val) ? newSVGooCanvasRectModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_RECT_MODEL */

#ifdef GOO_TYPE_CANVAS_STYLE
  /* GObject derivative GooCanvasStyle */
# define SvGooCanvasStyle(sv)	((GooCanvasStyle*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_STYLE))
# define newSVGooCanvasStyle(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasStyle GooCanvasStyle_ornull;
# define SvGooCanvasStyle_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasStyle(sv) : NULL)
# define newSVGooCanvasStyle_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasStyle GooCanvasStyle_noinc;
#define newSVGooCanvasStyle_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasStyle GooCanvasStyle_noinc_ornull;
#define newSVGooCanvasStyle_noinc_ornull(val)	((val) ? newSVGooCanvasStyle_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_STYLE */

#ifdef GOO_TYPE_CANVAS_TABLE
  /* GObject derivative GooCanvasTable */
# define SvGooCanvasTable(sv)	((GooCanvasTable*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_TABLE))
# define newSVGooCanvasTable(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasTable GooCanvasTable_ornull;
# define SvGooCanvasTable_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasTable(sv) : NULL)
# define newSVGooCanvasTable_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasTable GooCanvasTable_noinc;
#define newSVGooCanvasTable_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasTable GooCanvasTable_noinc_ornull;
#define newSVGooCanvasTable_noinc_ornull(val)	((val) ? newSVGooCanvasTable_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_TABLE */

#ifdef GOO_TYPE_CANVAS_TABLE_MODEL
  /* GObject derivative GooCanvasTableModel */
# define SvGooCanvasTableModel(sv)	((GooCanvasTableModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_TABLE_MODEL))
# define newSVGooCanvasTableModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasTableModel GooCanvasTableModel_ornull;
# define SvGooCanvasTableModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasTableModel(sv) : NULL)
# define newSVGooCanvasTableModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasTableModel GooCanvasTableModel_noinc;
#define newSVGooCanvasTableModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasTableModel GooCanvasTableModel_noinc_ornull;
#define newSVGooCanvasTableModel_noinc_ornull(val)	((val) ? newSVGooCanvasTableModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_TABLE_MODEL */

#ifdef GOO_TYPE_CANVAS_TEXT
  /* GObject derivative GooCanvasText */
# define SvGooCanvasText(sv)	((GooCanvasText*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_TEXT))
# define newSVGooCanvasText(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasText GooCanvasText_ornull;
# define SvGooCanvasText_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasText(sv) : NULL)
# define newSVGooCanvasText_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasText GooCanvasText_noinc;
#define newSVGooCanvasText_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasText GooCanvasText_noinc_ornull;
#define newSVGooCanvasText_noinc_ornull(val)	((val) ? newSVGooCanvasText_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_TEXT */

#ifdef GOO_TYPE_CANVAS_TEXT_MODEL
  /* GObject derivative GooCanvasTextModel */
# define SvGooCanvasTextModel(sv)	((GooCanvasTextModel*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_TEXT_MODEL))
# define newSVGooCanvasTextModel(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasTextModel GooCanvasTextModel_ornull;
# define SvGooCanvasTextModel_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasTextModel(sv) : NULL)
# define newSVGooCanvasTextModel_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasTextModel GooCanvasTextModel_noinc;
#define newSVGooCanvasTextModel_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasTextModel GooCanvasTextModel_noinc_ornull;
#define newSVGooCanvasTextModel_noinc_ornull(val)	((val) ? newSVGooCanvasTextModel_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_TEXT_MODEL */

#ifdef GOO_TYPE_CANVAS_LINE_DASH
  /* GBoxed GooCanvasLineDash */
  typedef GooCanvasLineDash GooCanvasLineDash_ornull;
# define SvGooCanvasLineDash(sv)	((GooCanvasLineDash *) gperl_get_boxed_check ((sv), GOO_TYPE_CANVAS_LINE_DASH))
# define SvGooCanvasLineDash_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasLineDash (sv) : NULL)
  typedef GooCanvasLineDash GooCanvasLineDash_own;
  typedef GooCanvasLineDash GooCanvasLineDash_copy;
  typedef GooCanvasLineDash GooCanvasLineDash_own_ornull;
# define newSVGooCanvasLineDash(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CANVAS_LINE_DASH, FALSE))
# define newSVGooCanvasLineDash_ornull(val)	((val) ? newSVGooCanvasLineDash(val) : &PL_sv_undef)
# define newSVGooCanvasLineDash_own(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CANVAS_LINE_DASH, TRUE))
# define newSVGooCanvasLineDash_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GOO_TYPE_CANVAS_LINE_DASH))
# define newSVGooCanvasLineDash_own_ornull(val)	((val) ? newSVGooCanvasLineDash_own(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_LINE_DASH */

#ifdef GOO_TYPE_CAIRO_MATRIX
  /* GBoxed GooCairoMatrix */
  typedef GooCairoMatrix GooCairoMatrix_ornull;
# define SvGooCairoMatrix(sv)	((GooCairoMatrix *) gperl_get_boxed_check ((sv), GOO_TYPE_CAIRO_MATRIX))
# define SvGooCairoMatrix_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCairoMatrix (sv) : NULL)
  typedef GooCairoMatrix GooCairoMatrix_own;
  typedef GooCairoMatrix GooCairoMatrix_copy;
  typedef GooCairoMatrix GooCairoMatrix_own_ornull;
# define newSVGooCairoMatrix(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CAIRO_MATRIX, FALSE))
# define newSVGooCairoMatrix_ornull(val)	((val) ? newSVGooCairoMatrix(val) : &PL_sv_undef)
# define newSVGooCairoMatrix_own(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CAIRO_MATRIX, TRUE))
# define newSVGooCairoMatrix_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GOO_TYPE_CAIRO_MATRIX))
# define newSVGooCairoMatrix_own_ornull(val)	((val) ? newSVGooCairoMatrix_own(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CAIRO_MATRIX */

#ifdef GOO_TYPE_CAIRO_PATTERN
  /* GBoxed GooCairoPattern */
  typedef GooCairoPattern GooCairoPattern_ornull;
# define SvGooCairoPattern(sv)	((GooCairoPattern *) gperl_get_boxed_check ((sv), GOO_TYPE_CAIRO_PATTERN))
# define SvGooCairoPattern_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCairoPattern (sv) : NULL)
  typedef GooCairoPattern GooCairoPattern_own;
  typedef GooCairoPattern GooCairoPattern_copy;
  typedef GooCairoPattern GooCairoPattern_own_ornull;
# define newSVGooCairoPattern(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CAIRO_PATTERN, FALSE))
# define newSVGooCairoPattern_ornull(val)	((val) ? newSVGooCairoPattern(val) : &PL_sv_undef)
# define newSVGooCairoPattern_own(val)	(gperl_new_boxed ((gpointer) (val), GOO_TYPE_CAIRO_PATTERN, TRUE))
# define newSVGooCairoPattern_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GOO_TYPE_CAIRO_PATTERN))
# define newSVGooCairoPattern_own_ornull(val)	((val) ? newSVGooCairoPattern_own(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CAIRO_PATTERN */

#ifdef GOO_TYPE_CAIRO_FILL_RULE
  /* GEnum GooCairoFillRule */
# define SvGooCairoFillRule(sv)	((GooCairoFillRule)gperl_convert_enum (GOO_TYPE_CAIRO_FILL_RULE, sv))
# define newSVGooCairoFillRule(val)	(gperl_convert_back_enum (GOO_TYPE_CAIRO_FILL_RULE, val))
#endif /* GOO_TYPE_CAIRO_FILL_RULE */

#ifdef GOO_TYPE_CAIRO_OPERATOR
  /* GEnum GooCairoOperator */
# define SvGooCairoOperator(sv)	((GooCairoOperator)gperl_convert_enum (GOO_TYPE_CAIRO_OPERATOR, sv))
# define newSVGooCairoOperator(val)	(gperl_convert_back_enum (GOO_TYPE_CAIRO_OPERATOR, val))
#endif /* GOO_TYPE_CAIRO_OPERATOR */

#ifdef GOO_TYPE_CAIRO_ANTIALIAS
  /* GEnum GooCairoAntialias */
# define SvGooCairoAntialias(sv)	((GooCairoAntialias)gperl_convert_enum (GOO_TYPE_CAIRO_ANTIALIAS, sv))
# define newSVGooCairoAntialias(val)	(gperl_convert_back_enum (GOO_TYPE_CAIRO_ANTIALIAS, val))
#endif /* GOO_TYPE_CAIRO_ANTIALIAS */

#ifdef GOO_TYPE_CAIRO_LINE_CAP
  /* GEnum GooCairoLineCap */
# define SvGooCairoLineCap(sv)	((GooCairoLineCap)gperl_convert_enum (GOO_TYPE_CAIRO_LINE_CAP, sv))
# define newSVGooCairoLineCap(val)	(gperl_convert_back_enum (GOO_TYPE_CAIRO_LINE_CAP, val))
#endif /* GOO_TYPE_CAIRO_LINE_CAP */

#ifdef GOO_TYPE_CAIRO_LINE_JOIN
  /* GEnum GooCairoLineJoin */
# define SvGooCairoLineJoin(sv)	((GooCairoLineJoin)gperl_convert_enum (GOO_TYPE_CAIRO_LINE_JOIN, sv))
# define newSVGooCairoLineJoin(val)	(gperl_convert_back_enum (GOO_TYPE_CAIRO_LINE_JOIN, val))
#endif /* GOO_TYPE_CAIRO_LINE_JOIN */

#ifdef GOO_TYPE_CANVAS_WIDGET
  /* GObject derivative GooCanvasWidget */
# define SvGooCanvasWidget(sv)	((GooCanvasWidget*)gperl_get_object_check (sv, GOO_TYPE_CANVAS_WIDGET))
# define newSVGooCanvasWidget(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GooCanvasWidget GooCanvasWidget_ornull;
# define SvGooCanvasWidget_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGooCanvasWidget(sv) : NULL)
# define newSVGooCanvasWidget_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GooCanvasWidget GooCanvasWidget_noinc;
#define newSVGooCanvasWidget_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GooCanvasWidget GooCanvasWidget_noinc_ornull;
#define newSVGooCanvasWidget_noinc_ornull(val)	((val) ? newSVGooCanvasWidget_noinc(val) : &PL_sv_undef)
#endif /* GOO_TYPE_CANVAS_WIDGET */
