summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/controllers/touchscreen.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-01-01 21:02:13 +0100
committerGitHub <noreply@github.com>2024-01-01 21:02:13 +0100
commit59d81ae614a42588dbd7eaf4b7e029ab168886c9 (patch)
treea5d636853c0871b700ebccf1c5d4fc6726046a31 /src/core/hle/service/hid/controllers/touchscreen.cpp
parentMerge pull request #12518 from t895/theme-settings (diff)
parentservice: hid: Use applet resource to get latest shared memory handle (diff)
downloadyuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar.gz
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar.bz2
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar.lz
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar.xz
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.tar.zst
yuzu-59d81ae614a42588dbd7eaf4b7e029ab168886c9.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/hid/controllers/touchscreen.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp
index 469750006..291dc707e 100644
--- a/src/core/hle/service/hid/controllers/touchscreen.cpp
+++ b/src/core/hle/service/hid/controllers/touchscreen.cpp
@@ -8,15 +8,14 @@
#include "core/frontend/emu_window.h"
#include "core/hid/emulated_console.h"
#include "core/hid/hid_core.h"
-#include "core/hle/service/hid/controllers/shared_memory_format.h"
+#include "core/hle/service/hid/controllers/applet_resource.h"
#include "core/hle/service/hid/controllers/touchscreen.h"
+#include "core/hle/service/hid/controllers/types/shared_memory_format.h"
namespace Service::HID {
-TouchScreen::TouchScreen(Core::HID::HIDCore& hid_core_,
- TouchScreenSharedMemoryFormat& touch_shared_memory)
- : ControllerBase{hid_core_}, shared_memory{touch_shared_memory},
- touchscreen_width(Layout::ScreenUndocked::Width),
+TouchScreen::TouchScreen(Core::HID::HIDCore& hid_core_)
+ : ControllerBase{hid_core_}, touchscreen_width(Layout::ScreenUndocked::Width),
touchscreen_height(Layout::ScreenUndocked::Height) {
console = hid_core.GetEmulatedConsole();
}
@@ -28,6 +27,14 @@ void TouchScreen::OnInit() {}
void TouchScreen::OnRelease() {}
void TouchScreen::OnUpdate(const Core::Timing::CoreTiming& core_timing) {
+ const u64 aruid = applet_resource->GetActiveAruid();
+ auto* data = applet_resource->GetAruidData(aruid);
+
+ if (data == nullptr) {
+ return;
+ }
+
+ TouchScreenSharedMemoryFormat& shared_memory = data->shared_memory_format->touch_screen;
shared_memory.touch_screen_lifo.timestamp = core_timing.GetGlobalTimeNs().count();
if (!IsControllerActivated()) {