/* 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_SOURCE_VIEW
  /* GObject derivative GtkSourceView */
# define SvGtkSourceView(sv)	((GtkSourceView*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_VIEW))
# define newSVGtkSourceView(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceView GtkSourceView_ornull;
# define SvGtkSourceView_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceView(sv) : NULL)
# define newSVGtkSourceView_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceView GtkSourceView_noinc;
#define newSVGtkSourceView_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceView GtkSourceView_noinc_ornull;
#define newSVGtkSourceView_noinc_ornull(val)	((val) ? newSVGtkSourceView_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_VIEW */

#ifdef GTK_TYPE_SOURCE_SEARCH_FLAGS
  /* GFlags GtkSourceSearchFlags */
# define SvGtkSourceSearchFlags(sv)	((GtkSourceSearchFlags)gperl_convert_flags (GTK_TYPE_SOURCE_SEARCH_FLAGS, sv))
# define newSVGtkSourceSearchFlags(val)	(gperl_convert_back_flags (GTK_TYPE_SOURCE_SEARCH_FLAGS, val))
#endif /* GTK_TYPE_SOURCE_SEARCH_FLAGS */

#ifdef GTK_TYPE_SOURCE_SMART_HOME_END_TYPE
  /* GEnum GtkSourceSmartHomeEndType */
# define SvGtkSourceSmartHomeEndType(sv)	((GtkSourceSmartHomeEndType)gperl_convert_enum (GTK_TYPE_SOURCE_SMART_HOME_END_TYPE, sv))
# define newSVGtkSourceSmartHomeEndType(val)	(gperl_convert_back_enum (GTK_TYPE_SOURCE_SMART_HOME_END_TYPE, val))
#endif /* GTK_TYPE_SOURCE_SMART_HOME_END_TYPE */

#ifdef GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS
  /* GFlags GtkSourceDrawSpacesFlags */
# define SvGtkSourceDrawSpacesFlags(sv)	((GtkSourceDrawSpacesFlags)gperl_convert_flags (GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS, sv))
# define newSVGtkSourceDrawSpacesFlags(val)	(gperl_convert_back_flags (GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS, val))
#endif /* GTK_TYPE_SOURCE_DRAW_SPACES_FLAGS */

#ifdef GTK_TYPE_SOURCE_BUFFER
  /* GObject derivative GtkSourceBuffer */
# define SvGtkSourceBuffer(sv)	((GtkSourceBuffer*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_BUFFER))
# define newSVGtkSourceBuffer(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceBuffer GtkSourceBuffer_ornull;
# define SvGtkSourceBuffer_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceBuffer(sv) : NULL)
# define newSVGtkSourceBuffer_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceBuffer GtkSourceBuffer_noinc;
#define newSVGtkSourceBuffer_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceBuffer GtkSourceBuffer_noinc_ornull;
#define newSVGtkSourceBuffer_noinc_ornull(val)	((val) ? newSVGtkSourceBuffer_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_BUFFER */

#ifdef GTK_TYPE_SOURCE_LANGUAGE
  /* GObject derivative GtkSourceLanguage */
# define SvGtkSourceLanguage(sv)	((GtkSourceLanguage*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_LANGUAGE))
# define newSVGtkSourceLanguage(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceLanguage GtkSourceLanguage_ornull;
# define SvGtkSourceLanguage_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceLanguage(sv) : NULL)
# define newSVGtkSourceLanguage_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceLanguage GtkSourceLanguage_noinc;
#define newSVGtkSourceLanguage_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceLanguage GtkSourceLanguage_noinc_ornull;
#define newSVGtkSourceLanguage_noinc_ornull(val)	((val) ? newSVGtkSourceLanguage_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_LANGUAGE */

#ifdef GTK_TYPE_SOURCE_STYLE_SCHEME
  /* GObject derivative GtkSourceStyleScheme */
# define SvGtkSourceStyleScheme(sv)	((GtkSourceStyleScheme*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_STYLE_SCHEME))
# define newSVGtkSourceStyleScheme(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceStyleScheme GtkSourceStyleScheme_ornull;
# define SvGtkSourceStyleScheme_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceStyleScheme(sv) : NULL)
# define newSVGtkSourceStyleScheme_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceStyleScheme GtkSourceStyleScheme_noinc;
#define newSVGtkSourceStyleScheme_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceStyleScheme GtkSourceStyleScheme_noinc_ornull;
#define newSVGtkSourceStyleScheme_noinc_ornull(val)	((val) ? newSVGtkSourceStyleScheme_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_STYLE_SCHEME */

