/* plank.h generated by valac 0.28.1, the Vala compiler, do not modify */


#ifndef __PLANK_H__
#define __PLANK_H__

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>
#include <gee.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
#include <cairo.h>
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libbamf/libbamf.h>

G_BEGIN_DECLS


#define PLANK_TYPE_DBUS_MANAGER (plank_dbus_manager_get_type ())
#define PLANK_DBUS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_DBUS_MANAGER, PlankDBusManager))
#define PLANK_DBUS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_DBUS_MANAGER, PlankDBusManagerClass))
#define PLANK_IS_DBUS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_DBUS_MANAGER))
#define PLANK_IS_DBUS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_DBUS_MANAGER))
#define PLANK_DBUS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_DBUS_MANAGER, PlankDBusManagerClass))

typedef struct _PlankDBusManager PlankDBusManager;
typedef struct _PlankDBusManagerClass PlankDBusManagerClass;
typedef struct _PlankDBusManagerPrivate PlankDBusManagerPrivate;

#define PLANK_ITEMS_TYPE_DOCK_ELEMENT (plank_items_dock_element_get_type ())
#define PLANK_ITEMS_DOCK_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DOCK_ELEMENT, PlankItemsDockElement))
#define PLANK_ITEMS_DOCK_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DOCK_ELEMENT, PlankItemsDockElementClass))
#define PLANK_ITEMS_IS_DOCK_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DOCK_ELEMENT))
#define PLANK_ITEMS_IS_DOCK_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DOCK_ELEMENT))
#define PLANK_ITEMS_DOCK_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DOCK_ELEMENT, PlankItemsDockElementClass))

typedef struct _PlankItemsDockElement PlankItemsDockElement;
typedef struct _PlankItemsDockElementClass PlankItemsDockElementClass;

#define PLANK_ITEMS_TYPE_DOCK_CONTAINER (plank_items_dock_container_get_type ())
#define PLANK_ITEMS_DOCK_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DOCK_CONTAINER, PlankItemsDockContainer))
#define PLANK_ITEMS_DOCK_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DOCK_CONTAINER, PlankItemsDockContainerClass))
#define PLANK_ITEMS_IS_DOCK_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DOCK_CONTAINER))
#define PLANK_ITEMS_IS_DOCK_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DOCK_CONTAINER))
#define PLANK_ITEMS_DOCK_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DOCK_CONTAINER, PlankItemsDockContainerClass))

typedef struct _PlankItemsDockContainer PlankItemsDockContainer;
typedef struct _PlankItemsDockContainerClass PlankItemsDockContainerClass;

#define PLANK_TYPE_DOCK_CONTROLLER (plank_dock_controller_get_type ())
#define PLANK_DOCK_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_DOCK_CONTROLLER, PlankDockController))
#define PLANK_DOCK_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_DOCK_CONTROLLER, PlankDockControllerClass))
#define PLANK_IS_DOCK_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_DOCK_CONTROLLER))
#define PLANK_IS_DOCK_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_DOCK_CONTROLLER))
#define PLANK_DOCK_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_DOCK_CONTROLLER, PlankDockControllerClass))

typedef struct _PlankDockController PlankDockController;
typedef struct _PlankDockControllerClass PlankDockControllerClass;
typedef struct _PlankItemsDockElementPrivate PlankItemsDockElementPrivate;

#define PLANK_ITEMS_TYPE_POPUP_BUTTON (plank_items_popup_button_get_type ())

#define PLANK_ITEMS_TYPE_ANIMATION (plank_items_animation_get_type ())
typedef struct _PlankItemsDockContainerPrivate PlankItemsDockContainerPrivate;
typedef struct _PlankDockControllerPrivate PlankDockControllerPrivate;

#define PLANK_SERVICES_TYPE_PREFERENCES (plank_services_preferences_get_type ())
#define PLANK_SERVICES_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_PREFERENCES, PlankServicesPreferences))
#define PLANK_SERVICES_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_SERVICES_TYPE_PREFERENCES, PlankServicesPreferencesClass))
#define PLANK_SERVICES_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_PREFERENCES))
#define PLANK_SERVICES_IS_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_SERVICES_TYPE_PREFERENCES))
#define PLANK_SERVICES_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_SERVICES_TYPE_PREFERENCES, PlankServicesPreferencesClass))

typedef struct _PlankServicesPreferences PlankServicesPreferences;
typedef struct _PlankServicesPreferencesClass PlankServicesPreferencesClass;

#define PLANK_TYPE_DOCK_PREFERENCES (plank_dock_preferences_get_type ())
#define PLANK_DOCK_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_DOCK_PREFERENCES, PlankDockPreferences))
#define PLANK_DOCK_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_DOCK_PREFERENCES, PlankDockPreferencesClass))
#define PLANK_IS_DOCK_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_DOCK_PREFERENCES))
#define PLANK_IS_DOCK_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_DOCK_PREFERENCES))
#define PLANK_DOCK_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_DOCK_PREFERENCES, PlankDockPreferencesClass))

typedef struct _PlankDockPreferences PlankDockPreferences;
typedef struct _PlankDockPreferencesClass PlankDockPreferencesClass;

#define PLANK_TYPE_DRAG_MANAGER (plank_drag_manager_get_type ())
#define PLANK_DRAG_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_DRAG_MANAGER, PlankDragManager))
#define PLANK_DRAG_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_DRAG_MANAGER, PlankDragManagerClass))
#define PLANK_IS_DRAG_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_DRAG_MANAGER))
#define PLANK_IS_DRAG_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_DRAG_MANAGER))
#define PLANK_DRAG_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_DRAG_MANAGER, PlankDragManagerClass))

typedef struct _PlankDragManager PlankDragManager;
typedef struct _PlankDragManagerClass PlankDragManagerClass;

#define PLANK_TYPE_HIDE_MANAGER (plank_hide_manager_get_type ())
#define PLANK_HIDE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_HIDE_MANAGER, PlankHideManager))
#define PLANK_HIDE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_HIDE_MANAGER, PlankHideManagerClass))
#define PLANK_IS_HIDE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_HIDE_MANAGER))
#define PLANK_IS_HIDE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_HIDE_MANAGER))
#define PLANK_HIDE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_HIDE_MANAGER, PlankHideManagerClass))

typedef struct _PlankHideManager PlankHideManager;
typedef struct _PlankHideManagerClass PlankHideManagerClass;

#define PLANK_TYPE_POSITION_MANAGER (plank_position_manager_get_type ())
#define PLANK_POSITION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_POSITION_MANAGER, PlankPositionManager))
#define PLANK_POSITION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_POSITION_MANAGER, PlankPositionManagerClass))
#define PLANK_IS_POSITION_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_POSITION_MANAGER))
#define PLANK_IS_POSITION_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_POSITION_MANAGER))
#define PLANK_POSITION_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_POSITION_MANAGER, PlankPositionManagerClass))

typedef struct _PlankPositionManager PlankPositionManager;
typedef struct _PlankPositionManagerClass PlankPositionManagerClass;

#define PLANK_DRAWING_TYPE_ANIMATED_RENDERER (plank_drawing_animated_renderer_get_type ())
#define PLANK_DRAWING_ANIMATED_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_ANIMATED_RENDERER, PlankDrawingAnimatedRenderer))
#define PLANK_DRAWING_ANIMATED_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_ANIMATED_RENDERER, PlankDrawingAnimatedRendererClass))
#define PLANK_DRAWING_IS_ANIMATED_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_ANIMATED_RENDERER))
#define PLANK_DRAWING_IS_ANIMATED_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_ANIMATED_RENDERER))
#define PLANK_DRAWING_ANIMATED_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_ANIMATED_RENDERER, PlankDrawingAnimatedRendererClass))

typedef struct _PlankDrawingAnimatedRenderer PlankDrawingAnimatedRenderer;
typedef struct _PlankDrawingAnimatedRendererClass PlankDrawingAnimatedRendererClass;

#define PLANK_TYPE_DOCK_RENDERER (plank_dock_renderer_get_type ())
#define PLANK_DOCK_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_TYPE_DOCK_RENDERER, PlankDockRenderer))
#define PLANK_DOCK_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_TYPE_DOCK_RENDERER, PlankDockRendererClass))
#define PLANK_IS_DOCK_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_TYPE_DOCK_RENDERER))
#define PLANK_IS_DOCK_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_TYPE_DOCK_RENDERER))
#define PLANK_DOCK_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_TYPE_DOCK_RENDERER, PlankDockRendererClass))

typedef struct _PlankDockRenderer PlankDockRenderer;
typedef struct _PlankDockRendererClass PlankDockRendererClass;

#define PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW (plank_widgets_composited_window_get_type ())
#define PLANK_WIDGETS_COMPOSITED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW, PlankWidgetsCompositedWindow))
#define PLANK_WIDGETS_COMPOSITED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW, PlankWidgetsCompositedWindowClass))
#define PLANK_WIDGETS_IS_COMPOSITED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW))
#define PLANK_WIDGETS_IS_COMPOSITED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW))
#define PLANK_WIDGETS_COMPOSITED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_COMPOSITED_WINDOW, PlankWidgetsCompositedWindowClass))

typedef struct _PlankWidgetsCompositedWindow PlankWidgetsCompositedWindow;
typedef struct _PlankWidgetsCompositedWindowClass PlankWidgetsCompositedWindowClass;

#define PLANK_WIDGETS_TYPE_DOCK_WINDOW (plank_widgets_dock_window_get_type ())
#define PLANK_WIDGETS_DOCK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_DOCK_WINDOW, PlankWidgetsDockWindow))
#define PLANK_WIDGETS_DOCK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_DOCK_WINDOW, PlankWidgetsDockWindowClass))
#define PLANK_WIDGETS_IS_DOCK_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_DOCK_WINDOW))
#define PLANK_WIDGETS_IS_DOCK_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_DOCK_WINDOW))
#define PLANK_WIDGETS_DOCK_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_DOCK_WINDOW, PlankWidgetsDockWindowClass))

typedef struct _PlankWidgetsDockWindow PlankWidgetsDockWindow;
typedef struct _PlankWidgetsDockWindowClass PlankWidgetsDockWindowClass;

#define PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER (plank_items_dock_item_provider_get_type ())
#define PLANK_ITEMS_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER, PlankItemsDockItemProvider))
#define PLANK_ITEMS_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER, PlankItemsDockItemProviderClass))
#define PLANK_ITEMS_IS_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_IS_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_DOCK_ITEM_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PROVIDER, PlankItemsDockItemProviderClass))

typedef struct _PlankItemsDockItemProvider PlankItemsDockItemProvider;
typedef struct _PlankItemsDockItemProviderClass PlankItemsDockItemProviderClass;

#define PLANK_ITEMS_TYPE_DOCK_ITEM (plank_items_dock_item_get_type ())
#define PLANK_ITEMS_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM, PlankItemsDockItem))
#define PLANK_ITEMS_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM, PlankItemsDockItemClass))
#define PLANK_ITEMS_IS_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM))
#define PLANK_ITEMS_IS_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM))
#define PLANK_ITEMS_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM, PlankItemsDockItemClass))

typedef struct _PlankItemsDockItem PlankItemsDockItem;
typedef struct _PlankItemsDockItemClass PlankItemsDockItemClass;
typedef struct _PlankServicesPreferencesPrivate PlankServicesPreferencesPrivate;
typedef struct _PlankDockPreferencesPrivate PlankDockPreferencesPrivate;

#define PLANK_TYPE_HIDE_TYPE (plank_hide_type_get_type ())
typedef struct _PlankDrawingAnimatedRendererPrivate PlankDrawingAnimatedRendererPrivate;
typedef struct _PlankDockRendererPrivate PlankDockRendererPrivate;

#define PLANK_DRAWING_TYPE_THEME (plank_drawing_theme_get_type ())
#define PLANK_DRAWING_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_THEME, PlankDrawingTheme))
#define PLANK_DRAWING_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_THEME, PlankDrawingThemeClass))
#define PLANK_DRAWING_IS_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_THEME))
#define PLANK_DRAWING_IS_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_THEME))
#define PLANK_DRAWING_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_THEME, PlankDrawingThemeClass))

typedef struct _PlankDrawingTheme PlankDrawingTheme;
typedef struct _PlankDrawingThemeClass PlankDrawingThemeClass;

#define PLANK_DRAWING_TYPE_DOCK_THEME (plank_drawing_dock_theme_get_type ())
#define PLANK_DRAWING_DOCK_THEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_DOCK_THEME, PlankDrawingDockTheme))
#define PLANK_DRAWING_DOCK_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_DOCK_THEME, PlankDrawingDockThemeClass))
#define PLANK_DRAWING_IS_DOCK_THEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_DOCK_THEME))
#define PLANK_DRAWING_IS_DOCK_THEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_DOCK_THEME))
#define PLANK_DRAWING_DOCK_THEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_DOCK_THEME, PlankDrawingDockThemeClass))

typedef struct _PlankDrawingDockTheme PlankDrawingDockTheme;
typedef struct _PlankDrawingDockThemeClass PlankDrawingDockThemeClass;
typedef struct _PlankDragManagerPrivate PlankDragManagerPrivate;
typedef struct _PlankHideManagerPrivate PlankHideManagerPrivate;
typedef struct _PlankPositionManagerPrivate PlankPositionManagerPrivate;

#define PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE (plank_position_manager_dock_item_draw_value_get_type ())
#define PLANK_POSITION_MANAGER_DOCK_ITEM_DRAW_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE, PlankPositionManagerDockItemDrawValue))
#define PLANK_POSITION_MANAGER_DOCK_ITEM_DRAW_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE, PlankPositionManagerDockItemDrawValueClass))
#define PLANK_POSITION_MANAGER_IS_DOCK_ITEM_DRAW_VALUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE))
#define PLANK_POSITION_MANAGER_IS_DOCK_ITEM_DRAW_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE))
#define PLANK_POSITION_MANAGER_DOCK_ITEM_DRAW_VALUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_POSITION_MANAGER_TYPE_DOCK_ITEM_DRAW_VALUE, PlankPositionManagerDockItemDrawValueClass))

typedef struct _PlankPositionManagerDockItemDrawValue PlankPositionManagerDockItemDrawValue;
typedef struct _PlankPositionManagerDockItemDrawValueClass PlankPositionManagerDockItemDrawValueClass;

#define PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM (plank_items_application_dock_item_get_type ())
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM, PlankItemsApplicationDockItem))
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM, PlankItemsApplicationDockItemClass))
#define PLANK_ITEMS_IS_APPLICATION_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM))
#define PLANK_ITEMS_IS_APPLICATION_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM))
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM, PlankItemsApplicationDockItemClass))

