Fix sphere winding and viewport middle-pan input
This commit is contained in:
@@ -13,6 +13,8 @@ using XCEngine::Editor::SceneViewportNavigationState;
|
||||
using XCEngine::Editor::SceneViewportToolMode;
|
||||
using XCEngine::Editor::SceneViewportToolShortcutRequest;
|
||||
using XCEngine::Editor::UpdateSceneViewportNavigationState;
|
||||
using XCEngine::UI::UIPoint;
|
||||
using XCEngine::UI::UISize;
|
||||
|
||||
TEST(SceneViewportNavigationTest, ToolShortcutActionIgnoresShortcutsDuringTextInputOrDrag) {
|
||||
SceneViewportToolShortcutRequest request = {};
|
||||
@@ -73,6 +75,19 @@ TEST(SceneViewportNavigationTest, NavigationUpdateBeginsLookAndPanDrags) {
|
||||
EXPECT_TRUE(panUpdate.beginLeftPanDrag);
|
||||
EXPECT_TRUE(panUpdate.state.panDragging);
|
||||
EXPECT_EQ(panUpdate.state.panDragButton, ImGuiMouseButton_Left);
|
||||
|
||||
SceneViewportNavigationRequest middlePanRequest = {};
|
||||
middlePanRequest.hasInteractiveViewport = true;
|
||||
middlePanRequest.viewportHovered = true;
|
||||
middlePanRequest.clickedMiddle = true;
|
||||
middlePanRequest.middleMouseDown = true;
|
||||
const auto middlePanUpdate = UpdateSceneViewportNavigationState(middlePanRequest);
|
||||
EXPECT_FALSE(middlePanUpdate.beginLookDrag);
|
||||
EXPECT_TRUE(middlePanUpdate.beginPanDrag);
|
||||
EXPECT_FALSE(middlePanUpdate.beginLeftPanDrag);
|
||||
EXPECT_TRUE(middlePanUpdate.beginMiddlePanDrag);
|
||||
EXPECT_TRUE(middlePanUpdate.state.panDragging);
|
||||
EXPECT_EQ(middlePanUpdate.state.panDragButton, ImGuiMouseButton_Middle);
|
||||
}
|
||||
|
||||
TEST(SceneViewportNavigationTest, NavigationUpdateEndsDragsWhenButtonsRelease) {
|
||||
@@ -105,7 +120,7 @@ TEST(SceneViewportNavigationTest, CaptureFlagsTrackNavigationAndActiveGizmos) {
|
||||
|
||||
TEST(SceneViewportNavigationTest, BuildInputRoutesWheelFocusMovementAndMouseDelta) {
|
||||
SceneViewportInputBuildRequest request = {};
|
||||
request.viewportSize = ImVec2(640.0f, 360.0f);
|
||||
request.viewportSize = UISize(640.0f, 360.0f);
|
||||
request.viewportHovered = true;
|
||||
request.viewportFocused = true;
|
||||
request.mouseWheel = 2.0f;
|
||||
@@ -117,10 +132,10 @@ TEST(SceneViewportNavigationTest, BuildInputRoutesWheelFocusMovementAndMouseDelt
|
||||
|
||||
request = {};
|
||||
request.state.lookDragging = true;
|
||||
request.viewportSize = ImVec2(640.0f, 360.0f);
|
||||
request.viewportSize = UISize(640.0f, 360.0f);
|
||||
request.viewportHovered = true;
|
||||
request.mouseWheel = 1.5f;
|
||||
request.mouseDelta = ImVec2(5.0f, -3.0f);
|
||||
request.mouseDelta = UIPoint(5.0f, -3.0f);
|
||||
request.fastMove = true;
|
||||
request.focusSelectionKeyPressed = true;
|
||||
request.moveForwardKeyDown = true;
|
||||
|
||||
Reference in New Issue
Block a user