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

#ifndef __LIB_GALA_H__
#define __LIB_GALA_H__

#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <meta/meta-background-group.h>
#include <meta/meta-background-actor.h>
#include <clutter/clutter.h>
#include <meta/meta-plugin.h>
#include <meta/window.h>
#include <meta/workspace.h>
#include <meta/common.h>
#include <mtk/mtk.h>
#include <gio/gio.h>
#include <float.h>
#include <math.h>
#include <meta/meta-window-actor.h>
#include <meta/display.h>
#include <meta/meta-startup-notification.h>
#include <gio/gdesktopappinfo.h>
#include <sys/types.h>
#include <cairo-gobject.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <cogl/cogl.h>
#include <gee.h>
#include <pango/pango.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 GALA_NOTIFICATION_DATA_KEY "elementary-notification"
#define GALA_UTILS_BUTTON_SIZE 36
#define GALA_ACTION_KEYS_INTERACTIVE_SCREENSHOT_ACTION "interactive-screenshot-action"
#define GALA_ACTION_KEYS_OVERLAY_ACTION "overlay-action"
#define GALA_ACTION_KEYS_PANEL_MAIN_MENU_ACTION "panel-main-menu-action"
#define GALA_ACTION_KEYS_TOGGLE_RECORDING_ACTION "toggle-recording-action"
#define GALA_ABSTRACT_SWITCHER_WRAPPER_PADDING 12

#define GALA_TYPE_ACTIVATABLE_COMPONENT (gala_activatable_component_get_type ())
#define GALA_ACTIVATABLE_COMPONENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ACTIVATABLE_COMPONENT, GalaActivatableComponent))
#define GALA_IS_ACTIVATABLE_COMPONENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ACTIVATABLE_COMPONENT))
#define GALA_ACTIVATABLE_COMPONENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_ACTIVATABLE_COMPONENT, GalaActivatableComponentIface))

typedef struct _GalaActivatableComponent GalaActivatableComponent;
typedef struct _GalaActivatableComponentIface GalaActivatableComponentIface;

#define GALA_TYPE_BACKGROUND_MANAGER_INTERFACE (gala_background_manager_interface_get_type ())
#define GALA_BACKGROUND_MANAGER_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_BACKGROUND_MANAGER_INTERFACE, GalaBackgroundManagerInterface))
#define GALA_IS_BACKGROUND_MANAGER_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_BACKGROUND_MANAGER_INTERFACE))
#define GALA_BACKGROUND_MANAGER_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_BACKGROUND_MANAGER_INTERFACE, GalaBackgroundManagerInterfaceIface))

typedef struct _GalaBackgroundManagerInterface GalaBackgroundManagerInterface;
typedef struct _GalaBackgroundManagerInterfaceIface GalaBackgroundManagerInterfaceIface;
typedef enum  {
	GALA_ANIMATION_DURATION_OPEN = 350,
	GALA_ANIMATION_DURATION_CLOSE = 195,
	GALA_ANIMATION_DURATION_HIDE = 200,
	GALA_ANIMATION_DURATION_MENU_MAP = 150,
	GALA_ANIMATION_DURATION_SNAP = 250,
	GALA_ANIMATION_DURATION_WORKSPACE_SWITCH_MIN = 300,
	GALA_ANIMATION_DURATION_WORKSPACE_SWITCH = 400,
	GALA_ANIMATION_DURATION_NUDGE = 360
} GalaAnimationDuration;

typedef enum  {
	GALA_DRAG_DROP_ACTION_TYPE_SOURCE = 1 << 0,
	GALA_DRAG_DROP_ACTION_TYPE_DESTINATION = 1 << 1
} GalaDragDropActionType;

#define GALA_TYPE_DRAG_DROP_ACTION_TYPE (gala_drag_drop_action_type_get_type ())

#define GALA_TYPE_DRAG_DROP_ACTION (gala_drag_drop_action_get_type ())
#define GALA_DRAG_DROP_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_DRAG_DROP_ACTION, GalaDragDropAction))
#define GALA_DRAG_DROP_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_DRAG_DROP_ACTION, GalaDragDropActionClass))
#define GALA_IS_DRAG_DROP_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_DRAG_DROP_ACTION))
#define GALA_IS_DRAG_DROP_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_DRAG_DROP_ACTION))
#define GALA_DRAG_DROP_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_DRAG_DROP_ACTION, GalaDragDropActionClass))

typedef struct _GalaDragDropAction GalaDragDropAction;
typedef struct _GalaDragDropActionClass GalaDragDropActionClass;
typedef struct _GalaDragDropActionPrivate GalaDragDropActionPrivate;
typedef enum  {
	GALA_PLUGIN_FUNCTION_ADDITION,
	GALA_PLUGIN_FUNCTION_WINDOW_SWITCHER
} GalaPluginFunction;

#define GALA_TYPE_PLUGIN_FUNCTION (gala_plugin_function_get_type ())
typedef enum  {
	GALA_LOAD_PRIORITY_IMMEDIATE,
	GALA_LOAD_PRIORITY_DEFERRED
} GalaLoadPriority;

#define GALA_TYPE_LOAD_PRIORITY (gala_load_priority_get_type ())

#define GALA_TYPE_PLUGIN_INFO (gala_plugin_info_get_type ())
typedef struct _GalaPluginInfo GalaPluginInfo;

#define GALA_TYPE_PLUGIN (gala_plugin_get_type ())
#define GALA_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_PLUGIN, GalaPlugin))
#define GALA_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_PLUGIN, GalaPluginClass))
#define GALA_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_PLUGIN))
#define GALA_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_PLUGIN))
#define GALA_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_PLUGIN, GalaPluginClass))

typedef struct _GalaPlugin GalaPlugin;
typedef struct _GalaPluginClass GalaPluginClass;
typedef struct _GalaPluginPrivate GalaPluginPrivate;

#define GALA_TYPE_WINDOW_MANAGER (gala_window_manager_get_type ())
#define GALA_WINDOW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_WINDOW_MANAGER, GalaWindowManager))
#define GALA_IS_WINDOW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_WINDOW_MANAGER))
#define GALA_WINDOW_MANAGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_WINDOW_MANAGER, GalaWindowManagerIface))

typedef struct _GalaWindowManager GalaWindowManager;
typedef struct _GalaWindowManagerIface GalaWindowManagerIface;

#define GALA_TYPE_MODAL_PROXY (gala_modal_proxy_get_type ())
#define GALA_MODAL_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_MODAL_PROXY, GalaModalProxy))
#define GALA_MODAL_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_MODAL_PROXY, GalaModalProxyClass))
#define GALA_IS_MODAL_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_MODAL_PROXY))
#define GALA_IS_MODAL_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_MODAL_PROXY))
#define GALA_MODAL_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_MODAL_PROXY, GalaModalProxyClass))

typedef struct _GalaModalProxy GalaModalProxy;
typedef struct _GalaModalProxyClass GalaModalProxyClass;
typedef enum  {
	GALA_ACTION_TYPE_NONE = 0,
	GALA_ACTION_TYPE_SHOW_MULTITASKING_VIEW,
	GALA_ACTION_TYPE_MAXIMIZE_CURRENT,
	GALA_ACTION_TYPE_HIDE_CURRENT,
	GALA_ACTION_TYPE_OPEN_LAUNCHER,
	GALA_ACTION_TYPE_CUSTOM_COMMAND,
	GALA_ACTION_TYPE_WINDOW_OVERVIEW,
	GALA_ACTION_TYPE_WINDOW_OVERVIEW_ALL,
	GALA_ACTION_TYPE_SWITCH_TO_WORKSPACE_PREVIOUS,
	GALA_ACTION_TYPE_SWITCH_TO_WORKSPACE_NEXT,
	GALA_ACTION_TYPE_SWITCH_TO_WORKSPACE_LAST,
	GALA_ACTION_TYPE_START_MOVE_CURRENT,
	GALA_ACTION_TYPE_START_RESIZE_CURRENT,
	GALA_ACTION_TYPE_TOGGLE_ALWAYS_ON_TOP_CURRENT,
	GALA_ACTION_TYPE_TOGGLE_ALWAYS_ON_VISIBLE_WORKSPACE_CURRENT,
	GALA_ACTION_TYPE_MOVE_CURRENT_WORKSPACE_LEFT,
	GALA_ACTION_TYPE_MOVE_CURRENT_WORKSPACE_RIGHT,
	GALA_ACTION_TYPE_CLOSE_CURRENT,
	GALA_ACTION_TYPE_SCREENSHOT_CURRENT
} GalaActionType;

#define GALA_TYPE_ACTION_TYPE (gala_action_type_get_type ())
typedef enum  {
	GALA_MODAL_ACTIONS_NONE = 0,
	GALA_MODAL_ACTIONS_SWITCH_WORKSPACE = 1 << 0,
	GALA_MODAL_ACTIONS_SWITCH_WINDOWS = 1 << 1,
	GALA_MODAL_ACTIONS_MULTITASKING_VIEW = 1 << 2,
	GALA_MODAL_ACTIONS_WINDOW_OVERVIEW = 1 << 3,
	GALA_MODAL_ACTIONS_ZOOM = 1 << 4,
	GALA_MODAL_ACTIONS_LOCATE_POINTER = 1 << 5,
	GALA_MODAL_ACTIONS_SCREENSHOT = 1 << 6,
	GALA_MODAL_ACTIONS_SCREENSHOT_AREA = 1 << 7,
	GALA_MODAL_ACTIONS_SCREENSHOT_WINDOW = 1 << 8,
	GALA_MODAL_ACTIONS_MEDIA_KEYS = 1 << 9
} GalaModalActions;

#define GALA_TYPE_MODAL_ACTIONS (gala_modal_actions_get_type ())

#define GALA_TYPE_UTILS (gala_utils_get_type ())
#define GALA_UTILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_UTILS, GalaUtils))
#define GALA_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_UTILS, GalaUtilsClass))
#define GALA_IS_UTILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_UTILS))
#define GALA_IS_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_UTILS))
#define GALA_UTILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_UTILS, GalaUtilsClass))

typedef struct _GalaUtils GalaUtils;
typedef struct _GalaUtilsClass GalaUtilsClass;
typedef struct _GalaUtilsPrivate GalaUtilsPrivate;
typedef struct _GalaModalProxyPrivate GalaModalProxyPrivate;
typedef enum  {
	GALA_APP_STATE_STOPPED,
	GALA_APP_STATE_STARTING,
	GALA_APP_STATE_RUNNING
} GalaAppState;

#define GALA_TYPE_APP_STATE (gala_app_state_get_type ())

#define GALA_TYPE_APP (gala_app_get_type ())
#define GALA_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_APP, GalaApp))
#define GALA_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_APP, GalaAppClass))
#define GALA_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_APP))
#define GALA_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_APP))
#define GALA_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_APP, GalaAppClass))

typedef struct _GalaApp GalaApp;
typedef struct _GalaAppClass GalaAppClass;
typedef struct _GalaAppPrivate GalaAppPrivate;

