diff options
| author | 2021-04-23 09:26:56 -0700 | |
|---|---|---|
| committer | 2021-04-23 09:26:56 -0700 | |
| commit | 19bbdedf00db2c611debada864821ce63f6532e4 (patch) | |
| tree | da8ff437572d41c249be8047d75e8560d3d7aa8d /src/core/frontend/emu_window.cpp | |
| parent | Merge pull request #6225 from ameerj/unused-header (diff) | |
| parent | emu_window: Return pair from ClipToTouchScreen() instead of tuple (diff) | |
| download | yuzu-19bbdedf00db2c611debada864821ce63f6532e4.tar.gz yuzu-19bbdedf00db2c611debada864821ce63f6532e4.tar.xz yuzu-19bbdedf00db2c611debada864821ce63f6532e4.zip | |
Merge pull request #6232 from lioncash/alias2
emu_window: unsigned -> u32
Diffstat (limited to 'src/core/frontend/emu_window.cpp')
| -rw-r--r-- | src/core/frontend/emu_window.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/core/frontend/emu_window.cpp b/src/core/frontend/emu_window.cpp index 474de9206..cff49899a 100644 --- a/src/core/frontend/emu_window.cpp +++ b/src/core/frontend/emu_window.cpp | |||
| @@ -60,23 +60,23 @@ EmuWindow::~EmuWindow() { | |||
| 60 | * @param framebuffer_y Framebuffer y-coordinate to check | 60 | * @param framebuffer_y Framebuffer y-coordinate to check |
| 61 | * @return True if the coordinates are within the touchpad, otherwise false | 61 | * @return True if the coordinates are within the touchpad, otherwise false |
| 62 | */ | 62 | */ |
| 63 | static bool IsWithinTouchscreen(const Layout::FramebufferLayout& layout, unsigned framebuffer_x, | 63 | static bool IsWithinTouchscreen(const Layout::FramebufferLayout& layout, u32 framebuffer_x, |
| 64 | unsigned framebuffer_y) { | 64 | u32 framebuffer_y) { |
| 65 | return (framebuffer_y >= layout.screen.top && framebuffer_y < layout.screen.bottom && | 65 | return (framebuffer_y >= layout.screen.top && framebuffer_y < layout.screen.bottom && |
| 66 | framebuffer_x >= layout.screen.left && framebuffer_x < layout.screen.right); | 66 | framebuffer_x >= layout.screen.left && framebuffer_x < layout.screen.right); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | std::tuple<unsigned, unsigned> EmuWindow::ClipToTouchScreen(unsigned new_x, unsigned new_y) const { | 69 | std::pair<u32, u32> EmuWindow::ClipToTouchScreen(u32 new_x, u32 new_y) const { |
| 70 | new_x = std::max(new_x, framebuffer_layout.screen.left); | 70 | new_x = std::max(new_x, framebuffer_layout.screen.left); |
| 71 | new_x = std::min(new_x, framebuffer_layout.screen.right - 1); | 71 | new_x = std::min(new_x, framebuffer_layout.screen.right - 1); |
| 72 | 72 | ||
| 73 | new_y = std::max(new_y, framebuffer_layout.screen.top); | 73 | new_y = std::max(new_y, framebuffer_layout.screen.top); |
| 74 | new_y = std::min(new_y, framebuffer_layout.screen.bottom - 1); | 74 | new_y = std::min(new_y, framebuffer_layout.screen.bottom - 1); |
| 75 | 75 | ||
| 76 | return std::make_tuple(new_x, new_y); | 76 | return std::make_pair(new_x, new_y); |
| 77 | } | 77 | } |
| 78 | 78 | ||
| 79 | void EmuWindow::TouchPressed(unsigned framebuffer_x, unsigned framebuffer_y, std::size_t id) { | 79 | void EmuWindow::TouchPressed(u32 framebuffer_x, u32 framebuffer_y, size_t id) { |
| 80 | if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) { | 80 | if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) { |
| 81 | return; | 81 | return; |
| 82 | } | 82 | } |
| @@ -95,7 +95,7 @@ void EmuWindow::TouchPressed(unsigned framebuffer_x, unsigned framebuffer_y, std | |||
| 95 | touch_state->status[id] = std::make_tuple(x, y, true); | 95 | touch_state->status[id] = std::make_tuple(x, y, true); |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | void EmuWindow::TouchReleased(std::size_t id) { | 98 | void EmuWindow::TouchReleased(size_t id) { |
| 99 | if (id >= touch_state->status.size()) { | 99 | if (id >= touch_state->status.size()) { |
| 100 | return; | 100 | return; |
| 101 | } | 101 | } |
| @@ -103,20 +103,23 @@ void EmuWindow::TouchReleased(std::size_t id) { | |||
| 103 | touch_state->status[id] = std::make_tuple(0.0f, 0.0f, false); | 103 | touch_state->status[id] = std::make_tuple(0.0f, 0.0f, false); |
| 104 | } | 104 | } |
| 105 | 105 | ||
| 106 | void EmuWindow::TouchMoved(unsigned framebuffer_x, unsigned framebuffer_y, std::size_t id) { | 106 | void EmuWindow::TouchMoved(u32 framebuffer_x, u32 framebuffer_y, size_t id) { |
| 107 | if (id >= touch_state->status.size()) { | 107 | if (id >= touch_state->status.size()) { |
| 108 | return; | 108 | return; |
| 109 | } | 109 | } |
| 110 | if (!std::get<2>(touch_state->status[id])) | 110 | |
| 111 | if (!std::get<2>(touch_state->status[id])) { | ||
| 111 | return; | 112 | return; |
| 113 | } | ||
| 112 | 114 | ||
| 113 | if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) | 115 | if (!IsWithinTouchscreen(framebuffer_layout, framebuffer_x, framebuffer_y)) { |
| 114 | std::tie(framebuffer_x, framebuffer_y) = ClipToTouchScreen(framebuffer_x, framebuffer_y); | 116 | std::tie(framebuffer_x, framebuffer_y) = ClipToTouchScreen(framebuffer_x, framebuffer_y); |
| 117 | } | ||
| 115 | 118 | ||
| 116 | TouchPressed(framebuffer_x, framebuffer_y, id); | 119 | TouchPressed(framebuffer_x, framebuffer_y, id); |
| 117 | } | 120 | } |
| 118 | 121 | ||
| 119 | void EmuWindow::UpdateCurrentFramebufferLayout(unsigned width, unsigned height) { | 122 | void EmuWindow::UpdateCurrentFramebufferLayout(u32 width, u32 height) { |
| 120 | NotifyFramebufferLayoutChanged(Layout::DefaultFrameLayout(width, height)); | 123 | NotifyFramebufferLayoutChanged(Layout::DefaultFrameLayout(width, height)); |
| 121 | } | 124 | } |
| 122 | 125 | ||