typedef struct _PlankItemsApplicationDockItem PlankItemsApplicationDockItem;
typedef struct _PlankItemsApplicationDockItemClass PlankItemsApplicationDockItemClass;
typedef struct _PlankPositionManagerDockItemDrawValuePrivate PlankPositionManagerDockItemDrawValuePrivate;

#define PLANK_POSITION_MANAGER_TYPE_POINT_D (plank_position_manager_point_d_get_type ())
typedef struct _PlankPositionManagerPointD PlankPositionManagerPointD;

#define PLANK_DBUS_TYPE_CLIENT (plank_dbus_client_get_type ())
#define PLANK_DBUS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DBUS_TYPE_CLIENT, PlankDBusClient))
#define PLANK_DBUS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DBUS_TYPE_CLIENT, PlankDBusClientClass))
#define PLANK_DBUS_IS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DBUS_TYPE_CLIENT))
#define PLANK_DBUS_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DBUS_TYPE_CLIENT))
#define PLANK_DBUS_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DBUS_TYPE_CLIENT, PlankDBusClientClass))

typedef struct _PlankDBusClient PlankDBusClient;
typedef struct _PlankDBusClientClass PlankDBusClientClass;
typedef struct _PlankDBusClientPrivate PlankDBusClientPrivate;

#define PLANK_DRAWING_TYPE_COLOR (plank_drawing_color_get_type ())
typedef GdkRGBA PlankDrawingColor;

#define PLANK_DRAWING_TYPE_DRAWING_SERVICE (plank_drawing_drawing_service_get_type ())
#define PLANK_DRAWING_DRAWING_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_DRAWING_SERVICE, PlankDrawingDrawingService))
#define PLANK_DRAWING_DRAWING_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_DRAWING_SERVICE, PlankDrawingDrawingServiceClass))
#define PLANK_DRAWING_IS_DRAWING_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_DRAWING_SERVICE))
#define PLANK_DRAWING_IS_DRAWING_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_DRAWING_SERVICE))
#define PLANK_DRAWING_DRAWING_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_DRAWING_SERVICE, PlankDrawingDrawingServiceClass))

typedef struct _PlankDrawingDrawingService PlankDrawingDrawingService;
typedef struct _PlankDrawingDrawingServiceClass PlankDrawingDrawingServiceClass;
typedef struct _PlankDrawingDrawingServicePrivate PlankDrawingDrawingServicePrivate;

#define PLANK_DRAWING_TYPE_DOCK_SURFACE (plank_drawing_dock_surface_get_type ())
#define PLANK_DRAWING_DOCK_SURFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_DOCK_SURFACE, PlankDrawingDockSurface))
#define PLANK_DRAWING_DOCK_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_DOCK_SURFACE, PlankDrawingDockSurfaceClass))
#define PLANK_DRAWING_IS_DOCK_SURFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_DOCK_SURFACE))
#define PLANK_DRAWING_IS_DOCK_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_DOCK_SURFACE))
#define PLANK_DRAWING_DOCK_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_DOCK_SURFACE, PlankDrawingDockSurfaceClass))

typedef struct _PlankDrawingDockSurface PlankDrawingDockSurface;
typedef struct _PlankDrawingDockSurfaceClass PlankDrawingDockSurfaceClass;
typedef struct _PlankDrawingDockSurfacePrivate PlankDrawingDockSurfacePrivate;
typedef struct _PlankDrawingThemePrivate PlankDrawingThemePrivate;
typedef struct _PlankDrawingDockThemePrivate PlankDrawingDockThemePrivate;

#define PLANK_DRAWING_TYPE_ANIMATION_MODE (plank_drawing_animation_mode_get_type ())

#define PLANK_DRAWING_TYPE_SURFACE_CACHE_FLAGS (plank_drawing_surface_cache_flags_get_type ())

#define PLANK_DRAWING_TYPE_SURFACE_CACHE (plank_drawing_surface_cache_get_type ())
#define PLANK_DRAWING_SURFACE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_DRAWING_TYPE_SURFACE_CACHE, PlankDrawingSurfaceCache))
#define PLANK_DRAWING_SURFACE_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_DRAWING_TYPE_SURFACE_CACHE, PlankDrawingSurfaceCacheClass))
#define PLANK_DRAWING_IS_SURFACE_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_DRAWING_TYPE_SURFACE_CACHE))
#define PLANK_DRAWING_IS_SURFACE_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_DRAWING_TYPE_SURFACE_CACHE))
#define PLANK_DRAWING_SURFACE_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_DRAWING_TYPE_SURFACE_CACHE, PlankDrawingSurfaceCacheClass))

typedef struct _PlankDrawingSurfaceCache PlankDrawingSurfaceCache;
typedef struct _PlankDrawingSurfaceCacheClass PlankDrawingSurfaceCacheClass;
typedef struct _PlankDrawingSurfaceCachePrivate PlankDrawingSurfaceCachePrivate;

#define PLANK_FACTORIES_TYPE_ABSTRACT_MAIN (plank_factories_abstract_main_get_type ())
#define PLANK_FACTORIES_ABSTRACT_MAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_FACTORIES_TYPE_ABSTRACT_MAIN, PlankFactoriesAbstractMain))
#define PLANK_FACTORIES_ABSTRACT_MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_FACTORIES_TYPE_ABSTRACT_MAIN, PlankFactoriesAbstractMainClass))
#define PLANK_FACTORIES_IS_ABSTRACT_MAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_FACTORIES_TYPE_ABSTRACT_MAIN))
#define PLANK_FACTORIES_IS_ABSTRACT_MAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_FACTORIES_TYPE_ABSTRACT_MAIN))
#define PLANK_FACTORIES_ABSTRACT_MAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_FACTORIES_TYPE_ABSTRACT_MAIN, PlankFactoriesAbstractMainClass))

typedef struct _PlankFactoriesAbstractMain PlankFactoriesAbstractMain;
typedef struct _PlankFactoriesAbstractMainClass PlankFactoriesAbstractMainClass;
typedef struct _PlankFactoriesAbstractMainPrivate PlankFactoriesAbstractMainPrivate;

#define PLANK_FACTORIES_TYPE_FACTORY (plank_factories_factory_get_type ())
#define PLANK_FACTORIES_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_FACTORIES_TYPE_FACTORY, PlankFactoriesFactory))
#define PLANK_FACTORIES_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_FACTORIES_TYPE_FACTORY, PlankFactoriesFactoryClass))
#define PLANK_FACTORIES_IS_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_FACTORIES_TYPE_FACTORY))
#define PLANK_FACTORIES_IS_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_FACTORIES_TYPE_FACTORY))
#define PLANK_FACTORIES_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_FACTORIES_TYPE_FACTORY, PlankFactoriesFactoryClass))

typedef struct _PlankFactoriesFactory PlankFactoriesFactory;
typedef struct _PlankFactoriesFactoryClass PlankFactoriesFactoryClass;
typedef struct _PlankFactoriesFactoryPrivate PlankFactoriesFactoryPrivate;

#define PLANK_FACTORIES_TYPE_ITEM_FACTORY (plank_factories_item_factory_get_type ())
#define PLANK_FACTORIES_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_FACTORIES_TYPE_ITEM_FACTORY, PlankFactoriesItemFactory))
#define PLANK_FACTORIES_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_FACTORIES_TYPE_ITEM_FACTORY, PlankFactoriesItemFactoryClass))
#define PLANK_FACTORIES_IS_ITEM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_FACTORIES_TYPE_ITEM_FACTORY))
#define PLANK_FACTORIES_IS_ITEM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_FACTORIES_TYPE_ITEM_FACTORY))
#define PLANK_FACTORIES_ITEM_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_FACTORIES_TYPE_ITEM_FACTORY, PlankFactoriesItemFactoryClass))

typedef struct _PlankFactoriesItemFactory PlankFactoriesItemFactory;
typedef struct _PlankFactoriesItemFactoryClass PlankFactoriesItemFactoryClass;
typedef struct _PlankFactoriesItemFactoryPrivate PlankFactoriesItemFactoryPrivate;
typedef struct _PlankItemsDockItemPrivate PlankItemsDockItemPrivate;
typedef struct _PlankItemsApplicationDockItemPrivate PlankItemsApplicationDockItemPrivate;
typedef struct _PlankItemsDockItemProviderPrivate PlankItemsDockItemProviderPrivate;

#define PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER (plank_items_application_dock_item_provider_get_type ())
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsApplicationDockItemProvider))
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsApplicationDockItemProviderClass))
#define PLANK_ITEMS_IS_APPLICATION_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_IS_APPLICATION_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_APPLICATION_DOCK_ITEM_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsApplicationDockItemProviderClass))

typedef struct _PlankItemsApplicationDockItemProvider PlankItemsApplicationDockItemProvider;
typedef struct _PlankItemsApplicationDockItemProviderClass PlankItemsApplicationDockItemProviderClass;
typedef struct _PlankItemsApplicationDockItemProviderPrivate PlankItemsApplicationDockItemProviderPrivate;

#define PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER (plank_items_default_application_dock_item_provider_get_type ())
#define PLANK_ITEMS_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsDefaultApplicationDockItemProvider))
#define PLANK_ITEMS_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsDefaultApplicationDockItemProviderClass))
#define PLANK_ITEMS_IS_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_IS_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER))
#define PLANK_ITEMS_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DEFAULT_APPLICATION_DOCK_ITEM_PROVIDER, PlankItemsDefaultApplicationDockItemProviderClass))

typedef struct _PlankItemsDefaultApplicationDockItemProvider PlankItemsDefaultApplicationDockItemProvider;
typedef struct _PlankItemsDefaultApplicationDockItemProviderClass PlankItemsDefaultApplicationDockItemProviderClass;
typedef struct _PlankItemsDefaultApplicationDockItemProviderPrivate PlankItemsDefaultApplicationDockItemProviderPrivate;

#define PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM (plank_items_placeholder_dock_item_get_type ())
#define PLANK_ITEMS_PLACEHOLDER_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM, PlankItemsPlaceholderDockItem))
#define PLANK_ITEMS_PLACEHOLDER_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM, PlankItemsPlaceholderDockItemClass))
#define PLANK_ITEMS_IS_PLACEHOLDER_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM))
#define PLANK_ITEMS_IS_PLACEHOLDER_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM))
#define PLANK_ITEMS_PLACEHOLDER_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_PLACEHOLDER_DOCK_ITEM, PlankItemsPlaceholderDockItemClass))

typedef struct _PlankItemsPlaceholderDockItem PlankItemsPlaceholderDockItem;
typedef struct _PlankItemsPlaceholderDockItemClass PlankItemsPlaceholderDockItemClass;

#define PLANK_ITEMS_TYPE_ITEM_STATE (plank_items_item_state_get_type ())

#define PLANK_ITEMS_TYPE_INDICATOR_STATE (plank_items_indicator_state_get_type ())

#define PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES (plank_items_dock_item_preferences_get_type ())
#define PLANK_ITEMS_DOCK_ITEM_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES, PlankItemsDockItemPreferences))
#define PLANK_ITEMS_DOCK_ITEM_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES, PlankItemsDockItemPreferencesClass))
#define PLANK_ITEMS_IS_DOCK_ITEM_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES))
#define PLANK_ITEMS_IS_DOCK_ITEM_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES))
#define PLANK_ITEMS_DOCK_ITEM_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_DOCK_ITEM_PREFERENCES, PlankItemsDockItemPreferencesClass))

typedef struct _PlankItemsDockItemPreferences PlankItemsDockItemPreferences;
typedef struct _PlankItemsDockItemPreferencesClass PlankItemsDockItemPreferencesClass;
typedef struct _PlankItemsDockItemPreferencesPrivate PlankItemsDockItemPreferencesPrivate;

#define PLANK_ITEMS_TYPE_FILE_DOCK_ITEM (plank_items_file_dock_item_get_type ())
#define PLANK_ITEMS_FILE_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_FILE_DOCK_ITEM, PlankItemsFileDockItem))
#define PLANK_ITEMS_FILE_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_FILE_DOCK_ITEM, PlankItemsFileDockItemClass))
#define PLANK_ITEMS_IS_FILE_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_FILE_DOCK_ITEM))
#define PLANK_ITEMS_IS_FILE_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_FILE_DOCK_ITEM))
#define PLANK_ITEMS_FILE_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_FILE_DOCK_ITEM, PlankItemsFileDockItemClass))

typedef struct _PlankItemsFileDockItem PlankItemsFileDockItem;
typedef struct _PlankItemsFileDockItemClass PlankItemsFileDockItemClass;
typedef struct _PlankItemsFileDockItemPrivate PlankItemsFileDockItemPrivate;
typedef struct _PlankItemsPlaceholderDockItemPrivate PlankItemsPlaceholderDockItemPrivate;

#define PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM (plank_items_plank_dock_item_get_type ())
#define PLANK_ITEMS_PLANK_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM, PlankItemsPlankDockItem))
#define PLANK_ITEMS_PLANK_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM, PlankItemsPlankDockItemClass))
#define PLANK_ITEMS_IS_PLANK_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM))
#define PLANK_ITEMS_IS_PLANK_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM))
#define PLANK_ITEMS_PLANK_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_PLANK_DOCK_ITEM, PlankItemsPlankDockItemClass))

typedef struct _PlankItemsPlankDockItem PlankItemsPlankDockItem;
typedef struct _PlankItemsPlankDockItemClass PlankItemsPlankDockItemClass;
typedef struct _PlankItemsPlankDockItemPrivate PlankItemsPlankDockItemPrivate;

#define PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM (plank_items_transient_dock_item_get_type ())
#define PLANK_ITEMS_TRANSIENT_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM, PlankItemsTransientDockItem))
#define PLANK_ITEMS_TRANSIENT_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM, PlankItemsTransientDockItemClass))
#define PLANK_ITEMS_IS_TRANSIENT_DOCK_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM))
#define PLANK_ITEMS_IS_TRANSIENT_DOCK_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM))
#define PLANK_ITEMS_TRANSIENT_DOCK_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_ITEMS_TYPE_TRANSIENT_DOCK_ITEM, PlankItemsTransientDockItemClass))

typedef struct _PlankItemsTransientDockItem PlankItemsTransientDockItem;
typedef struct _PlankItemsTransientDockItemClass PlankItemsTransientDockItemClass;
typedef struct _PlankItemsTransientDockItemPrivate PlankItemsTransientDockItemPrivate;

