/* Grabber.c generated by valac 0.56.18, the Vala compiler
 * generated from Grabber.vala, do not modify */

/*
* Copyright (c) 2016 Felipe Escoto (https://github.com/Philip-Scott/Spice-up)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authored by: Felipe Escoto <felescoto95@hotmail.com>
*/

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <cairo-gobject.h>
#include <gdk/gdk.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define SPICE_TYPE_GRABBER (spice_grabber_get_type ())
#define SPICE_GRABBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPICE_TYPE_GRABBER, SpiceGrabber))
#define SPICE_GRABBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPICE_TYPE_GRABBER, SpiceGrabberClass))
#define SPICE_IS_GRABBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPICE_TYPE_GRABBER))
#define SPICE_IS_GRABBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPICE_TYPE_GRABBER))
#define SPICE_GRABBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPICE_TYPE_GRABBER, SpiceGrabberClass))

typedef struct _SpiceGrabber SpiceGrabber;
typedef struct _SpiceGrabberClass SpiceGrabberClass;
typedef struct _SpiceGrabberPrivate SpiceGrabberPrivate;
enum  {
	SPICE_GRABBER_0_PROPERTY,
	SPICE_GRABBER_MAKE_VISIBLE_PROPERTY,
	SPICE_GRABBER_NUM_PROPERTIES
};
static GParamSpec* spice_grabber_properties[SPICE_GRABBER_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define SPICE_TYPE_WINDOW (spice_window_get_type ())
#define SPICE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPICE_TYPE_WINDOW, SpiceWindow))
#define SPICE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPICE_TYPE_WINDOW, SpiceWindowClass))
#define SPICE_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPICE_TYPE_WINDOW))
#define SPICE_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPICE_TYPE_WINDOW))
#define SPICE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPICE_TYPE_WINDOW, SpiceWindowClass))

typedef struct _SpiceWindow SpiceWindow;
typedef struct _SpiceWindowClass SpiceWindowClass;
enum  {
	SPICE_GRABBER_GRABBED_SIGNAL,
	SPICE_GRABBER_GRABBED_MOTION_SIGNAL,
	SPICE_GRABBER_GRABBED_STOPED_SIGNAL,
	SPICE_GRABBER_NUM_SIGNALS
};
static guint spice_grabber_signals[SPICE_GRABBER_NUM_SIGNALS] = {0};

struct _SpiceGrabber {
	GtkButton parent_instance;
	SpiceGrabberPrivate * priv;
};

struct _SpiceGrabberClass {
	GtkButtonClass parent_class;
};

struct _SpiceGrabberPrivate {
	gint id;
};

static gint SpiceGrabber_private_offset;
static gpointer spice_grabber_parent_class = NULL;
VALA_EXTERN gboolean spice_canvas_drawing_preview;

VALA_EXTERN GType spice_grabber_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpiceGrabber, g_object_unref)
VALA_EXTERN SpiceGrabber* spice_grabber_new (gint id);
VALA_EXTERN SpiceGrabber* spice_grabber_construct (GType object_type,
                                       gint id);
VALA_EXTERN void spice_grabber_set_make_visible (SpiceGrabber* self,
                                     gboolean value);
static gboolean spice_grabber_real_draw (GtkWidget* base,
                                  cairo_t* ctx);
VALA_EXTERN GType spice_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SpiceWindow, g_object_unref)
VALA_EXTERN SpiceWindow* spice_application_get_active_spice_window (void);
VALA_EXTERN gboolean spice_window_get_is_presenting (SpiceWindow* self);
static gboolean spice_grabber_real_button_press_event (GtkWidget* base,
                                                GdkEventButton* event);
static gboolean spice_grabber_real_button_release_event (GtkWidget* base,
                                                  GdkEventButton* event);
static gboolean spice_grabber_real_motion_notify_event (GtkWidget* base,
                                                 GdkEventMotion* event);
static void g_cclosure_user_marshal_VOID__BOXED_INT (GClosure * closure,
                                              GValue * return_value,
                                              guint n_param_values,
                                              const GValue * param_values,
                                              gpointer invocation_hint,
                                              gpointer marshal_data);
static void spice_grabber_finalize (GObject * obj);
static GType spice_grabber_get_type_once (void);
static void _vala_spice_grabber_set_property (GObject * object,
                                       guint property_id,
                                       const GValue * value,
                                       GParamSpec * pspec);

static inline gpointer
spice_grabber_get_instance_private (SpiceGrabber* self)
{
	return G_STRUCT_MEMBER_P (self, SpiceGrabber_private_offset);
}