#define GALA_TYPE_APP_CACHE (gala_app_cache_get_type ())
#define GALA_APP_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_APP_CACHE, GalaAppCache))
#define GALA_APP_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_APP_CACHE, GalaAppCacheClass))
#define GALA_IS_APP_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_APP_CACHE))
#define GALA_IS_APP_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_APP_CACHE))
#define GALA_APP_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_APP_CACHE, GalaAppCacheClass))

typedef struct _GalaAppCache GalaAppCache;
typedef struct _GalaAppCacheClass GalaAppCacheClass;
typedef struct _GalaAppCachePrivate GalaAppCachePrivate;

#define GALA_TYPE_APP_SYSTEM (gala_app_system_get_type ())
#define GALA_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_APP_SYSTEM, GalaAppSystem))
#define GALA_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_APP_SYSTEM, GalaAppSystemClass))
#define GALA_IS_APP_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_APP_SYSTEM))
#define GALA_IS_APP_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_APP_SYSTEM))
#define GALA_APP_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_APP_SYSTEM, GalaAppSystemClass))

typedef struct _GalaAppSystem GalaAppSystem;
typedef struct _GalaAppSystemClass GalaAppSystemClass;
typedef struct _GalaAppSystemPrivate GalaAppSystemPrivate;

#define GALA_DRAWING_TYPE_BUFFER_SURFACE (gala_drawing_buffer_surface_get_type ())
#define GALA_DRAWING_BUFFER_SURFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_DRAWING_TYPE_BUFFER_SURFACE, GalaDrawingBufferSurface))
#define GALA_DRAWING_BUFFER_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_DRAWING_TYPE_BUFFER_SURFACE, GalaDrawingBufferSurfaceClass))
#define GALA_DRAWING_IS_BUFFER_SURFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_DRAWING_TYPE_BUFFER_SURFACE))
#define GALA_DRAWING_IS_BUFFER_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_DRAWING_TYPE_BUFFER_SURFACE))
#define GALA_DRAWING_BUFFER_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_DRAWING_TYPE_BUFFER_SURFACE, GalaDrawingBufferSurfaceClass))

typedef struct _GalaDrawingBufferSurface GalaDrawingBufferSurface;
typedef struct _GalaDrawingBufferSurfaceClass GalaDrawingBufferSurfaceClass;
typedef struct _GalaDrawingBufferSurfacePrivate GalaDrawingBufferSurfacePrivate;

#define GALA_DRAWING_TYPE_COLOR (gala_drawing_color_get_type ())
#define GALA_DRAWING_COLOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_DRAWING_TYPE_COLOR, GalaDrawingColor))
#define GALA_DRAWING_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_DRAWING_TYPE_COLOR, GalaDrawingColorClass))
#define GALA_DRAWING_IS_COLOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_DRAWING_TYPE_COLOR))
#define GALA_DRAWING_IS_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_DRAWING_TYPE_COLOR))
#define GALA_DRAWING_COLOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_DRAWING_TYPE_COLOR, GalaDrawingColorClass))

typedef struct _GalaDrawingColor GalaDrawingColor;
typedef struct _GalaDrawingColorClass GalaDrawingColorClass;

#define GALA_DRAWING_TYPE_CANVAS (gala_drawing_canvas_get_type ())
#define GALA_DRAWING_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_DRAWING_TYPE_CANVAS, GalaDrawingCanvas))
#define GALA_DRAWING_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_DRAWING_TYPE_CANVAS, GalaDrawingCanvasClass))
#define GALA_DRAWING_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_DRAWING_TYPE_CANVAS))
#define GALA_DRAWING_IS_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_DRAWING_TYPE_CANVAS))
#define GALA_DRAWING_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_DRAWING_TYPE_CANVAS, GalaDrawingCanvasClass))

typedef struct _GalaDrawingCanvas GalaDrawingCanvas;
typedef struct _GalaDrawingCanvasClass GalaDrawingCanvasClass;
typedef struct _GalaDrawingCanvasPrivate GalaDrawingCanvasPrivate;
typedef struct _GalaDrawingColorPrivate GalaDrawingColorPrivate;

#define GALA_DRAWING_TYPE_STYLE_MANAGER (gala_drawing_style_manager_get_type ())
#define GALA_DRAWING_STYLE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_DRAWING_TYPE_STYLE_MANAGER, GalaDrawingStyleManager))
#define GALA_DRAWING_STYLE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_DRAWING_TYPE_STYLE_MANAGER, GalaDrawingStyleManagerClass))
#define GALA_DRAWING_IS_STYLE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_DRAWING_TYPE_STYLE_MANAGER))
#define GALA_DRAWING_IS_STYLE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_DRAWING_TYPE_STYLE_MANAGER))
#define GALA_DRAWING_STYLE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_DRAWING_TYPE_STYLE_MANAGER, GalaDrawingStyleManagerClass))

typedef struct _GalaDrawingStyleManager GalaDrawingStyleManager;
typedef struct _GalaDrawingStyleManagerClass GalaDrawingStyleManagerClass;
typedef struct _GalaDrawingStyleManagerPrivate GalaDrawingStyleManagerPrivate;
typedef enum  {
	GALA_DRAWING_STYLE_MANAGER_COLOR_SCHEME_NO_PREFERENCE,
	GALA_DRAWING_STYLE_MANAGER_COLOR_SCHEME_DARK,
	GALA_DRAWING_STYLE_MANAGER_COLOR_SCHEME_LIGHT
} GalaDrawingStyleManagerColorScheme;

#define GALA_DRAWING_STYLE_MANAGER_TYPE_COLOR_SCHEME (gala_drawing_style_manager_color_scheme_get_type ())

#define GALA_DRAWING_TYPE_UTILITIES (gala_drawing_utilities_get_type ())
#define GALA_DRAWING_UTILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_DRAWING_TYPE_UTILITIES, GalaDrawingUtilities))
#define GALA_DRAWING_UTILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_DRAWING_TYPE_UTILITIES, GalaDrawingUtilitiesClass))
#define GALA_DRAWING_IS_UTILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_DRAWING_TYPE_UTILITIES))
#define GALA_DRAWING_IS_UTILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_DRAWING_TYPE_UTILITIES))
#define GALA_DRAWING_UTILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_DRAWING_TYPE_UTILITIES, GalaDrawingUtilitiesClass))

typedef struct _GalaDrawingUtilities GalaDrawingUtilities;
typedef struct _GalaDrawingUtilitiesClass GalaDrawingUtilitiesClass;
typedef struct _GalaDrawingUtilitiesPrivate GalaDrawingUtilitiesPrivate;

#define GALA_TYPE_BACKGROUND_BLUR_EFFECT (gala_background_blur_effect_get_type ())
#define GALA_BACKGROUND_BLUR_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_BACKGROUND_BLUR_EFFECT, GalaBackgroundBlurEffect))
#define GALA_BACKGROUND_BLUR_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_BACKGROUND_BLUR_EFFECT, GalaBackgroundBlurEffectClass))
#define GALA_IS_BACKGROUND_BLUR_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_BACKGROUND_BLUR_EFFECT))
#define GALA_IS_BACKGROUND_BLUR_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_BACKGROUND_BLUR_EFFECT))
#define GALA_BACKGROUND_BLUR_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_BACKGROUND_BLUR_EFFECT, GalaBackgroundBlurEffectClass))

typedef struct _GalaBackgroundBlurEffect GalaBackgroundBlurEffect;
typedef struct _GalaBackgroundBlurEffectClass GalaBackgroundBlurEffectClass;
typedef struct _GalaBackgroundBlurEffectPrivate GalaBackgroundBlurEffectPrivate;

#define GALA_TYPE_BOX_BLUR_MANAGER (gala_box_blur_manager_get_type ())
#define GALA_BOX_BLUR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_BOX_BLUR_MANAGER, GalaBoxBlurManager))
#define GALA_BOX_BLUR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_BOX_BLUR_MANAGER, GalaBoxBlurManagerClass))
#define GALA_IS_BOX_BLUR_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_BOX_BLUR_MANAGER))
#define GALA_IS_BOX_BLUR_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_BOX_BLUR_MANAGER))
#define GALA_BOX_BLUR_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_BOX_BLUR_MANAGER, GalaBoxBlurManagerClass))

typedef struct _GalaBoxBlurManager GalaBoxBlurManager;
typedef struct _GalaBoxBlurManagerClass GalaBoxBlurManagerClass;
typedef struct _GalaBoxBlurManagerPrivate GalaBoxBlurManagerPrivate;

#define GALA_TYPE_ROUNDED_CORNERS_EFFECT (gala_rounded_corners_effect_get_type ())
#define GALA_ROUNDED_CORNERS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ROUNDED_CORNERS_EFFECT, GalaRoundedCornersEffect))
#define GALA_ROUNDED_CORNERS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_ROUNDED_CORNERS_EFFECT, GalaRoundedCornersEffectClass))
#define GALA_IS_ROUNDED_CORNERS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ROUNDED_CORNERS_EFFECT))
#define GALA_IS_ROUNDED_CORNERS_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_ROUNDED_CORNERS_EFFECT))
#define GALA_ROUNDED_CORNERS_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_ROUNDED_CORNERS_EFFECT, GalaRoundedCornersEffectClass))

typedef struct _GalaRoundedCornersEffect GalaRoundedCornersEffect;
typedef struct _GalaRoundedCornersEffectClass GalaRoundedCornersEffectClass;
typedef struct _GalaRoundedCornersEffectPrivate GalaRoundedCornersEffectPrivate;

#define GALA_TYPE_SHADOW_EFFECT (gala_shadow_effect_get_type ())
#define GALA_SHADOW_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_SHADOW_EFFECT, GalaShadowEffect))
#define GALA_SHADOW_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_SHADOW_EFFECT, GalaShadowEffectClass))
#define GALA_IS_SHADOW_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_SHADOW_EFFECT))
#define GALA_IS_SHADOW_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_SHADOW_EFFECT))
#define GALA_SHADOW_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_SHADOW_EFFECT, GalaShadowEffectClass))

typedef struct _GalaShadowEffect GalaShadowEffect;
typedef struct _GalaShadowEffectClass GalaShadowEffectClass;
typedef struct _GalaShadowEffectPrivate GalaShadowEffectPrivate;

#define GALA_TYPE_GESTURE_TARGET (gala_gesture_target_get_type ())
#define GALA_GESTURE_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_GESTURE_TARGET, GalaGestureTarget))
#define GALA_IS_GESTURE_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_GESTURE_TARGET))
#define GALA_GESTURE_TARGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_GESTURE_TARGET, GalaGestureTargetIface))

typedef struct _GalaGestureTarget GalaGestureTarget;
typedef struct _GalaGestureTargetIface GalaGestureTargetIface;
typedef enum  {
	GALA_GESTURE_TARGET_UPDATE_TYPE_START,
	GALA_GESTURE_TARGET_UPDATE_TYPE_UPDATE,
	GALA_GESTURE_TARGET_UPDATE_TYPE_COMMIT,
	GALA_GESTURE_TARGET_UPDATE_TYPE_END
} GalaGestureTargetUpdateType;

