mirror of
https://github.com/brl/mutter.git
synced 2025-04-19 00:29:38 +00:00
barrier: Modernize type implementation
This means using G_DECLARE*() to declare the type, using `_get_private_instance()` everywhere, and other smaller cleanups. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2442>
This commit is contained in:
parent
1992aa1567
commit
27b75d3c96
@ -56,13 +56,8 @@ void meta_barrier_event_unref (MetaBarrierEvent *event);
|
|||||||
|
|
||||||
MetaBackend * meta_barrier_get_backend (MetaBarrier *barrier);
|
MetaBackend * meta_barrier_get_backend (MetaBarrier *barrier);
|
||||||
|
|
||||||
|
MetaBorder * meta_barrier_get_border (MetaBarrier *barrier);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
struct _MetaBarrierPrivate
|
|
||||||
{
|
|
||||||
MetaBackend *backend;
|
|
||||||
MetaBorder border;
|
|
||||||
MetaBarrierImpl *impl;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* META_BARRIER_PRIVATE_H */
|
#endif /* META_BARRIER_PRIVATE_H */
|
||||||
|
@ -23,6 +23,18 @@
|
|||||||
#include "backends/native/meta-barrier-native.h"
|
#include "backends/native/meta-barrier-native.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct _MetaBarrier
|
||||||
|
{
|
||||||
|
GObject parent;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct _MetaBarrierPrivate
|
||||||
|
{
|
||||||
|
MetaBackend *backend;
|
||||||
|
MetaBorder border;
|
||||||
|
MetaBarrierImpl *impl;
|
||||||
|
} MetaBarrierPrivate;
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (MetaBarrier, meta_barrier, G_TYPE_OBJECT)
|
G_DEFINE_TYPE_WITH_PRIVATE (MetaBarrier, meta_barrier, G_TYPE_OBJECT)
|
||||||
G_DEFINE_TYPE (MetaBarrierImpl, meta_barrier_impl, G_TYPE_OBJECT)
|
G_DEFINE_TYPE (MetaBarrierImpl, meta_barrier_impl, G_TYPE_OBJECT)
|
||||||
|
|
||||||
@ -86,7 +98,7 @@ meta_barrier_get_property (GObject *object,
|
|||||||
GParamSpec *pspec)
|
GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
MetaBarrier *barrier = META_BARRIER (object);
|
MetaBarrier *barrier = META_BARRIER (object);
|
||||||
MetaBarrierPrivate *priv = barrier->priv;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
@ -125,7 +137,8 @@ meta_barrier_set_property (GObject *object,
|
|||||||
GParamSpec *pspec)
|
GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
MetaBarrier *barrier = META_BARRIER (object);
|
MetaBarrier *barrier = META_BARRIER (object);
|
||||||
MetaBarrierPrivate *priv = barrier->priv;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
switch (prop_id)
|
switch (prop_id)
|
||||||
{
|
{
|
||||||
case PROP_BACKEND:
|
case PROP_BACKEND:
|
||||||
@ -166,7 +179,7 @@ static void
|
|||||||
meta_barrier_dispose (GObject *object)
|
meta_barrier_dispose (GObject *object)
|
||||||
{
|
{
|
||||||
MetaBarrier *barrier = META_BARRIER (object);
|
MetaBarrier *barrier = META_BARRIER (object);
|
||||||
MetaBarrierPrivate *priv = barrier->priv;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
if (meta_barrier_is_active (barrier))
|
if (meta_barrier_is_active (barrier))
|
||||||
{
|
{
|
||||||
@ -182,7 +195,8 @@ meta_barrier_dispose (GObject *object)
|
|||||||
gboolean
|
gboolean
|
||||||
meta_barrier_is_active (MetaBarrier *barrier)
|
meta_barrier_is_active (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
MetaBarrierImpl *impl = barrier->priv->impl;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
MetaBarrierImpl *impl = priv->impl;
|
||||||
|
|
||||||
if (impl)
|
if (impl)
|
||||||
return META_BARRIER_IMPL_GET_CLASS (impl)->is_active (impl);
|
return META_BARRIER_IMPL_GET_CLASS (impl)->is_active (impl);
|
||||||
@ -204,7 +218,8 @@ void
|
|||||||
meta_barrier_release (MetaBarrier *barrier,
|
meta_barrier_release (MetaBarrier *barrier,
|
||||||
MetaBarrierEvent *event)
|
MetaBarrierEvent *event)
|
||||||
{
|
{
|
||||||
MetaBarrierImpl *impl = barrier->priv->impl;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
MetaBarrierImpl *impl = priv->impl;
|
||||||
|
|
||||||
if (impl)
|
if (impl)
|
||||||
META_BARRIER_IMPL_GET_CLASS (impl)->release (impl, event);
|
META_BARRIER_IMPL_GET_CLASS (impl)->release (impl, event);
|
||||||
@ -213,7 +228,7 @@ meta_barrier_release (MetaBarrier *barrier,
|
|||||||
static void
|
static void
|
||||||
init_barrier_impl (MetaBarrier *barrier)
|
init_barrier_impl (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
MetaBarrierPrivate *priv = barrier->priv;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
g_return_if_fail (priv->backend);
|
g_return_if_fail (priv->backend);
|
||||||
g_return_if_fail (priv->border.line.a.x == priv->border.line.b.x ||
|
g_return_if_fail (priv->border.line.a.x == priv->border.line.b.x ||
|
||||||
@ -364,7 +379,8 @@ meta_barrier_class_init (MetaBarrierClass *klass)
|
|||||||
void
|
void
|
||||||
meta_barrier_destroy (MetaBarrier *barrier)
|
meta_barrier_destroy (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
MetaBarrierImpl *impl = barrier->priv->impl;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
MetaBarrierImpl *impl = priv->impl;
|
||||||
|
|
||||||
if (impl)
|
if (impl)
|
||||||
META_BARRIER_IMPL_GET_CLASS (impl)->destroy (impl);
|
META_BARRIER_IMPL_GET_CLASS (impl)->destroy (impl);
|
||||||
@ -375,7 +391,6 @@ meta_barrier_destroy (MetaBarrier *barrier)
|
|||||||
static void
|
static void
|
||||||
meta_barrier_init (MetaBarrier *barrier)
|
meta_barrier_init (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
barrier->priv = meta_barrier_get_instance_private (barrier);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -395,15 +410,22 @@ meta_barrier_emit_left_signal (MetaBarrier *barrier,
|
|||||||
MetaBackend *
|
MetaBackend *
|
||||||
meta_barrier_get_backend (MetaBarrier *barrier)
|
meta_barrier_get_backend (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
return barrier->priv->backend;
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
|
return priv->backend;
|
||||||
|
}
|
||||||
|
|
||||||
|
MetaBorder *
|
||||||
|
meta_barrier_get_border (MetaBarrier *barrier)
|
||||||
|
{
|
||||||
|
MetaBarrierPrivate *priv = meta_barrier_get_instance_private (barrier);
|
||||||
|
|
||||||
|
return &priv->border;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_barrier_impl_class_init (MetaBarrierImplClass *klass)
|
meta_barrier_impl_class_init (MetaBarrierImplClass *klass)
|
||||||
{
|
{
|
||||||
klass->is_active = NULL;
|
|
||||||
klass->release = NULL;
|
|
||||||
klass->destroy = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -102,18 +102,20 @@ next_serial (void)
|
|||||||
static gboolean
|
static gboolean
|
||||||
is_barrier_horizontal (MetaBarrier *barrier)
|
is_barrier_horizontal (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
return meta_border_is_horizontal (&barrier->priv->border);
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
|
|
||||||
|
return meta_border_is_horizontal (border);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
is_barrier_blocking_directions (MetaBarrier *barrier,
|
is_barrier_blocking_directions (MetaBarrier *barrier,
|
||||||
MetaBarrierDirection directions)
|
MetaBarrierDirection directions)
|
||||||
{
|
{
|
||||||
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
MetaBorderMotionDirection border_motion_directions =
|
MetaBorderMotionDirection border_motion_directions =
|
||||||
(MetaBorderMotionDirection) directions;
|
(MetaBorderMotionDirection) directions;
|
||||||
|
|
||||||
return meta_border_is_blocking_directions (&barrier->priv->border,
|
return meta_border_is_blocking_directions (border, border_motion_directions);
|
||||||
border_motion_directions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -131,7 +133,8 @@ dismiss_pointer (MetaBarrierImplNative *self)
|
|||||||
static MetaLine2
|
static MetaLine2
|
||||||
calculate_barrier_hit_box (MetaBarrier *barrier)
|
calculate_barrier_hit_box (MetaBarrier *barrier)
|
||||||
{
|
{
|
||||||
MetaLine2 hit_box = barrier->priv->border.line;
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
|
MetaLine2 hit_box = border->line;
|
||||||
|
|
||||||
if (is_barrier_horizontal (barrier))
|
if (is_barrier_horizontal (barrier))
|
||||||
{
|
{
|
||||||
@ -170,6 +173,7 @@ maybe_release_barrier (gpointer key,
|
|||||||
{
|
{
|
||||||
MetaBarrierImplNative *self = key;
|
MetaBarrierImplNative *self = key;
|
||||||
MetaBarrier *barrier = self->barrier;
|
MetaBarrier *barrier = self->barrier;
|
||||||
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
MetaLine2 *motion = user_data;
|
MetaLine2 *motion = user_data;
|
||||||
MetaLine2 hit_box;
|
MetaLine2 hit_box;
|
||||||
|
|
||||||
@ -179,10 +183,8 @@ maybe_release_barrier (gpointer key,
|
|||||||
/* Release if we end up outside barrier end points. */
|
/* Release if we end up outside barrier end points. */
|
||||||
if (is_barrier_horizontal (barrier))
|
if (is_barrier_horizontal (barrier))
|
||||||
{
|
{
|
||||||
if (motion->b.x > MAX (barrier->priv->border.line.a.x,
|
if (motion->b.x > MAX (border->line.a.x, border->line.b.x) ||
|
||||||
barrier->priv->border.line.b.x) ||
|
motion->b.x < MIN (border->line.a.x, border->line.b.x))
|
||||||
motion->b.x < MIN (barrier->priv->border.line.a.x,
|
|
||||||
barrier->priv->border.line.b.x))
|
|
||||||
{
|
{
|
||||||
dismiss_pointer (self);
|
dismiss_pointer (self);
|
||||||
return;
|
return;
|
||||||
@ -190,10 +192,8 @@ maybe_release_barrier (gpointer key,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (motion->b.y > MAX (barrier->priv->border.line.a.y,
|
if (motion->b.y > MAX (border->line.a.y, border->line.b.y) ||
|
||||||
barrier->priv->border.line.b.y) ||
|
motion->b.y < MIN (border->line.a.y, border->line.b.y))
|
||||||
motion->b.y < MIN (barrier->priv->border.line.a.y,
|
|
||||||
barrier->priv->border.line.b.y))
|
|
||||||
{
|
{
|
||||||
dismiss_pointer (self);
|
dismiss_pointer (self);
|
||||||
return;
|
return;
|
||||||
@ -254,6 +254,7 @@ update_closest_barrier (gpointer key,
|
|||||||
{
|
{
|
||||||
MetaBarrierImplNative *self = key;
|
MetaBarrierImplNative *self = key;
|
||||||
MetaBarrier *barrier = self->barrier;
|
MetaBarrier *barrier = self->barrier;
|
||||||
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
MetaClosestBarrierData *data = user_data;
|
MetaClosestBarrierData *data = user_data;
|
||||||
MetaVector2 intersection;
|
MetaVector2 intersection;
|
||||||
float dx, dy;
|
float dx, dy;
|
||||||
@ -274,7 +275,7 @@ update_closest_barrier (gpointer key,
|
|||||||
|
|
||||||
/* Check if the motion intersects with the barrier, and retrieve the
|
/* Check if the motion intersects with the barrier, and retrieve the
|
||||||
* intersection point if any. */
|
* intersection point if any. */
|
||||||
if (!meta_line2_intersects_with (&barrier->priv->border.line,
|
if (!meta_line2_intersects_with (&border->line,
|
||||||
&data->in.motion,
|
&data->in.motion,
|
||||||
&intersection))
|
&intersection))
|
||||||
return;
|
return;
|
||||||
@ -473,13 +474,14 @@ clamp_to_barrier (MetaBarrierImplNative *self,
|
|||||||
float *y)
|
float *y)
|
||||||
{
|
{
|
||||||
MetaBarrier *barrier = self->barrier;
|
MetaBarrier *barrier = self->barrier;
|
||||||
|
MetaBorder *border = meta_barrier_get_border (barrier);
|
||||||
|
|
||||||
if (is_barrier_horizontal (barrier))
|
if (is_barrier_horizontal (barrier))
|
||||||
{
|
{
|
||||||
if (*motion_dir & META_BARRIER_DIRECTION_POSITIVE_Y)
|
if (*motion_dir & META_BARRIER_DIRECTION_POSITIVE_Y)
|
||||||
*y = barrier->priv->border.line.a.y;
|
*y = border->line.a.y;
|
||||||
else if (*motion_dir & META_BARRIER_DIRECTION_NEGATIVE_Y)
|
else if (*motion_dir & META_BARRIER_DIRECTION_NEGATIVE_Y)
|
||||||
*y = barrier->priv->border.line.a.y;
|
*y = border->line.a.y;
|
||||||
|
|
||||||
self->blocked_dir = *motion_dir & (META_BARRIER_DIRECTION_POSITIVE_Y |
|
self->blocked_dir = *motion_dir & (META_BARRIER_DIRECTION_POSITIVE_Y |
|
||||||
META_BARRIER_DIRECTION_NEGATIVE_Y);
|
META_BARRIER_DIRECTION_NEGATIVE_Y);
|
||||||
@ -489,9 +491,9 @@ clamp_to_barrier (MetaBarrierImplNative *self,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (*motion_dir & META_BARRIER_DIRECTION_POSITIVE_X)
|
if (*motion_dir & META_BARRIER_DIRECTION_POSITIVE_X)
|
||||||
*x = barrier->priv->border.line.a.x;
|
*x = border->line.a.x;
|
||||||
else if (*motion_dir & META_BARRIER_DIRECTION_NEGATIVE_X)
|
else if (*motion_dir & META_BARRIER_DIRECTION_NEGATIVE_X)
|
||||||
*x = barrier->priv->border.line.a.x;
|
*x = border->line.a.x;
|
||||||
|
|
||||||
self->blocked_dir = *motion_dir & (META_BARRIER_DIRECTION_POSITIVE_X |
|
self->blocked_dir = *motion_dir & (META_BARRIER_DIRECTION_POSITIVE_X |
|
||||||
META_BARRIER_DIRECTION_NEGATIVE_X);
|
META_BARRIER_DIRECTION_NEGATIVE_X);
|
||||||
|
@ -71,7 +71,7 @@ meta_barrier_impl_x11_release (MetaBarrierImpl *impl,
|
|||||||
MetaBarrierEvent *event)
|
MetaBarrierEvent *event)
|
||||||
{
|
{
|
||||||
MetaBarrierImplX11 *self = META_BARRIER_IMPL_X11 (impl);
|
MetaBarrierImplX11 *self = META_BARRIER_IMPL_X11 (impl);
|
||||||
MetaBackend *backend = self->barrier->priv->backend;
|
MetaBackend *backend = meta_barrier_get_backend (self->barrier);
|
||||||
MetaBackendX11 *backend_x11 = META_BACKEND_X11 (backend);
|
MetaBackendX11 *backend_x11 = META_BACKEND_X11 (backend);
|
||||||
Display *xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
Display *xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ static void
|
|||||||
meta_barrier_impl_x11_destroy (MetaBarrierImpl *impl)
|
meta_barrier_impl_x11_destroy (MetaBarrierImpl *impl)
|
||||||
{
|
{
|
||||||
MetaBarrierImplX11 *self = META_BARRIER_IMPL_X11 (impl);
|
MetaBarrierImplX11 *self = META_BARRIER_IMPL_X11 (impl);
|
||||||
MetaBackend *backend = self->barrier->priv->backend;
|
MetaBackend *backend = meta_barrier_get_backend (self->barrier);
|
||||||
MetaBackendX11 *backend_x11 = META_BACKEND_X11 (backend);
|
MetaBackendX11 *backend_x11 = META_BACKEND_X11 (backend);
|
||||||
MetaX11Barriers *barriers = meta_backend_x11_get_barriers (backend_x11);
|
MetaX11Barriers *barriers = meta_backend_x11_get_barriers (backend_x11);
|
||||||
Display *xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
Display *xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
||||||
@ -106,23 +106,24 @@ meta_barrier_impl_x11_new (MetaBarrier *barrier)
|
|||||||
MetaX11Barriers *barriers;
|
MetaX11Barriers *barriers;
|
||||||
Display *xdisplay;
|
Display *xdisplay;
|
||||||
Window root;
|
Window root;
|
||||||
|
MetaBorder *border;
|
||||||
unsigned int allowed_motion_dirs;
|
unsigned int allowed_motion_dirs;
|
||||||
|
|
||||||
self = g_object_new (META_TYPE_BARRIER_IMPL_X11, NULL);
|
self = g_object_new (META_TYPE_BARRIER_IMPL_X11, NULL);
|
||||||
self->barrier = barrier;
|
self->barrier = barrier;
|
||||||
|
|
||||||
backend = self->barrier->priv->backend;
|
backend = meta_barrier_get_backend (self->barrier);
|
||||||
backend_x11 = META_BACKEND_X11 (backend);
|
backend_x11 = META_BACKEND_X11 (backend);
|
||||||
xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
xdisplay = meta_backend_x11_get_xdisplay (backend_x11);
|
||||||
root = DefaultRootWindow (xdisplay);
|
root = DefaultRootWindow (xdisplay);
|
||||||
|
|
||||||
allowed_motion_dirs =
|
border = meta_barrier_get_border (barrier);
|
||||||
meta_border_get_allows_directions (&barrier->priv->border);
|
allowed_motion_dirs = meta_border_get_allows_directions (border);
|
||||||
self->xbarrier = XFixesCreatePointerBarrier (xdisplay, root,
|
self->xbarrier = XFixesCreatePointerBarrier (xdisplay, root,
|
||||||
barrier->priv->border.line.a.x,
|
border->line.a.x,
|
||||||
barrier->priv->border.line.a.y,
|
border->line.a.y,
|
||||||
barrier->priv->border.line.b.x,
|
border->line.b.x,
|
||||||
barrier->priv->border.line.b.y,
|
border->line.b.y,
|
||||||
allowed_motion_dirs,
|
allowed_motion_dirs,
|
||||||
0, NULL);
|
0, NULL);
|
||||||
|
|
||||||
|
@ -9,58 +9,6 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define META_TYPE_BARRIER (meta_barrier_get_type ())
|
|
||||||
#define META_BARRIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_BARRIER, MetaBarrier))
|
|
||||||
#define META_BARRIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_BARRIER, MetaBarrierClass))
|
|
||||||
#define META_IS_BARRIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_BARRIER))
|
|
||||||
#define META_IS_BARRIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_BARRIER))
|
|
||||||
#define META_BARRIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_BARRIER, MetaBarrierClass))
|
|
||||||
|
|
||||||
typedef struct _MetaBarrier MetaBarrier;
|
|
||||||
typedef struct _MetaBarrierClass MetaBarrierClass;
|
|
||||||
typedef struct _MetaBarrierPrivate MetaBarrierPrivate;
|
|
||||||
|
|
||||||
typedef struct _MetaBarrierEvent MetaBarrierEvent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MetaBarrier:
|
|
||||||
*
|
|
||||||
* The <structname>MetaBarrier</structname> structure contains
|
|
||||||
* only private data and should be accessed using the provided API
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
struct _MetaBarrier
|
|
||||||
{
|
|
||||||
GObject parent;
|
|
||||||
|
|
||||||
MetaBarrierPrivate *priv;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MetaBarrierClass:
|
|
||||||
*
|
|
||||||
* The <structname>MetaBarrierClass</structname> structure contains only
|
|
||||||
* private data.
|
|
||||||
*/
|
|
||||||
struct _MetaBarrierClass
|
|
||||||
{
|
|
||||||
/*< private >*/
|
|
||||||
GObjectClass parent_class;
|
|
||||||
};
|
|
||||||
|
|
||||||
META_EXPORT
|
|
||||||
GType meta_barrier_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
META_EXPORT
|
|
||||||
gboolean meta_barrier_is_active (MetaBarrier *barrier);
|
|
||||||
|
|
||||||
META_EXPORT
|
|
||||||
void meta_barrier_destroy (MetaBarrier *barrier);
|
|
||||||
|
|
||||||
META_EXPORT
|
|
||||||
void meta_barrier_release (MetaBarrier *barrier,
|
|
||||||
MetaBarrierEvent *event);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MetaBarrierDirection:
|
* MetaBarrierDirection:
|
||||||
* @META_BARRIER_DIRECTION_POSITIVE_X: Positive direction in the X axis
|
* @META_BARRIER_DIRECTION_POSITIVE_X: Positive direction in the X axis
|
||||||
@ -78,6 +26,23 @@ typedef enum
|
|||||||
META_BARRIER_DIRECTION_NEGATIVE_Y = 1 << 3,
|
META_BARRIER_DIRECTION_NEGATIVE_Y = 1 << 3,
|
||||||
} MetaBarrierDirection;
|
} MetaBarrierDirection;
|
||||||
|
|
||||||
|
#define META_TYPE_BARRIER (meta_barrier_get_type ())
|
||||||
|
META_EXPORT
|
||||||
|
G_DECLARE_FINAL_TYPE (MetaBarrier, meta_barrier,
|
||||||
|
META, BARRIER, GObject)
|
||||||
|
|
||||||
|
typedef struct _MetaBarrierEvent MetaBarrierEvent;
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
gboolean meta_barrier_is_active (MetaBarrier *barrier);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
void meta_barrier_destroy (MetaBarrier *barrier);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
void meta_barrier_release (MetaBarrier *barrier,
|
||||||
|
MetaBarrierEvent *event);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MetaBarrierEvent:
|
* MetaBarrierEvent:
|
||||||
* @event_id: A unique integer ID identifying a
|
* @event_id: A unique integer ID identifying a
|
||||||
|
Loading…
x
Reference in New Issue
Block a user