[retro-gtk] core-view: Add set_as_default_controller() method
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk] core-view: Add set_as_default_controller() method
- Date: Mon, 6 Nov 2017 08:41:18 +0000 (UTC)
commit f8c4ebd153df3882822de50c14d75d3847590192
Author: Adrien Plazas <kekun plazas laposte net>
Date: Mon Nov 6 09:18:57 2017 +0100
core-view: Add set_as_default_controller() method
This simplifies controller management.
retro-gtk/retro-core-view.c | 26 ++++++++++++++++++++++++++
retro-gtk/retro-core-view.h | 2 ++
2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/retro-gtk/retro-core-view.c b/retro-gtk/retro-core-view.c
index cd50d37..2db4e99 100644
--- a/retro-gtk/retro-core-view.c
+++ b/retro-gtk/retro-core-view.c
@@ -619,6 +619,32 @@ retro_core_view_as_controller (RetroCoreView *self,
}
/**
+ * retro_core_view_set_as_default_controller:
+ * @self: a #RetroCoreView
+ * @core: (nullable): a #RetroCore
+ *
+ * Sets the @self as the default controllers of @core.
+ */
+void
+retro_core_view_set_as_default_controller (RetroCoreView *self,
+ RetroCore *core)
+{
+ RetroControllerType type;
+ RetroController *controller;
+
+ g_return_if_fail (RETRO_IS_CORE_VIEW (self));
+ g_return_if_fail (RETRO_IS_CORE (core));
+
+ for (type = RETRO_CONTROLLER_TYPE_NONE;
+ type < RETRO_CONTROLLER_TYPE_COUNT;
+ type++) {
+ controller = retro_core_view_as_controller (self, type);
+ retro_core_set_default_controller (core, controller);
+ g_object_unref (controller);
+ }
+}
+
+/**
* retro_core_view_get_input_state:
* @self: a #RetroCoreView
* @input: a #RetroInput to query @self
diff --git a/retro-gtk/retro-core-view.h b/retro-gtk/retro-core-view.h
index baaaeb0..b90e089 100644
--- a/retro-gtk/retro-core-view.h
+++ b/retro-gtk/retro-core-view.h
@@ -30,6 +30,8 @@ void retro_core_view_set_filter (RetroCoreView *self,
RetroVideoFilter filter);
RetroController *retro_core_view_as_controller (RetroCoreView *self,
RetroControllerType controller_type);
+void retro_core_view_set_as_default_controller (RetroCoreView *self,
+ RetroCore *core);
gint16 retro_core_view_get_input_state (RetroCoreView *self,
RetroInput *input);
guint64 retro_core_view_get_controller_capabilities (RetroCoreView *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]