summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/plucker_base.h
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-reader/plucker_base.h') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-reader/plucker_base.h36
1 files changed, 16 insertions, 20 deletions
diff --git a/noncore/apps/opie-reader/plucker_base.h b/noncore/apps/opie-reader/plucker_base.h
index 131b999..8d74cc2 100644
--- a/noncore/apps/opie-reader/plucker_base.h
+++ b/noncore/apps/opie-reader/plucker_base.h
@@ -1,17 +1,17 @@
#ifndef __PLUCKER_BASE_H
#define __PLUCKER_BASE_H
-#include "useqpe.h"
#include "CExpander.h"
#include <zlib.h>
#include "ztxt.h"
#include "pdb.h"
#include "CBuffer.h"
#include "my_list.h"
#include "Navigation.h"
+#include "hrule.h"
struct CPlucker_record0
{
UInt16 uid;
UInt16 version;
UInt16 nRecords;
@@ -24,29 +24,31 @@ struct CPluckerbkmk
};
#ifdef LOCALPICTURES
class QScrollView;
class QWidget;
#endif
+class QString;
-class CPlucker_base : public CExpander, public Cpdb
+class CPlucker_base : public Cpdb
{
protected:
+ static const UInt8 continuation_bit;
virtual void setbuffersize() = 0;
virtual void GetHeader(UInt16&, UInt16&, UInt32&, UInt8&, UInt8&) = 0;
virtual int HeaderSize() = 0;
unsigned short finduid(unsigned short);
char* geturl(UInt16);
void Expand(UInt32, UInt8, UInt8*, UInt32);
CList<unsigned long> visited;
bool m_lastIsBreak;
#ifdef LOCALPICTURES
QScrollView* m_viewer;
QWidget* m_picture;
#endif
- size_t textlength, m_lastBreak;
+ size_t textlength, m_lastBreak, m_offset;
UInt16 uid;
int m_nextPara, m_nextParaIndex;
CBufferFace<UInt16> m_ParaOffsets;
CBufferFace<UInt16> m_ParaAttrs;
UInt16 m_nParas;
CStyle mystyle;
@@ -56,60 +58,54 @@ protected:
UInt32 buffercontent;
UInt8* expandedtextbuffer;
UInt8* compressedtextbuffer;
// char* urls;
// size_t urlsize;
size_t bufferpos;
- UInt16 bufferrec;
+ int bufferrec;
CPlucker_record0 hdr0;
bool m_bufferisreserved;
size_t currentpos;
bool expand(int);
- void UnZip(UInt8*, size_t, UInt8*, size_t);
- void UnDoc(UInt8*, size_t, UInt8*, size_t);
+ static void UnZip(UInt8*, size_t, UInt8*, size_t);
+ static void UnDoc(UInt8*, size_t, UInt8*, size_t);
+
+ void (*m_decompress)(UInt8*, size_t, UInt8*, size_t);
+ void (*getdecompressor(const QString& _s))(UInt8*, size_t, UInt8*, size_t);
#ifdef LOCALPICTURES
void showimg(UInt16 tgt);
#endif
QImage* getimg(UInt16 tgt);
QImage* expandimg(UInt16 tgt, bool border=false);
void home();
virtual int bgetch() = 0;
CNavigation m_nav;
public:
-#ifdef USEQPE
- void suspend()
- {
- CExpander::suspend(fin);
- }
- void unsuspend()
- {
- CExpander::unsuspend(fin);
- }
-#endif
+ QString about();
QImage* getPicture(unsigned long tgt);
void sizes(unsigned long& _file, unsigned long& _text);
bool hasrandomaccess() { return true; }
virtual ~CPlucker_base();
CPlucker_base();
int OpenFile(const char *src);
virtual tchar getch(bool) = 0;
tchar getch_base(bool);
int getch();
- void getch(tchar&, CStyle&);
+ void getch(tchar&, CStyle&, unsigned long& pos);
unsigned int locate();
void locate(unsigned int n);
CList<Bkmk>* getbkmklist();
- linkType hyperlink(unsigned int n, QString&);
+ linkType hyperlink(unsigned int, unsigned int, QString&, QString&);
MarkupType PreferredMarkup()
{
return cNONE;
}
void saveposn(size_t posn) { m_nav.saveposn(posn); }
void writeposn(size_t posn) { m_nav.writeposn(posn); }
- bool forward(size_t& loc) { return m_nav.forward(loc); }
- bool back(size_t& loc) { return m_nav.back(loc); }
+ linkType forward(size_t& loc) { return (m_nav.forward(loc)) ? eLink : eNone; }
+ linkType back(size_t& loc) { return (m_nav.back(loc)) ? eLink : eNone; }
bool hasnavigation() { return true; }
void setSaveData(unsigned char*& data, unsigned short& len, unsigned char* src, unsigned short srclen);
void putSaveData(unsigned char*& src, unsigned short& srclen);
virtual bool CorrectDecoder() = 0;
// virtual void setlink(QString&, const QString&) = 0;