/* 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 GTK_TYPE_IMAGE_VIEW
  /* GObject derivative GtkImageView */
# define SvGtkImageView(sv)	((GtkImageView*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_VIEW))
# define newSVGtkImageView(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageView GtkImageView_ornull;
# define SvGtkImageView_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageView(sv) : NULL)
# define newSVGtkImageView_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageView GtkImageView_noinc;
#define newSVGtkImageView_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageView GtkImageView_noinc_ornull;
#define newSVGtkImageView_noinc_ornull(val)	((val) ? newSVGtkImageView_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_VIEW */

#ifdef GTK_TYPE_ANIM_VIEW
  /* GObject derivative GtkAnimView */
# define SvGtkAnimView(sv)	((GtkAnimView*)gperl_get_object_check (sv, GTK_TYPE_ANIM_VIEW))
# define newSVGtkAnimView(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkAnimView GtkAnimView_ornull;
# define SvGtkAnimView_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkAnimView(sv) : NULL)
# define newSVGtkAnimView_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkAnimView GtkAnimView_noinc;
#define newSVGtkAnimView_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkAnimView GtkAnimView_noinc_ornull;
#define newSVGtkAnimView_noinc_ornull(val)	((val) ? newSVGtkAnimView_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_ANIM_VIEW */

#ifdef GTK_TYPE_IMAGE_NAV
  /* GObject derivative GtkImageNav */
# define SvGtkImageNav(sv)	((GtkImageNav*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_NAV))
# define newSVGtkImageNav(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageNav GtkImageNav_ornull;
# define SvGtkImageNav_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageNav(sv) : NULL)
# define newSVGtkImageNav_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageNav GtkImageNav_noinc;
#define newSVGtkImageNav_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageNav GtkImageNav_noinc_ornull;
#define newSVGtkImageNav_noinc_ornull(val)	((val) ? newSVGtkImageNav_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_NAV */

#ifdef GTK_TYPE_IMAGE_SCROLL_WIN
  /* GObject derivative GtkImageScrollWin */
# define SvGtkImageScrollWin(sv)	((GtkImageScrollWin*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_SCROLL_WIN))
# define newSVGtkImageScrollWin(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageScrollWin GtkImageScrollWin_ornull;
# define SvGtkImageScrollWin_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageScrollWin(sv) : NULL)
# define newSVGtkImageScrollWin_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageScrollWin GtkImageScrollWin_noinc;
#define newSVGtkImageScrollWin_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageScrollWin GtkImageScrollWin_noinc_ornull;
#define newSVGtkImageScrollWin_noinc_ornull(val)	((val) ? newSVGtkImageScrollWin_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_SCROLL_WIN */

#ifdef GTK_TYPE_IIMAGE_TOOL
  /* GObject derivative GtkIImageTool */
# define SvGtkIImageTool(sv)	((GtkIImageTool*)gperl_get_object_check (sv, GTK_TYPE_IIMAGE_TOOL))
# define newSVGtkIImageTool(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkIImageTool GtkIImageTool_ornull;
# define SvGtkIImageTool_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkIImageTool(sv) : NULL)
# define newSVGtkIImageTool_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkIImageTool GtkIImageTool_noinc;
#define newSVGtkIImageTool_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkIImageTool GtkIImageTool_noinc_ornull;
#define newSVGtkIImageTool_noinc_ornull(val)	((val) ? newSVGtkIImageTool_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IIMAGE_TOOL */

#ifdef GTK_TYPE_IMAGE_TOOL_DRAGGER
  /* GObject derivative GtkImageToolDragger */
# define SvGtkImageToolDragger(sv)	((GtkImageToolDragger*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_TOOL_DRAGGER))
# define newSVGtkImageToolDragger(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageToolDragger GtkImageToolDragger_ornull;
# define SvGtkImageToolDragger_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageToolDragger(sv) : NULL)
# define newSVGtkImageToolDragger_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageToolDragger GtkImageToolDragger_noinc;
#define newSVGtkImageToolDragger_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageToolDragger GtkImageToolDragger_noinc_ornull;
#define newSVGtkImageToolDragger_noinc_ornull(val)	((val) ? newSVGtkImageToolDragger_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_TOOL_DRAGGER */

#ifdef GTK_TYPE_IMAGE_TOOL_PAINTER
  /* GObject derivative GtkImageToolPainter */
# define SvGtkImageToolPainter(sv)	((GtkImageToolPainter*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_TOOL_PAINTER))
# define newSVGtkImageToolPainter(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageToolPainter GtkImageToolPainter_ornull;
# define SvGtkImageToolPainter_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageToolPainter(sv) : NULL)
# define newSVGtkImageToolPainter_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageToolPainter GtkImageToolPainter_noinc;
#define newSVGtkImageToolPainter_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageToolPainter GtkImageToolPainter_noinc_ornull;
#define newSVGtkImageToolPainter_noinc_ornull(val)	((val) ? newSVGtkImageToolPainter_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_TOOL_PAINTER */

#ifdef GTK_TYPE_IMAGE_TOOL_SELECTOR
  /* GObject derivative GtkImageToolSelector */
