/* gamepad-dpad.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from gamepad-dpad.vala, do not modify */

/* This file is part of GNOME Games. License: GPL-3.0+.*/

#include <glib-object.h>
#include <glib.h>
#include <string.h>
#include "gnome-games.h"

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define GAMES_TYPE_GAMEPAD_DPAD (games_gamepad_dpad_get_type ())
typedef struct _GamesGamepadDPad GamesGamepadDPad;

struct _GamesGamepadDPad {
	gint32 axis_values[2];
};

VALA_EXTERN GType games_gamepad_dpad_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self);
VALA_EXTERN void games_gamepad_dpad_free (GamesGamepadDPad* self);

GamesGamepadDPad*
games_gamepad_dpad_dup (const GamesGamepadDPad* self)
{
	GamesGamepadDPad* dup;
	dup = g_new0 (GamesGamepadDPad, 1);
	memcpy (dup, self, sizeof (GamesGamepadDPad));
	return dup;
}

void
games_gamepad_dpad_free (GamesGamepadDPad* self)
{
	g_free (self);
}

static GType
games_gamepad_dpad_get_type_once (void)
{
	GType games_gamepad_dpad_type_id;
	games_gamepad_dpad_type_id = g_boxed_type_register_static ("GamesGamepadDPad", (GBoxedCopyFunc) games_gamepad_dpad_dup, (GBoxedFreeFunc) games_gamepad_dpad_free);
	return games_gamepad_dpad_type_id;
}

GType
games_gamepad_dpad_get_type (void)
{
	static volatile gsize games_gamepad_dpad_type_id__once = 0;
	if (g_once_init_enter (&games_gamepad_dpad_type_id__once)) {
		GType games_gamepad_dpad_type_id;
		games_gamepad_dpad_type_id = games_gamepad_dpad_get_type_once ();
		g_once_init_leave (&games_gamepad_dpad_type_id__once, games_gamepad_dpad_type_id);
	}
	return games_gamepad_dpad_type_id__once;
}

