Skip to content

Commit 69b80a1

Browse files
authored
Allow x and y to be negative values (#362)
1 parent 272dd58 commit 69b80a1

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/EngineView.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ namespace winrt::BabylonReactNative::implementation {
6464
const auto properties = point.Properties();
6565
const auto deviceType = point.PointerDevice().PointerDeviceType();
6666
const auto position = point.Position();
67-
const uint32_t x = position.X < 0 ? 0 : static_cast<uint32_t>(position.X);
68-
const uint32_t y = position.Y < 0 ? 0 : static_cast<uint32_t>(position.Y);
67+
const int32_t x = static_cast<int32_t>(position.X);
68+
const int32_t y = static_cast<int32_t>(position.Y);
6969
const auto pointerId = point.PointerId();
7070

7171
if (!_inputSource.HasCapture())
@@ -106,8 +106,8 @@ namespace winrt::BabylonReactNative::implementation {
106106
const auto point = args.CurrentPoint();
107107
const auto deviceType = point.PointerDevice().PointerDeviceType();
108108
const auto position = point.Position();
109-
const uint32_t x = position.X < 0 ? 0 : static_cast<uint32_t>(position.X);
110-
const uint32_t y = position.Y < 0 ? 0 : static_cast<uint32_t>(position.Y);
109+
const int32_t x = static_cast<int32_t>(position.X);
110+
const int32_t y = static_cast<int32_t>(position.Y);
111111

112112
if (deviceType == PointerDeviceType::Mouse)
113113
{
@@ -126,8 +126,8 @@ namespace winrt::BabylonReactNative::implementation {
126126
const auto properties = point.Properties();
127127
const auto deviceType = point.PointerDevice().PointerDeviceType();
128128
const auto position = point.Position();
129-
const uint32_t x = position.X < 0 ? 0 : static_cast<uint32_t>(position.X);
130-
const uint32_t y = position.Y < 0 ? 0 : static_cast<uint32_t>(position.Y);
129+
const int32_t x = static_cast<int32_t>(position.X);
130+
const int32_t y = static_cast<int32_t>(position.Y);
131131
const auto pointerId = point.PointerId();
132132

133133
_pressedPointers.erase(pointerId);

Modules/@babylonjs/react-native/shared/BabylonNative.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ namespace BabylonNative
136136
m_isRenderingEnabled = false;
137137
}
138138

139-
void SetMouseButtonState(uint32_t buttonId, bool isDown, uint32_t x, uint32_t y)
139+
void SetMouseButtonState(uint32_t buttonId, bool isDown, int32_t x, int32_t y)
140140
{
141141
if (isDown)
142142
{
@@ -148,12 +148,12 @@ namespace BabylonNative
148148
}
149149
}
150150

151-
void SetMousePosition(uint32_t x, uint32_t y)
151+
void SetMousePosition(int32_t x, int32_t y)
152152
{
153153
m_nativeInput->MouseMove(x, y);
154154
}
155155

156-
void SetTouchButtonState(uint32_t pointerId, bool isDown, uint32_t x, uint32_t y)
156+
void SetTouchButtonState(uint32_t pointerId, bool isDown, int32_t x, int32_t y)
157157
{
158158
if (isDown)
159159
{
@@ -165,7 +165,7 @@ namespace BabylonNative
165165
}
166166
}
167167

168-
void SetTouchPosition(uint32_t pointerId, uint32_t x, uint32_t y)
168+
void SetTouchPosition(uint32_t pointerId, int32_t x, int32_t y)
169169
{
170170
m_nativeInput->TouchMove(pointerId, x, y);
171171
}
@@ -281,31 +281,31 @@ namespace BabylonNative
281281
}
282282
}
283283

284-
void SetMouseButtonState(uint32_t buttonId, bool isDown, uint32_t x, uint32_t y)
284+
void SetMouseButtonState(uint32_t buttonId, bool isDown, int32_t x, int32_t y)
285285
{
286286
if (auto nativeModule{ g_nativeModule.lock() })
287287
{
288288
nativeModule->SetMouseButtonState(buttonId, isDown, x, y);
289289
}
290290
}
291291

292-
void SetMousePosition(uint32_t x, uint32_t y)
292+
void SetMousePosition(int32_t x, int32_t y)
293293
{
294294
if (auto nativeModule{ g_nativeModule.lock() })
295295
{
296296
nativeModule->SetMousePosition(x, y);
297297
}
298298
}
299299

300-
void SetTouchButtonState(uint32_t pointerId, bool isDown, uint32_t x, uint32_t y)
300+
void SetTouchButtonState(uint32_t pointerId, bool isDown, int32_t x, int32_t y)
301301
{
302302
if (auto nativeModule{ g_nativeModule.lock() })
303303
{
304304
nativeModule->SetTouchButtonState(pointerId, isDown, x, y);
305305
}
306306
}
307307

308-
void SetTouchPosition(uint32_t pointerId, uint32_t x, uint32_t y)
308+
void SetTouchPosition(uint32_t pointerId, int32_t x, int32_t y)
309309
{
310310
if (auto nativeModule{ g_nativeModule.lock() })
311311
{

Modules/@babylonjs/react-native/shared/BabylonNative.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ namespace BabylonNative
3131

3232
void RenderView();
3333
void ResetView();
34-
void SetMouseButtonState(uint32_t buttonId, bool isDown, uint32_t x, uint32_t y);
35-
void SetMousePosition(uint32_t x, uint32_t y);
36-
void SetTouchButtonState(uint32_t pointerId, bool isDown, uint32_t x, uint32_t y);
37-
void SetTouchPosition(uint32_t pointerId, uint32_t x, uint32_t y);
34+
void SetMouseButtonState(uint32_t buttonId, bool isDown, int32_t x, int32_t y);
35+
void SetMousePosition(int32_t x, int32_t y);
36+
void SetTouchButtonState(uint32_t pointerId, bool isDown, int32_t x, int32_t y);
37+
void SetTouchPosition(uint32_t pointerId, int32_t x, int32_t y);
3838

3939
bool IsXRActive();
4040

0 commit comments

Comments
 (0)