#ifdef GTK_TYPE_SOURCE_MARK
  /* GObject derivative GtkSourceMark */
# define SvGtkSourceMark(sv)	((GtkSourceMark*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_MARK))
# define newSVGtkSourceMark(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceMark GtkSourceMark_ornull;
# define SvGtkSourceMark_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceMark(sv) : NULL)
# define newSVGtkSourceMark_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceMark GtkSourceMark_noinc;
#define newSVGtkSourceMark_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceMark GtkSourceMark_noinc_ornull;
#define newSVGtkSourceMark_noinc_ornull(val)	((val) ? newSVGtkSourceMark_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_MARK */

#ifdef GTK_TYPE_SOURCE_LANGUAGE_MANAGER
  /* GObject derivative GtkSourceLanguageManager */
# define SvGtkSourceLanguageManager(sv)	((GtkSourceLanguageManager*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_LANGUAGE_MANAGER))
# define newSVGtkSourceLanguageManager(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceLanguageManager GtkSourceLanguageManager_ornull;
# define SvGtkSourceLanguageManager_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceLanguageManager(sv) : NULL)
# define newSVGtkSourceLanguageManager_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceLanguageManager GtkSourceLanguageManager_noinc;
#define newSVGtkSourceLanguageManager_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceLanguageManager GtkSourceLanguageManager_noinc_ornull;
#define newSVGtkSourceLanguageManager_noinc_ornull(val)	((val) ? newSVGtkSourceLanguageManager_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_LANGUAGE_MANAGER */

#ifdef GTK_TYPE_SOURCE_STYLE
  /* GObject derivative GtkSourceStyle */
# define SvGtkSourceStyle(sv)	((GtkSourceStyle*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_STYLE))
# define newSVGtkSourceStyle(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceStyle GtkSourceStyle_ornull;
# define SvGtkSourceStyle_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceStyle(sv) : NULL)
# define newSVGtkSourceStyle_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceStyle GtkSourceStyle_noinc;
#define newSVGtkSourceStyle_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceStyle GtkSourceStyle_noinc_ornull;
#define newSVGtkSourceStyle_noinc_ornull(val)	((val) ? newSVGtkSourceStyle_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_STYLE */

#ifdef GTK_TYPE_SOURCE_STYLE_SCHEME_MANAGER
  /* GObject derivative GtkSourceStyleSchemeManager */
# define SvGtkSourceStyleSchemeManager(sv)	((GtkSourceStyleSchemeManager*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_STYLE_SCHEME_MANAGER))
# define newSVGtkSourceStyleSchemeManager(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourceStyleSchemeManager GtkSourceStyleSchemeManager_ornull;
# define SvGtkSourceStyleSchemeManager_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourceStyleSchemeManager(sv) : NULL)
# define newSVGtkSourceStyleSchemeManager_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourceStyleSchemeManager GtkSourceStyleSchemeManager_noinc;
#define newSVGtkSourceStyleSchemeManager_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourceStyleSchemeManager GtkSourceStyleSchemeManager_noinc_ornull;
#define newSVGtkSourceStyleSchemeManager_noinc_ornull(val)	((val) ? newSVGtkSourceStyleSchemeManager_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_STYLE_SCHEME_MANAGER */

#ifdef GTK_TYPE_SOURCE_PRINT_COMPOSITOR
  /* GObject derivative GtkSourcePrintCompositor */
# define SvGtkSourcePrintCompositor(sv)	((GtkSourcePrintCompositor*)gperl_get_object_check (sv, GTK_TYPE_SOURCE_PRINT_COMPOSITOR))
# define newSVGtkSourcePrintCompositor(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GtkSourcePrintCompositor GtkSourcePrintCompositor_ornull;
# define SvGtkSourcePrintCompositor_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGtkSourcePrintCompositor(sv) : NULL)
# define newSVGtkSourcePrintCompositor_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
typedef GtkSourcePrintCompositor GtkSourcePrintCompositor_noinc;
#define newSVGtkSourcePrintCompositor_noinc(val)	(gperl_new_object (G_OBJECT (val), TRUE))
typedef GtkSourcePrintCompositor GtkSourcePrintCompositor_noinc_ornull;
#define newSVGtkSourcePrintCompositor_noinc_ornull(val)	((val) ? newSVGtkSourcePrintCompositor_noinc(val) : &PL_sv_undef)
#endif /* GTK_TYPE_SOURCE_PRINT_COMPOSITOR */