#define PLANK_SERVICES_TYPE_LOG_LEVEL (plank_services_log_level_get_type ())

#define PLANK_SERVICES_TYPE_LOGGER (plank_services_logger_get_type ())
#define PLANK_SERVICES_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_LOGGER, PlankServicesLogger))
#define PLANK_SERVICES_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_SERVICES_TYPE_LOGGER, PlankServicesLoggerClass))
#define PLANK_SERVICES_IS_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_LOGGER))
#define PLANK_SERVICES_IS_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_SERVICES_TYPE_LOGGER))
#define PLANK_SERVICES_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_SERVICES_TYPE_LOGGER, PlankServicesLoggerClass))

typedef struct _PlankServicesLogger PlankServicesLogger;
typedef struct _PlankServicesLoggerClass PlankServicesLoggerClass;
typedef struct _PlankServicesLoggerPrivate PlankServicesLoggerPrivate;

#define PLANK_SERVICES_TYPE_PATHS (plank_services_paths_get_type ())
#define PLANK_SERVICES_PATHS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_PATHS, PlankServicesPaths))
#define PLANK_SERVICES_PATHS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_SERVICES_TYPE_PATHS, PlankServicesPathsClass))
#define PLANK_SERVICES_IS_PATHS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_PATHS))
#define PLANK_SERVICES_IS_PATHS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_SERVICES_TYPE_PATHS))
#define PLANK_SERVICES_PATHS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_SERVICES_TYPE_PATHS, PlankServicesPathsClass))

typedef struct _PlankServicesPaths PlankServicesPaths;
typedef struct _PlankServicesPathsClass PlankServicesPathsClass;
typedef struct _PlankServicesPathsPrivate PlankServicesPathsPrivate;

#define PLANK_SERVICES_TYPE_PREFS_SERIALIZABLE (plank_services_prefs_serializable_get_type ())
#define PLANK_SERVICES_PREFS_SERIALIZABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_PREFS_SERIALIZABLE, PlankServicesPrefsSerializable))
#define PLANK_SERVICES_IS_PREFS_SERIALIZABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_PREFS_SERIALIZABLE))
#define PLANK_SERVICES_PREFS_SERIALIZABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PLANK_SERVICES_TYPE_PREFS_SERIALIZABLE, PlankServicesPrefsSerializableIface))

typedef struct _PlankServicesPrefsSerializable PlankServicesPrefsSerializable;
typedef struct _PlankServicesPrefsSerializableIface PlankServicesPrefsSerializableIface;

#define PLANK_SERVICES_TYPE_SYSTEM (plank_services_system_get_type ())
#define PLANK_SERVICES_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_SYSTEM, PlankServicesSystem))
#define PLANK_SERVICES_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_SERVICES_TYPE_SYSTEM, PlankServicesSystemClass))
#define PLANK_SERVICES_IS_SYSTEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_SYSTEM))
#define PLANK_SERVICES_IS_SYSTEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_SERVICES_TYPE_SYSTEM))
#define PLANK_SERVICES_SYSTEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_SERVICES_TYPE_SYSTEM, PlankServicesSystemClass))

typedef struct _PlankServicesSystem PlankServicesSystem;
typedef struct _PlankServicesSystemClass PlankServicesSystemClass;
typedef struct _PlankServicesSystemPrivate PlankServicesSystemPrivate;

#define PLANK_SERVICES_TYPE_TASK_PRIORITY (plank_services_task_priority_get_type ())

#define PLANK_SERVICES_TYPE_WORKER (plank_services_worker_get_type ())
#define PLANK_SERVICES_WORKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_SERVICES_TYPE_WORKER, PlankServicesWorker))
#define PLANK_SERVICES_WORKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_SERVICES_TYPE_WORKER, PlankServicesWorkerClass))
#define PLANK_SERVICES_IS_WORKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_SERVICES_TYPE_WORKER))
#define PLANK_SERVICES_IS_WORKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_SERVICES_TYPE_WORKER))
#define PLANK_SERVICES_WORKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_SERVICES_TYPE_WORKER, PlankServicesWorkerClass))

typedef struct _PlankServicesWorker PlankServicesWorker;
typedef struct _PlankServicesWorkerClass PlankServicesWorkerClass;
typedef struct _PlankServicesWorkerPrivate PlankServicesWorkerPrivate;
typedef struct _PlankWidgetsCompositedWindowPrivate PlankWidgetsCompositedWindowPrivate;
typedef struct _PlankWidgetsDockWindowPrivate PlankWidgetsDockWindowPrivate;

#define PLANK_WIDGETS_TYPE_HOVER_WINDOW (plank_widgets_hover_window_get_type ())
#define PLANK_WIDGETS_HOVER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_HOVER_WINDOW, PlankWidgetsHoverWindow))
#define PLANK_WIDGETS_HOVER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_HOVER_WINDOW, PlankWidgetsHoverWindowClass))
#define PLANK_WIDGETS_IS_HOVER_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_HOVER_WINDOW))
#define PLANK_WIDGETS_IS_HOVER_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_HOVER_WINDOW))
#define PLANK_WIDGETS_HOVER_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_HOVER_WINDOW, PlankWidgetsHoverWindowClass))

typedef struct _PlankWidgetsHoverWindow PlankWidgetsHoverWindow;
typedef struct _PlankWidgetsHoverWindowClass PlankWidgetsHoverWindowClass;
typedef struct _PlankWidgetsHoverWindowPrivate PlankWidgetsHoverWindowPrivate;

#define PLANK_WIDGETS_TYPE_POOF_WINDOW (plank_widgets_poof_window_get_type ())
#define PLANK_WIDGETS_POOF_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_POOF_WINDOW, PlankWidgetsPoofWindow))
#define PLANK_WIDGETS_POOF_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_POOF_WINDOW, PlankWidgetsPoofWindowClass))
#define PLANK_WIDGETS_IS_POOF_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_POOF_WINDOW))
#define PLANK_WIDGETS_IS_POOF_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_POOF_WINDOW))
#define PLANK_WIDGETS_POOF_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_POOF_WINDOW, PlankWidgetsPoofWindowClass))

typedef struct _PlankWidgetsPoofWindow PlankWidgetsPoofWindow;
typedef struct _PlankWidgetsPoofWindowClass PlankWidgetsPoofWindowClass;
typedef struct _PlankWidgetsPoofWindowPrivate PlankWidgetsPoofWindowPrivate;

#define PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW (plank_widgets_preferences_window_get_type ())
#define PLANK_WIDGETS_PREFERENCES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW, PlankWidgetsPreferencesWindow))
#define PLANK_WIDGETS_PREFERENCES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW, PlankWidgetsPreferencesWindowClass))
#define PLANK_WIDGETS_IS_PREFERENCES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW))
#define PLANK_WIDGETS_IS_PREFERENCES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW))
#define PLANK_WIDGETS_PREFERENCES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_PREFERENCES_WINDOW, PlankWidgetsPreferencesWindowClass))

typedef struct _PlankWidgetsPreferencesWindow PlankWidgetsPreferencesWindow;
typedef struct _PlankWidgetsPreferencesWindowClass PlankWidgetsPreferencesWindowClass;
typedef struct _PlankWidgetsPreferencesWindowPrivate PlankWidgetsPreferencesWindowPrivate;

#define PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM (plank_widgets_titled_separator_menu_item_get_type ())
#define PLANK_WIDGETS_TITLED_SEPARATOR_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM, PlankWidgetsTitledSeparatorMenuItem))
#define PLANK_WIDGETS_TITLED_SEPARATOR_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM, PlankWidgetsTitledSeparatorMenuItemClass))
#define PLANK_WIDGETS_IS_TITLED_SEPARATOR_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM))
#define PLANK_WIDGETS_IS_TITLED_SEPARATOR_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM))
#define PLANK_WIDGETS_TITLED_SEPARATOR_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLANK_WIDGETS_TYPE_TITLED_SEPARATOR_MENU_ITEM, PlankWidgetsTitledSeparatorMenuItemClass))

typedef struct _PlankWidgetsTitledSeparatorMenuItem PlankWidgetsTitledSeparatorMenuItem;
typedef struct _PlankWidgetsTitledSeparatorMenuItemClass PlankWidgetsTitledSeparatorMenuItemClass;
typedef struct _PlankWidgetsTitledSeparatorMenuItemPrivate PlankWidgetsTitledSeparatorMenuItemPrivate;

struct _PlankDBusManager {
	GObject parent_instance;
	PlankDBusManagerPrivate * priv;
};

struct _PlankDBusManagerClass {
	GObjectClass parent_class;
};

typedef enum  {
	PLANK_ITEMS_POPUP_BUTTON_NONE = 1 << 0,
	PLANK_ITEMS_POPUP_BUTTON_LEFT = 1 << 1,
	PLANK_ITEMS_POPUP_BUTTON_MIDDLE = 1 << 2,
	PLANK_ITEMS_POPUP_BUTTON_RIGHT = 1 << 3
} PlankItemsPopupButton;

typedef enum  {
	PLANK_ITEMS_ANIMATION_NONE,
	PLANK_ITEMS_ANIMATION_BOUNCE,
	PLANK_ITEMS_ANIMATION_DARKEN,
	PLANK_ITEMS_ANIMATION_LIGHTEN
} PlankItemsAnimation;

struct _PlankItemsDockElement {
	GObject parent_instance;
	PlankItemsDockElementPrivate * priv;
};

struct _PlankItemsDockElementClass {
	GObjectClass parent_class;
	PlankItemsAnimation (*on_clicked) (PlankItemsDockElement* self, PlankItemsPopupButton button, GdkModifierType mod, guint32 event_time);
	PlankItemsAnimation (*on_hovered) (PlankItemsDockElement* self);
	PlankItemsAnimation (*on_scrolled) (PlankItemsDockElement* self, GdkScrollDirection direction, GdkModifierType mod, guint32 event_time);
	GeeArrayList* (*get_menu_items) (PlankItemsDockElement* self);
	gboolean (*can_be_removed) (PlankItemsDockElement* self);
	gboolean (*can_accept_drop) (PlankItemsDockElement* self, GeeArrayList* uris);
	gboolean (*accept_drop) (PlankItemsDockElement* self, GeeArrayList* uris);
	gchar* (*unique_id) (PlankItemsDockElement* self);
	void (*reset_buffers) (PlankItemsDockElement* self);
};

struct _PlankItemsDockContainer {
	PlankItemsDockElement parent_instance;
	PlankItemsDockContainerPrivate * priv;
	GeeArrayList* visible_elements;
	GeeArrayList* internal_elements;
};

struct _PlankItemsDockContainerClass {
	PlankItemsDockElementClass parent_class;
	void (*prepare) (PlankItemsDockContainer* self);
	void (*update_visible_elements) (PlankItemsDockContainer* self);
	gboolean (*move_to) (PlankItemsDockContainer* self, PlankItemsDockElement* move, PlankItemsDockElement* target);
	gboolean (*replace) (PlankItemsDockContainer* self, PlankItemsDockElement* new_element, PlankItemsDockElement* old_element);
	void (*connect_element) (PlankItemsDockContainer* self, PlankItemsDockElement* element);
	void (*disconnect_element) (PlankItemsDockContainer* self, PlankItemsDockElement* element);
};

struct _PlankDockController {
	PlankItemsDockContainer parent_instance;
	PlankDockControllerPrivate * priv;
};

struct _PlankDockControllerClass {
	PlankItemsDockContainerClass parent_class;
};

struct _PlankServicesPreferences {
	GObject parent_instance;
	PlankServicesPreferencesPrivate * priv;
};

struct _PlankServicesPreferencesClass {
	GObjectClass parent_class;
	void (*verify) (PlankServicesPreferences* self, const gchar* prop);
	void (*reset_properties) (PlankServicesPreferences* self);
};

struct _PlankDockPreferences {
	PlankServicesPreferences parent_instance;
	PlankDockPreferencesPrivate * priv;
};

struct _PlankDockPreferencesClass {
	PlankServicesPreferencesClass parent_class;
};

typedef enum  {
	PLANK_HIDE_TYPE_NONE,
	PLANK_HIDE_TYPE_INTELLIGENT,
	PLANK_HIDE_TYPE_AUTO,
	PLANK_HIDE_TYPE_DODGE_MAXIMIZED,
	PLANK_HIDE_TYPE_WINDOW_DODGE,
	PLANK_HIDE_TYPE_DODGE_ACTIVE
} PlankHideType;

struct _PlankDrawingAnimatedRenderer {
	GObject parent_instance;
	PlankDrawingAnimatedRendererPrivate * priv;
};

struct _PlankDrawingAnimatedRendererClass {
	GObjectClass parent_class;
	gboolean (*animation_needed) (PlankDrawingAnimatedRenderer* self, gint64 frame_time);
	void (*initialize_frame) (PlankDrawingAnimatedRenderer* self, gint64 frame_time);
	void (*draw) (PlankDrawingAnimatedRenderer* self, cairo_t* cr, gint64 frame_time);
};

struct _PlankDockRenderer {
	PlankDrawingAnimatedRenderer parent_instance;
	PlankDockRendererPrivate * priv;
};

struct _PlankDockRendererClass {
	PlankDrawingAnimatedRendererClass parent_class;
};

struct _PlankDragManager {
	GObject parent_instance;
	PlankDragManagerPrivate * priv;
};

struct _PlankDragManagerClass {
	GObjectClass parent_class;
};

struct _PlankHideManager {
	GObject parent_instance;
	PlankHideManagerPrivate * priv;
};

struct _PlankHideManagerClass {
	GObjectClass parent_class;
};

struct _PlankPositionManager {
	GObject parent_instance;
	PlankPositionManagerPrivate * priv;
};

struct _PlankPositionManagerClass {
	GObjectClass parent_class;
};

typedef void (*PlankPositionManagerDockItemDrawValueFunc) (PlankItemsDockItem* item, PlankPositionManagerDockItemDrawValue* draw_value, void* user_data);
typedef void (*PlankPositionManagerDrawValuesFunc) (GeeHashMap* draw_values, void* user_data);
struct _PlankPositionManagerPointD {
	gdouble x;
	gdouble y;
};

struct _PlankPositionManagerDockItemDrawValue {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PlankPositionManagerDockItemDrawValuePrivate * priv;
	PlankPositionManagerPointD center;
	PlankPositionManagerPointD static_center;
	gdouble icon_size;
	GdkRectangle hover_region;
	GdkRectangle draw_region;
	GdkRectangle background_region;
	gdouble zoom;
	gdouble opacity;
	gdouble darken;
	gdouble lighten;
	gboolean show_indicator;
};