# define SvGtkImageToolSelector(sv)	((GtkImageToolSelector*)gperl_get_object_check (sv, GTK_TYPE_IMAGE_TOOL_SELECTOR))
# define newSVGtkImageToolSelector(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkImageToolSelector GtkImageToolSelector_ornull;
# define SvGtkImageToolSelector_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkImageToolSelector(sv) : NULL)
# define newSVGtkImageToolSelector_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkImageToolSelector GtkImageToolSelector_noinc;
#define newSVGtkImageToolSelector_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkImageToolSelector GtkImageToolSelector_noinc_ornull;
#define newSVGtkImageToolSelector_noinc_ornull(val)	((val) ? newSVGtkImageToolSelector_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_IMAGE_TOOL_SELECTOR */

#ifdef GTK_TYPE_IMAGE_TRANSP
  /* GEnum GtkImageTransp */
# define SvGtkImageTransp(sv)	((GtkImageTransp)gperl_convert_enum (GTK_TYPE_IMAGE_TRANSP, sv))
# define newSVGtkImageTransp(val)	(gperl_convert_back_enum (GTK_TYPE_IMAGE_TRANSP, val))
#endif /* GTK_TYPE_IMAGE_TRANSP */

#ifdef GTK_TYPE_TYPE
  /* GEnum HotspotType */
# define SvHotspotType(sv)	((HotspotType)gperl_convert_enum (GTK_TYPE_TYPE, sv))
# define newSVHotspotType(val)	(gperl_convert_back_enum (GTK_TYPE_TYPE, val))
#endif /* GTK_TYPE_TYPE */

#ifdef GDK_TYPE_PIXBUF_DRAW_METHOD
  /* GEnum GdkPixbufDrawMethod */
# define SvGdkPixbufDrawMethod(sv)	((GdkPixbufDrawMethod)gperl_convert_enum (GDK_TYPE_PIXBUF_DRAW_METHOD, sv))
# define newSVGdkPixbufDrawMethod(val)	(gperl_convert_back_enum (GDK_TYPE_PIXBUF_DRAW_METHOD, val))
#endif /* GDK_TYPE_PIXBUF_DRAW_METHOD */

#ifdef GDK_TYPE_PIXBUF_DRAW_OPTS
  /* GBoxed GdkPixbufDrawOpts */
  typedef GdkPixbufDrawOpts GdkPixbufDrawOpts_ornull;
# define SvGdkPixbufDrawOpts(sv)	((GdkPixbufDrawOpts *) gperl_get_boxed_check ((sv), GDK_TYPE_PIXBUF_DRAW_OPTS))
# define SvGdkPixbufDrawOpts_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGdkPixbufDrawOpts (sv) : NULL)
  typedef GdkPixbufDrawOpts GdkPixbufDrawOpts_own;
  typedef GdkPixbufDrawOpts GdkPixbufDrawOpts_copy;
  typedef GdkPixbufDrawOpts GdkPixbufDrawOpts_own_ornull;
# define newSVGdkPixbufDrawOpts(val)	(gperl_new_boxed ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_OPTS, FALSE))
# define newSVGdkPixbufDrawOpts_ornull(val)	((val) ? newSVGdkPixbufDrawOpts(val) : &PL_sv_undef)
# define newSVGdkPixbufDrawOpts_own(val)	(gperl_new_boxed ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_OPTS, TRUE))
# define newSVGdkPixbufDrawOpts_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_OPTS))
# define newSVGdkPixbufDrawOpts_own_ornull(val)	((val) ? newSVGdkPixbufDrawOpts_own(val) : &PL_sv_undef)
#endif /* GDK_TYPE_PIXBUF_DRAW_OPTS */

#ifdef GDK_TYPE_PIXBUF_DRAW_CACHE
  /* GBoxed GdkPixbufDrawCache */
  typedef GdkPixbufDrawCache GdkPixbufDrawCache_ornull;
# define SvGdkPixbufDrawCache(sv)	((GdkPixbufDrawCache *) gperl_get_boxed_check ((sv), GDK_TYPE_PIXBUF_DRAW_CACHE))
# define SvGdkPixbufDrawCache_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGdkPixbufDrawCache (sv) : NULL)
  typedef GdkPixbufDrawCache GdkPixbufDrawCache_own;
  typedef GdkPixbufDrawCache GdkPixbufDrawCache_copy;
  typedef GdkPixbufDrawCache GdkPixbufDrawCache_own_ornull;
# define newSVGdkPixbufDrawCache(val)	(gperl_new_boxed ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_CACHE, FALSE))
# define newSVGdkPixbufDrawCache_ornull(val)	((val) ? newSVGdkPixbufDrawCache(val) : &PL_sv_undef)
# define newSVGdkPixbufDrawCache_own(val)	(gperl_new_boxed ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_CACHE, TRUE))
# define newSVGdkPixbufDrawCache_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GDK_TYPE_PIXBUF_DRAW_CACHE))
# define newSVGdkPixbufDrawCache_own_ornull(val)	((val) ? newSVGdkPixbufDrawCache_own(val) : &PL_sv_undef)
#endif /* GDK_TYPE_PIXBUF_DRAW_CACHE */