#define GALA_GESTURE_TARGET_TYPE_UPDATE_TYPE (gala_gesture_target_update_type_get_type ())
typedef enum  {
	GALA_GESTURE_ACTION_NONE,
	GALA_GESTURE_ACTION_SWITCH_WORKSPACE,
	GALA_GESTURE_ACTION_SWITCH_WINDOWS,
	GALA_GESTURE_ACTION_MULTITASKING_VIEW,
	GALA_GESTURE_ACTION_ZOOM,
	GALA_GESTURE_ACTION_CUSTOM,
	GALA_GESTURE_ACTION_N_ACTIONS
} GalaGestureAction;

#define GALA_TYPE_GESTURE_ACTION (gala_gesture_action_get_type ())

#define GALA_TYPE_ACTOR_TARGET (gala_actor_target_get_type ())
#define GALA_ACTOR_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ACTOR_TARGET, GalaActorTarget))
#define GALA_ACTOR_TARGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_ACTOR_TARGET, GalaActorTargetClass))
#define GALA_IS_ACTOR_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ACTOR_TARGET))
#define GALA_IS_ACTOR_TARGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_ACTOR_TARGET))
#define GALA_ACTOR_TARGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_ACTOR_TARGET, GalaActorTargetClass))

typedef struct _GalaActorTarget GalaActorTarget;
typedef struct _GalaActorTargetClass GalaActorTargetClass;
typedef struct _GalaActorTargetPrivate GalaActorTargetPrivate;

#define GALA_TYPE_PROPERTY_TARGET (gala_property_target_get_type ())
#define GALA_PROPERTY_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_PROPERTY_TARGET, GalaPropertyTarget))
#define GALA_PROPERTY_TARGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_PROPERTY_TARGET, GalaPropertyTargetClass))
#define GALA_IS_PROPERTY_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_PROPERTY_TARGET))
#define GALA_IS_PROPERTY_TARGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_PROPERTY_TARGET))
#define GALA_PROPERTY_TARGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_PROPERTY_TARGET, GalaPropertyTargetClass))

typedef struct _GalaPropertyTarget GalaPropertyTarget;
typedef struct _GalaPropertyTargetClass GalaPropertyTargetClass;
typedef struct _GalaPropertyTargetPrivate GalaPropertyTargetPrivate;

#define GALA_TYPE_ROOT_TARGET (gala_root_target_get_type ())
#define GALA_ROOT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ROOT_TARGET, GalaRootTarget))
#define GALA_IS_ROOT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ROOT_TARGET))
#define GALA_ROOT_TARGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_ROOT_TARGET, GalaRootTargetIface))

typedef struct _GalaRootTarget GalaRootTarget;
typedef struct _GalaRootTargetIface GalaRootTargetIface;

#define GALA_TYPE_GESTURE_CONTROLLER (gala_gesture_controller_get_type ())
#define GALA_GESTURE_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_GESTURE_CONTROLLER, GalaGestureController))
#define GALA_GESTURE_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_GESTURE_CONTROLLER, GalaGestureControllerClass))
#define GALA_IS_GESTURE_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_GESTURE_CONTROLLER))
#define GALA_IS_GESTURE_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_GESTURE_CONTROLLER))
#define GALA_GESTURE_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_GESTURE_CONTROLLER, GalaGestureControllerClass))

typedef struct _GalaGestureController GalaGestureController;
typedef struct _GalaGestureControllerClass GalaGestureControllerClass;

#define GALA_TYPE_GESTURE_TRIGGER (gala_gesture_trigger_get_type ())
#define GALA_GESTURE_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_GESTURE_TRIGGER, GalaGestureTrigger))
#define GALA_IS_GESTURE_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_GESTURE_TRIGGER))
#define GALA_GESTURE_TRIGGER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GALA_TYPE_GESTURE_TRIGGER, GalaGestureTriggerIface))

typedef struct _GalaGestureTrigger GalaGestureTrigger;
typedef struct _GalaGestureTriggerIface GalaGestureTriggerIface;

#define GALA_TYPE_GESTURE (gala_gesture_get_type ())
#define GALA_GESTURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_GESTURE, GalaGesture))
#define GALA_GESTURE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_GESTURE, GalaGestureClass))
#define GALA_IS_GESTURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_GESTURE))
#define GALA_IS_GESTURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_GESTURE))
#define GALA_GESTURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_GESTURE, GalaGestureClass))

typedef struct _GalaGesture GalaGesture;
typedef struct _GalaGestureClass GalaGestureClass;

#define GALA_TYPE_GLOBAL_TRIGGER (gala_global_trigger_get_type ())
#define GALA_GLOBAL_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_GLOBAL_TRIGGER, GalaGlobalTrigger))
#define GALA_GLOBAL_TRIGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_GLOBAL_TRIGGER, GalaGlobalTriggerClass))
#define GALA_IS_GLOBAL_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_GLOBAL_TRIGGER))
#define GALA_IS_GLOBAL_TRIGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_GLOBAL_TRIGGER))
#define GALA_GLOBAL_TRIGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_GLOBAL_TRIGGER, GalaGlobalTriggerClass))

typedef struct _GalaGlobalTrigger GalaGlobalTrigger;
typedef struct _GalaGlobalTriggerClass GalaGlobalTriggerClass;
typedef struct _GalaGlobalTriggerPrivate GalaGlobalTriggerPrivate;

#define GALA_TYPE_SWIPE_TRIGGER (gala_swipe_trigger_get_type ())
#define GALA_SWIPE_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_SWIPE_TRIGGER, GalaSwipeTrigger))
#define GALA_SWIPE_TRIGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_SWIPE_TRIGGER, GalaSwipeTriggerClass))
#define GALA_IS_SWIPE_TRIGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_SWIPE_TRIGGER))
#define GALA_IS_SWIPE_TRIGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_SWIPE_TRIGGER))
#define GALA_SWIPE_TRIGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_SWIPE_TRIGGER, GalaSwipeTriggerClass))

typedef struct _GalaSwipeTrigger GalaSwipeTrigger;
typedef struct _GalaSwipeTriggerClass GalaSwipeTriggerClass;
typedef struct _GalaSwipeTriggerPrivate GalaSwipeTriggerPrivate;
typedef struct _GalaGestureControllerPrivate GalaGestureControllerPrivate;

#define GALA_TYPE_WORKSPACE_HIDE_TRACKER (gala_workspace_hide_tracker_get_type ())
#define GALA_WORKSPACE_HIDE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_WORKSPACE_HIDE_TRACKER, GalaWorkspaceHideTracker))
#define GALA_WORKSPACE_HIDE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_WORKSPACE_HIDE_TRACKER, GalaWorkspaceHideTrackerClass))
#define GALA_IS_WORKSPACE_HIDE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_WORKSPACE_HIDE_TRACKER))
#define GALA_IS_WORKSPACE_HIDE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_WORKSPACE_HIDE_TRACKER))
#define GALA_WORKSPACE_HIDE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_WORKSPACE_HIDE_TRACKER, GalaWorkspaceHideTrackerClass))

typedef struct _GalaWorkspaceHideTracker GalaWorkspaceHideTracker;
typedef struct _GalaWorkspaceHideTrackerClass GalaWorkspaceHideTrackerClass;
typedef struct _GalaWorkspaceHideTrackerPrivate GalaWorkspaceHideTrackerPrivate;
typedef gboolean (*GalaWorkspaceHideTrackerComputeShouldHideOnWorkspace) (MetaWorkspace* workspace, gpointer user_data);

#define GALA_TYPE_CANVAS_ACTOR (gala_canvas_actor_get_type ())
#define GALA_CANVAS_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_CANVAS_ACTOR, GalaCanvasActor))
#define GALA_CANVAS_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_CANVAS_ACTOR, GalaCanvasActorClass))
#define GALA_IS_CANVAS_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_CANVAS_ACTOR))
#define GALA_IS_CANVAS_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_CANVAS_ACTOR))
#define GALA_CANVAS_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_CANVAS_ACTOR, GalaCanvasActorClass))

typedef struct _GalaCanvasActor GalaCanvasActor;
typedef struct _GalaCanvasActorClass GalaCanvasActorClass;
typedef struct _GalaCanvasActorPrivate GalaCanvasActorPrivate;

#define GALA_TYPE_ABSTRACT_SWITCHER (gala_abstract_switcher_get_type ())
#define GALA_ABSTRACT_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ABSTRACT_SWITCHER, GalaAbstractSwitcher))
#define GALA_ABSTRACT_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_ABSTRACT_SWITCHER, GalaAbstractSwitcherClass))
#define GALA_IS_ABSTRACT_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ABSTRACT_SWITCHER))
#define GALA_IS_ABSTRACT_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_ABSTRACT_SWITCHER))
#define GALA_ABSTRACT_SWITCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_ABSTRACT_SWITCHER, GalaAbstractSwitcherClass))

typedef struct _GalaAbstractSwitcher GalaAbstractSwitcher;
typedef struct _GalaAbstractSwitcherClass GalaAbstractSwitcherClass;
typedef struct _GalaAbstractSwitcherPrivate GalaAbstractSwitcherPrivate;

#define GALA_TYPE_CLOSE_BUTTON (gala_close_button_get_type ())
#define GALA_CLOSE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_CLOSE_BUTTON, GalaCloseButton))
#define GALA_CLOSE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_CLOSE_BUTTON, GalaCloseButtonClass))
#define GALA_IS_CLOSE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_CLOSE_BUTTON))
#define GALA_IS_CLOSE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_CLOSE_BUTTON))
#define GALA_CLOSE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_CLOSE_BUTTON, GalaCloseButtonClass))

typedef struct _GalaCloseButton GalaCloseButton;
typedef struct _GalaCloseButtonClass GalaCloseButtonClass;
typedef struct _GalaCloseButtonPrivate GalaCloseButtonPrivate;
typedef enum  {
	GALA_FOCUS_DIRECTION_UP,
	GALA_FOCUS_DIRECTION_DOWN,
	GALA_FOCUS_DIRECTION_LEFT,
	GALA_FOCUS_DIRECTION_RIGHT
} GalaFocusDirection;

#define GALA_TYPE_FOCUS_DIRECTION (gala_focus_direction_get_type ())

#define GALA_TYPE_WIDGET (gala_widget_get_type ())
#define GALA_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_WIDGET, GalaWidget))
#define GALA_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_WIDGET, GalaWidgetClass))
#define GALA_IS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_WIDGET))
#define GALA_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_WIDGET))
#define GALA_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_WIDGET, GalaWidgetClass))

typedef struct _GalaWidget GalaWidget;
typedef struct _GalaWidgetClass GalaWidgetClass;