struct _PlankPositionManagerDockItemDrawValueClass {
	GTypeClass parent_class;
	void (*finalize) (PlankPositionManagerDockItemDrawValue *self);
};

struct _PlankDBusClient {
	GObject parent_instance;
	PlankDBusClientPrivate * priv;
};

struct _PlankDBusClientClass {
	GObjectClass parent_class;
};

struct _PlankDrawingDrawingService {
	GObject parent_instance;
	PlankDrawingDrawingServicePrivate * priv;
};

struct _PlankDrawingDrawingServiceClass {
	GObjectClass parent_class;
};

struct _PlankDrawingDockSurface {
	GObject parent_instance;
	PlankDrawingDockSurfacePrivate * priv;
};

struct _PlankDrawingDockSurfaceClass {
	GObjectClass parent_class;
};

struct _PlankDrawingTheme {
	PlankServicesPreferences parent_instance;
	PlankDrawingThemePrivate * priv;
};

struct _PlankDrawingThemeClass {
	PlankServicesPreferencesClass parent_class;
};

struct _PlankDrawingDockTheme {
	PlankDrawingTheme parent_instance;
	PlankDrawingDockThemePrivate * priv;
};

struct _PlankDrawingDockThemeClass {
	PlankDrawingThemeClass parent_class;
};

typedef enum  {
	PLANK_DRAWING_ANIMATION_MODE_CUSTOM = 0,
	PLANK_DRAWING_ANIMATION_MODE_LINEAR,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_QUAD,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_QUAD,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_QUAD,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_CUBIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_CUBIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_CUBIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_QUART,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_QUART,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_QUART,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_QUINT,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_QUINT,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_QUINT,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_SINE,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_SINE,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_SINE,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_EXPO,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_EXPO,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_EXPO,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_CIRC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_CIRC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_CIRC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_ELASTIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_ELASTIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_ELASTIC,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_BACK,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_BACK,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_BACK,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_BOUNCE,
	PLANK_DRAWING_ANIMATION_MODE_EASE_OUT_BOUNCE,
	PLANK_DRAWING_ANIMATION_MODE_EASE_IN_OUT_BOUNCE,
	PLANK_DRAWING_ANIMATION_MODE_LAST
} PlankDrawingAnimationMode;

typedef PlankDrawingDockSurface* (*PlankDrawingDrawDataFunc) (gint width, gint height, PlankDrawingDockSurface* model, gconstpointer data, void* user_data);
typedef PlankDrawingDockSurface* (*PlankDrawingDrawFunc) (gint width, gint height, PlankDrawingDockSurface* model, PlankDrawingDrawDataFunc draw_data_func, void* draw_data_func_target, void* user_data);
typedef enum  {
	PLANK_DRAWING_SURFACE_CACHE_FLAGS_NONE = 0,
	PLANK_DRAWING_SURFACE_CACHE_FLAGS_ALLOW_DOWNSCALE = 1 << 0,
	PLANK_DRAWING_SURFACE_CACHE_FLAGS_ALLOW_UPSCALE = 1 << 1,
	PLANK_DRAWING_SURFACE_CACHE_FLAGS_ALLOW_SCALE = PLANK_DRAWING_SURFACE_CACHE_FLAGS_ALLOW_UPSCALE | PLANK_DRAWING_SURFACE_CACHE_FLAGS_ALLOW_DOWNSCALE,
	PLANK_DRAWING_SURFACE_CACHE_FLAGS_ADAPTIVE_SCALE = 1 << 2
} PlankDrawingSurfaceCacheFlags;

struct _PlankDrawingSurfaceCache {
	GObject parent_instance;
	PlankDrawingSurfaceCachePrivate * priv;
};

struct _PlankDrawingSurfaceCacheClass {
	GObjectClass parent_class;
};

struct _PlankFactoriesAbstractMain {
	GtkApplication parent_instance;
	PlankFactoriesAbstractMainPrivate * priv;
};

struct _PlankFactoriesAbstractMainClass {
	GtkApplicationClass parent_class;
	void (*initialize) (PlankFactoriesAbstractMain* self);
	void (*create_controller) (PlankFactoriesAbstractMain* self);
	void (*create_actions) (PlankFactoriesAbstractMain* self);
};

struct _PlankFactoriesFactory {
	GObject parent_instance;
	PlankFactoriesFactoryPrivate * priv;
};

struct _PlankFactoriesFactoryClass {
	GObjectClass parent_class;
};

struct _PlankFactoriesItemFactory {
	GObject parent_instance;
	PlankFactoriesItemFactoryPrivate * priv;
	GFile* launchers_dir;
};

struct _PlankFactoriesItemFactoryClass {
	GObjectClass parent_class;
	PlankItemsDockElement* (*make_element) (PlankFactoriesItemFactory* self, GFile* file);
	PlankItemsDockItem* (*get_item_for_dock) (PlankFactoriesItemFactory* self);
};

struct _PlankItemsDockItem {
	PlankItemsDockElement parent_instance;
	PlankItemsDockItemPrivate * priv;
};

struct _PlankItemsDockItemClass {
	PlankItemsDockElementClass parent_class;
	void (*load_from_launcher) (PlankItemsDockItem* self);
	void (*draw_icon) (PlankItemsDockItem* self, PlankDrawingDockSurface* surface);
	void (*draw_icon_fast) (PlankItemsDockItem* self, PlankDrawingDockSurface* surface);
	gboolean (*is_valid) (PlankItemsDockItem* self);
};

struct _PlankItemsApplicationDockItem {
	PlankItemsDockItem parent_instance;
	PlankItemsApplicationDockItemPrivate * priv;
};

struct _PlankItemsApplicationDockItemClass {
	PlankItemsDockItemClass parent_class;
};

struct _PlankItemsDockItemProvider {
	PlankItemsDockContainer parent_instance;
	PlankItemsDockItemProviderPrivate * priv;
};

struct _PlankItemsDockItemProviderClass {
	PlankItemsDockContainerClass parent_class;
	gboolean (*item_exists_for_uri) (PlankItemsDockItemProvider* self, const gchar* uri);
	PlankItemsDockItem* (*item_for_uri) (PlankItemsDockItemProvider* self, const gchar* uri);
	gboolean (*add_item_with_uri) (PlankItemsDockItemProvider* self, const gchar* uri, PlankItemsDockItem* target);
	void (*handle_item_deleted) (PlankItemsDockItemProvider* self, PlankItemsDockItem* item);
};

struct _PlankItemsApplicationDockItemProvider {
	PlankItemsDockItemProvider parent_instance;
	PlankItemsApplicationDockItemProviderPrivate * priv;
};

struct _PlankItemsApplicationDockItemProviderClass {
	PlankItemsDockItemProviderClass parent_class;
	void (*app_opened) (PlankItemsApplicationDockItemProvider* self, BamfApplication* app);
};

struct _PlankItemsDefaultApplicationDockItemProvider {
	PlankItemsApplicationDockItemProvider parent_instance;
	PlankItemsDefaultApplicationDockItemProviderPrivate * priv;
};

struct _PlankItemsDefaultApplicationDockItemProviderClass {
	PlankItemsApplicationDockItemProviderClass parent_class;
};

typedef enum  {
	PLANK_ITEMS_ITEM_STATE_NORMAL = 1 << 0,
	PLANK_ITEMS_ITEM_STATE_ACTIVE = 1 << 1,
	PLANK_ITEMS_ITEM_STATE_URGENT = 1 << 2,
	PLANK_ITEMS_ITEM_STATE_MOVE = 1 << 3,
	PLANK_ITEMS_ITEM_STATE_INVALID = 1 << 4
} PlankItemsItemState;

typedef enum  {
	PLANK_ITEMS_INDICATOR_STATE_NONE,
	PLANK_ITEMS_INDICATOR_STATE_SINGLE,
	PLANK_ITEMS_INDICATOR_STATE_SINGLE_PLUS
} PlankItemsIndicatorState;

struct _PlankItemsDockItemPreferences {
	PlankServicesPreferences parent_instance;
	PlankItemsDockItemPreferencesPrivate * priv;
};

struct _PlankItemsDockItemPreferencesClass {
	PlankServicesPreferencesClass parent_class;
};

struct _PlankItemsFileDockItem {
	PlankItemsDockItem parent_instance;
	PlankItemsFileDockItemPrivate * priv;
};

struct _PlankItemsFileDockItemClass {
	PlankItemsDockItemClass parent_class;
};

struct _PlankItemsPlaceholderDockItem {
	PlankItemsDockItem parent_instance;
	PlankItemsPlaceholderDockItemPrivate * priv;
};

struct _PlankItemsPlaceholderDockItemClass {
	PlankItemsDockItemClass parent_class;
};

struct _PlankItemsPlankDockItem {
	PlankItemsDockItem parent_instance;
	PlankItemsPlankDockItemPrivate * priv;
};

struct _PlankItemsPlankDockItemClass {
	PlankItemsDockItemClass parent_class;
};

struct _PlankItemsTransientDockItem {
	PlankItemsApplicationDockItem parent_instance;
	PlankItemsTransientDockItemPrivate * priv;
};

struct _PlankItemsTransientDockItemClass {
	PlankItemsApplicationDockItemClass parent_class;
};

typedef enum  {
	PLANK_SERVICES_LOG_LEVEL_VERBOSE,
	PLANK_SERVICES_LOG_LEVEL_DEBUG,
	PLANK_SERVICES_LOG_LEVEL_INFO,
	PLANK_SERVICES_LOG_LEVEL_NOTIFY,
	PLANK_SERVICES_LOG_LEVEL_WARN,
	PLANK_SERVICES_LOG_LEVEL_CRITICAL,
	PLANK_SERVICES_LOG_LEVEL_ERROR
} PlankServicesLogLevel;

struct _PlankServicesLogger {
	GObject parent_instance;
	PlankServicesLoggerPrivate * priv;
};

struct _PlankServicesLoggerClass {
	GObjectClass parent_class;
};

struct _PlankServicesPaths {
	GObject parent_instance;
	PlankServicesPathsPrivate * priv;
};

struct _PlankServicesPathsClass {
	GObjectClass parent_class;
};

struct _PlankServicesPrefsSerializableIface {
	GTypeInterface parent_iface;
	gchar* (*prefs_serialize) (PlankServicesPrefsSerializable* self);
	void (*prefs_deserialize) (PlankServicesPrefsSerializable* self, const gchar* s);
};

struct _PlankServicesSystem {
	GObject parent_instance;
	PlankServicesSystemPrivate * priv;
};

struct _PlankServicesSystemClass {
	GObjectClass parent_class;
};

typedef enum  {
	PLANK_SERVICES_TASK_PRIORITY_LOW,
	PLANK_SERVICES_TASK_PRIORITY_DEFAULT,
	PLANK_SERVICES_TASK_PRIORITY_HIGH
} PlankServicesTaskPriority;

typedef gpointer (*PlankServicesTaskFunc) (void* user_data, GError** error);
struct _PlankServicesWorker {
	GObject parent_instance;
	PlankServicesWorkerPrivate * priv;
};

struct _PlankServicesWorkerClass {
	GObjectClass parent_class;
};

struct _PlankWidgetsCompositedWindow {
	GtkWindow parent_instance;
	PlankWidgetsCompositedWindowPrivate * priv;
};

struct _PlankWidgetsCompositedWindowClass {
	GtkWindowClass parent_class;
};

struct _PlankWidgetsDockWindow {
	PlankWidgetsCompositedWindow parent_instance;
	PlankWidgetsDockWindowPrivate * priv;
};

struct _PlankWidgetsDockWindowClass {
	PlankWidgetsCompositedWindowClass parent_class;
};

struct _PlankWidgetsHoverWindow {
	GtkWindow parent_instance;
	PlankWidgetsHoverWindowPrivate * priv;
};

struct _PlankWidgetsHoverWindowClass {
	GtkWindowClass parent_class;
};

struct _PlankWidgetsPoofWindow {
	PlankWidgetsCompositedWindow parent_instance;
	PlankWidgetsPoofWindowPrivate * priv;
};

struct _PlankWidgetsPoofWindowClass {
	PlankWidgetsCompositedWindowClass parent_class;
};

struct _PlankWidgetsPreferencesWindow {
	GtkWindow parent_instance;
	PlankWidgetsPreferencesWindowPrivate * priv;
};

struct _PlankWidgetsPreferencesWindowClass {
	GtkWindowClass parent_class;
};

struct _PlankWidgetsTitledSeparatorMenuItem {
	GtkSeparatorMenuItem parent_instance;
	PlankWidgetsTitledSeparatorMenuItemPrivate * priv;
};

struct _PlankWidgetsTitledSeparatorMenuItemClass {
	GtkSeparatorMenuItemClass parent_class;
};


