OSDN Git Service

3b9e2ec3ddc979ddd112e194150ecaa1b7eea936
[modchxj/mod_chxj.git] / include / chxj_chtml20.h
1 /*
2  * Copyright (C) 2005-2011 Atsushi Konno All rights reserved.
3  * Copyright (C) 2005 QSDN,Inc. All rights reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 #ifndef __CHXJ_CHTM20_H__
18 #define __CHXJ_CHTM20_H__
19
20 /*#define DUMP_CHTML20 ""*/
21
22 #include "mod_chxj.h"
23 #include "chxj_cookie.h"
24 #include "chxj_css.h"
25
26 /*----------------------------------------------------------------------------*/
27 /* Structure for CHTML2.0                                                     */
28 /*----------------------------------------------------------------------------*/
29 typedef struct ctml20_t chtml20_t;
30
31 struct ctml20_t {
32   Doc                 *doc;
33   char                *out;
34   int                 out_len;
35   int                 pre_flag;
36   int                 textarea_flag;
37   int                 font_flag;
38
39   device_table        *spec;
40   mod_chxj_config     *conf;
41   chxjconvrule_entry  *entryp;
42   cookie_t            *cookie;
43   css_stylesheet_t    *style;
44   css_prop_list_stack_t *css_prop_stack;
45 };
46
47 typedef struct _chtml20_flags_t chtml20_flags_t;
48
49 struct _chtml20_flags_t {
50   int with_font_flag;
51   int with_blink_flag;
52   int with_div_flag;
53   int with_marquee_flag;
54 };
55
56 /*----------------------------------------------------------------------------*/
57 /* Prototype                                                                  */
58 /*----------------------------------------------------------------------------*/
59 extern char *chxj_convert_chtml20(
60   request_rec           *r,
61   device_table          *spec,
62   const char            *src,
63   apr_size_t            srclen,
64   apr_size_t            *dstlen,
65   chxjconvrule_entry    *entryp,
66   cookie_t              *cookie);
67
68 extern char *chxj_chtml20_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
69
70 #endif