/* wingpanel-interface.h generated by valac 0.56.18-dirty, the Vala compiler, do not modify */

#ifndef __WINGPANEL_INTERFACE_WINGPANEL_INTERFACE_H__
#define __WINGPANEL_INTERFACE_WINGPANEL_INTERFACE_H__

#include <gala.h>
#include <glib-object.h>
#include <meta/display.h>
#include <gio/gio.h>
#include <glib.h>
#include <float.h>
#include <math.h>

G_BEGIN_DECLS

#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 WINGPANEL_INTERFACE_TYPE_MAIN (wingpanel_interface_main_get_type ())
#define WINGPANEL_INTERFACE_MAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_INTERFACE_TYPE_MAIN, WingpanelInterfaceMain))
#define WINGPANEL_INTERFACE_MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_INTERFACE_TYPE_MAIN, WingpanelInterfaceMainClass))
#define WINGPANEL_INTERFACE_IS_MAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_INTERFACE_TYPE_MAIN))
#define WINGPANEL_INTERFACE_IS_MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_INTERFACE_TYPE_MAIN))
#define WINGPANEL_INTERFACE_MAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_INTERFACE_TYPE_MAIN, WingpanelInterfaceMainClass))

typedef struct _WingpanelInterfaceMain WingpanelInterfaceMain;
typedef struct _WingpanelInterfaceMainClass WingpanelInterfaceMainClass;
typedef struct _WingpanelInterfaceMainPrivate WingpanelInterfaceMainPrivate;

#define WINGPANEL_INTERFACE_TYPE_DBUS_SERVER (wingpanel_interface_dbus_server_get_type ())
#define WINGPANEL_INTERFACE_DBUS_SERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_INTERFACE_TYPE_DBUS_SERVER, WingpanelInterfaceDBusServer))
#define WINGPANEL_INTERFACE_DBUS_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_INTERFACE_TYPE_DBUS_SERVER, WingpanelInterfaceDBusServerClass))
#define WINGPANEL_INTERFACE_IS_DBUS_SERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_INTERFACE_TYPE_DBUS_SERVER))
#define WINGPANEL_INTERFACE_IS_DBUS_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_INTERFACE_TYPE_DBUS_SERVER))
#define WINGPANEL_INTERFACE_DBUS_SERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_INTERFACE_TYPE_DBUS_SERVER, WingpanelInterfaceDBusServerClass))

typedef struct _WingpanelInterfaceDBusServer WingpanelInterfaceDBusServer;
typedef struct _WingpanelInterfaceDBusServerClass WingpanelInterfaceDBusServerClass;
typedef struct _WingpanelInterfaceDBusServerPrivate WingpanelInterfaceDBusServerPrivate;
typedef enum  {
	BACKGROUND_STATE_LIGHT,
	BACKGROUND_STATE_DARK,
	BACKGROUND_STATE_MAXIMIZED,
	BACKGROUND_STATE_TRANSLUCENT_DARK,
	BACKGROUND_STATE_TRANSLUCENT_LIGHT
} BackgroundState;

#define TYPE_BACKGROUND_STATE (background_state_get_type ())

#define WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER (wingpanel_interface_background_manager_get_type ())
#define WINGPANEL_INTERFACE_BACKGROUND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER, WingpanelInterfaceBackgroundManager))
#define WINGPANEL_INTERFACE_BACKGROUND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER, WingpanelInterfaceBackgroundManagerClass))
#define WINGPANEL_INTERFACE_IS_BACKGROUND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER))
#define WINGPANEL_INTERFACE_IS_BACKGROUND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER))
#define WINGPANEL_INTERFACE_BACKGROUND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_INTERFACE_TYPE_BACKGROUND_MANAGER, WingpanelInterfaceBackgroundManagerClass))

typedef struct _WingpanelInterfaceBackgroundManager WingpanelInterfaceBackgroundManager;
typedef struct _WingpanelInterfaceBackgroundManagerClass WingpanelInterfaceBackgroundManagerClass;
typedef struct _WingpanelInterfaceBackgroundManagerPrivate WingpanelInterfaceBackgroundManagerPrivate;

#define WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER (wingpanel_interface_focus_manager_get_type ())
#define WINGPANEL_INTERFACE_FOCUS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER, WingpanelInterfaceFocusManager))
#define WINGPANEL_INTERFACE_FOCUS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER, WingpanelInterfaceFocusManagerClass))
#define WINGPANEL_INTERFACE_IS_FOCUS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER))
#define WINGPANEL_INTERFACE_IS_FOCUS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER))
#define WINGPANEL_INTERFACE_FOCUS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WINGPANEL_INTERFACE_TYPE_FOCUS_MANAGER, WingpanelInterfaceFocusManagerClass))

typedef struct _WingpanelInterfaceFocusManager WingpanelInterfaceFocusManager;
typedef struct _WingpanelInterfaceFocusManagerClass WingpanelInterfaceFocusManagerClass;
typedef struct _WingpanelInterfaceFocusManagerPrivate WingpanelInterfaceFocusManagerPrivate;

#define WINGPANEL_INTERFACE_UTILS_TYPE_COLOR_INFORMATION (wingpanel_interface_utils_color_information_get_type ())
typedef struct _WingpanelInterfaceUtilsColorInformation WingpanelInterfaceUtilsColorInformation;

struct _WingpanelInterfaceMain {
	GalaPlugin parent_instance;
	WingpanelInterfaceMainPrivate * priv;
};