GType plank_dbus_manager_get_type (void) G_GNUC_CONST;
GType plank_items_dock_element_get_type (void) G_GNUC_CONST;
GType plank_items_dock_container_get_type (void) G_GNUC_CONST;
GType plank_dock_controller_get_type (void) G_GNUC_CONST;
PlankDBusManager* plank_dbus_manager_new (PlankDockController* controller);
PlankDBusManager* plank_dbus_manager_construct (GType object_type, PlankDockController* controller);
#define PLANK_G_RESOURCE_PATH "/net/launchpad/plank"
GType plank_items_popup_button_get_type (void) G_GNUC_CONST;
GType plank_items_animation_get_type (void) G_GNUC_CONST;
PlankDockController* plank_dock_controller_new (GFile* config_folder);
PlankDockController* plank_dock_controller_construct (GType object_type, GFile* config_folder);
void plank_dock_controller_initialize (PlankDockController* self);
void plank_dock_controller_add_default_provider (PlankDockController* self);
GFile* plank_dock_controller_get_config_folder (PlankDockController* self);
GFile* plank_dock_controller_get_launchers_folder (PlankDockController* self);
GType plank_services_preferences_get_type (void) G_GNUC_CONST;
GType plank_dock_preferences_get_type (void) G_GNUC_CONST;
PlankDockPreferences* plank_dock_controller_get_prefs (PlankDockController* self);
GType plank_drag_manager_get_type (void) G_GNUC_CONST;
PlankDragManager* plank_dock_controller_get_drag_manager (PlankDockController* self);
void plank_dock_controller_set_drag_manager (PlankDockController* self, PlankDragManager* value);
GType plank_hide_manager_get_type (void) G_GNUC_CONST;
PlankHideManager* plank_dock_controller_get_hide_manager (PlankDockController* self);
void plank_dock_controller_set_hide_manager (PlankDockController* self, PlankHideManager* value);
GType plank_position_manager_get_type (void) G_GNUC_CONST;
PlankPositionManager* plank_dock_controller_get_position_manager (PlankDockController* self);
void plank_dock_controller_set_position_manager (PlankDockController* self, PlankPositionManager* value);
GType plank_drawing_animated_renderer_get_type (void) G_GNUC_CONST;
GType plank_dock_renderer_get_type (void) G_GNUC_CONST;
PlankDockRenderer* plank_dock_controller_get_renderer (PlankDockController* self);
void plank_dock_controller_set_renderer (PlankDockController* self, PlankDockRenderer* value);
GType plank_widgets_composited_window_get_type (void) G_GNUC_CONST;
GType plank_widgets_dock_window_get_type (void) G_GNUC_CONST;
PlankWidgetsDockWindow* plank_dock_controller_get_window (PlankDockController* self);
void plank_dock_controller_set_window (PlankDockController* self, PlankWidgetsDockWindow* value);
GType plank_items_dock_item_provider_get_type (void) G_GNUC_CONST;
PlankItemsDockItemProvider* plank_dock_controller_get_default_provider (PlankDockController* self);
GType plank_items_dock_item_get_type (void) G_GNUC_CONST;
GeeArrayList* plank_dock_controller_get_Items (PlankDockController* self);
GeeArrayList* plank_dock_controller_get_VisibleItems (PlankDockController* self);
#define PLANK_DOCK_PREFERENCES_MIN_ICON_SIZE 24
#define PLANK_DOCK_PREFERENCES_MAX_ICON_SIZE 128
#define PLANK_DOCK_PREFERENCES_MIN_ICON_ZOOM 100
#define PLANK_DOCK_PREFERENCES_MAX_ICON_ZOOM 200
PlankDockPreferences* plank_dock_preferences_new (void);
PlankDockPreferences* plank_dock_preferences_construct (GType object_type);
PlankDockPreferences* plank_dock_preferences_new_with_file (GFile* file);
PlankDockPreferences* plank_dock_preferences_construct_with_file (GType object_type, GFile* file);
PlankDockPreferences* plank_dock_preferences_new_with_filename (const gchar* filename);
PlankDockPreferences* plank_dock_preferences_construct_with_filename (GType object_type, const gchar* filename);
void plank_dock_preferences_increase_icon_size (PlankDockPreferences* self);
void plank_dock_preferences_decrease_icon_size (PlankDockPreferences* self);
gboolean plank_dock_preferences_is_horizontal_dock (PlankDockPreferences* self);
gboolean plank_dock_preferences_get_CurrentWorkspaceOnly (PlankDockPreferences* self);
void plank_dock_preferences_set_CurrentWorkspaceOnly (PlankDockPreferences* self, gboolean value);
gint plank_dock_preferences_get_IconSize (PlankDockPreferences* self);
void plank_dock_preferences_set_IconSize (PlankDockPreferences* self, gint value);
GType plank_hide_type_get_type (void) G_GNUC_CONST;
PlankHideType plank_dock_preferences_get_HideMode (PlankDockPreferences* self);
void plank_dock_preferences_set_HideMode (PlankDockPreferences* self, PlankHideType value);
guint plank_dock_preferences_get_UnhideDelay (PlankDockPreferences* self);
void plank_dock_preferences_set_UnhideDelay (PlankDockPreferences* self, guint value);
guint plank_dock_preferences_get_HideDelay (PlankDockPreferences* self);
void plank_dock_preferences_set_HideDelay (PlankDockPreferences* self, guint value);
const gchar* plank_dock_preferences_get_Monitor (PlankDockPreferences* self);
void plank_dock_preferences_set_Monitor (PlankDockPreferences* self, const gchar* value);
const gchar* plank_dock_preferences_get_DockItems (PlankDockPreferences* self);
void plank_dock_preferences_set_DockItems (PlankDockPreferences* self, const gchar* value);
GtkPositionType plank_dock_preferences_get_Position (PlankDockPreferences* self);
void plank_dock_preferences_set_Position (PlankDockPreferences* self, GtkPositionType value);
gint plank_dock_preferences_get_Offset (PlankDockPreferences* self);
void plank_dock_preferences_set_Offset (PlankDockPreferences* self, gint value);
const gchar* plank_dock_preferences_get_Theme (PlankDockPreferences* self);
void plank_dock_preferences_set_Theme (PlankDockPreferences* self, const gchar* value);
GtkAlign plank_dock_preferences_get_Alignment (PlankDockPreferences* self);
void plank_dock_preferences_set_Alignment (PlankDockPreferences* self, GtkAlign value);
GtkAlign plank_dock_preferences_get_ItemsAlignment (PlankDockPreferences* self);
void plank_dock_preferences_set_ItemsAlignment (PlankDockPreferences* self, GtkAlign value);
gboolean plank_dock_preferences_get_LockItems (PlankDockPreferences* self);
void plank_dock_preferences_set_LockItems (PlankDockPreferences* self, gboolean value);
gboolean plank_dock_preferences_get_PressureReveal (PlankDockPreferences* self);
void plank_dock_preferences_set_PressureReveal (PlankDockPreferences* self, gboolean value);
gboolean plank_dock_preferences_get_PinnedOnly (PlankDockPreferences* self);
void plank_dock_preferences_set_PinnedOnly (PlankDockPreferences* self, gboolean value);
gboolean plank_dock_preferences_get_AutoPinning (PlankDockPreferences* self);
void plank_dock_preferences_set_AutoPinning (PlankDockPreferences* self, gboolean value);
gboolean plank_dock_preferences_get_ShowDockItem (PlankDockPreferences* self);
void plank_dock_preferences_set_ShowDockItem (PlankDockPreferences* self, gboolean value);
gboolean plank_dock_preferences_get_ZoomEnabled (PlankDockPreferences* self);
void plank_dock_preferences_set_ZoomEnabled (PlankDockPreferences* self, gboolean value);
guint plank_dock_preferences_get_ZoomPercent (PlankDockPreferences* self);
void plank_dock_preferences_set_ZoomPercent (PlankDockPreferences* self, guint value);
PlankDockRenderer* plank_dock_renderer_new (PlankDockController* controller, GtkWindow* window);
PlankDockRenderer* plank_dock_renderer_construct (GType object_type, PlankDockController* controller, GtkWindow* window);
void plank_dock_renderer_initialize (PlankDockRenderer* self);
void plank_dock_renderer_reset_buffers (PlankDockRenderer* self);
void plank_dock_renderer_update_local_cursor (PlankDockRenderer* self, gint x, gint y);
void plank_dock_renderer_animate_items (PlankDockRenderer* self, GeeList* elements);
GType plank_drawing_theme_get_type (void) G_GNUC_CONST;
GType plank_drawing_dock_theme_get_type (void) G_GNUC_CONST;
PlankDrawingDockTheme* plank_dock_renderer_get_theme (PlankDockRenderer* self);
gdouble plank_dock_renderer_get_hide_progress (PlankDockRenderer* self);
gdouble plank_dock_renderer_get_zoom_in_progress (PlankDockRenderer* self);
void plank_dock_renderer_get_local_cursor (PlankDockRenderer* self, GdkPoint* result);
PlankDragManager* plank_drag_manager_new (PlankDockController* controller);
PlankDragManager* plank_drag_manager_construct (GType object_type, PlankDockController* controller);
void plank_drag_manager_initialize (PlankDragManager* self);
gboolean plank_drag_manager_drop_is_accepted_by (PlankDragManager* self, PlankItemsDockItem* item);
void plank_drag_manager_ensure_proxy (PlankDragManager* self);
gboolean plank_drag_manager_get_InternalDragActive (PlankDragManager* self);
PlankItemsDockItem* plank_drag_manager_get_DragItem (PlankDragManager* self);
gboolean plank_drag_manager_get_DragIsDesktopFile (PlankDragManager* self);
gboolean plank_drag_manager_get_ExternalDragActive (PlankDragManager* self);
gboolean plank_drag_manager_get_RepositionMode (PlankDragManager* self);
PlankHideManager* plank_hide_manager_new (PlankDockController* controller);
PlankHideManager* plank_hide_manager_construct (GType object_type, PlankDockController* controller);
void plank_hide_manager_initialize (PlankHideManager* self);
void plank_hide_manager_update_hovered (PlankHideManager* self);
void plank_hide_manager_update_hovered_with_coords (PlankHideManager* self, gint x, gint y);
void plank_hide_manager_update_barrier (PlankHideManager* self);
gboolean plank_hide_manager_get_Hidden (PlankHideManager* self);
gboolean plank_hide_manager_get_Disabled (PlankHideManager* self);
gboolean plank_hide_manager_get_Hovered (PlankHideManager* self);
PlankPositionManager* plank_position_manager_new (PlankDockController* controller);
PlankPositionManager* plank_position_manager_construct (GType object_type, PlankDockController* controller);
void plank_position_manager_initialize (PlankPositionManager* self);
gchar** plank_position_manager_get_monitor_plug_names (GdkScreen* screen, int* result_length1);
void plank_position_manager_update (PlankPositionManager* self, PlankDrawingDockTheme* theme);
gboolean plank_position_manager_is_horizontal_dock (PlankPositionManager* self);
void plank_position_manager_get_cursor_region (PlankPositionManager* self, GdkRectangle* result);
void plank_position_manager_get_static_dock_region (PlankPositionManager* self, GdkRectangle* result);
void plank_position_manager_update_regions (PlankPositionManager* self);
gpointer plank_position_manager_dock_item_draw_value_ref (gpointer instance);
void plank_position_manager_dock_item_draw_value_unref (gpointer instance);
GParamSpec* plank_position_manager_param_spec_dock_item_draw_value (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void plank_position_manager_value_set_dock_item_draw_value (GValue* value, gpointer v_object);
void plank_position_manager_value_take_dock_item_draw_value (GValue* value, gpointer v_object);
gpointer plank_position_manager_value_get_dock_item_draw_value (const GValue* value);
GType plank_position_manager_dock_item_draw_value_get_type (void) G_GNUC_CONST;
PlankPositionManagerDockItemDrawValue* plank_position_manager_get_draw_value_for_item (PlankPositionManager* self, PlankItemsDockItem* item);
void plank_position_manager_update_draw_values (PlankPositionManager* self, GeeArrayList* items, PlankPositionManagerDockItemDrawValueFunc func, void* func_target, PlankPositionManagerDrawValuesFunc post_func, void* post_func_target);
void plank_position_manager_get_hover_region_for_element (PlankPositionManager* self, PlankItemsDockElement* element, GdkRectangle* result);
void plank_position_manager_get_menu_position (PlankPositionManager* self, PlankItemsDockItem* hovered, GtkRequisition* requisition, gint* x, gint* y);
void plank_position_manager_get_hover_position (PlankPositionManager* self, PlankItemsDockItem* hovered, gint* x, gint* y);
void plank_position_manager_get_urgent_glow_position (PlankPositionManager* self, PlankItemsDockItem* item, gint* x, gint* y);
void plank_position_manager_update_dock_position (PlankPositionManager* self);
void plank_position_manager_get_dock_draw_position (PlankPositionManager* self, gint* x, gint* y);
void plank_position_manager_get_dock_window_region (PlankPositionManager* self, GdkRectangle* result);
void plank_position_manager_get_background_region (PlankPositionManager* self, GdkRectangle* result);
GType plank_items_application_dock_item_get_type (void) G_GNUC_CONST;
void plank_position_manager_get_icon_geometry (PlankPositionManager* self, PlankItemsApplicationDockItem* item, gboolean for_hidden, GdkRectangle* result);
void plank_position_manager_get_struts (PlankPositionManager* self, gulong** struts, int* struts_length1);
void plank_position_manager_get_barrier (PlankPositionManager* self, GdkRectangle* result);
gboolean plank_position_manager_get_screen_is_composited (PlankPositionManager* self);
gint plank_position_manager_get_LineWidth (PlankPositionManager* self);
gint plank_position_manager_get_IconSize (PlankPositionManager* self);
gint plank_position_manager_get_ZoomIconSize (PlankPositionManager* self);
GtkPositionType plank_position_manager_get_Position (PlankPositionManager* self);
GtkAlign plank_position_manager_get_Alignment (PlankPositionManager* self);
GtkAlign plank_position_manager_get_ItemsAlignment (PlankPositionManager* self);
gint plank_position_manager_get_Offset (PlankPositionManager* self);
gint plank_position_manager_get_IndicatorSize (PlankPositionManager* self);
gint plank_position_manager_get_IconShadowSize (PlankPositionManager* self);
gint plank_position_manager_get_GlowSize (PlankPositionManager* self);
gint plank_position_manager_get_HorizPadding (PlankPositionManager* self);
gint plank_position_manager_get_TopPadding (PlankPositionManager* self);
gint plank_position_manager_get_BottomPadding (PlankPositionManager* self);
gint plank_position_manager_get_ItemPadding (PlankPositionManager* self);
gint plank_position_manager_get_UrgentBounceHeight (PlankPositionManager* self);
gint plank_position_manager_get_LaunchBounceHeight (PlankPositionManager* self);
gint plank_position_manager_get_MaxItemCount (PlankPositionManager* self);
GType plank_position_manager_point_d_get_type (void) G_GNUC_CONST;
PlankPositionManagerPointD* plank_position_manager_point_d_dup (const PlankPositionManagerPointD* self);
void plank_position_manager_point_d_free (PlankPositionManagerPointD* self);
void plank_position_manager_dock_item_draw_value_move_in (PlankPositionManagerDockItemDrawValue* self, GtkPositionType position, gdouble damount);
void plank_position_manager_dock_item_draw_value_move_right (PlankPositionManagerDockItemDrawValue* self, GtkPositionType position, gdouble damount);
PlankPositionManagerDockItemDrawValue* plank_position_manager_dock_item_draw_value_new (void);
PlankPositionManagerDockItemDrawValue* plank_position_manager_dock_item_draw_value_construct (GType object_type);
GType plank_dbus_client_get_type (void) G_GNUC_CONST;
PlankDBusClient* plank_dbus_client_get_instance (void);
gboolean plank_dbus_client_add_item (PlankDBusClient* self, const gchar* uri);
gboolean plank_dbus_client_remove_item (PlankDBusClient* self, const gchar* uri);
gint plank_dbus_client_get_items_count (PlankDBusClient* self);
gchar** plank_dbus_client_get_persistent_applications (PlankDBusClient* self, int* result_length1);
gchar** plank_dbus_client_get_transient_applications (PlankDBusClient* self, int* result_length1);
gboolean plank_dbus_client_get_is_connected (PlankDBusClient* self);
PlankDrawingAnimatedRenderer* plank_drawing_animated_renderer_construct (GType object_type, GtkWidget* widget);
gboolean plank_drawing_animated_renderer_animation_needed (PlankDrawingAnimatedRenderer* self, gint64 frame_time);
void plank_drawing_animated_renderer_initialize_frame (PlankDrawingAnimatedRenderer* self, gint64 frame_time);
void plank_drawing_animated_renderer_draw (PlankDrawingAnimatedRenderer* self, cairo_t* cr, gint64 frame_time);
void plank_drawing_animated_renderer_force_frame_time_update (PlankDrawingAnimatedRenderer* self);
void plank_drawing_animated_renderer_animated_draw (PlankDrawingAnimatedRenderer* self);
GtkWidget* plank_drawing_animated_renderer_get_widget (PlankDrawingAnimatedRenderer* self);
gint64 plank_drawing_animated_renderer_get_frame_time (PlankDrawingAnimatedRenderer* self);
GType plank_drawing_color_get_type (void) G_GNUC_CONST;
PlankDrawingColor* plank_drawing_color_dup (const PlankDrawingColor* self);
void plank_drawing_color_free (PlankDrawingColor* self);
void plank_drawing_color_set_hsv (PlankDrawingColor *self, gdouble h, gdouble s, gdouble v);
void plank_drawing_color_set_hue (PlankDrawingColor *self, gdouble hue);
void plank_drawing_color_set_sat (PlankDrawingColor *self, gdouble sat);
void plank_drawing_color_set_val (PlankDrawingColor *self, gdouble val);
void plank_drawing_color_get_hsv (PlankDrawingColor *self, gdouble* h, gdouble* s, gdouble* v);
gdouble plank_drawing_color_get_hue (PlankDrawingColor *self);
gdouble plank_drawing_color_get_sat (PlankDrawingColor *self);
gdouble plank_drawing_color_get_val (PlankDrawingColor *self);
void plank_drawing_color_add_hue (PlankDrawingColor *self, gdouble val);
void plank_drawing_color_set_min_sat (PlankDrawingColor *self, gdouble sat);
void plank_drawing_color_set_min_val (PlankDrawingColor *self, gdouble val);
void plank_drawing_color_set_max_sat (PlankDrawingColor *self, gdouble sat);
void plank_drawing_color_set_max_val (PlankDrawingColor *self, gdouble val);
void plank_drawing_color_multiply_sat (PlankDrawingColor *self, gdouble amount);
void plank_drawing_color_brighten_val (PlankDrawingColor *self, gdouble amount);
void plank_drawing_color_darken_val (PlankDrawingColor *self, gdouble amount);
void plank_drawing_color_darken_by_sat (PlankDrawingColor *self, gdouble amount);
gchar* plank_drawing_color_to_prefs_string (PlankDrawingColor *self);
void plank_drawing_color_from_prefs_string (const gchar* s, PlankDrawingColor* result);
GType plank_drawing_drawing_service_get_type (void) G_GNUC_CONST;
GtkIconTheme* plank_drawing_drawing_service_get_icon_theme (void);
gchar* plank_drawing_drawing_service_get_icon_from_file (GFile* file);
gchar* plank_drawing_drawing_service_get_icon_from_gicon (GIcon* icon);
GdkPixbuf* plank_drawing_drawing_service_load_icon (const gchar* names, gint width, gint height);
GFile* plank_drawing_drawing_service_try_get_icon_file (const gchar* name);
cairo_surface_t* plank_drawing_drawing_service_load_icon_for_scale (const gchar* names, gint width, gint height, gint scale);
GdkPixbuf* plank_drawing_drawing_service_ar_scale (GdkPixbuf* source, gint width, gint height);
void plank_drawing_drawing_service_average_color (GdkPixbuf* source, PlankDrawingColor* result);
GType plank_drawing_dock_surface_get_type (void) G_GNUC_CONST;
PlankDrawingDockSurface* plank_drawing_dock_surface_new (gint width, gint height);
PlankDrawingDockSurface* plank_drawing_dock_surface_construct (GType object_type, gint width, gint height);
PlankDrawingDockSurface* plank_drawing_dock_surface_new_with_surface (gint width, gint height, cairo_surface_t* model);
PlankDrawingDockSurface* plank_drawing_dock_surface_construct_with_surface (GType object_type, gint width, gint height, cairo_surface_t* model);
PlankDrawingDockSurface* plank_drawing_dock_surface_new_with_dock_surface (gint width, gint height, PlankDrawingDockSurface* model);
PlankDrawingDockSurface* plank_drawing_dock_surface_construct_with_dock_surface (GType object_type, gint width, gint height, PlankDrawingDockSurface* model);
PlankDrawingDockSurface* plank_drawing_dock_surface_new_with_internal (cairo_surface_t* image);
PlankDrawingDockSurface* plank_drawing_dock_surface_construct_with_internal (GType object_type, cairo_surface_t* image);
void plank_drawing_dock_surface_clear (PlankDrawingDockSurface* self);
PlankDrawingDockSurface* plank_drawing_dock_surface_copy (PlankDrawingDockSurface* self);
PlankDrawingDockSurface* plank_drawing_dock_surface_scaled_copy (PlankDrawingDockSurface* self, gint width, gint height);
GdkPixbuf* plank_drawing_dock_surface_to_pixbuf (PlankDrawingDockSurface* self);
PlankDrawingDockSurface* plank_drawing_dock_surface_create_mask (PlankDrawingDockSurface* self, gdouble threshold, GdkRectangle* extent);
void plank_drawing_dock_surface_average_color (PlankDrawingDockSurface* self, PlankDrawingColor* result);
void plank_drawing_dock_surface_fast_blur (PlankDrawingDockSurface* self, gint radius, gint process_count);
void plank_drawing_dock_surface_exponential_blur (PlankDrawingDockSurface* self, gint radius);
void plank_drawing_dock_surface_gaussian_blur (PlankDrawingDockSurface* self, gint radius);
cairo_surface_t* plank_drawing_dock_surface_get_Internal (PlankDrawingDockSurface* self);
gint plank_drawing_dock_surface_get_Width (PlankDrawingDockSurface* self);
gint plank_drawing_dock_surface_get_Height (PlankDrawingDockSurface* self);
cairo_t* plank_drawing_dock_surface_get_Context (PlankDrawingDockSurface* self);
PlankDrawingDockTheme* plank_drawing_dock_theme_new (const gchar* name);
PlankDrawingDockTheme* plank_drawing_dock_theme_construct (GType object_type, const gchar* name);
PlankDrawingDockSurface* plank_drawing_dock_theme_create_background (PlankDrawingDockTheme* self, gint width, gint height, GtkPositionType position, PlankDrawingDockSurface* model);
PlankDrawingDockSurface* plank_drawing_dock_theme_create_indicator (PlankDrawingDockTheme* self, gint size, PlankDrawingColor* color, PlankDrawingDockSurface* model);
PlankDrawingDockSurface* plank_drawing_dock_theme_create_urgent_glow (PlankDrawingDockTheme* self, gint size, PlankDrawingColor* color, PlankDrawingDockSurface* model);
void plank_drawing_dock_theme_draw_active_glow (PlankDrawingDockTheme* self, PlankDrawingDockSurface* surface, GdkRectangle* clip_rect, GdkRectangle* rect, PlankDrawingColor* color, gdouble opacity, GtkPositionType pos);
void plank_drawing_dock_theme_draw_item_count (PlankDrawingDockTheme* self, PlankDrawingDockSurface* surface, gint icon_size, PlankDrawingColor* color, gint64 count);
void plank_drawing_dock_theme_draw_item_progress (PlankDrawingDockTheme* self, PlankDrawingDockSurface* surface, gint icon_size, PlankDrawingColor* color, gdouble progress);
gdouble plank_drawing_dock_theme_get_HorizPadding (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_HorizPadding (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_TopPadding (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_TopPadding (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_BottomPadding (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_BottomPadding (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_ItemPadding (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_ItemPadding (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_IndicatorSize (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_IndicatorSize (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_IconShadowSize (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_IconShadowSize (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_UrgentBounceHeight (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_UrgentBounceHeight (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_LaunchBounceHeight (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_LaunchBounceHeight (PlankDrawingDockTheme* self, gdouble value);
gdouble plank_drawing_dock_theme_get_FadeOpacity (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_FadeOpacity (PlankDrawingDockTheme* self, gdouble value);
gint plank_drawing_dock_theme_get_ClickTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_ClickTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_UrgentBounceTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_UrgentBounceTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_LaunchBounceTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_LaunchBounceTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_ActiveTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_ActiveTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_SlideTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_SlideTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_FadeTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_FadeTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_HideTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_HideTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_GlowSize (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_GlowSize (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_GlowTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_GlowTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_GlowPulseTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_GlowPulseTime (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_UrgentHueShift (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_UrgentHueShift (PlankDrawingDockTheme* self, gint value);
gint plank_drawing_dock_theme_get_ItemMoveTime (PlankDrawingDockTheme* self);
void plank_drawing_dock_theme_set_ItemMoveTime (PlankDrawingDockTheme* self, gint value);
GType plank_drawing_animation_mode_get_type (void) G_GNUC_CONST;
gdouble plank_drawing_easing_for_mode (PlankDrawingAnimationMode mode, gdouble t, gdouble d);
GType plank_drawing_surface_cache_flags_get_type (void) G_GNUC_CONST;
GType plank_drawing_surface_cache_get_type (void) G_GNUC_CONST;
PlankDrawingSurfaceCache* plank_drawing_surface_cache_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, PlankDrawingSurfaceCacheFlags flags);
PlankDrawingSurfaceCache* plank_drawing_surface_cache_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, PlankDrawingSurfaceCacheFlags flags);
PlankDrawingDockSurface* plank_drawing_surface_cache_get_surface (PlankDrawingSurfaceCache* self, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gint width, gint height, PlankDrawingDockSurface* model, PlankDrawingDrawFunc draw_func, void* draw_func_target, PlankDrawingDrawDataFunc draw_data_func, void* draw_data_func_target);
void plank_drawing_surface_cache_clear (PlankDrawingSurfaceCache* self);
PlankDrawingSurfaceCacheFlags plank_drawing_surface_cache_get_flags (PlankDrawingSurfaceCache* self);
#define PLANK_DRAWING_THEME_DEFAULT_NAME "Default"
#define PLANK_DRAWING_THEME_GTK_THEME_NAME "Gtk+"
PlankDrawingTheme* plank_drawing_theme_construct (GType object_type);
PlankDrawingTheme* plank_drawing_theme_construct_with_name (GType object_type, const gchar* name);
void plank_drawing_theme_load (PlankDrawingTheme* self, const gchar* type);
gint plank_drawing_theme_get_top_offset (PlankDrawingTheme* self);
gint plank_drawing_theme_get_bottom_offset (PlankDrawingTheme* self);
void plank_drawing_theme_draw_background (PlankDrawingTheme* self, PlankDrawingDockSurface* surface);
void plank_drawing_theme_draw_inner_rect (PlankDrawingTheme* self, cairo_t* cr, gint width, gint height);
void plank_drawing_theme_draw_rounded_rect (cairo_t* cr, gdouble x, gdouble y, gdouble width, gdouble height, gdouble top_radius, gdouble bottom_radius, gdouble line_width);
void plank_drawing_theme_draw_rounded_line (cairo_t* cr, gdouble x, gdouble y, gdouble width, gdouble height, gboolean is_round_left, gboolean is_round_right, cairo_pattern_t* stroke, cairo_pattern_t* fill);
gchar** plank_drawing_theme_get_theme_list (int* result_length1);
GFile* plank_drawing_theme_get_theme_folder (const gchar* name);
gint plank_drawing_theme_get_TopRoundness (PlankDrawingTheme* self);
void plank_drawing_theme_set_TopRoundness (PlankDrawingTheme* self, gint value);
gint plank_drawing_theme_get_BottomRoundness (PlankDrawingTheme* self);
void plank_drawing_theme_set_BottomRoundness (PlankDrawingTheme* self, gint value);
gint plank_drawing_theme_get_LineWidth (PlankDrawingTheme* self);
void plank_drawing_theme_set_LineWidth (PlankDrawingTheme* self, gint value);
void plank_drawing_theme_get_OuterStrokeColor (PlankDrawingTheme* self, PlankDrawingColor* result);
void plank_drawing_theme_set_OuterStrokeColor (PlankDrawingTheme* self, PlankDrawingColor* value);
void plank_drawing_theme_get_FillStartColor (PlankDrawingTheme* self, PlankDrawingColor* result);
void plank_drawing_theme_set_FillStartColor (PlankDrawingTheme* self, PlankDrawingColor* value);
void plank_drawing_theme_get_FillEndColor (PlankDrawingTheme* self, PlankDrawingColor* result);
void plank_drawing_theme_set_FillEndColor (PlankDrawingTheme* self, PlankDrawingColor* value);
void plank_drawing_theme_get_InnerStrokeColor (PlankDrawingTheme* self, PlankDrawingColor* result);
void plank_drawing_theme_set_InnerStrokeColor (PlankDrawingTheme* self, PlankDrawingColor* value);
GType plank_factories_abstract_main_get_type (void) G_GNUC_CONST;
void plank_factories_abstract_main_initialize (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_create_controller (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_create_actions (PlankFactoriesAbstractMain* self);
gboolean plank_factories_abstract_main_is_launcher_for_dock (PlankFactoriesAbstractMain* self, const gchar* launcher);
PlankFactoriesAbstractMain* plank_factories_abstract_main_construct (GType object_type);
const gchar* plank_factories_abstract_main_get_build_data_dir (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_build_pkg_data_dir (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_build_release_name (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_build_version (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_build_version_info (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_program_name (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_exec_name (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_app_copyright (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_app_dbus (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_dock_name (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_dock_name (PlankFactoriesAbstractMain* self, const gchar* value);
const gchar* plank_factories_abstract_main_get_app_icon (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_app_launcher (PlankFactoriesAbstractMain* self);
const gchar* plank_factories_abstract_main_get_main_url (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_main_url (PlankFactoriesAbstractMain* self, const gchar* value);
const gchar* plank_factories_abstract_main_get_help_url (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_help_url (PlankFactoriesAbstractMain* self, const gchar* value);
const gchar* plank_factories_abstract_main_get_translate_url (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_translate_url (PlankFactoriesAbstractMain* self, const gchar* value);
gchar** plank_factories_abstract_main_get_about_authors (PlankFactoriesAbstractMain* self, int* result_length1);
void plank_factories_abstract_main_set_about_authors (PlankFactoriesAbstractMain* self, gchar** value, int value_length1);
gchar** plank_factories_abstract_main_get_about_documenters (PlankFactoriesAbstractMain* self, int* result_length1);
void plank_factories_abstract_main_set_about_documenters (PlankFactoriesAbstractMain* self, gchar** value, int value_length1);
gchar** plank_factories_abstract_main_get_about_artists (PlankFactoriesAbstractMain* self, int* result_length1);
void plank_factories_abstract_main_set_about_artists (PlankFactoriesAbstractMain* self, gchar** value, int value_length1);
const gchar* plank_factories_abstract_main_get_about_translators (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_about_translators (PlankFactoriesAbstractMain* self, const gchar* value);
GtkLicense plank_factories_abstract_main_get_about_license_type (PlankFactoriesAbstractMain* self);
void plank_factories_abstract_main_set_about_license_type (PlankFactoriesAbstractMain* self, GtkLicense value);
GType plank_factories_factory_get_type (void) G_GNUC_CONST;
extern PlankFactoriesAbstractMain* plank_factories_factory_main;
GType plank_factories_item_factory_get_type (void) G_GNUC_CONST;
extern PlankFactoriesItemFactory* plank_factories_factory_item_factory;
void plank_factories_factory_init (PlankFactoriesAbstractMain* main_class, PlankFactoriesItemFactory* item);
PlankFactoriesFactory* plank_factories_factory_new (void);
PlankFactoriesFactory* plank_factories_factory_construct (GType object_type);
PlankItemsDockElement* plank_factories_item_factory_make_element (PlankFactoriesItemFactory* self, GFile* file);
PlankItemsDockItem* plank_factories_item_factory_get_item_for_dock (PlankFactoriesItemFactory* self);
PlankItemsDockElement* plank_factories_item_factory_default_make_element (PlankFactoriesItemFactory* self, GFile* file, const gchar* launcher);
gchar* plank_factories_item_factory_get_launcher_from_dockitem (PlankFactoriesItemFactory* self, GFile* file);
GeeArrayList* plank_factories_item_factory_load_items (PlankFactoriesItemFactory* self, GFile* source_dir, const gchar* ordering);
void plank_factories_item_factory_make_default_items (PlankFactoriesItemFactory* self);
GFile* plank_factories_item_factory_make_dock_item (PlankFactoriesItemFactory* self, const gchar* uri, GFile* target_dir);
PlankFactoriesItemFactory* plank_factories_item_factory_new (void);
PlankFactoriesItemFactory* plank_factories_item_factory_construct (GType object_type);
PlankItemsApplicationDockItem* plank_items_application_dock_item_new_with_dockitem_file (GFile* file);
PlankItemsApplicationDockItem* plank_items_application_dock_item_construct_with_dockitem_file (GType object_type, GFile* file);
PlankItemsApplicationDockItem* plank_items_application_dock_item_new_with_dockitem_filename (const gchar* filename);
PlankItemsApplicationDockItem* plank_items_application_dock_item_construct_with_dockitem_filename (GType object_type, const gchar* filename);
gboolean plank_items_application_dock_item_is_running (PlankItemsApplicationDockItem* self);
gboolean plank_items_application_dock_item_is_window (PlankItemsApplicationDockItem* self);
void plank_items_application_dock_item_set_urgent (PlankItemsApplicationDockItem* self, gboolean is_urgent);
void plank_items_application_dock_item_parse_launcher (const gchar* launcher, gchar** icon, gchar** text, GeeArrayList* actions, GeeMap* actions_map, GeeArrayList* mimes);
const gchar* plank_items_application_dock_item_get_unity_application_uri (PlankItemsApplicationDockItem* self);
const gchar* plank_items_application_dock_item_get_unity_dbusname (PlankItemsApplicationDockItem* self);
gboolean plank_items_application_dock_item_has_unity_info (PlankItemsApplicationDockItem* self);
void plank_items_application_dock_item_unity_update (PlankItemsApplicationDockItem* self, const gchar* sender_name, GVariantIter* prop_iter);
void plank_items_application_dock_item_unity_reset (PlankItemsApplicationDockItem* self);
PlankItemsApplicationDockItem* plank_items_application_dock_item_new (void);
PlankItemsApplicationDockItem* plank_items_application_dock_item_construct (GType object_type);
GType plank_items_application_dock_item_provider_get_type (void) G_GNUC_CONST;
PlankItemsApplicationDockItemProvider* plank_items_application_dock_item_provider_new (GFile* launchers_dir);
PlankItemsApplicationDockItemProvider* plank_items_application_dock_item_provider_construct (GType object_type, GFile* launchers_dir);
void plank_items_application_dock_item_provider_acquire_unity_dbus (void);
void plank_items_application_dock_item_provider_release_unity_dbus (void);
PlankItemsApplicationDockItem* plank_items_application_dock_item_provider_item_for_application (PlankItemsApplicationDockItemProvider* self, BamfApplication* app);
gchar* plank_items_application_dock_item_provider_get_item_list_string (PlankItemsApplicationDockItemProvider* self);
void plank_items_application_dock_item_provider_app_opened (PlankItemsApplicationDockItemProvider* self, BamfApplication* app);
void plank_items_application_dock_item_provider_delay_items_monitor (PlankItemsApplicationDockItemProvider* self);
void plank_items_application_dock_item_provider_resume_items_monitor (PlankItemsApplicationDockItemProvider* self);
GFile* plank_items_application_dock_item_provider_get_LaunchersDir (PlankItemsApplicationDockItemProvider* self);
GType plank_items_default_application_dock_item_provider_get_type (void) G_GNUC_CONST;
PlankItemsDefaultApplicationDockItemProvider* plank_items_default_application_dock_item_provider_new (PlankDockPreferences* prefs, GFile* launchers_dir);
PlankItemsDefaultApplicationDockItemProvider* plank_items_default_application_dock_item_provider_construct (GType object_type, PlankDockPreferences* prefs, GFile* launchers_dir);
void plank_items_default_application_dock_item_provider_pin_item (PlankItemsDefaultApplicationDockItemProvider* self, PlankItemsDockItem* item);
PlankDockPreferences* plank_items_default_application_dock_item_provider_get_Prefs (PlankItemsDefaultApplicationDockItemProvider* self);
GType plank_items_placeholder_dock_item_get_type (void) G_GNUC_CONST;
extern PlankItemsPlaceholderDockItem* plank_items_dock_container_placeholder_item;
PlankItemsDockContainer* plank_items_dock_container_construct (GType object_type);
void plank_items_dock_container_prepare (PlankItemsDockContainer* self);
gboolean plank_items_dock_container_add (PlankItemsDockContainer* self, PlankItemsDockElement* element, PlankItemsDockElement* target);
void plank_items_dock_container_prepend (PlankItemsDockContainer* self, PlankItemsDockElement* element);
gboolean plank_items_dock_container_add_all (PlankItemsDockContainer* self, GeeArrayList* elements);
gboolean plank_items_dock_container_remove (PlankItemsDockContainer* self, PlankItemsDockElement* element);
gboolean plank_items_dock_container_remove_all (PlankItemsDockContainer* self);
void plank_items_dock_container_update_visible_elements (PlankItemsDockContainer* self);
gboolean plank_items_dock_container_move_to (PlankItemsDockContainer* self, PlankItemsDockElement* move, PlankItemsDockElement* target);
gboolean plank_items_dock_container_replace (PlankItemsDockContainer* self, PlankItemsDockElement* new_element, PlankItemsDockElement* old_element);
void plank_items_dock_container_connect_element (PlankItemsDockContainer* self, PlankItemsDockElement* element);
void plank_items_dock_container_disconnect_element (PlankItemsDockContainer* self, PlankItemsDockElement* element);
void plank_items_dock_container_move_element (GeeList* elements, gint from, gint to, GeeList* moved);
GeeArrayList* plank_items_dock_container_get_VisibleElements (PlankItemsDockContainer* self);
GeeArrayList* plank_items_dock_container_get_Elements (PlankItemsDockContainer* self);
PlankItemsDockItem* plank_items_dock_item_construct (GType object_type);
void plank_items_dock_item_load_from_launcher (PlankItemsDockItem* self);
void plank_items_dock_item_delete (PlankItemsDockItem* self);
void plank_items_dock_item_reset_icon_buffer (PlankItemsDockItem* self);
void plank_items_dock_item_unset_move_state (PlankItemsDockItem* self);
PlankDrawingDockSurface* plank_items_dock_item_get_surface (PlankItemsDockItem* self, gint width, gint height, PlankDrawingDockSurface* model);
PlankDrawingDockSurface* plank_items_dock_item_get_background_surface (PlankItemsDockItem* self, gint width, gint height, PlankDrawingDockSurface* model, PlankDrawingDrawDataFunc draw_data_func, void* draw_data_func_target);
PlankDrawingDockSurface* plank_items_dock_item_get_foreground_surface (PlankItemsDockItem* self, gint width, gint height, PlankDrawingDockSurface* model, PlankDrawingDrawDataFunc draw_data_func, void* draw_data_func_target);
PlankDrawingDockSurface* plank_items_dock_item_get_surface_copy (PlankItemsDockItem* self, gint width, gint height, PlankDrawingDockSurface* model);
void plank_items_dock_item_draw_icon (PlankItemsDockItem* self, PlankDrawingDockSurface* surface);
void plank_items_dock_item_draw_icon_fast (PlankItemsDockItem* self, PlankDrawingDockSurface* surface);
gboolean plank_items_dock_item_is_valid (PlankItemsDockItem* self);
void plank_items_dock_item_copy_values_to (PlankItemsDockItem* self, PlankItemsDockItem* target);
const gchar* plank_items_dock_item_get_Icon (PlankItemsDockItem* self);
void plank_items_dock_item_set_Icon (PlankItemsDockItem* self, const gchar* value);
GdkPixbuf* plank_items_dock_item_get_ForcePixbuf (PlankItemsDockItem* self);
void plank_items_dock_item_set_ForcePixbuf (PlankItemsDockItem* self, GdkPixbuf* value);
gint64 plank_items_dock_item_get_Count (PlankItemsDockItem* self);
void plank_items_dock_item_set_Count (PlankItemsDockItem* self, gint64 value);
gboolean plank_items_dock_item_get_CountVisible (PlankItemsDockItem* self);
void plank_items_dock_item_set_CountVisible (PlankItemsDockItem* self, gboolean value);
gdouble plank_items_dock_item_get_Progress (PlankItemsDockItem* self);
void plank_items_dock_item_set_Progress (PlankItemsDockItem* self, gdouble value);
gboolean plank_items_dock_item_get_ProgressVisible (PlankItemsDockItem* self);
void plank_items_dock_item_set_ProgressVisible (PlankItemsDockItem* self, gboolean value);
gint plank_items_dock_item_get_Position (PlankItemsDockItem* self);
void plank_items_dock_item_set_Position (PlankItemsDockItem* self, gint value);
gint plank_items_dock_item_get_LastPosition (PlankItemsDockItem* self);
void plank_items_dock_item_set_LastPosition (PlankItemsDockItem* self, gint value);
GType plank_items_item_state_get_type (void) G_GNUC_CONST;
PlankItemsItemState plank_items_dock_item_get_State (PlankItemsDockItem* self);
void plank_items_dock_item_set_State (PlankItemsDockItem* self, PlankItemsItemState value);
GType plank_items_indicator_state_get_type (void) G_GNUC_CONST;
PlankItemsIndicatorState plank_items_dock_item_get_Indicator (PlankItemsDockItem* self);
void plank_items_dock_item_set_Indicator (PlankItemsDockItem* self, PlankItemsIndicatorState value);
void plank_items_dock_item_get_AverageIconColor (PlankItemsDockItem* self, PlankDrawingColor* result);
void plank_items_dock_item_set_AverageIconColor (PlankItemsDockItem* self, PlankDrawingColor* value);
gchar* plank_items_dock_item_get_DockItemFilename (PlankItemsDockItem* self);
const gchar* plank_items_dock_item_get_Launcher (PlankItemsDockItem* self);
GType plank_items_dock_item_preferences_get_type (void) G_GNUC_CONST;
PlankItemsDockItemPreferences* plank_items_dock_item_get_Prefs (PlankItemsDockItem* self);
PlankItemsDockItemProvider* plank_items_dock_item_provider_new (void);
PlankItemsDockItemProvider* plank_items_dock_item_provider_construct (GType object_type);
gboolean plank_items_dock_item_provider_item_exists_for_uri (PlankItemsDockItemProvider* self, const gchar* uri);
PlankItemsDockItem* plank_items_dock_item_provider_item_for_uri (PlankItemsDockItemProvider* self, const gchar* uri);
gboolean plank_items_dock_item_provider_add_item_with_uri (PlankItemsDockItemProvider* self, const gchar* uri, PlankItemsDockItem* target);
void plank_items_dock_item_provider_handle_item_deleted (PlankItemsDockItemProvider* self, PlankItemsDockItem* item);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_new_with_launcher (const gchar* launcher);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_construct_with_launcher (GType object_type, const gchar* launcher);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_new_with_file (GFile* file);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_construct_with_file (GType object_type, GFile* file);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_new_with_filename (const gchar* filename);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_construct_with_filename (GType object_type, const gchar* filename);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_new (void);
PlankItemsDockItemPreferences* plank_items_dock_item_preferences_construct (GType object_type);
const gchar* plank_items_dock_item_preferences_get_Launcher (PlankItemsDockItemPreferences* self);
void plank_items_dock_item_preferences_set_Launcher (PlankItemsDockItemPreferences* self, const gchar* value);
void plank_items_dock_element_clicked (PlankItemsDockElement* self, PlankItemsPopupButton button, GdkModifierType mod, guint32 event_time);
PlankItemsAnimation plank_items_dock_element_on_clicked (PlankItemsDockElement* self, PlankItemsPopupButton button, GdkModifierType mod, guint32 event_time);
void plank_items_dock_element_hovered (PlankItemsDockElement* self);
PlankItemsAnimation plank_items_dock_element_on_hovered (PlankItemsDockElement* self);
void plank_items_dock_element_scrolled (PlankItemsDockElement* self, GdkScrollDirection direction, GdkModifierType mod, guint32 event_time);
PlankItemsAnimation plank_items_dock_element_on_scrolled (PlankItemsDockElement* self, GdkScrollDirection direction, GdkModifierType mod, guint32 event_time);
PlankDockController* plank_items_dock_element_get_dock (PlankItemsDockElement* self);
GeeArrayList* plank_items_dock_element_get_menu_items (PlankItemsDockElement* self);
gboolean plank_items_dock_element_can_be_removed (PlankItemsDockElement* self);
gboolean plank_items_dock_element_can_accept_drop (PlankItemsDockElement* self, GeeArrayList* uris);
gboolean plank_items_dock_element_accept_drop (PlankItemsDockElement* self, GeeArrayList* uris);
gchar* plank_items_dock_element_unique_id (PlankItemsDockElement* self);
gchar* plank_items_dock_element_as_uri (PlankItemsDockElement* self);
void plank_items_dock_element_reset_buffers (PlankItemsDockElement* self);
GtkMenuItem* plank_items_dock_element_create_menu_item (const gchar* title, const gchar* icon, gboolean force_show_icon);
GtkMenuItem* plank_items_dock_element_create_menu_item_with_pixbuf (const gchar* title, GdkPixbuf* pixbuf, gboolean force_show_icon);
PlankItemsDockElement* plank_items_dock_element_construct (GType object_type);
PlankItemsDockContainer* plank_items_dock_element_get_Container (PlankItemsDockElement* self);
void plank_items_dock_element_set_Container (PlankItemsDockElement* self, PlankItemsDockContainer* value);
const gchar* plank_items_dock_element_get_Text (PlankItemsDockElement* self);
void plank_items_dock_element_set_Text (PlankItemsDockElement* self, const gchar* value);
gboolean plank_items_dock_element_get_IsAttached (PlankItemsDockElement* self);
void plank_items_dock_element_set_IsAttached (PlankItemsDockElement* self, gboolean value);
gboolean plank_items_dock_element_get_IsVisible (PlankItemsDockElement* self);
void plank_items_dock_element_set_IsVisible (PlankItemsDockElement* self, gboolean value);
PlankItemsPopupButton plank_items_dock_element_get_Button (PlankItemsDockElement* self);
void plank_items_dock_element_set_Button (PlankItemsDockElement* self, PlankItemsPopupButton value);
PlankItemsAnimation plank_items_dock_element_get_ClickedAnimation (PlankItemsDockElement* self);
void plank_items_dock_element_set_ClickedAnimation (PlankItemsDockElement* self, PlankItemsAnimation value);
PlankItemsAnimation plank_items_dock_element_get_HoveredAnimation (PlankItemsDockElement* self);
void plank_items_dock_element_set_HoveredAnimation (PlankItemsDockElement* self, PlankItemsAnimation value);
PlankItemsAnimation plank_items_dock_element_get_ScrolledAnimation (PlankItemsDockElement* self);
void plank_items_dock_element_set_ScrolledAnimation (PlankItemsDockElement* self, PlankItemsAnimation value);
gint64 plank_items_dock_element_get_AddTime (PlankItemsDockElement* self);
void plank_items_dock_element_set_AddTime (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_RemoveTime (PlankItemsDockElement* self);
void plank_items_dock_element_set_RemoveTime (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastClicked (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastClicked (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastHovered (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastHovered (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastScrolled (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastScrolled (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastUrgent (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastUrgent (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastActive (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastActive (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastMove (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastMove (PlankItemsDockElement* self, gint64 value);
gint64 plank_items_dock_element_get_LastValid (PlankItemsDockElement* self);
void plank_items_dock_element_set_LastValid (PlankItemsDockElement* self, gint64 value);
PlankItemsPopupButton plank_items_popup_button_from_event_button (GdkEventButton* event);
GType plank_items_file_dock_item_get_type (void) G_GNUC_CONST;
PlankItemsFileDockItem* plank_items_file_dock_item_new_with_file (GFile* file);
PlankItemsFileDockItem* plank_items_file_dock_item_construct_with_file (GType object_type, GFile* file);
PlankItemsFileDockItem* plank_items_file_dock_item_new_with_dockitem_file (GFile* file);
PlankItemsFileDockItem* plank_items_file_dock_item_construct_with_dockitem_file (GType object_type, GFile* file);
PlankItemsFileDockItem* plank_items_file_dock_item_new_with_dockitem_filename (const gchar* filename);
PlankItemsFileDockItem* plank_items_file_dock_item_construct_with_dockitem_filename (GType object_type, const gchar* filename);
void plank_items_file_dock_item_launch (PlankItemsFileDockItem* self);
PlankItemsFileDockItem* plank_items_file_dock_item_new (void);
PlankItemsFileDockItem* plank_items_file_dock_item_construct (GType object_type);
GFile* plank_items_file_dock_item_get_OwnedFile (PlankItemsFileDockItem* self);
void plank_items_file_dock_item_set_OwnedFile (PlankItemsFileDockItem* self, GFile* value);
PlankItemsPlaceholderDockItem* plank_items_placeholder_dock_item_new (void);
PlankItemsPlaceholderDockItem* plank_items_placeholder_dock_item_construct (GType object_type);
GType plank_items_plank_dock_item_get_type (void) G_GNUC_CONST;
PlankItemsPlankDockItem* plank_items_plank_dock_item_get_instance (void);
GType plank_items_transient_dock_item_get_type (void) G_GNUC_CONST;
PlankItemsTransientDockItem* plank_items_transient_dock_item_new_with_launcher (const gchar* launcher_uri);
PlankItemsTransientDockItem* plank_items_transient_dock_item_construct_with_launcher (GType object_type, const gchar* launcher_uri);
PlankItemsTransientDockItem* plank_items_transient_dock_item_new (void);
PlankItemsTransientDockItem* plank_items_transient_dock_item_construct (GType object_type);
GType plank_services_log_level_get_type (void) G_GNUC_CONST;
GType plank_services_logger_get_type (void) G_GNUC_CONST;
void plank_services_logger_initialize (const gchar* app_name);
void plank_services_logger_notification (const gchar* msg, const gchar* icon);
void plank_services_logger_verbose (const gchar* msg, ...);
PlankServicesLogLevel plank_services_logger_get_DisplayLevel (void);
void plank_services_logger_set_DisplayLevel (PlankServicesLogLevel value);
GType plank_services_paths_get_type (void) G_GNUC_CONST;
void plank_services_paths_initialize (const gchar* app_name, const gchar* data_folder);
gboolean plank_services_paths_ensure_directory_exists (GFile* dir);
GFile* plank_services_paths_get_HomeFolder (void);
void plank_services_paths_set_HomeFolder (GFile* value);
GFile* plank_services_paths_get_DataFolder (void);
void plank_services_paths_set_DataFolder (GFile* value);
GFile* plank_services_paths_get_ThemeFolder (void);
void plank_services_paths_set_ThemeFolder (GFile* value);
GFile* plank_services_paths_get_ConfigHomeFolder (void);
void plank_services_paths_set_ConfigHomeFolder (GFile* value);
GFile* plank_services_paths_get_DataHomeFolder (void);
void plank_services_paths_set_DataHomeFolder (GFile* value);
GFile* plank_services_paths_get_CacheHomeFolder (void);
void plank_services_paths_set_CacheHomeFolder (GFile* value);
GeeArrayList* plank_services_paths_get_DataDirFolders (void);
void plank_services_paths_set_DataDirFolders (GeeArrayList* value);
GFile* plank_services_paths_get_AppConfigFolder (void);
void plank_services_paths_set_AppConfigFolder (GFile* value);
GFile* plank_services_paths_get_AppDataFolder (void);
void plank_services_paths_set_AppDataFolder (GFile* value);
GFile* plank_services_paths_get_AppThemeFolder (void);
void plank_services_paths_set_AppThemeFolder (GFile* value);
GFile* plank_services_paths_get_AppCacheFolder (void);
void plank_services_paths_set_AppCacheFolder (GFile* value);
const gchar* plank_services_paths_get_AppName (void);
void plank_services_paths_set_AppName (const gchar* value);
GType plank_services_prefs_serializable_get_type (void) G_GNUC_CONST;
gchar* plank_services_prefs_serializable_prefs_serialize (PlankServicesPrefsSerializable* self);
void plank_services_prefs_serializable_prefs_deserialize (PlankServicesPrefsSerializable* self, const gchar* s);
PlankServicesPreferences* plank_services_preferences_construct (GType object_type);
void plank_services_preferences_verify (PlankServicesPreferences* self, const gchar* prop);
void plank_services_preferences_reset_properties (PlankServicesPreferences* self);
PlankServicesPreferences* plank_services_preferences_construct_with_file (GType object_type, GFile* file);
PlankServicesPreferences* plank_services_preferences_construct_with_filename (GType object_type, const gchar* filename);
void plank_services_preferences_init_from_file (PlankServicesPreferences* self, GFile* file);
void plank_services_preferences_init_from_filename (PlankServicesPreferences* self, const gchar* filename);
void plank_services_preferences_delay (PlankServicesPreferences* self);
void plank_services_preferences_apply (PlankServicesPreferences* self);
gchar* plank_services_preferences_get_filename (PlankServicesPreferences* self);
GFile* plank_services_preferences_get_backing_file (PlankServicesPreferences* self);
void plank_services_preferences_delete (PlankServicesPreferences* self);
GType plank_services_system_get_type (void) G_GNUC_CONST;
void plank_services_system_open_uri (const gchar* uri);
void plank_services_system_open (GFile* file);
void plank_services_system_open_files (GFile** files, int files_length1);
void plank_services_system_launch (GFile* app);
void plank_services_system_launch_with_files (GFile* app, GFile** files, int files_length1);
gboolean plank_services_system_is_desktop_session (const gchar* session);
GType plank_services_task_priority_get_type (void) G_GNUC_CONST;
GType plank_services_worker_get_type (void) G_GNUC_CONST;
PlankServicesWorker* plank_services_worker_get_default (void);
void plank_services_worker_add_task (PlankServicesWorker* self, GThreadFunc func, void* func_target, PlankServicesTaskPriority priority);
void plank_services_worker_add_task_with_result (PlankServicesWorker* self, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, PlankServicesTaskFunc func, void* func_target, GDestroyNotify func_target_destroy_notify, PlankServicesTaskPriority priority, GAsyncReadyCallback _callback_, gpointer _user_data_);
gpointer plank_services_worker_add_task_with_result_finish (PlankServicesWorker* self, GAsyncResult* _res_, GError** error);
PlankWidgetsCompositedWindow* plank_widgets_composited_window_new (void);
PlankWidgetsCompositedWindow* plank_widgets_composited_window_construct (GType object_type);
PlankWidgetsCompositedWindow* plank_widgets_composited_window_new_with_type (GtkWindowType window_type);
PlankWidgetsCompositedWindow* plank_widgets_composited_window_construct_with_type (GType object_type, GtkWindowType window_type);
PlankWidgetsDockWindow* plank_widgets_dock_window_new (PlankDockController* controller);
PlankWidgetsDockWindow* plank_widgets_dock_window_construct (GType object_type, PlankDockController* controller);
gboolean plank_widgets_dock_window_update_hovered (PlankWidgetsDockWindow* self, gint x, gint y);
void plank_widgets_dock_window_update_size_and_position (PlankWidgetsDockWindow* self);
void plank_widgets_dock_window_update_icon_regions (PlankWidgetsDockWindow* self);
void plank_widgets_dock_window_update_icon_region (PlankWidgetsDockWindow* self, PlankItemsApplicationDockItem* appitem);
gboolean plank_widgets_dock_window_menu_is_visible (PlankWidgetsDockWindow* self);
PlankItemsDockItem* plank_widgets_dock_window_get_HoveredItem (PlankWidgetsDockWindow* self);
PlankItemsDockItemProvider* plank_widgets_dock_window_get_HoveredItemProvider (PlankWidgetsDockWindow* self);
GType plank_widgets_hover_window_get_type (void) G_GNUC_CONST;
PlankWidgetsHoverWindow* plank_widgets_hover_window_new (void);
PlankWidgetsHoverWindow* plank_widgets_hover_window_construct (GType object_type);
void plank_widgets_hover_window_show_at (PlankWidgetsHoverWindow* self, gint x, gint y, GtkPositionType position);
void plank_widgets_hover_window_set_text (PlankWidgetsHoverWindow* self, const gchar* text);
GType plank_widgets_poof_window_get_type (void) G_GNUC_CONST;
PlankWidgetsPoofWindow* plank_widgets_poof_window_get_default (void);
PlankWidgetsPoofWindow* plank_widgets_poof_window_new (void);
PlankWidgetsPoofWindow* plank_widgets_poof_window_construct (GType object_type);
void plank_widgets_poof_window_show_at (PlankWidgetsPoofWindow* self, gint x, gint y);
GType plank_widgets_preferences_window_get_type (void) G_GNUC_CONST;
PlankWidgetsPreferencesWindow* plank_widgets_preferences_window_new (PlankDockPreferences* prefs);
PlankWidgetsPreferencesWindow* plank_widgets_preferences_window_construct (GType object_type, PlankDockPreferences* prefs);
PlankDockPreferences* plank_widgets_preferences_window_get_prefs (PlankWidgetsPreferencesWindow* self);
GType plank_widgets_titled_separator_menu_item_get_type (void) G_GNUC_CONST;
PlankWidgetsTitledSeparatorMenuItem* plank_widgets_titled_separator_menu_item_new (const gchar* text);
PlankWidgetsTitledSeparatorMenuItem* plank_widgets_titled_separator_menu_item_construct (GType object_type, const gchar* text);
PlankWidgetsTitledSeparatorMenuItem* plank_widgets_titled_separator_menu_item_new_no_line (const gchar* text);
PlankWidgetsTitledSeparatorMenuItem* plank_widgets_titled_separator_menu_item_construct_no_line (GType object_type, const gchar* text);
#define PLANK_VERSION_MAJOR 0
#define PLANK_VERSION_MINOR 10
#define PLANK_VERSION_MICRO 0
#define PLANK_VERSION_NANO 0
guint plank_version_get_major_version (void);
guint plank_version_get_minor_version (void);
guint plank_version_get_micro_version (void);
guint plank_version_get_nano_version (void);
const gchar* plank_version_check (guint required_major, guint required_minor, guint required_micro);


G_END_DECLS

#endif
