Skip to content

Commit ed8d111

Browse files
committed
HandleMouseInputs: compute mouseCoordinates once
1 parent bc44d0a commit ed8d111

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

TextEditor.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -812,12 +812,13 @@ void TextEditor::HandleMouseInputs()
812812
/*
813813
Left mouse button triple click
814814
*/
815+
Coordinates mouseCoordinates = ScreenPosToCoordinates(ImGui::GetMousePos(), !mOverwrite);
815816

816-
if (tripleClick)
817+
if (tripleClick)
817818
{
818819
if (!ctrl)
819820
{
820-
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = SanitizeCoordinates(ScreenPosToCoordinates(ImGui::GetMousePos()));
821+
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = mouseCoordinates;
821822
mSelectionMode = SelectionMode::Line;
822823
SetSelection(mInteractiveStart, mInteractiveEnd, mSelectionMode);
823824
}
@@ -833,7 +834,7 @@ void TextEditor::HandleMouseInputs()
833834
{
834835
if (!ctrl)
835836
{
836-
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = SanitizeCoordinates(ScreenPosToCoordinates(ImGui::GetMousePos()));
837+
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = mouseCoordinates;
837838
if (mSelectionMode == SelectionMode::Line)
838839
mSelectionMode = SelectionMode::Normal;
839840
else
@@ -849,7 +850,7 @@ void TextEditor::HandleMouseInputs()
849850
*/
850851
else if (click)
851852
{
852-
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = SanitizeCoordinates(ScreenPosToCoordinates(ImGui::GetMousePos(), !mOverwrite));
853+
mState.mCursorPosition = mInteractiveStart = mInteractiveEnd = mouseCoordinates;
853854
if (ctrl)
854855
mSelectionMode = SelectionMode::Word;
855856
else
@@ -862,7 +863,7 @@ void TextEditor::HandleMouseInputs()
862863
else if (ImGui::IsMouseDragging(0) && ImGui::IsMouseDown(0))
863864
{
864865
io.WantCaptureMouse = true;
865-
mState.mCursorPosition = mInteractiveEnd = SanitizeCoordinates(ScreenPosToCoordinates(ImGui::GetMousePos(), !mOverwrite));
866+
mState.mCursorPosition = mInteractiveEnd = mouseCoordinates;
866867
SetSelection(mInteractiveStart, mInteractiveEnd, mSelectionMode);
867868
}
868869
}

0 commit comments

Comments
 (0)