engine: sync editor rendering and ui changes
This commit is contained in:
@@ -13,8 +13,6 @@ 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 = {};
|
||||
@@ -90,6 +88,22 @@ TEST(SceneViewportNavigationTest, NavigationUpdateBeginsLookAndPanDrags) {
|
||||
EXPECT_EQ(middlePanUpdate.state.panDragButton, ImGuiMouseButton_Middle);
|
||||
}
|
||||
|
||||
TEST(SceneViewportNavigationTest, NavigationUpdateBeginsMiddlePanWhenHeldButtonMissedClickEdge) {
|
||||
SceneViewportNavigationRequest middlePanRequest = {};
|
||||
middlePanRequest.hasInteractiveViewport = true;
|
||||
middlePanRequest.viewportHovered = 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) {
|
||||
SceneViewportNavigationRequest lookRequest = {};
|
||||
lookRequest.state.lookDragging = true;
|
||||
@@ -120,7 +134,7 @@ TEST(SceneViewportNavigationTest, CaptureFlagsTrackNavigationAndActiveGizmos) {
|
||||
|
||||
TEST(SceneViewportNavigationTest, BuildInputRoutesWheelFocusMovementAndMouseDelta) {
|
||||
SceneViewportInputBuildRequest request = {};
|
||||
request.viewportSize = UISize(640.0f, 360.0f);
|
||||
request.viewportSize = XCEngine::UI::UISize(640.0f, 360.0f);
|
||||
request.viewportHovered = true;
|
||||
request.viewportFocused = true;
|
||||
request.mouseWheel = 2.0f;
|
||||
@@ -132,10 +146,10 @@ TEST(SceneViewportNavigationTest, BuildInputRoutesWheelFocusMovementAndMouseDelt
|
||||
|
||||
request = {};
|
||||
request.state.lookDragging = true;
|
||||
request.viewportSize = UISize(640.0f, 360.0f);
|
||||
request.viewportSize = XCEngine::UI::UISize(640.0f, 360.0f);
|
||||
request.viewportHovered = true;
|
||||
request.mouseWheel = 1.5f;
|
||||
request.mouseDelta = UIPoint(5.0f, -3.0f);
|
||||
request.mouseDelta = XCEngine::UI::UIPoint(5.0f, -3.0f);
|
||||
request.fastMove = true;
|
||||
request.focusSelectionKeyPressed = true;
|
||||
request.moveForwardKeyDown = true;
|
||||
|
||||
Reference in New Issue
Block a user