SpiceGrabber*
spice_grabber_construct (GType object_type,
                         gint id)
{
	SpiceGrabber * self = NULL;
	GdkEventMask _tmp0_;
	GdkEventMask _tmp1_;
	GdkEventMask _tmp2_;
	GdkEventMask _tmp3_;
	GdkEventMask _tmp4_;
	GdkEventMask _tmp5_;
	GtkStyleContext* _tmp6_;
	GtkStyleContext* _tmp7_;
	GtkStyleContext* _tmp8_;
	GtkImage* image = NULL;
	GtkImage* _tmp9_;
#line 37 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = (SpiceGrabber*) g_object_new (object_type, NULL);
#line 38 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self->priv->id = id;
#line 39 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp0_ = gtk_widget_get_events ((GtkWidget*) self);
#line 39 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp1_ = _tmp0_;
#line 39 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_set_events ((GtkWidget*) self, _tmp1_ | GDK_BUTTON_PRESS_MASK);
#line 40 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp2_ = gtk_widget_get_events ((GtkWidget*) self);
#line 40 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp3_ = _tmp2_;
#line 40 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_set_events ((GtkWidget*) self, _tmp3_ | GDK_BUTTON_RELEASE_MASK);
#line 41 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp4_ = gtk_widget_get_events ((GtkWidget*) self);
#line 41 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp5_ = _tmp4_;
#line 41 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_set_events ((GtkWidget*) self, _tmp5_ | GDK_POINTER_MOTION_MASK);
#line 43 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp6_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 43 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_style_context_remove_class (_tmp6_, "button");
#line 44 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp7_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 44 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_style_context_add_class (_tmp7_, "flat");
#line 45 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp8_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 45 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_style_context_add_class (_tmp8_, "padding-none");
#line 47 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp9_ = (GtkImage*) gtk_image_new_from_resource ("/com/github/philip-scott/spice-up/drag.svg");
#line 47 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_object_ref_sink (_tmp9_);
#line 47 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	image = _tmp9_;
#line 48 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) image);
#line 50 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	spice_grabber_set_make_visible (self, FALSE);
#line 37 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_g_object_unref0 (image);
#line 37 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return self;
#line 204 "Grabber.c"
}

SpiceGrabber*
spice_grabber_new (gint id)
{
#line 37 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return spice_grabber_construct (SPICE_TYPE_GRABBER, id);
#line 212 "Grabber.c"
}

static gboolean
spice_grabber_real_draw (GtkWidget* base,
                         cairo_t* ctx)
{
	SpiceGrabber * self;
	gboolean _tmp0_ = FALSE;
	SpiceWindow* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean result;
#line 53 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = (SpiceGrabber*) base;
#line 53 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_val_if_fail (ctx != NULL, FALSE);
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp1_ = spice_application_get_active_spice_window ();
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp2_ = spice_window_get_is_presenting (_tmp1_);
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	_tmp3_ = _tmp2_;
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	if (_tmp3_) {
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		_tmp0_ = TRUE;
#line 239 "Grabber.c"
	} else {
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		_tmp0_ = spice_canvas_drawing_preview;
#line 243 "Grabber.c"
	}
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	if (_tmp0_) {
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		result = FALSE;
#line 54 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		return result;
#line 251 "Grabber.c"
	}
#line 56 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	result = GTK_WIDGET_CLASS (spice_grabber_parent_class)->draw ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_button_get_type (), GtkButton), ctx);
#line 56 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return result;
#line 257 "Grabber.c"
}

static gboolean
spice_grabber_real_button_press_event (GtkWidget* base,
                                       GdkEventButton* event)
{
	SpiceGrabber * self;
	gboolean result;
#line 60 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = (SpiceGrabber*) base;
#line 60 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 61 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_signal_emit (self, spice_grabber_signals[SPICE_GRABBER_GRABBED_SIGNAL], 0, event, self->priv->id);
#line 62 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	result = TRUE;
#line 62 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return result;
#line 276 "Grabber.c"
}

static gboolean
spice_grabber_real_button_release_event (GtkWidget* base,
                                         GdkEventButton* event)
{
	SpiceGrabber * self;
	gboolean result;
#line 65 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = (SpiceGrabber*) base;
#line 65 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 66 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_signal_emit (self, spice_grabber_signals[SPICE_GRABBER_GRABBED_STOPED_SIGNAL], 0, event);
#line 67 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	result = TRUE;
#line 67 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return result;
#line 295 "Grabber.c"
}

static gboolean
spice_grabber_real_motion_notify_event (GtkWidget* base,
                                        GdkEventMotion* event)
{
	SpiceGrabber * self;
	gboolean result;
#line 70 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = (SpiceGrabber*) base;
#line 70 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 71 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_signal_emit (self, spice_grabber_signals[SPICE_GRABBER_GRABBED_MOTION_SIGNAL], 0, event);
#line 72 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	result = TRUE;
#line 72 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	return result;
#line 314 "Grabber.c"
}

void
spice_grabber_set_make_visible (SpiceGrabber* self,
                                gboolean value)
{
#line 30 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_if_fail (self != NULL);
#line 31 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_set_visible ((GtkWidget*) self, value);
#line 32 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_set_no_show_all ((GtkWidget*) self, !value);
#line 33 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	gtk_widget_show_all ((GtkWidget*) self);
#line 30 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_object_notify_by_pspec ((GObject *) self, spice_grabber_properties[SPICE_GRABBER_MAKE_VISIBLE_PROPERTY]);
#line 331 "Grabber.c"
}

