Diffstat (limited to 'noncore/apps/opie-reader/BuffDoc.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/BuffDoc.h | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/noncore/apps/opie-reader/BuffDoc.h b/noncore/apps/opie-reader/BuffDoc.h index 61531c0..a7dd7bf 100644 --- a/noncore/apps/opie-reader/BuffDoc.h +++ b/noncore/apps/opie-reader/BuffDoc.h @@ -1,30 +1,37 @@ #ifndef __BuffDoc_h #define __BuffDoc_h #include "useqpe.h" -#include "ZText.h" -#include "Aportis.h" -#include "ztxt.h" -#include "ppm_expander.h" #include "CDrawBuffer.h" #include "CFilter.h" +#include "CExpander.h" #include <qfontmetrics.h> #include <qmessagebox.h> class BuffDoc { CDrawBuffer lastword; CSizeBuffer lastsizes, allsizes; size_t laststartline; bool lastispara; - CExpander* exp; + CExpander_Interface* exp; CFilterChain* filt; + int m_hyphenthreshold; + // bool m_customhyphen; public: + QString about(); + bool findanchor(const QString& nm) + { + return filt->findanchor(nm); + } + // void setCustomHyphen(bool _v) { m_customhyphen = _v; } + // bool getCustomHyphen() { return m_customhyphen; } + void setHyphenThreshold(int _v) { m_hyphenthreshold = _v; } void setSaveData(unsigned char*& data, unsigned short& len, unsigned char* src, unsigned short srclen) { if (exp == NULL) { data = NULL; len = 0; } else @@ -51,17 +58,17 @@ class BuffDoc delete filt; delete exp; } BuffDoc() { exp = NULL; filt = NULL; lastword.empty(); - // odebug << "Buffdoc created" << oendl; +// // qDebug("Buffdoc created"); } bool empty() { return (exp == NULL); } void setfilter(CFilterChain* _f) { if (filt != NULL) delete filt; filt = _f; filt->setsource(exp); } @@ -70,53 +77,68 @@ class BuffDoc bool iseol() { return (lastword[0] == '\0'); } int openfile(QWidget* _parent, const char *src); tchar getch() { tchar ch = UEOF; CStyle sty; if (exp != NULL) { - filt->getch(ch, sty); + unsigned long dummy; + filt->getch(ch, sty, dummy); } return ch; } - void getch(tchar& ch, CStyle& sty) + void getch(tchar& ch, CStyle& sty, unsigned long& pos) { if (exp != NULL) { - filt->getch(ch, sty); + filt->getch(ch, sty, pos); } else ch = UEOF; } void setwidth(int w) { if (exp != NULL) exp->setwidth(w); } QImage* getPicture(unsigned long tgt) { return (exp == NULL) ? NULL : exp->getPicture(tgt); } unsigned int startSection() { return (exp == NULL) ? 0 : exp->startSection(); } unsigned int endSection() { return (exp == NULL) ? 0 : exp->endSection(); } unsigned int locate() { return (exp == NULL) ? 0 : laststartline; } unsigned int explocate() { return (exp == NULL) ? 0 : exp->locate(); } void setContinuous(bool _b) { if (exp != NULL) exp->setContinuous(_b); } MarkupType PreferredMarkup() { return (exp == NULL) ? cTEXT : exp->PreferredMarkup(); } - linkType hyperlink(unsigned int n, QString& wrd); + linkType hyperlink(unsigned int n, unsigned int noff, QString& wrd, QString& nm); size_t getHome() { return ((exp != NULL) ? exp->getHome() : 0); } void locate(unsigned int n); - bool getline(CDrawBuffer* buff, int w, unsigned char _border); - bool getline(CDrawBuffer* buff, int w, int cw, unsigned char _border); - void sizes(unsigned long& fs, unsigned long& ts) { exp->sizes(fs,ts); } + bool getline(CDrawBuffer* buff, int w, unsigned short _lborder, unsigned short _rborder, bool hyphenate, int availht); + bool getline(CDrawBuffer* buff, int w, int cw, unsigned short _lborder, unsigned short _rborder, int availht); + void sizes(unsigned long& fs, unsigned long& ts) + { + if (exp != NULL) + { + exp->sizes(fs,ts); + } + else + { + fs = ts = 0; + } + } int getpara(CBuffer& buff) { tchar ch; int i = 0; while ((ch = getch()) != 10 && ch != UEOF) buff[i++] = ch; buff[i] = '\0'; if (i == 0 && ch == UEOF) i = -1; laststartline = exp->locate(); return i; } - void saveposn(size_t posn) { exp->saveposn(posn); } - void writeposn(size_t posn) { exp->writeposn(posn); } - bool forward(size_t& loc) { return exp->forward(loc); } - bool back(size_t& loc) { return exp->back(loc); } - bool hasnavigation() { return exp->hasnavigation(); } + void saveposn(const QString& f, size_t posn) { filt->saveposn(f, posn); } + void writeposn(const QString& f, size_t posn) { filt->writeposn(f, posn); } + linkType forward(QString& f, size_t& loc) { return filt->forward(f, loc); } + linkType back(QString& f, size_t& loc) { return filt->back(f, loc); } + bool hasnavigation() { return filt->hasnavigation(); } + bool getFile(QString href) + { + return (exp == NULL) ? false : exp->getFile(href); + } }; #endif |