struct _WingpanelInterfaceMainClass {
	GalaPluginClass parent_class;
};

struct _WingpanelInterfaceDBusServer {
	GObject parent_instance;
	WingpanelInterfaceDBusServerPrivate * priv;
};

struct _WingpanelInterfaceDBusServerClass {
	GObjectClass parent_class;
};

struct _WingpanelInterfaceBackgroundManager {
	GObject parent_instance;
	WingpanelInterfaceBackgroundManagerPrivate * priv;
};

struct _WingpanelInterfaceBackgroundManagerClass {
	GObjectClass parent_class;
};

struct _WingpanelInterfaceFocusManager {
	GObject parent_instance;
	WingpanelInterfaceFocusManagerPrivate * priv;
};

struct _WingpanelInterfaceFocusManagerClass {
	GObjectClass parent_class;
};

struct _WingpanelInterfaceUtilsColorInformation {
	gdouble average_red;
	gdouble average_green;
	gdouble average_blue;
	gdouble mean_luminance;
	gdouble luminance_variance;
	gdouble mean_acutance;
};

VALA_EXTERN GType wingpanel_interface_main_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelInterfaceMain, g_object_unref)
VALA_EXTERN GalaWindowManager* wingpanel_interface_main_wm;
VALA_EXTERN MetaDisplay* wingpanel_interface_main_display;
VALA_EXTERN WingpanelInterfaceMain* wingpanel_interface_main_new (void);
VALA_EXTERN WingpanelInterfaceMain* wingpanel_interface_main_construct (GType object_type);
VALA_EXTERN void register_plugin (GalaPluginInfo* result);
VALA_EXTERN GType wingpanel_interface_dbus_server_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelInterfaceDBusServer, g_object_unref)
VALA_EXTERN guint wingpanel_interface_dbus_server_register_object (void* object,
                                                       GDBusConnection* connection,
                                                       const gchar* path,
                                                       GError** error);
VALA_EXTERN void wingpanel_interface_dbus_server_initialize (WingpanelInterfaceDBusServer* self,
                                                 gint panel_height,
                                                 GError** error);
VALA_EXTERN gboolean wingpanel_interface_dbus_server_begin_grab_focused_window (WingpanelInterfaceDBusServer* self,
                                                                    gint x,
                                                                    gint y,
                                                                    GError** error);
VALA_EXTERN void wingpanel_interface_dbus_server_remember_focused_window (WingpanelInterfaceDBusServer* self,
                                                              GError** error);
VALA_EXTERN void wingpanel_interface_dbus_server_restore_focused_window (WingpanelInterfaceDBusServer* self,
                                                             GError** error);
VALA_EXTERN WingpanelInterfaceDBusServer* wingpanel_interface_dbus_server_new (void);
VALA_EXTERN WingpanelInterfaceDBusServer* wingpanel_interface_dbus_server_construct (GType object_type);
VALA_EXTERN GType background_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType wingpanel_interface_background_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelInterfaceBackgroundManager, g_object_unref)
VALA_EXTERN WingpanelInterfaceBackgroundManager* wingpanel_interface_background_manager_new (gint panel_height);
VALA_EXTERN WingpanelInterfaceBackgroundManager* wingpanel_interface_background_manager_construct (GType object_type,
                                                                                       gint panel_height);
VALA_EXTERN void wingpanel_interface_background_manager_update_bk_color_info (WingpanelInterfaceBackgroundManager* self,
                                                                  GAsyncReadyCallback _callback_,
                                                                  gpointer _user_data_);
VALA_EXTERN void wingpanel_interface_background_manager_update_bk_color_info_finish (WingpanelInterfaceBackgroundManager* self,
                                                                         GAsyncResult* _res_);
VALA_EXTERN GType wingpanel_interface_focus_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WingpanelInterfaceFocusManager, g_object_unref)
VALA_EXTERN WingpanelInterfaceFocusManager* wingpanel_interface_focus_manager_new (void);
VALA_EXTERN WingpanelInterfaceFocusManager* wingpanel_interface_focus_manager_construct (GType object_type);
VALA_EXTERN void wingpanel_interface_focus_manager_remember_focused_window (WingpanelInterfaceFocusManager* self);
VALA_EXTERN void wingpanel_interface_focus_manager_restore_focused_window (WingpanelInterfaceFocusManager* self);
VALA_EXTERN gboolean wingpanel_interface_focus_manager_begin_grab_focused_window (WingpanelInterfaceFocusManager* self,
                                                                      gint x,
                                                                      gint y);
VALA_EXTERN GType wingpanel_interface_utils_color_information_get_type (void) G_GNUC_CONST ;
VALA_EXTERN WingpanelInterfaceUtilsColorInformation* wingpanel_interface_utils_color_information_dup (const WingpanelInterfaceUtilsColorInformation* self);
VALA_EXTERN void wingpanel_interface_utils_color_information_free (WingpanelInterfaceUtilsColorInformation* self);
VALA_EXTERN void wingpanel_interface_utils_get_background_color_information (GalaWindowManager* wm,
                                                                 gint panel_height,
                                                                 GAsyncReadyCallback _callback_,
                                                                 gpointer _user_data_);
VALA_EXTERN void wingpanel_interface_utils_get_background_color_information_finish (GAsyncResult* _res_,
                                                                        WingpanelInterfaceUtilsColorInformation* result,
                                                                        GError** error);

G_END_DECLS

#endif
