summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/Aportis.h
Unidiff
Diffstat (limited to 'noncore/apps/opie-reader/Aportis.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-reader/Aportis.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/noncore/apps/opie-reader/Aportis.h b/noncore/apps/opie-reader/Aportis.h
index 08016f4..1ca5e73 100644
--- a/noncore/apps/opie-reader/Aportis.h
+++ b/noncore/apps/opie-reader/Aportis.h
@@ -37,12 +37,20 @@ struct tDocRecord0 {
37 DWORD dwStoryLen; // in chars, when decompressed 37 DWORD dwStoryLen; // in chars, when decompressed
38 WORD wNumRecs; // text records only; equals tDocHeader.wNumRecs-1 38 WORD wNumRecs; // text records only; equals tDocHeader.wNumRecs-1
39 WORD wRecSize; // usually 0x1000 39 WORD wRecSize; // usually 0x1000
40 DWORD dwSpare2; 40 DWORD dwSpare2;
41}; 41};
42 42
43struct PeanutHeader
44{
45 UInt16 Version;
46 UInt8 Junk1[6];
47 UInt16 Records;
48 UInt8 Junk2[106];
49};
50
43////////////// utilities ////////////////////////////////////// 51////////////// utilities //////////////////////////////////////
44 52
45inline WORD SwapWord(WORD r) 53inline WORD SwapWord(WORD r)
46{ 54{
47 return (r>>8) + (r<<8); 55 return (r>>8) + (r<<8);
48} 56}
@@ -50,12 +58,14 @@ inline WORD SwapWord(WORD r)
50inline DWORD SwapLong(DWORD r) 58inline DWORD SwapLong(DWORD r)
51{ 59{
52 return ((r>>24) & 0xFF) + (r<<24) + ((r>>8) & 0xFF00) + ((r<<8) & 0xFF0000); 60 return ((r>>24) & 0xFF) + (r<<24) + ((r>>8) & 0xFF00) + ((r<<8) & 0xFF0000);
53} 61}
54 62
55class Aportis : public CExpander, Cpdb { 63class Aportis : public CExpander, Cpdb {
64 bool peanutfile;
65 void dePeanut(int&);
56 DWORD dwLen; 66 DWORD dwLen;
57 WORD nRecs2; 67 WORD nRecs2;
58 DWORD dwTLen; 68 DWORD dwTLen;
59 WORD nRecs; 69 WORD nRecs;
60 WORD BlockSize; 70 WORD BlockSize;
61 DWORD dwRecLen; 71 DWORD dwRecLen;
@@ -75,12 +85,16 @@ public:
75 Aportis(); 85 Aportis();
76 virtual int openfile(const char *src); 86 virtual int openfile(const char *src);
77 virtual int getch(); 87 virtual int getch();
78 virtual unsigned int locate(); 88 virtual unsigned int locate();
79 virtual void locate(unsigned int n); 89 virtual void locate(unsigned int n);
80 virtual CList<Bkmk>* getbkmklist(); 90 virtual CList<Bkmk>* getbkmklist();
91 virtual MarkupType PreferredMarkup()
92 {
93 return (peanutfile) ? cPML : cTEXT;
94 }
81private: 95private:
82 bool refreshbuffer(); 96 bool refreshbuffer();
83 unsigned int GetBS(unsigned int bn); 97 unsigned int GetBS(unsigned int bn);
84}; 98};
85 99
86#endif 100#endif