#define GALA_TYPE_ICON (gala_icon_get_type ())
#define GALA_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ICON, GalaIcon))
#define GALA_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_ICON, GalaIconClass))
#define GALA_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ICON))
#define GALA_IS_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_ICON))
#define GALA_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_ICON, GalaIconClass))

typedef struct _GalaIcon GalaIcon;
typedef struct _GalaIconClass GalaIconClass;
typedef struct _GalaIconPrivate GalaIconPrivate;

#define GALA_TYPE_IMAGE (gala_image_get_type ())
#define GALA_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_IMAGE, GalaImage))
#define GALA_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_IMAGE, GalaImageClass))
#define GALA_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_IMAGE))
#define GALA_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_IMAGE))
#define GALA_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_IMAGE, GalaImageClass))

typedef struct _GalaImage GalaImage;
typedef struct _GalaImageClass GalaImageClass;
typedef struct _GalaImagePrivate GalaImagePrivate;
typedef struct _GalaWidgetPrivate GalaWidgetPrivate;

#define GALA_TYPE_ROOT (gala_root_get_type ())
#define GALA_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_ROOT, GalaRoot))
#define GALA_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_ROOT, GalaRootClass))
#define GALA_IS_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_ROOT))
#define GALA_IS_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_ROOT))
#define GALA_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_ROOT, GalaRootClass))

typedef struct _GalaRoot GalaRoot;
typedef struct _GalaRootClass GalaRootClass;
typedef struct _GalaRootPrivate GalaRootPrivate;

#define GALA_TYPE_TEXT (gala_text_get_type ())
#define GALA_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_TEXT, GalaText))
#define GALA_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_TEXT, GalaTextClass))
#define GALA_IS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_TEXT))
#define GALA_IS_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_TEXT))
#define GALA_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_TEXT, GalaTextClass))

typedef struct _GalaText GalaText;
typedef struct _GalaTextClass GalaTextClass;
typedef struct _GalaTextPrivate GalaTextPrivate;

#define GALA_TYPE_WINDOW_ICON (gala_window_icon_get_type ())
#define GALA_WINDOW_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_TYPE_WINDOW_ICON, GalaWindowIcon))
#define GALA_WINDOW_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_TYPE_WINDOW_ICON, GalaWindowIconClass))
#define GALA_IS_WINDOW_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_TYPE_WINDOW_ICON))
#define GALA_IS_WINDOW_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_TYPE_WINDOW_ICON))
#define GALA_WINDOW_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_TYPE_WINDOW_ICON, GalaWindowIconClass))

typedef struct _GalaWindowIcon GalaWindowIcon;
typedef struct _GalaWindowIconClass GalaWindowIconClass;
typedef struct _GalaWindowIconPrivate GalaWindowIconPrivate;
typedef enum  {
	GALA_WINDOW_FLAGS_NONE = 0,
	GALA_WINDOW_FLAGS_CAN_HIDE = 1 << 0,
	GALA_WINDOW_FLAGS_CAN_MAXIMIZE = 1 << 1,
	GALA_WINDOW_FLAGS_IS_MAXIMIZED = 1 << 2,
	GALA_WINDOW_FLAGS_ALLOWS_MOVE = 1 << 3,
	GALA_WINDOW_FLAGS_ALLOWS_RESIZE = 1 << 4,
	GALA_WINDOW_FLAGS_ALWAYS_ON_TOP = 1 << 5,
	GALA_WINDOW_FLAGS_ON_ALL_WORKSPACES = 1 << 6,
	GALA_WINDOW_FLAGS_CAN_CLOSE = 1 << 7,
	GALA_WINDOW_FLAGS_IS_TILED = 1 << 8,
	GALA_WINDOW_FLAGS_ALLOWS_MOVE_LEFT = 1 << 9,
	GALA_WINDOW_FLAGS_ALLOWS_MOVE_RIGHT = 1 << 10
} GalaWindowFlags;

#define GALA_TYPE_WINDOW_FLAGS (gala_window_flags_get_type ())

struct _GalaActivatableComponentIface {
	GTypeInterface parent_iface;
	void (*open) (GalaActivatableComponent* self, GHashTable* hints);
	void (*close) (GalaActivatableComponent* self, GHashTable* hints);
	gboolean (*is_opened) (GalaActivatableComponent* self);
};

struct _GalaBackgroundManagerInterfaceIface {
	GTypeInterface parent_iface;
	MetaBackgroundActor* (*get_newest_background_actor) (GalaBackgroundManagerInterface* self);
};

struct _GalaDragDropAction {
	ClutterAction parent_instance;
	GalaDragDropActionPrivate * priv;
};

struct _GalaDragDropActionClass {
	ClutterActionClass parent_class;
};

struct _GalaPluginInfo {
	gchar* name;
	gchar* author;
	GType plugin_type;
	GalaPluginFunction provides;
	GalaLoadPriority load_priority;
	gchar* module_name;
};

struct _GalaWindowManagerIface {
	GTypeInterface parent_iface;
	GalaModalProxy* (*push_modal) (GalaWindowManager* self, ClutterActor* actor, gboolean grab);
	void (*pop_modal) (GalaWindowManager* self, GalaModalProxy* proxy);
	gboolean (*is_modal) (GalaWindowManager* self);
	gboolean (*modal_proxy_valid) (GalaWindowManager* self, GalaModalProxy* proxy);
	void (*perform_action) (GalaWindowManager* self, GalaActionType type);
	void (*move_window) (GalaWindowManager* self, MetaWindow* window, MetaWorkspace* workspace, guint32 timestamp);
	void (*switch_to_next_workspace) (GalaWindowManager* self, MetaMotionDirection direction, guint32 timestamp);
	void (*launch_action) (GalaWindowManager* self, const gchar* action_key);
	gboolean (*filter_action) (GalaWindowManager* self, GalaModalActions action);
	ClutterActor* (*get_ui_group) (GalaWindowManager* self);
	void (*set_ui_group) (GalaWindowManager* self, ClutterActor* value);
	ClutterStage* (*get_stage) (GalaWindowManager* self);
	void (*set_stage) (GalaWindowManager* self, ClutterStage* value);
	ClutterActor* (*get_window_group) (GalaWindowManager* self);
	void (*set_window_group) (GalaWindowManager* self, ClutterActor* value);
	ClutterActor* (*get_top_window_group) (GalaWindowManager* self);
	void (*set_top_window_group) (GalaWindowManager* self, ClutterActor* value);
	MetaBackgroundGroup* (*get_background_group) (GalaWindowManager* self);
	void (*set_background_group) (GalaWindowManager* self, MetaBackgroundGroup* value);
};

struct _GalaPlugin {
	GObject parent_instance;
	GalaPluginPrivate * priv;
};

struct _GalaPluginClass {
	GObjectClass parent_class;
	void (*initialize) (GalaPlugin* self, GalaWindowManager* wm);
	void (*destroy) (GalaPlugin* self);
};

struct _GalaUtils {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GalaUtilsPrivate * priv;
};

struct _GalaUtilsClass {
	GTypeClass parent_class;
	void (*finalize) (GalaUtils *self);
};

struct _GalaModalProxy {
	GObject parent_instance;
	GalaModalProxyPrivate * priv;
};

struct _GalaModalProxyClass {
	GObjectClass parent_class;
};

struct _GalaApp {
	GObject parent_instance;
	GalaAppPrivate * priv;
};

struct _GalaAppClass {
	GObjectClass parent_class;
};

struct _GalaAppCache {
	GObject parent_instance;
	GalaAppCachePrivate * priv;
};

struct _GalaAppCacheClass {
	GObjectClass parent_class;
};

struct _GalaAppSystem {
	GObject parent_instance;
	GalaAppSystemPrivate * priv;
};

struct _GalaAppSystemClass {
	GObjectClass parent_class;
};

struct _GalaDrawingBufferSurface {
	GObject parent_instance;
	GalaDrawingBufferSurfacePrivate * priv;
};

struct _GalaDrawingBufferSurfaceClass {
	GObjectClass parent_class;
};

struct _GalaDrawingCanvas {
	GObject parent_instance;
	GalaDrawingCanvasPrivate * priv;
};

struct _GalaDrawingCanvasClass {
	GObjectClass parent_class;
};

struct _GalaDrawingColor {
	GObject parent_instance;
	GalaDrawingColorPrivate * priv;
	gdouble R;
	gdouble G;
	gdouble B;
	gdouble A;
};

struct _GalaDrawingColorClass {
	GObjectClass parent_class;
};

struct _GalaDrawingStyleManager {
	GObject parent_instance;
	GalaDrawingStyleManagerPrivate * priv;
};

struct _GalaDrawingStyleManagerClass {
	GObjectClass parent_class;
};

struct _GalaDrawingUtilities {
	GObject parent_instance;
	GalaDrawingUtilitiesPrivate * priv;
};

struct _GalaDrawingUtilitiesClass {
	GObjectClass parent_class;
};

struct _GalaBackgroundBlurEffect {
	ClutterEffect parent_instance;
	GalaBackgroundBlurEffectPrivate * priv;
};

struct _GalaBackgroundBlurEffectClass {
	ClutterEffectClass parent_class;
};

struct _GalaBoxBlurManager {
	GObject parent_instance;
	GalaBoxBlurManagerPrivate * priv;
};

struct _GalaBoxBlurManagerClass {
	GObjectClass parent_class;
};

struct _GalaRoundedCornersEffect {
	ClutterShaderEffect parent_instance;
	GalaRoundedCornersEffectPrivate * priv;
};

struct _GalaRoundedCornersEffectClass {
	ClutterShaderEffectClass parent_class;
};

struct _GalaShadowEffect {
	ClutterEffect parent_instance;
	GalaShadowEffectPrivate * priv;
};

struct _GalaShadowEffectClass {
	ClutterEffectClass parent_class;
};

struct _GalaGestureTargetIface {
	GTypeInterface parent_iface;
	void (*propagate) (GalaGestureTarget* self, GalaGestureTargetUpdateType update_type, GalaGestureAction action, gdouble progress);
};

struct _GalaActorTarget {
	ClutterActor parent_instance;
	GalaActorTargetPrivate * priv;
};

struct _GalaActorTargetClass {
	ClutterActorClass parent_class;
	void (*start_progress) (GalaActorTarget* self, GalaGestureAction action);
	void (*update_progress) (GalaActorTarget* self, GalaGestureAction action, gdouble progress);
	void (*commit_progress) (GalaActorTarget* self, GalaGestureAction action, gdouble to);
	void (*end_progress) (GalaActorTarget* self, GalaGestureAction action);
};

struct _GalaPropertyTarget {
	GObject parent_instance;
	GalaPropertyTargetPrivate * priv;
};

struct _GalaPropertyTargetClass {
	GObjectClass parent_class;
};

struct _GalaRootTargetIface {
	GTypeInterface parent_iface;
	ClutterActor* (*get_actor) (GalaRootTarget* self);
};

