Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtinfo / dtinfo / src / UAS / DtSR / Tml_TextRenderer.hh
1 // $XConsortium: Tml_TextRenderer.hh /main/7 1996/08/21 15:44:59 drk $
2 /*      Copyright (c) 1995,1996 FUJITSU LIMITED         */
3 /*      All Rights Reserved                             */
4
5 #ifndef _TML_TEXTRUNCOUNTER_HH_
6 #define _TML_TEXTRUNCOUNTER_HH_
7
8 #include <StyleSheet/Attribute.h>
9 #include <StyleSheet/Element.h>
10 #include <StyleSheet/Renderer.h>
11
12 #include <strstream.h>
13
14 #include "dti_cc/CC_Stack.h"
15
16 #include "UAS_SearchZones.hh"
17
18 #ifndef True
19 #define True    1
20 #endif
21 #ifndef False
22 #define False   0
23 #endif
24
25 #define ShiftIn         (char)0x0E
26 #define ShiftOut        (char)0x0F
27
28 class Tml_TextRenderer : public Renderer
29 {
30   public:
31
32     Tml_TextRenderer(ostrstream &, UAS_SearchZones &);
33     ~Tml_TextRenderer();
34
35     FeatureSet * initialize();
36
37     unsigned int   BeginElement(const Element     &element,
38                                 const FeatureSet  &local,
39                                 const FeatureSet  &complete,
40                                 const FeatureSet  &parentComplete);
41
42     void        data(const char *data, unsigned int size);
43
44     void        EndElement(const Symbol &name);
45
46     void        Begin();
47     void        End();
48
49   private:
50
51     int effective_zone(UAS_SearchZones::uas_zones);
52
53     ostrstream          &f_ostr;
54     UAS_SearchZones     &f_zones;
55
56     int f_current_level;
57     Stack<int> f_marked_level;
58
59     Stack<char> f_effect;
60     Stack<int>  f_ignore_stack;
61 };
62
63 #endif