Răsfoiți Sursa

Merge pull request #223 from bigjko/scrollfixes

Caret scrolls when out of view
Ivan Safrin 12 ani în urmă
părinte
comite
5df45172b7
1 a modificat fișierele cu 6 adăugiri și 0 ștergeri
  1. 6 0
      Modules/Contents/UI/Source/PolyUITextInput.cpp

+ 6 - 0
Modules/Contents/UI/Source/PolyUITextInput.cpp

@@ -1231,6 +1231,9 @@ void UITextInput::onKeyDown(PolyKEY key, wchar_t charCode) {
 					updateCaretPosition();							
 					updateCaretPosition();							
 				}
 				}
 			}
 			}
+            if(linesContainer->getPosition().y + (lineOffset*(lineHeight+lineSpacing)+padding) < 0.0) {
+                scrollContainer->setScrollValue(0.0, ((((lineOffset) * ((lineHeight+lineSpacing)))) + padding)/(scrollContainer->getContentSize().y-scrollContainer->getHeight()));
+            }
 		}
 		}
 		blinkerRect->visible  = true;
 		blinkerRect->visible  = true;
 		return;
 		return;
@@ -1254,6 +1257,9 @@ void UITextInput::onKeyDown(PolyKEY key, wchar_t charCode) {
 					updateCaretPosition();										
 					updateCaretPosition();										
 				}
 				}
 			}
 			}
+            if(linesContainer->getPosition().y + (lineOffset*(lineHeight+lineSpacing)+padding) > scrollContainer->getHeight()-lineHeight-lineSpacing) {
+                scrollContainer->setScrollValue(0.0, (((((lineOffset) * ((lineHeight+lineSpacing)))) + padding-(scrollContainer->getHeight()-lineHeight-lineSpacing))/(scrollContainer->getContentSize().y-scrollContainer->getHeight())));
+            }
 		}
 		}
 		blinkerRect->visible  = true;		
 		blinkerRect->visible  = true;		
 		return;
 		return;