struct _GalaGestureTriggerIface {
	GTypeInterface parent_iface;
	gboolean (*triggers) (GalaGestureTrigger* self, GalaGesture* gesture);
	void (*enable_backends) (GalaGestureTrigger* self, GalaGestureController* controller);
};

struct _GalaGlobalTrigger {
	GObject parent_instance;
	GalaGlobalTriggerPrivate * priv;
};

struct _GalaGlobalTriggerClass {
	GObjectClass parent_class;
};

struct _GalaSwipeTrigger {
	GObject parent_instance;
	GalaSwipeTriggerPrivate * priv;
};

struct _GalaSwipeTriggerClass {
	GObjectClass parent_class;
};

struct _GalaGestureController {
	GObject parent_instance;
	GalaGestureControllerPrivate * priv;
};

struct _GalaGestureControllerClass {
	GObjectClass parent_class;
};

struct _GalaWorkspaceHideTracker {
	GObject parent_instance;
	GalaWorkspaceHideTrackerPrivate * priv;
};

struct _GalaWorkspaceHideTrackerClass {
	GObjectClass parent_class;
};

struct _GalaCanvasActor {
	ClutterActor parent_instance;
	GalaCanvasActorPrivate * priv;
};

struct _GalaCanvasActorClass {
	ClutterActorClass parent_class;
	void (*draw) (GalaCanvasActor* self, cairo_t* canvas, gint width, gint height);
};

struct _GalaAbstractSwitcher {
	GalaCanvasActor parent_instance;
	GalaAbstractSwitcherPrivate * priv;
};

struct _GalaAbstractSwitcherClass {
	GalaCanvasActorClass parent_class;
};

struct _GalaCloseButton {
	ClutterActor parent_instance;
	GalaCloseButtonPrivate * priv;
};

struct _GalaCloseButtonClass {
	ClutterActorClass parent_class;
};

struct _GalaIcon {
	ClutterActor parent_instance;
	GalaIconPrivate * priv;
};

struct _GalaIconClass {
	ClutterActorClass parent_class;
};

struct _GalaImage {
	GObject parent_instance;
	GalaImagePrivate * priv;
};

struct _GalaImageClass {
	GObjectClass parent_class;
};

struct _GalaWidget {
	GalaActorTarget parent_instance;
	GalaWidgetPrivate * priv;
};

struct _GalaWidgetClass {
	GalaActorTargetClass parent_class;
	gboolean (*move_focus) (GalaWidget* self, GalaFocusDirection direction);
};

struct _GalaRoot {
	GalaWidget parent_instance;
	GalaRootPrivate * priv;
};

struct _GalaRootClass {
	GalaWidgetClass parent_class;
};

struct _GalaText {
	ClutterActor parent_instance;
	GalaTextPrivate * priv;
};

struct _GalaTextClass {
	ClutterActorClass parent_class;
};

struct _GalaWindowIcon {
	ClutterActor parent_instance;
	GalaWindowIconPrivate * priv;
};

struct _GalaWindowIconClass {
	ClutterActorClass parent_class;
};

VALA_EXTERN GType gala_activatable_component_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaActivatableComponent, g_object_unref)
VALA_EXTERN void gala_activatable_component_open (GalaActivatableComponent* self,
                                      GHashTable* hints);
VALA_EXTERN void gala_activatable_component_close (GalaActivatableComponent* self,
                                       GHashTable* hints);
VALA_EXTERN gboolean gala_activatable_component_is_opened (GalaActivatableComponent* self);
VALA_EXTERN GType gala_background_manager_interface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaBackgroundManagerInterface, g_object_unref)
VALA_EXTERN MetaBackgroundActor* gala_background_manager_interface_get_newest_background_actor (GalaBackgroundManagerInterface* self);
VALA_EXTERN GType gala_drag_drop_action_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_drag_drop_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDragDropAction, g_object_unref)
VALA_EXTERN GalaDragDropAction* gala_drag_drop_action_new (GalaDragDropActionType type,
                                               const gchar* id);
VALA_EXTERN GalaDragDropAction* gala_drag_drop_action_construct (GType object_type,
                                                     GalaDragDropActionType type,
                                                     const gchar* id);
VALA_EXTERN void gala_drag_drop_action_cancel (GalaDragDropAction* self);
VALA_EXTERN void gala_drag_drop_action_cancel_all_by_id (const gchar* id);
VALA_EXTERN GalaDragDropActionType gala_drag_drop_action_get_drag_type (GalaDragDropAction* self);
VALA_EXTERN const gchar* gala_drag_drop_action_get_drag_id (GalaDragDropAction* self);
VALA_EXTERN ClutterActor* gala_drag_drop_action_get_handle (GalaDragDropAction* self);
VALA_EXTERN gboolean gala_drag_drop_action_get_dragging (GalaDragDropAction* self);
VALA_EXTERN gboolean gala_drag_drop_action_get_allow_bubbling (GalaDragDropAction* self);
VALA_EXTERN void gala_drag_drop_action_set_allow_bubbling (GalaDragDropAction* self,
                                               gboolean value);
VALA_EXTERN void gala_drag_drop_action_set_hovered (GalaDragDropAction* self,
                                        ClutterActor* value);
VALA_EXTERN GType gala_plugin_function_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_load_priority_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_plugin_info_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GalaPluginInfo* gala_plugin_info_dup (const GalaPluginInfo* self);
VALA_EXTERN void gala_plugin_info_free (GalaPluginInfo* self);
VALA_EXTERN void gala_plugin_info_copy (const GalaPluginInfo* self,
                            GalaPluginInfo* dest);
VALA_EXTERN void gala_plugin_info_destroy (GalaPluginInfo* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (GalaPluginInfo, gala_plugin_info_destroy)
VALA_EXTERN GType gala_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaPlugin, g_object_unref)
VALA_EXTERN GType gala_modal_proxy_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaModalProxy, g_object_unref)
VALA_EXTERN GType gala_action_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_modal_actions_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_window_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaWindowManager, g_object_unref)
VALA_EXTERN MtkRectangle* gala_plugin_get_region (GalaPlugin* self,
                                      gint* result_length1);
VALA_EXTERN MtkRectangle* gala_plugin_get_custom_region (GalaPlugin* self,
                                             gint* result_length1);
VALA_EXTERN void gala_plugin_set_custom_region (GalaPlugin* self,
                                    MtkRectangle* custom_region,
                                    gint custom_region_length1);
VALA_EXTERN void gala_plugin_initialize (GalaPlugin* self,
                             GalaWindowManager* wm);
VALA_EXTERN void gala_plugin_destroy (GalaPlugin* self);
VALA_EXTERN void gala_plugin_track_actor (GalaPlugin* self,
                              ClutterActor* actor);
VALA_EXTERN void gala_plugin_untrack_actor (GalaPlugin* self,
                                ClutterActor* actor);
VALA_EXTERN void gala_plugin_update_region (GalaPlugin* self);
VALA_EXTERN GalaPlugin* gala_plugin_construct (GType object_type);
VALA_EXTERN gboolean gala_plugin_get_freeze_track (GalaPlugin* self);
VALA_EXTERN void gala_plugin_set_freeze_track (GalaPlugin* self,
                                   gboolean value);
VALA_EXTERN gpointer gala_utils_ref (gpointer instance);
VALA_EXTERN void gala_utils_unref (gpointer instance);
VALA_EXTERN GParamSpec* gala_param_spec_utils (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
VALA_EXTERN void gala_value_set_utils (GValue* value,
                           gpointer v_object);
VALA_EXTERN void gala_value_take_utils (GValue* value,
                            gpointer v_object);
VALA_EXTERN gpointer gala_value_get_utils (const GValue* value);
VALA_EXTERN GType gala_utils_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaUtils, gala_utils_unref)
VALA_EXTERN GIcon* gala_utils_get_icon_for_window (MetaWindow* window);
VALA_EXTERN void gala_utils_clear_window_cache (MetaWindow* window);
VALA_EXTERN gint gala_utils_scale_to_int (gint value,
                              gfloat scale_factor);
VALA_EXTERN guint gala_utils_get_n_windows (MetaWorkspace* workspace,
                                gboolean on_primary,
                                MetaWindow* exclude);
VALA_EXTERN ClutterActor* gala_utils_get_window_actor_snapshot (MetaWindowActor* actor,
                                                    MtkRectangle* inner_rect);
VALA_EXTERN ClutterActor* gala_utils_create_resize_button (gfloat monitor_scale);
VALA_EXTERN void gala_utils_x11_set_window_pass_through (MetaWindow* window);
VALA_EXTERN void gala_utils_x11_unset_window_pass_through (MetaWindow* window,
                                               gboolean restore_previous_region);
VALA_EXTERN guint gala_utils_get_animation_duration (guint duration);
VALA_EXTERN gboolean gala_utils_get_window_is_normal (MetaWindow* window);
VALA_EXTERN gint gala_utils_calculate_button_size (gfloat monitor_scale);
VALA_EXTERN gboolean gala_utils_get_framebuffer_is_logical (void);
VALA_EXTERN gfloat gala_utils_get_ui_scaling_factor (MetaDisplay* display,
                                         gint monitor_index);
VALA_EXTERN GalaUtils* gala_utils_new (void);
VALA_EXTERN GalaUtils* gala_utils_construct (GType object_type);
VALA_EXTERN GalaModalProxy* gala_modal_proxy_new (void);
VALA_EXTERN GalaModalProxy* gala_modal_proxy_construct (GType object_type);
VALA_EXTERN void gala_modal_proxy_allow_actions (GalaModalProxy* self,
                                     GalaModalActions actions);
VALA_EXTERN gboolean gala_modal_proxy_filter_action (GalaModalProxy* self,
                                         GalaModalActions action);
VALA_EXTERN ClutterGrab* gala_modal_proxy_get_grab (GalaModalProxy* self);
VALA_EXTERN void gala_modal_proxy_set_grab (GalaModalProxy* self,
                                ClutterGrab* value);
VALA_EXTERN GalaModalProxy* gala_window_manager_push_modal (GalaWindowManager* self,
                                                ClutterActor* actor,
                                                gboolean grab);
VALA_EXTERN void gala_window_manager_pop_modal (GalaWindowManager* self,
                                    GalaModalProxy* proxy);
VALA_EXTERN gboolean gala_window_manager_is_modal (GalaWindowManager* self);
VALA_EXTERN gboolean gala_window_manager_modal_proxy_valid (GalaWindowManager* self,
                                                GalaModalProxy* proxy);
VALA_EXTERN void gala_window_manager_perform_action (GalaWindowManager* self,
                                         GalaActionType type);
VALA_EXTERN void gala_window_manager_move_window (GalaWindowManager* self,
                                      MetaWindow* window,
                                      MetaWorkspace* workspace,
                                      guint32 timestamp);
VALA_EXTERN void gala_window_manager_switch_to_next_workspace (GalaWindowManager* self,
                                                   MetaMotionDirection direction,
                                                   guint32 timestamp);
VALA_EXTERN void gala_window_manager_launch_action (GalaWindowManager* self,
                                        const gchar* action_key);