static void
g_cclosure_user_marshal_VOID__BOXED_INT (GClosure * closure,
                                         GValue * return_value,
                                         guint n_param_values,
                                         const GValue * param_values,
                                         gpointer invocation_hint,
                                         gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__BOXED_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer data2);
	register GMarshalFunc_VOID__BOXED_INT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_return_if_fail (n_param_values == 3);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		data1 = closure->data;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		data2 = param_values->data[0].v_pointer;
#line 356 "Grabber.c"
	} else {
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		data1 = param_values->data[0].v_pointer;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		data2 = closure->data;
#line 362 "Grabber.c"
	}
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	callback = (GMarshalFunc_VOID__BOXED_INT) (marshal_data ? marshal_data : cc->callback);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	callback (data1, g_value_get_boxed (param_values + 1), g_value_get_int (param_values + 2), data2);
#line 368 "Grabber.c"
}

static void
spice_grabber_class_init (SpiceGrabberClass * klass,
                          gpointer klass_data)
{
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	spice_grabber_parent_class = g_type_class_peek_parent (klass);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_type_class_adjust_private_offset (klass, &SpiceGrabber_private_offset);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	((GtkWidgetClass *) klass)->draw = (gboolean (*) (GtkWidget*, cairo_t*)) spice_grabber_real_draw;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	((GtkWidgetClass *) klass)->button_press_event = (gboolean (*) (GtkWidget*, GdkEventButton*)) spice_grabber_real_button_press_event;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	((GtkWidgetClass *) klass)->button_release_event = (gboolean (*) (GtkWidget*, GdkEventButton*)) spice_grabber_real_button_release_event;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	((GtkWidgetClass *) klass)->motion_notify_event = (gboolean (*) (GtkWidget*, GdkEventMotion*)) spice_grabber_real_motion_notify_event;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_spice_grabber_set_property;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	G_OBJECT_CLASS (klass)->finalize = spice_grabber_finalize;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SPICE_GRABBER_MAKE_VISIBLE_PROPERTY, spice_grabber_properties[SPICE_GRABBER_MAKE_VISIBLE_PROPERTY] = g_param_spec_boolean ("make-visible", "make-visible", "make-visible", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_WRITABLE));
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	spice_grabber_signals[SPICE_GRABBER_GRABBED_SIGNAL] = g_signal_new ("grabbed", SPICE_TYPE_GRABBER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED_INT, G_TYPE_NONE, 2, gdk_event_get_type (), G_TYPE_INT);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	spice_grabber_signals[SPICE_GRABBER_GRABBED_MOTION_SIGNAL] = g_signal_new ("grabbed-motion", SPICE_TYPE_GRABBER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, gdk_event_get_type ());
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	spice_grabber_signals[SPICE_GRABBER_GRABBED_STOPED_SIGNAL] = g_signal_new ("grabbed-stoped", SPICE_TYPE_GRABBER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, gdk_event_get_type ());
#line 399 "Grabber.c"
}

static void
spice_grabber_instance_init (SpiceGrabber * self,
                             gpointer klass)
{
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self->priv = spice_grabber_get_instance_private (self);
#line 408 "Grabber.c"
}

static void
spice_grabber_finalize (GObject * obj)
{
	SpiceGrabber * self;
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPICE_TYPE_GRABBER, SpiceGrabber);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	G_OBJECT_CLASS (spice_grabber_parent_class)->finalize (obj);
#line 419 "Grabber.c"
}

static GType
spice_grabber_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SpiceGrabberClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spice_grabber_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpiceGrabber), 0, (GInstanceInitFunc) spice_grabber_instance_init, NULL };
	GType spice_grabber_type_id;
	spice_grabber_type_id = g_type_register_static (gtk_button_get_type (), "SpiceGrabber", &g_define_type_info, 0);
	SpiceGrabber_private_offset = g_type_add_instance_private (spice_grabber_type_id, sizeof (SpiceGrabberPrivate));
	return spice_grabber_type_id;
}

GType
spice_grabber_get_type (void)
{
	static volatile gsize spice_grabber_type_id__once = 0;
	if (g_once_init_enter (&spice_grabber_type_id__once)) {
		GType spice_grabber_type_id;
		spice_grabber_type_id = spice_grabber_get_type_once ();
		g_once_init_leave (&spice_grabber_type_id__once, spice_grabber_type_id);
	}
	return spice_grabber_type_id__once;
}

static void
_vala_spice_grabber_set_property (GObject * object,
                                  guint property_id,
                                  const GValue * value,
                                  GParamSpec * pspec)
{
	SpiceGrabber * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SPICE_TYPE_GRABBER, SpiceGrabber);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
	switch (property_id) {
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		case SPICE_GRABBER_MAKE_VISIBLE_PROPERTY:
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		spice_grabber_set_make_visible (self, g_value_get_boolean (value));
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		break;
#line 460 "Grabber.c"
		default:
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 22 "../Spice-up-1.9.1/src/Widgets/CanvasItems/Grabber.vala"
		break;
#line 466 "Grabber.c"
	}
}

