summaryrefslogtreecommitdiff
path: root/src/backend/filters/bt_thmlhtml.h
blob: 25b168c3fed09860a77e89d9dfd1c2c21f40876e (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
44
45
46
47
48
49
50
51
52
53
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2008 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef BT_THMLHTML_H
#define BT_THMLHTML_H

//Sword
#include <swbuf.h>
#include <thmlhtml.h>

namespace Filters {

/** ThML to HTML filter.
* This filter converts ThML text to HTML text
*/

class BT_ThMLHTML : public sword::ThMLHTML {

    protected:

        class BT_UserData : public sword::ThMLHTML::MyUserData {

            public:
                BT_UserData(const sword::SWModule *module, const sword::SWKey *key) : sword::ThMLHTML::MyUserData(module, key) {
                    inscriptRef = false;
                    swordFootnote = 1;
                    inFootnoteTag = false;
                }

                bool inscriptRef;
                bool inFootnoteTag;
                unsigned short int swordFootnote;
        };

        virtual sword::BasicFilterUserData *createUserData(const sword::SWModule* module, const sword::SWKey* key) {
            return new BT_UserData(module, key);
        }

    public:
        BT_ThMLHTML ();
        virtual bool handleToken(sword::SWBuf& buf, const char *token, sword::BasicFilterUserData *userData);
        virtual char processText(sword::SWBuf& buf, const sword::SWKey*, const sword::SWModule* = 0);
};

}

#endif