VALA_EXTERN gboolean gala_window_manager_filter_action (GalaWindowManager* self,
                                            GalaModalActions action);
VALA_EXTERN ClutterActor* gala_window_manager_get_ui_group (GalaWindowManager* self);
VALA_EXTERN void gala_window_manager_set_ui_group (GalaWindowManager* self,
                                       ClutterActor* value);
VALA_EXTERN ClutterStage* gala_window_manager_get_stage (GalaWindowManager* self);
VALA_EXTERN void gala_window_manager_set_stage (GalaWindowManager* self,
                                    ClutterStage* value);
VALA_EXTERN ClutterActor* gala_window_manager_get_window_group (GalaWindowManager* self);
VALA_EXTERN void gala_window_manager_set_window_group (GalaWindowManager* self,
                                           ClutterActor* value);
VALA_EXTERN ClutterActor* gala_window_manager_get_top_window_group (GalaWindowManager* self);
VALA_EXTERN void gala_window_manager_set_top_window_group (GalaWindowManager* self,
                                               ClutterActor* value);
VALA_EXTERN MetaBackgroundGroup* gala_window_manager_get_background_group (GalaWindowManager* self);
VALA_EXTERN void gala_window_manager_set_background_group (GalaWindowManager* self,
                                               MetaBackgroundGroup* value);
VALA_EXTERN GType gala_app_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_app_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaApp, g_object_unref)
VALA_EXTERN GalaApp* gala_app_new_from_startup_sequence (MetaStartupSequence* sequence);
VALA_EXTERN GalaApp* gala_app_new (GDesktopAppInfo* info);
VALA_EXTERN GalaApp* gala_app_construct (GType object_type,
                             GDesktopAppInfo* info);
VALA_EXTERN GalaApp* gala_app_new_for_window (MetaWindow* window);
VALA_EXTERN GalaApp* gala_app_construct_for_window (GType object_type,
                                        MetaWindow* window);
VALA_EXTERN GSList* gala_app_get_windows (GalaApp* self);
VALA_EXTERN void gala_app_add_window (GalaApp* self,
                          MetaWindow* window);
VALA_EXTERN void gala_app_remove_window (GalaApp* self,
                             MetaWindow* window);
VALA_EXTERN void gala_app_handle_startup_sequence (GalaApp* self,
                                       MetaStartupSequence* sequence);
VALA_EXTERN GSList* gala_app_get_pids (GalaApp* self);
VALA_EXTERN const gchar* gala_app_get_id (GalaApp* self);
VALA_EXTERN GDesktopAppInfo* gala_app_get_app_info (GalaApp* self);
VALA_EXTERN GIcon* gala_app_get_icon (GalaApp* self);
VALA_EXTERN const gchar* gala_app_get_name (GalaApp* self);
VALA_EXTERN const gchar* gala_app_get_description (GalaApp* self);
VALA_EXTERN GalaAppState gala_app_get_state (GalaApp* self);
VALA_EXTERN GType gala_app_cache_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaAppCache, g_object_unref)
VALA_EXTERN GDesktopAppInfo* gala_app_cache_lookup_id (GalaAppCache* self,
                                           const gchar* id);
VALA_EXTERN GDesktopAppInfo* gala_app_cache_lookup_startup_wmclass (GalaAppCache* self,
                                                        const gchar* wm_class);
VALA_EXTERN GalaAppCache* gala_app_cache_new (void);
VALA_EXTERN GalaAppCache* gala_app_cache_construct (GType object_type);
VALA_EXTERN GType gala_app_system_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaAppSystem, g_object_unref)
VALA_EXTERN GalaAppSystem* gala_app_system_get_default (void);
VALA_EXTERN GalaApp* gala_app_system_lookup_app (GalaAppSystem* self,
                                     const gchar* id);
VALA_EXTERN GalaApp* gala_app_system_lookup_startup_wmclass (GalaAppSystem* self,
                                                 const gchar* wmclass);
VALA_EXTERN GalaApp* gala_app_system_lookup_desktop_wmclass (GalaAppSystem* self,
                                                 const gchar* wmclass);
VALA_EXTERN GalaApp* gala_app_system_guess_app_by_id (GalaAppSystem* self,
                                          const gchar* _id);
VALA_EXTERN void gala_app_system_notify_app_state_changed (GalaAppSystem* self,
                                               GalaApp* app);
VALA_EXTERN GList* gala_app_system_get_running_apps (GalaAppSystem* self);
VALA_EXTERN GalaAppSystem* gala_app_system_new (void);
VALA_EXTERN GalaAppSystem* gala_app_system_construct (GType object_type);
VALA_EXTERN GType gala_drawing_buffer_surface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDrawingBufferSurface, g_object_unref)
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_new (gint width,
                                                           gint height);
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_construct (GType object_type,
                                                                 gint width,
                                                                 gint height);
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_new_with_surface (gint width,
                                                                        gint height,
                                                                        cairo_surface_t* model);
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_construct_with_surface (GType object_type,
                                                                              gint width,
                                                                              gint height,
                                                                              cairo_surface_t* model);
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_new_with_buffer_surface (gint width,
                                                                               gint height,
                                                                               GalaDrawingBufferSurface* model);
VALA_EXTERN GalaDrawingBufferSurface* gala_drawing_buffer_surface_construct_with_buffer_surface (GType object_type,
                                                                                     gint width,
                                                                                     gint height,
                                                                                     GalaDrawingBufferSurface* model);
VALA_EXTERN void gala_drawing_buffer_surface_clear (GalaDrawingBufferSurface* self);
VALA_EXTERN GdkPixbuf* gala_drawing_buffer_surface_load_to_pixbuf (GalaDrawingBufferSurface* self);
VALA_EXTERN GType gala_drawing_color_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDrawingColor, g_object_unref)
VALA_EXTERN GalaDrawingColor* gala_drawing_buffer_surface_average_color (GalaDrawingBufferSurface* self);
VALA_EXTERN void gala_drawing_buffer_surface_fast_blur (GalaDrawingBufferSurface* self,
                                            gint radius,
                                            gint process_count);
VALA_EXTERN void gala_drawing_buffer_surface_exponential_blur (GalaDrawingBufferSurface* self,
                                                   gint radius);
VALA_EXTERN void gala_drawing_buffer_surface_gaussian_blur (GalaDrawingBufferSurface* self,
                                                gint radius);
VALA_EXTERN cairo_surface_t* gala_drawing_buffer_surface_get_surface (GalaDrawingBufferSurface* self);
VALA_EXTERN gint gala_drawing_buffer_surface_get_width (GalaDrawingBufferSurface* self);
VALA_EXTERN gint gala_drawing_buffer_surface_get_height (GalaDrawingBufferSurface* self);
VALA_EXTERN cairo_t* gala_drawing_buffer_surface_get_context (GalaDrawingBufferSurface* self);
VALA_EXTERN GType gala_drawing_canvas_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDrawingCanvas, g_object_unref)
VALA_EXTERN void gala_drawing_canvas_set_size (GalaDrawingCanvas* self,
                                   gint new_width,
                                   gint new_height);
VALA_EXTERN void gala_drawing_canvas_set_scale_factor (GalaDrawingCanvas* self,
                                           gfloat new_scale_factor);
VALA_EXTERN GalaDrawingCanvas* gala_drawing_canvas_new (void);
VALA_EXTERN GalaDrawingCanvas* gala_drawing_canvas_construct (GType object_type);
VALA_EXTERN guint8 gala_drawing_color_alpha_from_int (gint color);
VALA_EXTERN guint8 gala_drawing_color_red_from_int (gint color);
VALA_EXTERN guint8 gala_drawing_color_green_from_int (gint color);
VALA_EXTERN guint8 gala_drawing_color_blue_from_int (gint color);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_new (gdouble R,
                                          gdouble G,
                                          gdouble B,
                                          gdouble A);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_construct (GType object_type,
                                                gdouble R,
                                                gdouble G,
                                                gdouble B,
                                                gdouble A);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_new_from_string (const gchar* color);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_construct_from_string (GType object_type,
                                                            const gchar* color);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_new_from_int (gint color);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_construct_from_int (GType object_type,
                                                         gint color);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_hue (GalaDrawingColor* self,
                                              gdouble hue);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_sat (GalaDrawingColor* self,
                                              gdouble sat);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_val (GalaDrawingColor* self,
                                              gdouble val);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_alpha (GalaDrawingColor* self,
                                                gdouble alpha);
VALA_EXTERN gdouble gala_drawing_color_get_hue (GalaDrawingColor* self);
VALA_EXTERN gdouble gala_drawing_color_get_sat (GalaDrawingColor* self);
VALA_EXTERN gdouble gala_drawing_color_get_val (GalaDrawingColor* self);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_add_hue (GalaDrawingColor* self,
                                              gdouble val);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_min_sat (GalaDrawingColor* self,
                                                  gdouble sat);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_min_value (GalaDrawingColor* self,
                                                    gdouble val);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_max_sat (GalaDrawingColor* self,
                                                  gdouble sat);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_set_max_val (GalaDrawingColor* self,
                                                  gdouble val);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_multiply_sat (GalaDrawingColor* self,
                                                   gdouble amount);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_brighten_val (GalaDrawingColor* self,
                                                   gdouble amount);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_darken_val (GalaDrawingColor* self,
                                                 gdouble amount);
VALA_EXTERN GalaDrawingColor* gala_drawing_color_darken_by_sat (GalaDrawingColor* self,
                                                    gdouble amount);
VALA_EXTERN gchar* gala_drawing_color_settings_serialize (GalaDrawingColor* self);
VALA_EXTERN void gala_drawing_color_settings_deserialize (GalaDrawingColor* self,
                                              const gchar* s);
VALA_EXTERN gchar* gala_drawing_color_to_string (GalaDrawingColor* self);
VALA_EXTERN gint gala_drawing_color_to_int (GalaDrawingColor* self);
VALA_EXTERN GType gala_drawing_style_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDrawingStyleManager, g_object_unref)
VALA_EXTERN GType gala_drawing_style_manager_color_scheme_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GalaDrawingStyleManager* gala_drawing_style_manager_get_instance (void);
VALA_EXTERN GalaDrawingStyleManager* gala_drawing_style_manager_new (void);
VALA_EXTERN GalaDrawingStyleManager* gala_drawing_style_manager_construct (GType object_type);
VALA_EXTERN GalaDrawingStyleManagerColorScheme gala_drawing_style_manager_get_prefers_color_scheme (GalaDrawingStyleManager* self);
VALA_EXTERN void gala_drawing_style_manager_get_theme_accent_color (GalaDrawingStyleManager* self,
                                                        CoglColor * result);
VALA_EXTERN GType gala_drawing_utilities_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaDrawingUtilities, g_object_unref)
VALA_EXTERN void gala_drawing_utilities_cairo_rounded_rectangle (cairo_t* cr,
                                                     gdouble x,
                                                     gdouble y,
                                                     gdouble width,
                                                     gdouble height,
                                                     gdouble radius);
