diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-05-17 19:46:24 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-05-17 19:46:24 +0300 |
commit | 8035bc3225899800c239689c32503542f97dd19d (patch) | |
tree | 0723d957c6eff434a4bb23ffdbc1cfbfce9e43ee /src/gui/fonts/font.cpp | |
parent | 821c0727d1b39ebd43a15fe1b0a680557d539365 (diff) | |
download | plus-8035bc3225899800c239689c32503542f97dd19d.tar.gz plus-8035bc3225899800c239689c32503542f97dd19d.tar.bz2 plus-8035bc3225899800c239689c32503542f97dd19d.tar.xz plus-8035bc3225899800c239689c32503542f97dd19d.zip |
Move textchunklist into separate file.
Diffstat (limited to 'src/gui/fonts/font.cpp')
-rw-r--r-- | src/gui/fonts/font.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/gui/fonts/font.cpp b/src/gui/fonts/font.cpp index 485d1a84e..4c297793e 100644 --- a/src/gui/fonts/font.cpp +++ b/src/gui/fonts/font.cpp @@ -96,112 +96,6 @@ bool Font::mSoftMode(false); extern char *strBuf; -TextChunkList::TextChunkList() : - start(nullptr), - end(nullptr), - size(0), - search(), - searchWidth() -{ -} - -void TextChunkList::insertFirst(TextChunk *const item) -{ - TextChunk *const oldFirst = start; - if (start) - start->prev = item; - item->prev = nullptr; - if (oldFirst) - item->next = oldFirst; - else - end = item; - start = item; - size ++; - search[TextChunkSmall(item->text, item->color, item->color2)] = item; - searchWidth[item->text] = item; -} - -void TextChunkList::moveToFirst(TextChunk *const item) -{ - if (item == start) - return; - - TextChunk *oldPrev = item->prev; - if (oldPrev) - oldPrev->next = item->next; - TextChunk *oldNext = item->next; - if (oldNext) - oldNext->prev = item->prev; - else - end = oldPrev; - TextChunk *const oldFirst = start; - if (start) - start->prev = item; - item->prev = nullptr; - item->next = oldFirst; - start = item; -} - -void TextChunkList::removeBack() -{ - TextChunk *oldEnd = end; - if (oldEnd) - { - end = oldEnd->prev; - if (end) - end->next = nullptr; - else - start = nullptr; - search.erase(TextChunkSmall(oldEnd->text, - oldEnd->color, oldEnd->color2)); - searchWidth.erase(oldEnd->text); - delete oldEnd; - size --; - } -} - -void TextChunkList::removeBack(int n) -{ - TextChunk *item = end; - while (n && item) - { - n --; - TextChunk *oldEnd = item; - item = item->prev; - search.erase(TextChunkSmall(oldEnd->text, - oldEnd->color, oldEnd->color2)); - searchWidth.erase(oldEnd->text); - delete oldEnd; - size --; - } - if (item) - { - item->next = nullptr; - end = item; - } - else - { - start = nullptr; - end = nullptr; - } -} - -void TextChunkList::clear() -{ - search.clear(); - searchWidth.clear(); - TextChunk *item = start; - while (item) - { - TextChunk *item2 = item->next; - delete item; - item = item2; - } - start = nullptr; - end = nullptr; - size = 0; -} - static int fontCounter; Font::Font(std::string filename, |