1 // Copyright (c) 1996 James Clark
2 // See the file copying.txt for copying permission.
3 
4 #ifndef StyleEngine_INCLUDED
5 #define StyleEngine_INCLUDED 1
6 
7 #include "Boolean.h"
8 #include "Node.h"
9 #include "Message.h"
10 #include "SgmlParser.h"
11 #include "FOTBuilder.h"
12 #include "GroveManager.h"
13 #include "dsssl_ns.h"
14 
15 #ifdef DSSSL_NAMESPACE
16 namespace DSSSL_NAMESPACE {
17 #endif
18 
19 class Interpreter;
20 
21 class STYLE_API StyleEngine {
22 public:
23   StyleEngine(Messenger &, GroveManager &,
24 	      int unitsPerInch, bool debugMode, bool dsssl2,
25 	      bool strictMode, const FOTBuilder::Extension * = 0);
26   void defineVariable(const StringC &);
27   void parseSpec(SgmlParser &specParser,
28 		 const CharsetInfo &charset,
29 		 const StringC &id,
30 		 Messenger &mgr);
31   void process(const NodePtr &, FOTBuilder &);
32   ~StyleEngine();
33 private:
34   StyleEngine(const StyleEngine &);  // undefined
35   void operator=(const StyleEngine &); // undefined
36 
37   Interpreter *interpreter_;
38   StringC cmdline;
39 };
40 
41 #ifdef DSSSL_NAMESPACE
42 }
43 #endif
44 
45 #endif /* not StyleEngine_INCLUDED */
46