VALA_EXTERN GalaDrawingColor* gala_drawing_utilities_average_color (GdkPixbuf* source);
VALA_EXTERN GalaDrawingUtilities* gala_drawing_utilities_new (void);
VALA_EXTERN GalaDrawingUtilities* gala_drawing_utilities_construct (GType object_type);
VALA_EXTERN GType gala_background_blur_effect_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaBackgroundBlurEffect, g_object_unref)
VALA_EXTERN GalaBackgroundBlurEffect* gala_background_blur_effect_new (gfloat blur_radius,
                                                           gfloat clip_radius,
                                                           gfloat monitor_scale);
VALA_EXTERN GalaBackgroundBlurEffect* gala_background_blur_effect_construct (GType object_type,
                                                                 gfloat blur_radius,
                                                                 gfloat clip_radius,
                                                                 gfloat monitor_scale);
VALA_EXTERN gfloat gala_background_blur_effect_get_blur_radius (GalaBackgroundBlurEffect* self);
VALA_EXTERN gfloat gala_background_blur_effect_get_clip_radius (GalaBackgroundBlurEffect* self);
VALA_EXTERN gfloat gala_background_blur_effect_get_monitor_scale (GalaBackgroundBlurEffect* self);
VALA_EXTERN void gala_background_blur_effect_set_monitor_scale (GalaBackgroundBlurEffect* self,
                                                    gfloat value);
VALA_EXTERN GType gala_box_blur_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaBoxBlurManager, g_object_unref)
VALA_EXTERN GalaBoxBlurManager* gala_box_blur_manager_new (ClutterActor* actor);
VALA_EXTERN GalaBoxBlurManager* gala_box_blur_manager_construct (GType object_type,
                                                     ClutterActor* actor);
VALA_EXTERN gint gala_box_blur_manager_get_radius (GalaBoxBlurManager* self);
VALA_EXTERN void gala_box_blur_manager_set_radius (GalaBoxBlurManager* self,
                                       gint value);
VALA_EXTERN GType gala_rounded_corners_effect_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaRoundedCornersEffect, g_object_unref)
VALA_EXTERN GalaRoundedCornersEffect* gala_rounded_corners_effect_new (gint clip_radius,
                                                           gfloat monitor_scale);
VALA_EXTERN GalaRoundedCornersEffect* gala_rounded_corners_effect_construct (GType object_type,
                                                                 gint clip_radius,
                                                                 gfloat monitor_scale);
VALA_EXTERN gint gala_rounded_corners_effect_get_clip_radius (GalaRoundedCornersEffect* self);
VALA_EXTERN void gala_rounded_corners_effect_set_clip_radius (GalaRoundedCornersEffect* self,
                                                  gint value);
VALA_EXTERN gfloat gala_rounded_corners_effect_get_monitor_scale (GalaRoundedCornersEffect* self);
VALA_EXTERN void gala_rounded_corners_effect_set_monitor_scale (GalaRoundedCornersEffect* self,
                                                    gfloat value);
VALA_EXTERN GType gala_shadow_effect_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaShadowEffect, g_object_unref)
VALA_EXTERN GalaShadowEffect* gala_shadow_effect_new (const gchar* css_class,
                                          gfloat monitor_scale);
VALA_EXTERN GalaShadowEffect* gala_shadow_effect_construct (GType object_type,
                                                const gchar* css_class,
                                                gfloat monitor_scale);
VALA_EXTERN const gchar* gala_shadow_effect_get_css_class (GalaShadowEffect* self);
VALA_EXTERN void gala_shadow_effect_set_css_class (GalaShadowEffect* self,
                                       const gchar* value);
VALA_EXTERN gfloat gala_shadow_effect_get_monitor_scale (GalaShadowEffect* self);
VALA_EXTERN void gala_shadow_effect_set_monitor_scale (GalaShadowEffect* self,
                                           gfloat value);
VALA_EXTERN guint8 gala_shadow_effect_get_shadow_opacity (GalaShadowEffect* self);
VALA_EXTERN void gala_shadow_effect_set_shadow_opacity (GalaShadowEffect* self,
                                            guint8 value);
VALA_EXTERN gint gala_shadow_effect_get_border_radius (GalaShadowEffect* self);
VALA_EXTERN void gala_shadow_effect_set_border_radius (GalaShadowEffect* self,
                                           gint value);
VALA_EXTERN GType gala_gesture_target_update_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_gesture_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_gesture_target_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaGestureTarget, g_object_unref)
VALA_EXTERN GType gala_actor_target_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaActorTarget, g_object_unref)
VALA_EXTERN void gala_actor_target_add_target (GalaActorTarget* self,
                                   GalaGestureTarget* target);
VALA_EXTERN void gala_actor_target_remove_target (GalaActorTarget* self,
                                      GalaGestureTarget* target);
VALA_EXTERN void gala_actor_target_remove_all_targets (GalaActorTarget* self);
VALA_EXTERN gdouble gala_actor_target_get_current_progress (GalaActorTarget* self,
                                                GalaGestureAction action);
VALA_EXTERN gdouble gala_actor_target_get_current_commit (GalaActorTarget* self,
                                              GalaGestureAction action);
VALA_EXTERN void gala_actor_target_start_progress (GalaActorTarget* self,
                                       GalaGestureAction action);
VALA_EXTERN void gala_actor_target_update_progress (GalaActorTarget* self,
                                        GalaGestureAction action,
                                        gdouble progress);
VALA_EXTERN void gala_actor_target_commit_progress (GalaActorTarget* self,
                                        GalaGestureAction action,
                                        gdouble to);
VALA_EXTERN void gala_actor_target_end_progress (GalaActorTarget* self,
                                     GalaGestureAction action);
VALA_EXTERN GalaActorTarget* gala_actor_target_new (void);
VALA_EXTERN GalaActorTarget* gala_actor_target_construct (GType object_type);
VALA_EXTERN gboolean gala_actor_target_get_animating (GalaActorTarget* self);
VALA_EXTERN void gala_gesture_target_propagate (GalaGestureTarget* self,
                                    GalaGestureTargetUpdateType update_type,
                                    GalaGestureAction action,
                                    gdouble progress);
VALA_EXTERN GType gala_property_target_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaPropertyTarget, g_object_unref)
VALA_EXTERN GalaPropertyTarget* gala_property_target_new (GalaGestureAction action,
                                              GObject* target,
                                              const gchar* property,
                                              GType value_type,
                                              GValue* from_value,
                                              GValue* to_value);
VALA_EXTERN GalaPropertyTarget* gala_property_target_construct (GType object_type,
                                                    GalaGestureAction action,
                                                    GObject* target,
                                                    const gchar* property,
                                                    GType value_type,
                                                    GValue* from_value,
                                                    GValue* to_value);
VALA_EXTERN GalaGestureAction gala_property_target_get_action (GalaPropertyTarget* self);
VALA_EXTERN GObject* gala_property_target_get_target (GalaPropertyTarget* self);
VALA_EXTERN const gchar* gala_property_target_get_property (GalaPropertyTarget* self);
VALA_EXTERN ClutterInterval* gala_property_target_get_interval (GalaPropertyTarget* self);
VALA_EXTERN GType gala_root_target_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gala_gesture_controller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaGestureController, g_object_unref)
VALA_EXTERN void gala_root_target_add_gesture_controller (GalaRootTarget* self,
                                              GalaGestureController* controller);
VALA_EXTERN ClutterActor* gala_root_target_get_actor (GalaRootTarget* self);
 G_GNUC_INTERNAL gpointer gala_gesture_ref (gpointer instance);
 G_GNUC_INTERNAL void gala_gesture_unref (gpointer instance);
 G_GNUC_INTERNAL GParamSpec* gala_param_spec_gesture (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
 G_GNUC_INTERNAL void gala_value_set_gesture (GValue* value,
                             gpointer v_object) G_GNUC_UNUSED ;
 G_GNUC_INTERNAL void gala_value_take_gesture (GValue* value,
                              gpointer v_object);
 G_GNUC_INTERNAL gpointer gala_value_get_gesture (const GValue* value) G_GNUC_UNUSED ;
 G_GNUC_INTERNAL GType gala_gesture_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaGesture, gala_gesture_unref)
VALA_EXTERN GType gala_gesture_trigger_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaGestureTrigger, g_object_unref)
VALA_EXTERN GType gala_global_trigger_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaGlobalTrigger, g_object_unref)
VALA_EXTERN GalaGlobalTrigger* gala_global_trigger_new (GalaGestureAction action,
                                            GalaWindowManager* wm);
VALA_EXTERN GalaGlobalTrigger* gala_global_trigger_construct (GType object_type,
                                                  GalaGestureAction action,
                                                  GalaWindowManager* wm);
VALA_EXTERN GalaGestureAction gala_global_trigger_get_action (GalaGlobalTrigger* self);
VALA_EXTERN GalaWindowManager* gala_global_trigger_get_wm (GalaGlobalTrigger* self);
VALA_EXTERN GVariant* gala_global_trigger_get_action_info (GalaGlobalTrigger* self);
VALA_EXTERN GType gala_swipe_trigger_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaSwipeTrigger, g_object_unref)
VALA_EXTERN GalaSwipeTrigger* gala_swipe_trigger_new (ClutterActor* actor,
                                          ClutterOrientation orientation);
VALA_EXTERN GalaSwipeTrigger* gala_swipe_trigger_construct (GType object_type,
                                                ClutterActor* actor,
                                                ClutterOrientation orientation);
VALA_EXTERN ClutterOrientation gala_swipe_trigger_get_orientation (GalaSwipeTrigger* self);
VALA_EXTERN GalaModalActions gala_gesture_action_to_modal_action (GalaGestureAction self);
VALA_EXTERN GalaGestureController* gala_gesture_controller_new (GalaGestureAction action);
VALA_EXTERN GalaGestureController* gala_gesture_controller_construct (GType object_type,
                                                          GalaGestureAction action);
VALA_EXTERN void gala_gesture_controller_attached (GalaGestureController* self,
                                       GalaRootTarget* target);
