From 97558261aedeeb53d0971aa5151f8b646be86e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=AD=C2=ADn=20Lucas=20Golini?= Date: Fri, 24 Mar 2017 03:33:58 -0300 Subject: [PATCH] Minor fix. --HG-- branch : dev --- include/eepp/ui/uitextview.hpp | 4 ++++ src/eepp/ui/uitextview.cpp | 35 +++++++++++++++++----------------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/include/eepp/ui/uitextview.hpp b/include/eepp/ui/uitextview.hpp index a074a9cdb..1ca0b6d55 100644 --- a/include/eepp/ui/uitextview.hpp +++ b/include/eepp/ui/uitextview.hpp @@ -139,6 +139,10 @@ class EE_API UITextView : public UIWidget { virtual void onAlignChange(); + void recalculate(); + + void resetSelCache(); + }; }} diff --git a/src/eepp/ui/uitextview.cpp b/src/eepp/ui/uitextview.cpp index fb3612cc0..ccfebe20f 100644 --- a/src/eepp/ui/uitextview.cpp +++ b/src/eepp/ui/uitextview.cpp @@ -81,9 +81,7 @@ Graphics::Font * UITextView::getFont() const { UITextView * UITextView::setFont( Graphics::Font * font ) { if ( mTextCache->getFont() != font ) { mTextCache->setFont( font ); - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); onFontChanged(); } @@ -97,9 +95,7 @@ Uint32 UITextView::getCharacterSize() { UITextView *UITextView::setCharacterSize( const Uint32 & characterSize ) { if ( mTextCache->getCharacterSize() != characterSize ) { mTextCache->setCharacterSize( characterSize ); - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); } return this; @@ -117,9 +113,7 @@ UITextView * UITextView::setOutlineThickness( const Float & outlineThickness ) { if ( mFontStyleConfig.OutlineThickness != outlineThickness ) { mTextCache->setOutlineThickness( outlineThickness ); mFontStyleConfig.OutlineThickness = outlineThickness; - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); } return this; @@ -142,9 +136,7 @@ UITextView * UITextView::setFontStyle(const Uint32 & fontStyle) { if ( mFontStyleConfig.Style != fontStyle ) { mTextCache->setStyle( fontStyle ); mFontStyleConfig.Style = fontStyle; - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); } return this; @@ -165,9 +157,7 @@ UITextView * UITextView::setText( const String& text ) { mTextCache->setString( text ); } - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); onTextChanged(); return this; @@ -274,9 +264,7 @@ Uint32 UITextView::onFocusLoss() { } void UITextView::onSizeChange() { - autoShrink(); - onAutoSize(); - alignFix(); + recalculate(); UIControlAnim::onSizeChange(); } @@ -452,6 +440,17 @@ void UITextView::onAlignChange() { alignFix(); } +void UITextView::recalculate() { + autoShrink(); + onAutoSize(); + alignFix(); + resetSelCache(); +} + +void UITextView::resetSelCache() { + mLastSelCurInit = mLastSelCurEnd = -1; +} + void UITextView::setFontStyleConfig( const UITooltipStyleConfig& fontStyleConfig ) { mFontStyleConfig = fontStyleConfig;