/* astal.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_ASTAL_H__
#define __SRC_ASTAL_H__

#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <glib-object.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gio/gio.h>
#include <astal-io.h>

G_BEGIN_DECLS

#define ASTAL_MAJOR_VERSION 3
#define ASTAL_MINOR_VERSION 0
#define ASTAL_MICRO_VERSION 0
#define ASTAL_VERSION "3.0.0"
#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 ASTAL_TYPE_BOX (astal_box_get_type ())
#define ASTAL_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_BOX, AstalBox))
#define ASTAL_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_BOX, AstalBoxClass))
#define ASTAL_IS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_BOX))
#define ASTAL_IS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_BOX))
#define ASTAL_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_BOX, AstalBoxClass))

typedef struct _AstalBox AstalBox;
typedef struct _AstalBoxClass AstalBoxClass;
typedef struct _AstalBoxPrivate AstalBoxPrivate;

#define ASTAL_TYPE_BUTTON (astal_button_get_type ())
#define ASTAL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_BUTTON, AstalButton))
#define ASTAL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_BUTTON, AstalButtonClass))
#define ASTAL_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_BUTTON))
#define ASTAL_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_BUTTON))
#define ASTAL_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_BUTTON, AstalButtonClass))

typedef struct _AstalButton AstalButton;
typedef struct _AstalButtonClass AstalButtonClass;
typedef struct _AstalButtonPrivate AstalButtonPrivate;
typedef enum  {
	ASTAL_MOUSE_BUTTON_PRIMARY = 1,
	ASTAL_MOUSE_BUTTON_MIDDLE = 2,
	ASTAL_MOUSE_BUTTON_SECONDARY = 3,
	ASTAL_MOUSE_BUTTON_BACK = 4,
	ASTAL_MOUSE_BUTTON_FORWARD = 5
} AstalMouseButton;

#define ASTAL_TYPE_MOUSE_BUTTON (astal_mouse_button_get_type ())

#define ASTAL_TYPE_CLICK_EVENT (astal_click_event_get_type ())
typedef struct _AstalClickEvent AstalClickEvent;

#define ASTAL_TYPE_HOVER_EVENT (astal_hover_event_get_type ())
typedef struct _AstalHoverEvent AstalHoverEvent;

#define ASTAL_TYPE_SCROLL_EVENT (astal_scroll_event_get_type ())
typedef struct _AstalScrollEvent AstalScrollEvent;

#define ASTAL_TYPE_CENTER_BOX (astal_center_box_get_type ())
#define ASTAL_CENTER_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_CENTER_BOX, AstalCenterBox))
#define ASTAL_CENTER_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_CENTER_BOX, AstalCenterBoxClass))
#define ASTAL_IS_CENTER_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_CENTER_BOX))
#define ASTAL_IS_CENTER_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_CENTER_BOX))
#define ASTAL_CENTER_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_CENTER_BOX, AstalCenterBoxClass))

typedef struct _AstalCenterBox AstalCenterBox;
typedef struct _AstalCenterBoxClass AstalCenterBoxClass;
typedef struct _AstalCenterBoxPrivate AstalCenterBoxPrivate;

#define ASTAL_TYPE_CIRCULAR_PROGRESS (astal_circular_progress_get_type ())
#define ASTAL_CIRCULAR_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_CIRCULAR_PROGRESS, AstalCircularProgress))
#define ASTAL_CIRCULAR_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_CIRCULAR_PROGRESS, AstalCircularProgressClass))
#define ASTAL_IS_CIRCULAR_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_CIRCULAR_PROGRESS))
#define ASTAL_IS_CIRCULAR_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_CIRCULAR_PROGRESS))
#define ASTAL_CIRCULAR_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_CIRCULAR_PROGRESS, AstalCircularProgressClass))

typedef struct _AstalCircularProgress AstalCircularProgress;
typedef struct _AstalCircularProgressClass AstalCircularProgressClass;
typedef struct _AstalCircularProgressPrivate AstalCircularProgressPrivate;

#define ASTAL_TYPE_EVENT_BOX (astal_event_box_get_type ())
#define ASTAL_EVENT_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_EVENT_BOX, AstalEventBox))
#define ASTAL_EVENT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_EVENT_BOX, AstalEventBoxClass))
#define ASTAL_IS_EVENT_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_EVENT_BOX))
#define ASTAL_IS_EVENT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_EVENT_BOX))
#define ASTAL_EVENT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_EVENT_BOX, AstalEventBoxClass))

typedef struct _AstalEventBox AstalEventBox;
typedef struct _AstalEventBoxClass AstalEventBoxClass;
typedef struct _AstalEventBoxPrivate AstalEventBoxPrivate;

#define ASTAL_TYPE_MOTION_EVENT (astal_motion_event_get_type ())
typedef struct _AstalMotionEvent AstalMotionEvent;

#define ASTAL_TYPE_ICON (astal_icon_get_type ())
#define ASTAL_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_ICON, AstalIcon))
#define ASTAL_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_ICON, AstalIconClass))
#define ASTAL_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_ICON))
#define ASTAL_IS_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_ICON))
#define ASTAL_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_ICON, AstalIconClass))

typedef struct _AstalIcon AstalIcon;
typedef struct _AstalIconClass AstalIconClass;
typedef struct _AstalIconPrivate AstalIconPrivate;

#define ASTAL_TYPE_LABEL (astal_label_get_type ())
#define ASTAL_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_LABEL, AstalLabel))
#define ASTAL_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_LABEL, AstalLabelClass))
#define ASTAL_IS_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_LABEL))
#define ASTAL_IS_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_LABEL))
#define ASTAL_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_LABEL, AstalLabelClass))

typedef struct _AstalLabel AstalLabel;
typedef struct _AstalLabelClass AstalLabelClass;
typedef struct _AstalLabelPrivate AstalLabelPrivate;

#define ASTAL_TYPE_LEVEL_BAR (astal_level_bar_get_type ())
#define ASTAL_LEVEL_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_LEVEL_BAR, AstalLevelBar))
#define ASTAL_LEVEL_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_LEVEL_BAR, AstalLevelBarClass))
#define ASTAL_IS_LEVEL_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_LEVEL_BAR))
#define ASTAL_IS_LEVEL_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_LEVEL_BAR))
#define ASTAL_LEVEL_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_LEVEL_BAR, AstalLevelBarClass))

typedef struct _AstalLevelBar AstalLevelBar;
typedef struct _AstalLevelBarClass AstalLevelBarClass;
typedef struct _AstalLevelBarPrivate AstalLevelBarPrivate;

#define ASTAL_TYPE_OVERLAY (astal_overlay_get_type ())
#define ASTAL_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_OVERLAY, AstalOverlay))
#define ASTAL_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_OVERLAY, AstalOverlayClass))
#define ASTAL_IS_OVERLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_OVERLAY))
#define ASTAL_IS_OVERLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_OVERLAY))
#define ASTAL_OVERLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_OVERLAY, AstalOverlayClass))

typedef struct _AstalOverlay AstalOverlay;
typedef struct _AstalOverlayClass AstalOverlayClass;
typedef struct _AstalOverlayPrivate AstalOverlayPrivate;

#define ASTAL_TYPE_SCROLLABLE (astal_scrollable_get_type ())
#define ASTAL_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_SCROLLABLE, AstalScrollable))
#define ASTAL_SCROLLABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_SCROLLABLE, AstalScrollableClass))
#define ASTAL_IS_SCROLLABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_SCROLLABLE))
#define ASTAL_IS_SCROLLABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_SCROLLABLE))
#define ASTAL_SCROLLABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_SCROLLABLE, AstalScrollableClass))

typedef struct _AstalScrollable AstalScrollable;
typedef struct _AstalScrollableClass AstalScrollableClass;
typedef struct _AstalScrollablePrivate AstalScrollablePrivate;

#define ASTAL_TYPE_SLIDER (astal_slider_get_type ())
#define ASTAL_SLIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_SLIDER, AstalSlider))
#define ASTAL_SLIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_SLIDER, AstalSliderClass))
#define ASTAL_IS_SLIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_SLIDER))
#define ASTAL_IS_SLIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_SLIDER))
#define ASTAL_SLIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_SLIDER, AstalSliderClass))

typedef struct _AstalSlider AstalSlider;
typedef struct _AstalSliderClass AstalSliderClass;
typedef struct _AstalSliderPrivate AstalSliderPrivate;

#define ASTAL_TYPE_STACK (astal_stack_get_type ())
#define ASTAL_STACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_STACK, AstalStack))
#define ASTAL_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_STACK, AstalStackClass))
#define ASTAL_IS_STACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_STACK))
#define ASTAL_IS_STACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_STACK))
#define ASTAL_STACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_STACK, AstalStackClass))

typedef struct _AstalStack AstalStack;
typedef struct _AstalStackClass AstalStackClass;
typedef struct _AstalStackPrivate AstalStackPrivate;
typedef enum  {
	ASTAL_WINDOW_ANCHOR_NONE = 1 << 0,
	ASTAL_WINDOW_ANCHOR_TOP = 1 << 1,
	ASTAL_WINDOW_ANCHOR_RIGHT = 1 << 2,
	ASTAL_WINDOW_ANCHOR_LEFT = 1 << 3,
	ASTAL_WINDOW_ANCHOR_BOTTOM = 1 << 4
} AstalWindowAnchor;

#define ASTAL_TYPE_WINDOW_ANCHOR (astal_window_anchor_get_type ())
typedef enum  {
	ASTAL_EXCLUSIVITY_NORMAL,
	ASTAL_EXCLUSIVITY_EXCLUSIVE,
	ASTAL_EXCLUSIVITY_IGNORE
} AstalExclusivity;

#define ASTAL_TYPE_EXCLUSIVITY (astal_exclusivity_get_type ())
typedef enum  {
	ASTAL_LAYER_BACKGROUND = 0,
	ASTAL_LAYER_BOTTOM = 1,
	ASTAL_LAYER_TOP = 2,
	ASTAL_LAYER_OVERLAY = 3
} AstalLayer;

#define ASTAL_TYPE_LAYER (astal_layer_get_type ())
typedef enum  {
	ASTAL_KEYMODE_NONE = 0,
	ASTAL_KEYMODE_EXCLUSIVE = 1,
	ASTAL_KEYMODE_ON_DEMAND = 2
} AstalKeymode;

#define ASTAL_TYPE_KEYMODE (astal_keymode_get_type ())

#define ASTAL_TYPE_WINDOW (astal_window_get_type ())
#define ASTAL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_WINDOW, AstalWindow))
#define ASTAL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_WINDOW, AstalWindowClass))
#define ASTAL_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_WINDOW))
#define ASTAL_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_WINDOW))
#define ASTAL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_WINDOW, AstalWindowClass))

typedef struct _AstalWindow AstalWindow;
typedef struct _AstalWindowClass AstalWindowClass;
typedef struct _AstalWindowPrivate AstalWindowPrivate;

#define ASTAL_TYPE_APPLICATION (astal_application_get_type ())
#define ASTAL_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_APPLICATION, AstalApplication))
#define ASTAL_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_APPLICATION, AstalApplicationClass))
#define ASTAL_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_APPLICATION))
#define ASTAL_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_APPLICATION))
#define ASTAL_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_APPLICATION, AstalApplicationClass))

typedef struct _AstalApplication AstalApplication;
typedef struct _AstalApplicationClass AstalApplicationClass;
typedef struct _AstalApplicationPrivate AstalApplicationPrivate;

struct _AstalBox {
	GtkBox parent_instance;
	AstalBoxPrivate * priv;
};

struct _AstalBoxClass {
	GtkBoxClass parent_class;
};

struct _AstalButton {
	GtkButton parent_instance;
	AstalButtonPrivate * priv;
};

struct _AstalButtonClass {
	GtkButtonClass parent_class;
};

struct _AstalClickEvent {
	gboolean release;
	guint time;
	gdouble x;
	gdouble y;
	GdkModifierType modifier;
	AstalMouseButton button;
};

struct _AstalHoverEvent {
	gboolean lost;
	guint time;
	gdouble x;
	gdouble y;
	GdkModifierType modifier;
	GdkCrossingMode mode;
	GdkNotifyType detail;
};

struct _AstalScrollEvent {
	guint time;
	gdouble x;
	gdouble y;
	GdkModifierType modifier;
	GdkScrollDirection direction;
	gdouble delta_x;
	gdouble delta_y;
};

struct _AstalCenterBox {
	GtkBox parent_instance;
	AstalCenterBoxPrivate * priv;
};

struct _AstalCenterBoxClass {
	GtkBoxClass parent_class;
};

struct _AstalCircularProgress {
	GtkBin parent_instance;
	AstalCircularProgressPrivate * priv;
};

struct _AstalCircularProgressClass {
	GtkBinClass parent_class;
};

struct _AstalEventBox {
	GtkEventBox parent_instance;
	AstalEventBoxPrivate * priv;
};

struct _AstalEventBoxClass {
	GtkEventBoxClass parent_class;
};

struct _AstalMotionEvent {
	guint time;
	gdouble x;
	gdouble y;
	GdkModifierType modifier;
};

struct _AstalIcon {
	GtkImage parent_instance;
	AstalIconPrivate * priv;
};

struct _AstalIconClass {
	GtkImageClass parent_class;
};

struct _AstalLabel {
	GtkLabel parent_instance;
	AstalLabelPrivate * priv;
};

struct _AstalLabelClass {
	GtkLabelClass parent_class;
};

struct _AstalLevelBar {
	GtkLevelBar parent_instance;
	AstalLevelBarPrivate * priv;
};

struct _AstalLevelBarClass {
	GtkLevelBarClass parent_class;
};

struct _AstalOverlay {
	GtkOverlay parent_instance;
	AstalOverlayPrivate * priv;
};

struct _AstalOverlayClass {
	GtkOverlayClass parent_class;
};

struct _AstalScrollable {
	GtkScrolledWindow parent_instance;
	AstalScrollablePrivate * priv;
};

struct _AstalScrollableClass {
	GtkScrolledWindowClass parent_class;
};

struct _AstalSlider {
	GtkScale parent_instance;
	AstalSliderPrivate * priv;
};

struct _AstalSliderClass {
	GtkScaleClass parent_class;
};

struct _AstalStack {
	GtkStack parent_instance;
	AstalStackPrivate * priv;
};

struct _AstalStackClass {
	GtkStackClass parent_class;
};

struct _AstalWindow {
	GtkWindow parent_instance;
	AstalWindowPrivate * priv;
};

struct _AstalWindowClass {
	GtkWindowClass parent_class;
};

struct _AstalApplication {
	GtkApplication parent_instance;
	AstalApplicationPrivate * priv;
};

struct _AstalApplicationClass {
	GtkApplicationClass parent_class;
	void (*request) (AstalApplication* self, const gchar* request, GSocketConnection* conn, GError** error);
};

VALA_EXTERN GType astal_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalBox, g_object_unref)
VALA_EXTERN AstalBox* astal_box_new (gboolean vertical,
                         GList* children);
VALA_EXTERN AstalBox* astal_box_construct (GType object_type,
                               gboolean vertical,
                               GList* children);
VALA_EXTERN gboolean astal_box_get_vertical (AstalBox* self);
VALA_EXTERN void astal_box_set_vertical (AstalBox* self,
                             gboolean value);
VALA_EXTERN GList* astal_box_get_children (AstalBox* self);
VALA_EXTERN void astal_box_set_children (AstalBox* self,
                             GList* value);
VALA_EXTERN GtkWidget* astal_box_get_child (AstalBox* self);
VALA_EXTERN void astal_box_set_child (AstalBox* self,
                          GtkWidget* value);
VALA_EXTERN GType astal_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalButton, g_object_unref)
VALA_EXTERN AstalButton* astal_button_new (void);
VALA_EXTERN AstalButton* astal_button_construct (GType object_type);
VALA_EXTERN GType astal_mouse_button_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_click_event_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalClickEvent* astal_click_event_dup (const AstalClickEvent* self);
VALA_EXTERN void astal_click_event_free (AstalClickEvent* self);
VALA_EXTERN void astal_click_event_init (AstalClickEvent *self,
                             GdkEventButton* event);
VALA_EXTERN GType astal_hover_event_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalHoverEvent* astal_hover_event_dup (const AstalHoverEvent* self);
VALA_EXTERN void astal_hover_event_free (AstalHoverEvent* self);
VALA_EXTERN void astal_hover_event_init (AstalHoverEvent *self,
                             GdkEventCrossing* event);
VALA_EXTERN GType astal_scroll_event_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalScrollEvent* astal_scroll_event_dup (const AstalScrollEvent* self);
VALA_EXTERN void astal_scroll_event_free (AstalScrollEvent* self);
VALA_EXTERN void astal_scroll_event_init (AstalScrollEvent *self,
                              GdkEventScroll* event);
VALA_EXTERN GType astal_center_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalCenterBox, g_object_unref)
VALA_EXTERN AstalCenterBox* astal_center_box_new (void);
VALA_EXTERN AstalCenterBox* astal_center_box_construct (GType object_type);
VALA_EXTERN gboolean astal_center_box_get_vertical (AstalCenterBox* self);
VALA_EXTERN void astal_center_box_set_vertical (AstalCenterBox* self,
                                    gboolean value);
VALA_EXTERN GtkWidget* astal_center_box_get_start_widget (AstalCenterBox* self);
VALA_EXTERN void astal_center_box_set_start_widget (AstalCenterBox* self,
                                        GtkWidget* value);
VALA_EXTERN GtkWidget* astal_center_box_get_end_widget (AstalCenterBox* self);
VALA_EXTERN void astal_center_box_set_end_widget (AstalCenterBox* self,
                                      GtkWidget* value);
VALA_EXTERN GtkWidget* astal_center_box_get_center_widget (AstalCenterBox* self);
VALA_EXTERN void astal_center_box_set_center_widget (AstalCenterBox* self,
                                         GtkWidget* value);
VALA_EXTERN GType astal_circular_progress_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalCircularProgress, g_object_unref)
VALA_EXTERN AstalCircularProgress* astal_circular_progress_new (void);
VALA_EXTERN AstalCircularProgress* astal_circular_progress_construct (GType object_type);
VALA_EXTERN gdouble astal_circular_progress_get_start_at (AstalCircularProgress* self);
VALA_EXTERN void astal_circular_progress_set_start_at (AstalCircularProgress* self,
                                           gdouble value);
VALA_EXTERN gdouble astal_circular_progress_get_end_at (AstalCircularProgress* self);
VALA_EXTERN void astal_circular_progress_set_end_at (AstalCircularProgress* self,
                                         gdouble value);
VALA_EXTERN gdouble astal_circular_progress_get_value (AstalCircularProgress* self);
VALA_EXTERN void astal_circular_progress_set_value (AstalCircularProgress* self,
                                        gdouble value);
VALA_EXTERN gboolean astal_circular_progress_get_inverted (AstalCircularProgress* self);
VALA_EXTERN void astal_circular_progress_set_inverted (AstalCircularProgress* self,
                                           gboolean value);
VALA_EXTERN gboolean astal_circular_progress_get_rounded (AstalCircularProgress* self);
VALA_EXTERN void astal_circular_progress_set_rounded (AstalCircularProgress* self,
                                          gboolean value);
VALA_EXTERN GType astal_event_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalEventBox, g_object_unref)
VALA_EXTERN AstalEventBox* astal_event_box_new (void);
VALA_EXTERN AstalEventBox* astal_event_box_construct (GType object_type);
VALA_EXTERN GType astal_motion_event_get_type (void) G_GNUC_CONST ;
VALA_EXTERN AstalMotionEvent* astal_motion_event_dup (const AstalMotionEvent* self);
VALA_EXTERN void astal_motion_event_free (AstalMotionEvent* self);
VALA_EXTERN void astal_motion_event_init (AstalMotionEvent *self,
                              GdkEventMotion* event);
VALA_EXTERN GType astal_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalIcon, g_object_unref)
VALA_EXTERN GtkIconInfo* astal_icon_lookup_icon (const gchar* icon);
VALA_EXTERN AstalIcon* astal_icon_new (void);
VALA_EXTERN AstalIcon* astal_icon_construct (GType object_type);
VALA_EXTERN GdkPixbuf* astal_icon_get_pixbuf (AstalIcon* self);
VALA_EXTERN void astal_icon_set_pixbuf (AstalIcon* self,
                            GdkPixbuf* value);
VALA_EXTERN GIcon* astal_icon_get_g_icon (AstalIcon* self) G_GNUC_DEPRECATED ;
VALA_EXTERN void astal_icon_set_g_icon (AstalIcon* self,
                            GIcon* value) G_GNUC_DEPRECATED ;
VALA_EXTERN const gchar* astal_icon_get_icon (AstalIcon* self);
VALA_EXTERN void astal_icon_set_icon (AstalIcon* self,
                          const gchar* value);
VALA_EXTERN GType astal_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalLabel, g_object_unref)
VALA_EXTERN AstalLabel* astal_label_new (void);
VALA_EXTERN AstalLabel* astal_label_construct (GType object_type);
VALA_EXTERN gboolean astal_label_get_truncate (AstalLabel* self);
VALA_EXTERN void astal_label_set_truncate (AstalLabel* self,
                               gboolean value);
VALA_EXTERN gboolean astal_label_get_justify_fill (AstalLabel* self);
VALA_EXTERN void astal_label_set_justify_fill (AstalLabel* self,
                                   gboolean value);
VALA_EXTERN GType astal_level_bar_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalLevelBar, g_object_unref)
VALA_EXTERN AstalLevelBar* astal_level_bar_new (void);
VALA_EXTERN AstalLevelBar* astal_level_bar_construct (GType object_type);
VALA_EXTERN gboolean astal_level_bar_get_vertical (AstalLevelBar* self);
VALA_EXTERN void astal_level_bar_set_vertical (AstalLevelBar* self,
                                   gboolean value);
VALA_EXTERN GType astal_overlay_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalOverlay, g_object_unref)
VALA_EXTERN void astal_overlay_add_overlay (AstalOverlay* self,
                                GtkWidget* widget);
VALA_EXTERN AstalOverlay* astal_overlay_new (void);
VALA_EXTERN AstalOverlay* astal_overlay_construct (GType object_type);
VALA_EXTERN gboolean astal_overlay_get_pass_through (AstalOverlay* self);
VALA_EXTERN void astal_overlay_set_pass_through (AstalOverlay* self,
                                     gboolean value);
VALA_EXTERN GtkWidget* astal_overlay_get_overlay (AstalOverlay* self);
VALA_EXTERN void astal_overlay_set_overlay (AstalOverlay* self,
                                GtkWidget* value);
VALA_EXTERN GList* astal_overlay_get_overlays (AstalOverlay* self);
VALA_EXTERN void astal_overlay_set_overlays (AstalOverlay* self,
                                 GList* value);
VALA_EXTERN GtkWidget* astal_overlay_get_child (AstalOverlay* self);
VALA_EXTERN void astal_overlay_set_child (AstalOverlay* self,
                              GtkWidget* value);
VALA_EXTERN GType astal_scrollable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalScrollable, g_object_unref)
VALA_EXTERN GtkWidget* astal_scrollable_get_child (AstalScrollable* self);
VALA_EXTERN AstalScrollable* astal_scrollable_new (void);
VALA_EXTERN AstalScrollable* astal_scrollable_construct (GType object_type);
VALA_EXTERN GtkPolicyType astal_scrollable_get_hscroll (AstalScrollable* self);
VALA_EXTERN void astal_scrollable_set_hscroll (AstalScrollable* self,
                                   GtkPolicyType value);
VALA_EXTERN GtkPolicyType astal_scrollable_get_vscroll (AstalScrollable* self);
VALA_EXTERN void astal_scrollable_set_vscroll (AstalScrollable* self,
                                   GtkPolicyType value);
VALA_EXTERN GType astal_slider_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalSlider, g_object_unref)
VALA_EXTERN AstalSlider* astal_slider_new (void);
VALA_EXTERN AstalSlider* astal_slider_construct (GType object_type);
VALA_EXTERN gboolean astal_slider_get_vertical (AstalSlider* self);
VALA_EXTERN void astal_slider_set_vertical (AstalSlider* self,
                                gboolean value);
VALA_EXTERN gboolean astal_slider_get_dragging (AstalSlider* self);
VALA_EXTERN gdouble astal_slider_get_value (AstalSlider* self);
VALA_EXTERN void astal_slider_set_value (AstalSlider* self,
                             gdouble value);
VALA_EXTERN gdouble astal_slider_get_min (AstalSlider* self);
VALA_EXTERN void astal_slider_set_min (AstalSlider* self,
                           gdouble value);
VALA_EXTERN gdouble astal_slider_get_max (AstalSlider* self);
VALA_EXTERN void astal_slider_set_max (AstalSlider* self,
                           gdouble value);
VALA_EXTERN gdouble astal_slider_get_step (AstalSlider* self);
VALA_EXTERN void astal_slider_set_step (AstalSlider* self,
                            gdouble value);
VALA_EXTERN gdouble astal_slider_get_page (AstalSlider* self);
VALA_EXTERN void astal_slider_set_page (AstalSlider* self,
                            gdouble value);
VALA_EXTERN GType astal_stack_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalStack, g_object_unref)
VALA_EXTERN AstalStack* astal_stack_new (void);
VALA_EXTERN AstalStack* astal_stack_construct (GType object_type);
VALA_EXTERN const gchar* astal_stack_get_shown (AstalStack* self);
VALA_EXTERN void astal_stack_set_shown (AstalStack* self,
                            const gchar* value);
VALA_EXTERN GList* astal_stack_get_children (AstalStack* self);
VALA_EXTERN void astal_stack_set_children (AstalStack* self,
                               GList* value);
VALA_EXTERN void astal_widget_set_css (GtkWidget* widget,
                           const gchar* css);
VALA_EXTERN gchar* astal_widget_get_css (GtkWidget* widget);
VALA_EXTERN void astal_widget_set_class_names (GtkWidget* widget,
                                   gchar** class_names,
                                   gint class_names_length1);
VALA_EXTERN GList* astal_widget_get_class_names (GtkWidget* widget);
VALA_EXTERN void astal_widget_toggle_class_name (GtkWidget* widget,
                                     const gchar* class_name,
                                     gboolean condition);
VALA_EXTERN void astal_widget_set_cursor (GtkWidget* widget,
                              const gchar* cursor);
VALA_EXTERN gchar* astal_widget_get_cursor (GtkWidget* widget);
VALA_EXTERN void astal_widget_set_click_through (GtkWidget* widget,
                                     gboolean click_through);
VALA_EXTERN gboolean astal_widget_get_click_through (GtkWidget* widget);
VALA_EXTERN GType astal_window_anchor_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_exclusivity_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_layer_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_keymode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType astal_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalWindow, g_object_unref)
VALA_EXTERN GdkMonitor* astal_window_get_current_monitor (AstalWindow* self);
VALA_EXTERN AstalWindow* astal_window_new (void);
VALA_EXTERN AstalWindow* astal_window_construct (GType object_type);
VALA_EXTERN gboolean astal_window_get_inhibit (AstalWindow* self);
VALA_EXTERN void astal_window_set_inhibit (AstalWindow* self,
                               gboolean value);
VALA_EXTERN const gchar* astal_window_get_namespace (AstalWindow* self);
VALA_EXTERN void astal_window_set_namespace (AstalWindow* self,
                                 const gchar* value);
VALA_EXTERN AstalWindowAnchor astal_window_get_anchor (AstalWindow* self);
VALA_EXTERN void astal_window_set_anchor (AstalWindow* self,
                              AstalWindowAnchor value);
VALA_EXTERN AstalExclusivity astal_window_get_exclusivity (AstalWindow* self);
VALA_EXTERN void astal_window_set_exclusivity (AstalWindow* self,
                                   AstalExclusivity value);
VALA_EXTERN AstalLayer astal_window_get_layer (AstalWindow* self);
VALA_EXTERN void astal_window_set_layer (AstalWindow* self,
                             AstalLayer value);
VALA_EXTERN AstalKeymode astal_window_get_keymode (AstalWindow* self);
VALA_EXTERN void astal_window_set_keymode (AstalWindow* self,
                               AstalKeymode value);
VALA_EXTERN GdkMonitor* astal_window_get_gdkmonitor (AstalWindow* self);
VALA_EXTERN void astal_window_set_gdkmonitor (AstalWindow* self,
                                  GdkMonitor* value);
VALA_EXTERN gint astal_window_get_margin_top (AstalWindow* self);
VALA_EXTERN void astal_window_set_margin_top (AstalWindow* self,
                                  gint value);
VALA_EXTERN gint astal_window_get_margin_bottom (AstalWindow* self);
VALA_EXTERN void astal_window_set_margin_bottom (AstalWindow* self,
                                     gint value);
VALA_EXTERN gint astal_window_get_margin_left (AstalWindow* self);
VALA_EXTERN void astal_window_set_margin_left (AstalWindow* self,
                                   gint value);
VALA_EXTERN gint astal_window_get_margin_right (AstalWindow* self);
VALA_EXTERN void astal_window_set_margin_right (AstalWindow* self,
                                    gint value);
VALA_EXTERN void astal_window_set_margin (AstalWindow* self,
                              gint value);
VALA_EXTERN gint astal_window_get_monitor (AstalWindow* self);
VALA_EXTERN void astal_window_set_monitor (AstalWindow* self,
                               gint value);
VALA_EXTERN GType astal_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalApplication, g_object_unref)
VALA_EXTERN guint astal_application_register_object (void* object,
                                         GDBusConnection* connection,
                                         const gchar* path,
                                         GError** error);
VALA_EXTERN void astal_application_reset_css (AstalApplication* self);
VALA_EXTERN GtkWindow* astal_application_get_window (AstalApplication* self,
                                         const gchar* name);
VALA_EXTERN void astal_application_apply_css (AstalApplication* self,
                                  const gchar* style,
                                  gboolean reset);
VALA_EXTERN void astal_application_add_icons (AstalApplication* self,
                                  const gchar* path);
VALA_EXTERN void astal_application_request (AstalApplication* self,
                                const gchar* request,
                                GSocketConnection* conn,
                                GError** error);
VALA_EXTERN AstalApplication* astal_application_new (void);
VALA_EXTERN AstalApplication* astal_application_construct (GType object_type);
VALA_EXTERN GList* astal_application_get_monitors (AstalApplication* self);
VALA_EXTERN GList* astal_application_get_windows (AstalApplication* self);
VALA_EXTERN gchar* astal_application_get_gtk_theme (AstalApplication* self);
VALA_EXTERN void astal_application_set_gtk_theme (AstalApplication* self,
                                      const gchar* value);
VALA_EXTERN gchar* astal_application_get_icon_theme (AstalApplication* self);
VALA_EXTERN void astal_application_set_icon_theme (AstalApplication* self,
                                       const gchar* value);
VALA_EXTERN gchar* astal_application_get_cursor_theme (AstalApplication* self);
VALA_EXTERN void astal_application_set_cursor_theme (AstalApplication* self,
                                         const gchar* value);

G_END_DECLS

#endif
