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

#ifndef __SRC_ASTAL_4_H__
#define __SRC_ASTAL_4_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 <astal-io.h>
#include <gio/gio.h>

G_BEGIN_DECLS

#define ASTAL_MAJOR_VERSION 4
#define ASTAL_MINOR_VERSION 0
#define ASTAL_MICRO_VERSION 0
#define ASTAL_VERSION "4.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_BIN (astal_bin_get_type ())
#define ASTAL_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASTAL_TYPE_BIN, AstalBin))
#define ASTAL_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASTAL_TYPE_BIN, AstalBinClass))
#define ASTAL_IS_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASTAL_TYPE_BIN))
#define ASTAL_IS_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASTAL_TYPE_BIN))
#define ASTAL_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASTAL_TYPE_BIN, AstalBinClass))

typedef struct _AstalBin AstalBin;
typedef struct _AstalBinClass AstalBinClass;
typedef struct _AstalBinPrivate AstalBinPrivate;

#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_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;
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 _AstalBin {
	GtkWidget parent_instance;
	AstalBinPrivate * priv;
};

struct _AstalBinClass {
	GtkWidgetClass parent_class;
};

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

struct _AstalBoxClass {
	GtkBoxClass parent_class;
};

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

struct _AstalSliderClass {
	GtkScaleClass 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_bin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (AstalBin, g_object_unref)
VALA_EXTERN AstalBin* astal_bin_new (void);
VALA_EXTERN AstalBin* astal_bin_construct (GType object_type);
VALA_EXTERN GtkWidget* astal_bin_get_child (AstalBin* self);
VALA_EXTERN void astal_bin_set_child (AstalBin* self,
                          GtkWidget* value);
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 (void);
VALA_EXTERN AstalBox* astal_box_construct (GType object_type);
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_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 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_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 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
