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

#ifndef __PLUGINS_PIP_GALA_PIP_H__
#define __PLUGINS_PIP_GALA_PIP_H__

#include "gala.h"
#include <glib-object.h>
#include <clutter/clutter.h>
#include <meta/display.h>
#include <meta/meta-window-actor.h>
#include <graphene-gobject.h>
#include <glib.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GALA_PLUGINS_PIP_TYPE_PLUGIN (gala_plugins_pip_plugin_get_type ())
#define GALA_PLUGINS_PIP_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_PLUGINS_PIP_TYPE_PLUGIN, GalaPluginsPIPPlugin))
#define GALA_PLUGINS_PIP_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_PLUGINS_PIP_TYPE_PLUGIN, GalaPluginsPIPPluginClass))
#define GALA_PLUGINS_PIP_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_PLUGINS_PIP_TYPE_PLUGIN))
#define GALA_PLUGINS_PIP_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_PLUGINS_PIP_TYPE_PLUGIN))
#define GALA_PLUGINS_PIP_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_PLUGINS_PIP_TYPE_PLUGIN, GalaPluginsPIPPluginClass))

typedef struct _GalaPluginsPIPPlugin GalaPluginsPIPPlugin;
typedef struct _GalaPluginsPIPPluginClass GalaPluginsPIPPluginClass;
typedef struct _GalaPluginsPIPPluginPrivate GalaPluginsPIPPluginPrivate;

#define GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW (gala_plugins_pip_popup_window_get_type ())
#define GALA_PLUGINS_PIP_POPUP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW, GalaPluginsPIPPopupWindow))
#define GALA_PLUGINS_PIP_POPUP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW, GalaPluginsPIPPopupWindowClass))
#define GALA_PLUGINS_PIP_IS_POPUP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW))
#define GALA_PLUGINS_PIP_IS_POPUP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW))
#define GALA_PLUGINS_PIP_POPUP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_PLUGINS_PIP_TYPE_POPUP_WINDOW, GalaPluginsPIPPopupWindowClass))

typedef struct _GalaPluginsPIPPopupWindow GalaPluginsPIPPopupWindow;
typedef struct _GalaPluginsPIPPopupWindowClass GalaPluginsPIPPopupWindowClass;
typedef struct _GalaPluginsPIPPopupWindowPrivate GalaPluginsPIPPopupWindowPrivate;

#define GALA_PLUGINS_PIP_TYPE_SELECTION_AREA (gala_plugins_pip_selection_area_get_type ())
#define GALA_PLUGINS_PIP_SELECTION_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GALA_PLUGINS_PIP_TYPE_SELECTION_AREA, GalaPluginsPIPSelectionArea))
#define GALA_PLUGINS_PIP_SELECTION_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GALA_PLUGINS_PIP_TYPE_SELECTION_AREA, GalaPluginsPIPSelectionAreaClass))
#define GALA_PLUGINS_PIP_IS_SELECTION_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GALA_PLUGINS_PIP_TYPE_SELECTION_AREA))
#define GALA_PLUGINS_PIP_IS_SELECTION_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GALA_PLUGINS_PIP_TYPE_SELECTION_AREA))
#define GALA_PLUGINS_PIP_SELECTION_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GALA_PLUGINS_PIP_TYPE_SELECTION_AREA, GalaPluginsPIPSelectionAreaClass))

typedef struct _GalaPluginsPIPSelectionArea GalaPluginsPIPSelectionArea;
typedef struct _GalaPluginsPIPSelectionAreaClass GalaPluginsPIPSelectionAreaClass;
typedef struct _GalaPluginsPIPSelectionAreaPrivate GalaPluginsPIPSelectionAreaPrivate;

struct _GalaPluginsPIPPlugin {
	GalaPlugin parent_instance;
	GalaPluginsPIPPluginPrivate * priv;
};

struct _GalaPluginsPIPPluginClass {
	GalaPluginClass parent_class;
};

struct _GalaPluginsPIPPopupWindow {
	ClutterActor parent_instance;
	GalaPluginsPIPPopupWindowPrivate * priv;
};

struct _GalaPluginsPIPPopupWindowClass {
	ClutterActorClass parent_class;
};

struct _GalaPluginsPIPSelectionArea {
	GalaCanvasActor parent_instance;
	GalaPluginsPIPSelectionAreaPrivate * priv;
};

struct _GalaPluginsPIPSelectionAreaClass {
	GalaCanvasActorClass parent_class;
};

VALA_EXTERN GType gala_plugins_pip_plugin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaPluginsPIPPlugin, g_object_unref)
VALA_EXTERN GalaPluginsPIPPlugin* gala_plugins_pip_plugin_new (void);
VALA_EXTERN GalaPluginsPIPPlugin* gala_plugins_pip_plugin_construct (GType object_type);
VALA_EXTERN void register_plugin (GalaPluginInfo* result);
VALA_EXTERN GType gala_plugins_pip_popup_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaPluginsPIPPopupWindow, g_object_unref)
VALA_EXTERN GalaPluginsPIPPopupWindow* gala_plugins_pip_popup_window_new (MetaDisplay* display,
                                                              MetaWindowActor* window_actor);
VALA_EXTERN GalaPluginsPIPPopupWindow* gala_plugins_pip_popup_window_construct (GType object_type,
                                                                    MetaDisplay* display,
                                                                    MetaWindowActor* window_actor);
VALA_EXTERN void gala_plugins_pip_popup_window_set_container_clip (GalaPluginsPIPPopupWindow* self,
                                                       graphene_rect_t* container_clip);
VALA_EXTERN MetaDisplay* gala_plugins_pip_popup_window_get_display (GalaPluginsPIPPopupWindow* self);
VALA_EXTERN MetaWindowActor* gala_plugins_pip_popup_window_get_window_actor (GalaPluginsPIPPopupWindow* self);
VALA_EXTERN GType gala_plugins_pip_selection_area_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GalaPluginsPIPSelectionArea, g_object_unref)
VALA_EXTERN GalaPluginsPIPSelectionArea* gala_plugins_pip_selection_area_new (GalaWindowManager* wm);
VALA_EXTERN GalaPluginsPIPSelectionArea* gala_plugins_pip_selection_area_construct (GType object_type,
                                                                        GalaWindowManager* wm);
VALA_EXTERN void gala_plugins_pip_selection_area_close (GalaPluginsPIPSelectionArea* self);
VALA_EXTERN void gala_plugins_pip_selection_area_start_selection (GalaPluginsPIPSelectionArea* self);
VALA_EXTERN GalaWindowManager* gala_plugins_pip_selection_area_get_wm (GalaPluginsPIPSelectionArea* self);

G_END_DECLS

#endif
