aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/mactextwindow.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2019-10-18 17:20:02 +0200
committerEugene Sandulenko2019-10-18 17:20:27 +0200
commit419cb1e7c77f7b8089b19becabff105ea4d5e7d5 (patch)
tree12438010dfa7c00cfe07e5aaed937fab9595fb8f /graphics/macgui/mactextwindow.cpp
parent9ff8e69aa98b41a92ac561bfbb15efb9cf58cdac (diff)
downloadscummvm-rg350-419cb1e7c77f7b8089b19becabff105ea4d5e7d5.tar.gz
scummvm-rg350-419cb1e7c77f7b8089b19becabff105ea4d5e7d5.tar.bz2
scummvm-rg350-419cb1e7c77f7b8089b19becabff105ea4d5e7d5.zip
GRAPHICS: MACGUI: Switched MacText to U32String internally
Diffstat (limited to 'graphics/macgui/mactextwindow.cpp')
-rw-r--r--graphics/macgui/mactextwindow.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/graphics/macgui/mactextwindow.cpp b/graphics/macgui/mactextwindow.cpp
index ebd3dd2377..12af27a908 100644
--- a/graphics/macgui/mactextwindow.cpp
+++ b/graphics/macgui/mactextwindow.cpp
@@ -90,7 +90,7 @@ void MacTextWindow::resize(int w, int h) {
_mactext->setMaxWidth(_maxWidth);
}
-void MacTextWindow::appendText(Common::String str, const MacFont *macFont, bool skipAdd) {
+void MacTextWindow::appendText(Common::U32String str, const MacFont *macFont, bool skipAdd) {
_mactext->appendText(str, macFont->getId(), macFont->getSize(), macFont->getSlant(), skipAdd);
_contentIsDirty = true;
@@ -102,6 +102,10 @@ void MacTextWindow::appendText(Common::String str, const MacFont *macFont, bool
}
}
+void MacTextWindow::appendText(const Common::String &str, const MacFont *macFont, bool skipAdd) {
+ appendText(Common::U32String(str), macFont, skipAdd);
+}
+
void MacTextWindow::clearText() {
_mactext->clearText();
@@ -223,9 +227,9 @@ void MacTextWindow::drawSelection() {
}
}
-Common::String MacTextWindow::getSelection(bool formatted, bool newlines) {
+Common::U32String MacTextWindow::getSelection(bool formatted, bool newlines) {
if (_selectedText.endY == -1)
- return Common::String("");
+ return Common::U32String("");
SelectedText s = _selectedText;
@@ -249,9 +253,9 @@ bool MacTextWindow::isCutAllowed() {
return false;
}
-Common::String MacTextWindow::cutSelection() {
+Common::U32String MacTextWindow::cutSelection() {
if (!isCutAllowed())
- return Common::String("");
+ return Common::U32String("");
SelectedText s = _selectedText;
@@ -260,18 +264,17 @@ Common::String MacTextWindow::cutSelection() {
SWAP(s.startCol, s.endCol);
}
- Common::String selection = _mactext->getTextChunk(s.startRow, s.startCol, s.endRow, s.endCol, false, false);
+ Common::U32String selection = _mactext->getTextChunk(s.startRow, s.startCol, s.endRow, s.endCol, false, false);
- const char *selStart = strstr(_inputText.c_str(), selection.c_str());
+ uint32 selPos = _inputText.find(selection);
- if (!selStart) {
- warning("Cannot find substring '%s' in '%s'", selection.c_str(), _inputText.c_str());
+ if (selPos == Common::U32String::npos) {
+ //warning("Cannot find substring '%s' in '%s'", selection.c_str(), _inputText.c_str()); // Needed encode method
- return Common::String("");
+ return Common::U32String("");
}
- int selPos = selStart - _inputText.c_str();
- Common::String newInput = Common::String(_inputText.c_str(), selPos) + Common::String(_inputText.c_str() + selPos + selection.size());
+ Common::U32String newInput = Common::U32String(_inputText.c_str(), selPos) + Common::U32String(_inputText.c_str() + selPos + selection.size());
clearSelection();
clearInput();
@@ -459,7 +462,7 @@ void MacTextWindow::undrawInput() {
void MacTextWindow::drawInput() {
undrawInput();
- Common::Array<Common::String> text;
+ Common::Array<Common::U32String> text;
// Now recalc new text height
_fontRef->wordWrapText(_inputText, _maxWidth, text);
@@ -482,12 +485,16 @@ void MacTextWindow::clearInput() {
_inputText.clear();
}
-void MacTextWindow::appendInput(Common::String str) {
+void MacTextWindow::appendInput(Common::U32String str) {
_inputText += str;
drawInput();
}
+void MacTextWindow::appendInput(const Common::String &str) {
+ appendInput(Common::U32String(str));
+}
+
//////////////////
// Cursor stuff
static void cursorTimerHandler(void *refCon) {