summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/CExpander.h
blob: b1147a6b74f1fd658d2043c04a9beaf492f40f5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef __CExpander_h
#define __CExpander_h

#include "config.h"
#include "StyleConsts.h"
#include "Markups.h"

class Bkmk;

template<class T>
class CList;

class CCharacterSource
{
 public:
    virtual void getch(tchar&, CStyle&) = 0;
};

class CExpander
{
 public:
    CExpander() {};
    virtual ~CExpander() {};
    virtual int openfile(const char *src) = 0;
    virtual unsigned int locate() = 0;
    virtual void locate(unsigned int n) = 0;
    virtual bool hasrandomaccess() = 0;
    virtual void sizes(unsigned long& file, unsigned long& text) = 0;
    virtual CList<Bkmk>* getbkmklist() { return NULL; }
    virtual void getch(int& ch, CStyle& sty)
	{
	    ch = getch();
	    sty.unset();
	}
    virtual int getch() = 0;
    virtual bool hyperlink(unsigned int n)
	{
	    locate(n);
	    return true;
	}
    virtual MarkupType PreferredMarkup() = 0;
};
#endif