VALA_EXTERN void gala_gesture_controller_detached (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_add_trigger (GalaGestureController* self,
                                          GalaGestureTrigger* trigger);
VALA_EXTERN void gala_gesture_controller_goto (GalaGestureController* self,
                                   gdouble to);
VALA_EXTERN void gala_gesture_controller_jump (GalaGestureController* self,
                                   gdouble to);
VALA_EXTERN void gala_gesture_controller_cancel_gesture (GalaGestureController* self);
VALA_EXTERN GalaGestureAction gala_gesture_controller_get_action (GalaGestureController* self);
VALA_EXTERN GalaRootTarget* gala_gesture_controller_get_target (GalaGestureController* self);
VALA_EXTERN gdouble gala_gesture_controller_get_distance (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_distance (GalaGestureController* self,
                                           gdouble value);
VALA_EXTERN gdouble gala_gesture_controller_get_overshoot_lower_clamp (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_overshoot_lower_clamp (GalaGestureController* self,
                                                        gdouble value);
VALA_EXTERN gdouble gala_gesture_controller_get_overshoot_upper_clamp (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_overshoot_upper_clamp (GalaGestureController* self,
                                                        gdouble value);
VALA_EXTERN gboolean gala_gesture_controller_get_follow_natural_scroll (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_follow_natural_scroll (GalaGestureController* self,
                                                        gboolean value);
VALA_EXTERN gboolean gala_gesture_controller_get_snap (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_snap (GalaGestureController* self,
                                       gboolean value);
VALA_EXTERN gdouble gala_gesture_controller_get_progress (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_progress (GalaGestureController* self,
                                           gdouble value);
VALA_EXTERN gboolean gala_gesture_controller_get_enabled (GalaGestureController* self);
VALA_EXTERN void gala_gesture_controller_set_enabled (GalaGestureController* self,
                                          gboolean value);
VALA_EXTERN gboolean gala_gesture_controller_get_recognizing (GalaGestureController* self);
VALA_EXTERN GType gala_workspace_hide_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaWorkspaceHideTracker, g_object_unref)
VALA_EXTERN GalaWorkspaceHideTracker* gala_workspace_hide_tracker_new (MetaDisplay* display,
                                                           GalaWorkspaceHideTrackerComputeShouldHideOnWorkspace compute_func,
                                                           gpointer compute_func_target);
VALA_EXTERN GalaWorkspaceHideTracker* gala_workspace_hide_tracker_construct (GType object_type,
                                                                 MetaDisplay* display,
                                                                 GalaWorkspaceHideTrackerComputeShouldHideOnWorkspace compute_func,
                                                                 gpointer compute_func_target);
VALA_EXTERN void gala_workspace_hide_tracker_update (GalaWorkspaceHideTracker* self,
                                         GalaGestureTargetUpdateType update_type,
                                         GalaGestureAction action,
                                         gdouble progress);
VALA_EXTERN void gala_workspace_hide_tracker_recalculate_all_workspaces (GalaWorkspaceHideTracker* self);
VALA_EXTERN GType gala_canvas_actor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaCanvasActor, g_object_unref)
VALA_EXTERN GType gala_abstract_switcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaAbstractSwitcher, g_object_unref)
VALA_EXTERN GalaAbstractSwitcher* gala_abstract_switcher_construct (GType object_type,
                                                        GalaWindowManager* wm);
VALA_EXTERN ClutterActor* gala_abstract_switcher_get_actor (GalaAbstractSwitcher* self);
VALA_EXTERN GalaWindowManager* gala_abstract_switcher_get_wm (GalaAbstractSwitcher* self);
VALA_EXTERN gfloat gala_abstract_switcher_get_monitor_scale (GalaAbstractSwitcher* self);
VALA_EXTERN void gala_abstract_switcher_set_monitor_scale (GalaAbstractSwitcher* self,
                                               gfloat value);
VALA_EXTERN ClutterActor* gala_abstract_switcher_get_container (GalaAbstractSwitcher* self);
VALA_EXTERN void gala_abstract_switcher_set_caption_text (GalaAbstractSwitcher* self,
                                              const gchar* value);
VALA_EXTERN void gala_canvas_actor_draw (GalaCanvasActor* self,
                             cairo_t* canvas,
                             gint width,
                             gint height);
VALA_EXTERN GalaCanvasActor* gala_canvas_actor_new (void);
VALA_EXTERN GalaCanvasActor* gala_canvas_actor_construct (GType object_type);
VALA_EXTERN GType gala_close_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaCloseButton, g_object_unref)
VALA_EXTERN GalaCloseButton* gala_close_button_new (gfloat monitor_scale);
VALA_EXTERN GalaCloseButton* gala_close_button_construct (GType object_type,
                                              gfloat monitor_scale);
VALA_EXTERN gfloat gala_close_button_get_monitor_scale (GalaCloseButton* self);
VALA_EXTERN void gala_close_button_set_monitor_scale (GalaCloseButton* self,
                                          gfloat value);
VALA_EXTERN GType gala_focus_direction_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gboolean gala_focus_direction_is_forward (GalaFocusDirection self);
VALA_EXTERN GalaFocusDirection* gala_focus_direction_get_for_event (ClutterEvent* event);
VALA_EXTERN GType gala_widget_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaWidget, g_object_unref)
VALA_EXTERN void gala_focus_utils_filter_children_for_direction (GeeList* children,
                                                     ClutterActor* focus_actor,
                                                     GalaFocusDirection direction);
VALA_EXTERN void gala_focus_utils_sort_children_for_direction (GeeList* children,
                                                   GalaFocusDirection direction);
VALA_EXTERN GType gala_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaIcon, g_object_unref)
VALA_EXTERN GalaIcon* gala_icon_new (gint icon_size,
                         gfloat monitor_scale);
VALA_EXTERN GalaIcon* gala_icon_construct (GType object_type,
                               gint icon_size,
                               gfloat monitor_scale);
VALA_EXTERN GalaIcon* gala_icon_new_from_resource (gint icon_size,
                                       gfloat monitor_scale,
                                       const gchar* resource_path);
VALA_EXTERN GalaIcon* gala_icon_construct_from_resource (GType object_type,
                                             gint icon_size,
                                             gfloat monitor_scale,
                                             const gchar* resource_path);
VALA_EXTERN gint gala_icon_get_icon_size (GalaIcon* self);
VALA_EXTERN void gala_icon_set_icon_size (GalaIcon* self,
                              gint value);
VALA_EXTERN gfloat gala_icon_get_monitor_scale (GalaIcon* self);
VALA_EXTERN void gala_icon_set_monitor_scale (GalaIcon* self,
                                  gfloat value);
VALA_EXTERN void gala_icon_set_resource_path (GalaIcon* self,
                                  const gchar* value);
VALA_EXTERN void gala_icon_set_gicon (GalaIcon* self,
                          GIcon* value);
VALA_EXTERN GType gala_image_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaImage, g_object_unref)
VALA_EXTERN GalaImage* gala_image_new_from_pixbuf_with_size (gint width,
                                                 gint height,
                                                 GdkPixbuf* pixbuf);
VALA_EXTERN GalaImage* gala_image_construct_from_pixbuf_with_size (GType object_type,
                                                       gint width,
                                                       gint height,
                                                       GdkPixbuf* pixbuf);
VALA_EXTERN GalaImage* gala_image_new_from_pixbuf (GdkPixbuf* pixbuf);
VALA_EXTERN GalaImage* gala_image_construct_from_pixbuf (GType object_type,
                                             GdkPixbuf* pixbuf);
VALA_EXTERN GalaImage* gala_image_new (void);
VALA_EXTERN GalaImage* gala_image_construct (GType object_type);
VALA_EXTERN gint gala_image_get_width (GalaImage* self);
VALA_EXTERN gint gala_image_get_height (GalaImage* self);
VALA_EXTERN GdkPixbuf* gala_image_get_pixbuf (GalaImage* self);
VALA_EXTERN GType gala_root_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaRoot, g_object_unref)
VALA_EXTERN GalaRoot* gala_root_new (void);
VALA_EXTERN GalaRoot* gala_root_construct (GType object_type);
VALA_EXTERN GType gala_text_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaText, g_object_unref)
VALA_EXTERN GalaText* gala_text_new (void);
VALA_EXTERN GalaText* gala_text_construct (GType object_type);
VALA_EXTERN void gala_text_get_color (GalaText* self,
                          CoglColor * result);
VALA_EXTERN void gala_text_set_color (GalaText* self,
                          CoglColor * value);
VALA_EXTERN PangoEllipsizeMode gala_text_get_ellipsize (GalaText* self);
VALA_EXTERN void gala_text_set_ellipsize (GalaText* self,
                              PangoEllipsizeMode value);
VALA_EXTERN PangoAlignment gala_text_get_line_alignment (GalaText* self);
VALA_EXTERN void gala_text_set_line_alignment (GalaText* self,
                                   PangoAlignment value);
VALA_EXTERN const gchar* gala_text_get_text (GalaText* self);
VALA_EXTERN void gala_text_set_text (GalaText* self,
                         const gchar* value);
VALA_EXTERN void gala_text_get_shadow_color (GalaText* self,
                                 CoglColor * result);
VALA_EXTERN void gala_text_set_shadow_color (GalaText* self,
                                 CoglColor * value);
VALA_EXTERN gfloat gala_text_get_shadow_offset_x (GalaText* self);
VALA_EXTERN void gala_text_set_shadow_offset_x (GalaText* self,
                                    gfloat value);
VALA_EXTERN gfloat gala_text_get_shadow_offset_y (GalaText* self);
VALA_EXTERN void gala_text_set_shadow_offset_y (GalaText* self,
                                    gfloat value);
VALA_EXTERN gint gala_text_get_shadow_blur_radius (GalaText* self);
VALA_EXTERN void gala_text_set_shadow_blur_radius (GalaText* self,
                                       gint value);
VALA_EXTERN gboolean gala_widget_focus (GalaWidget* self,
                            GalaFocusDirection direction);
VALA_EXTERN gboolean gala_widget_move_focus (GalaWidget* self,
                                 GalaFocusDirection direction);
VALA_EXTERN GalaWidget* gala_widget_new (void);
VALA_EXTERN GalaWidget* gala_widget_construct (GType object_type);
VALA_EXTERN gboolean gala_widget_get_can_focus (GalaWidget* self);
VALA_EXTERN void gala_widget_set_can_focus (GalaWidget* self,
                                gboolean value);
VALA_EXTERN gboolean gala_widget_get_has_visible_focus (GalaWidget* self);
VALA_EXTERN GType gala_window_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaWindowIcon, g_object_unref)
VALA_EXTERN GalaWindowIcon* gala_window_icon_new (MetaWindow* window,
                                      gint icon_size,
                                      gint scale);
VALA_EXTERN GalaWindowIcon* gala_window_icon_construct (GType object_type,
                                            MetaWindow* window,
                                            gint icon_size,
                                            gint scale);
VALA_EXTERN MetaWindow* gala_window_icon_get_window (GalaWindowIcon* self);
VALA_EXTERN gint gala_window_icon_get_icon_size (GalaWindowIcon* self);
VALA_EXTERN gint gala_window_icon_get_scale (GalaWindowIcon* self);
VALA_EXTERN GType gala_window_flags_get_type (void) G_GNUC_CONST ;

VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_LIGHT_BACKGROUND;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_DARK_BACKGROUND;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_LIGHT_BORDER;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_DARK_BORDER;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_LIGHT_HIGHLIGHT;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_DARK_HIGHLIGHT;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_TOOLTIP_BACKGROUND;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_TOOLTIP_TEXT_COLOR;
VALA_EXTERN const CoglColor GALA_DRAWING_COLOR_TOOLTIP_TEXT_SHADOW_COLOR;

G_END_DECLS

#endif
