Diffstat (limited to 'noncore/apps/opie-reader/FontControl.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/FontControl.h | 47 |
1 files changed, 15 insertions, 32 deletions
diff --git a/noncore/apps/opie-reader/FontControl.h b/noncore/apps/opie-reader/FontControl.h index d427680..02049d0 100644 --- a/noncore/apps/opie-reader/FontControl.h +++ b/noncore/apps/opie-reader/FontControl.h @@ -13,2 +13,3 @@ class FontControl int m_maxsize; + bool m_hasCourier; public: @@ -16,3 +17,3 @@ class FontControl : - m_fontsizes(NULL) + m_fontsizes(NULL), m_hasCourier(false) { @@ -24,2 +25,4 @@ class FontControl } + void hasCourier(bool _b) { m_hasCourier = _b; } + bool hasCourier() { return m_hasCourier; } QString name() { return m_fontname; } @@ -28,3 +31,12 @@ class FontControl { - return m_fontsizes[m_size+size.getFontSize()]; + int tgt = m_size+size.getFontSize(); + if (tgt < 0) + { + tgt = 0; + } + if (tgt >= m_maxsize) + { + tgt = m_maxsize - 1; + } + return m_fontsizes[tgt]; } @@ -88,32 +100,3 @@ class FontControl } - bool ChangeFont(QString& n, int tgt) - { - QValueList<int>::Iterator it; - QFontDatabase fdb; - QValueList<int> sizes = fdb.pointSizes(n); - if (sizes.count() == 0) - { - return false; - } - else - { - m_fontname = n; - m_maxsize = sizes.count(); - if (m_fontsizes != NULL) delete [] m_fontsizes; - m_fontsizes = new int[m_maxsize]; - uint i = 0; - uint best = 0; - for (it = sizes.begin(); it != sizes.end(); it++) - { - m_fontsizes[i] = (*it); - if (abs(tgt-m_fontsizes[i]) < abs(tgt-m_fontsizes[best])) - { - best = i; - } - i++; - } - m_size = best; - } - return true; - } + bool ChangeFont(QString& n, int tgt); }; |