2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $XConsortium: StyleTask.h /main/3 1996/08/21 15:47:29 drk $ */
24 /* $XConsortium: StyleTask.h /main/3 1996/08/21 15:47:29 drk $ */
26 #ifndef __StyleTasks_h
27 #define __StyleTasks_h
30 #include "FlexBuffer.h"
31 #include "dti_cc/CC_String.h"
32 #include "dti_cc/cc_hdict.h"
33 #include "dti_cc/CC_Stack.h"
44 class StyleTask : public ComplexTask{
54 * t.markup(...); ... t.data(...); ...
55 * const char *l = t.locator();
57 const char * locator() /* throw(Unexpected) */;
61 void markup(const Token&);
63 void data(const char *, size_t );
65 int exist( const char * view ); /*
66 * Given a view determine if it exists?
72 * st.markup(...); st.data(...); ... // feed stylesheet to the task
73 * const char *p = st.print();
74 * const char *o = st.online();
77 int print_data_size();
80 int online_data_size();
83 void write_record( void );
85 /* comments below to avoid compiler warnings... */
86 virtual void done(const char * /*name*/,
87 const char * /*online*/, int /*online_len*/,
88 const char * /*print*/, int /*print_len*/) {};
92 f_base; /* tag nesting level of <STYLESHEET> elt */
95 enum { inPath, startContent, inContent } f_dataMode;
102 * The style sheet data proper.
103 * Need to determine if it gets transformed
109 hashTable<CC_String,int>
112 * Must be a unique set of names.
114 Stack<int> *feature_depth;
119 class StyleTaskDB : public StyleTask{
123 StyleTaskDB(BookCaseTask *);
125 BookCaseTask *bookcase() { return f_bookcase; };
128 virtual void done(const char * name,
129 const char * online, int online_len,
130 const char * print, int print_len);
134 *f_bookcase; /* 'parent' bookcase object */
139 #endif /* __StyleTasks_h */