diff options
Diffstat (limited to 'WebCore/platform/text/wince')
-rw-r--r-- | WebCore/platform/text/wince/TextBoundariesWinCE.cpp | 74 | ||||
-rw-r--r-- | WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp | 49 |
2 files changed, 20 insertions, 103 deletions
diff --git a/WebCore/platform/text/wince/TextBoundariesWinCE.cpp b/WebCore/platform/text/wince/TextBoundariesWinCE.cpp deleted file mode 100644 index f3070a4..0000000 --- a/WebCore/platform/text/wince/TextBoundariesWinCE.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2006 Zack Rusin <zack@kde.org> - * Copyright (C) 2007-2009 Torch Mobile, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" -#include "TextBoundaries.h" - -#include "NotImplemented.h" -#include "PlatformString.h" - -using namespace WTF::Unicode; - -namespace WebCore { - -int findNextWordFromIndex(const UChar * buffer, int len, int position, bool forward) -{ - notImplemented(); - return 0; -} - -void findWordBoundary(const UChar * buffer, int len, int position, int* start, int* end) -{ - if (position > len) { - *start = 0; - *end = 0; - return; - } - - String str(buffer, len); - - int currentPosition = position - 1; - String foundWord; - while (currentPosition >= 0 && isLetter(str[currentPosition])) { - UChar c = str[currentPosition]; - foundWord.insert(&c, 1, 0); - --currentPosition; - } - - // currentPosition == 0 means the first char is not letter - // currentPosition == -1 means we reached the beginning - int startPos = (currentPosition < 0) ? 0 : ++currentPosition; - currentPosition = position; - while (isLetter(str[currentPosition])) { - foundWord.append(str[currentPosition]); - ++currentPosition; - } - - *start = startPos; - *end = currentPosition; -} - -} // namespace WebCore diff --git a/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp b/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp index 7f46e4f..96488c0 100644 --- a/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp +++ b/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp @@ -55,7 +55,16 @@ public: length = len; currentPos = 0; } - virtual int first() = 0; + int first() + { + currentPos = 0; + return currentPos; + } + int last() + { + currentPos = length; + return currentPos; + } virtual int next() = 0; virtual int previous() = 0; int following(int position) @@ -75,35 +84,25 @@ public: }; struct WordBreakIterator: TextBreakIterator { - virtual int first(); virtual int next(); virtual int previous(); }; struct CharBreakIterator: TextBreakIterator { - virtual int first(); virtual int next(); virtual int previous(); }; struct LineBreakIterator: TextBreakIterator { - virtual int first(); virtual int next(); virtual int previous(); }; struct SentenceBreakIterator : TextBreakIterator { - virtual int first(); virtual int next(); virtual int previous(); }; -int WordBreakIterator::first() -{ - currentPos = 0; - return currentPos; -} - int WordBreakIterator::next() { if (currentPos == length) { @@ -138,12 +137,6 @@ int WordBreakIterator::previous() return currentPos; } -int CharBreakIterator::first() -{ - currentPos = 0; - return currentPos; -} - int CharBreakIterator::next() { if (currentPos >= length) @@ -166,12 +159,6 @@ int CharBreakIterator::previous() return currentPos; } -int LineBreakIterator::first() -{ - currentPos = 0; - return currentPos; -} - int LineBreakIterator::next() { if (currentPos == length) { @@ -206,12 +193,6 @@ int LineBreakIterator::previous() return currentPos; } -int SentenceBreakIterator::first() -{ - currentPos = 0; - return currentPos; -} - int SentenceBreakIterator::next() { if (currentPos == length) { @@ -279,11 +260,21 @@ int textBreakFirst(TextBreakIterator* breakIterator) return breakIterator->first(); } +int textBreakLast(TextBreakIterator* breakIterator) +{ + return breakIterator->last(); +} + int textBreakNext(TextBreakIterator* breakIterator) { return breakIterator->next(); } +int textBreakPrevious(TextBreakIterator* breakIterator) +{ + return breakIterator->previous(); +} + int textBreakPreceding(TextBreakIterator* breakIterator, int position) { return breakIterator->preceding(position); |