OSDN Git Service

* Added New Feature.
[modchxj/mod_chxj.git] / include / chxj_iphone.h
1 /*
2  * Copyright (C) 2005-2009 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_IPHONE_H__
18 #define __CHXJ_IPHONE_H__
19
20 /* #define DUMP_IPHONE "" */
21
22 #include "mod_chxj.h"
23 #include "chxj_cookie.h"
24 #include "chxj_css.h"
25
26 /*----------------------------------------------------------------------------*/
27 /* Structure for J-PHONE HTML                                                 */
28 /*----------------------------------------------------------------------------*/
29 typedef struct iphone_t iphone_t;
30
31 struct iphone_t {
32   Doc                 *doc;
33   char                *out;
34   int                 out_len;
35   int                 pre_flag;
36   int                 textarea_flag;
37   int                 h1_align_flag;
38   int                 h2_align_flag;
39   int                 h3_align_flag;
40   int                 h4_align_flag;
41   int                 h5_align_flag;
42   int                 h6_align_flag;
43   int                 font_flag;
44   int                 font_size_flag;
45   int                 start_html_flag;
46   char                *prev_style_data;
47   char                *style_data;
48
49   device_table        *spec;
50   mod_chxj_config     *conf;
51   chxjconvrule_entry  *entryp;
52   cookie_t            *cookie;
53   css_stylesheet_t    *style;
54   css_prop_list_stack_t *css_prop_stack;
55
56   int head_tag_out; /* 1 if <head> out */
57   int blink_keyframe_out; 
58 };
59
60 typedef struct _iphone_flags_t iphone_flags_t;
61 struct _iphone_flags_t {
62   int with_font_flag;
63   int with_blink_flag;
64   int font_color_flag;
65   int font_size_flag;
66   int with_div_flag;
67 };
68
69 /*----------------------------------------------------------------------------*/
70 /* Prototype                                                                  */
71 /*----------------------------------------------------------------------------*/
72 extern char *chxj_convert_iphone(
73   request_rec               *r,
74   device_table              *spec,
75   const char                *src,
76   apr_size_t                srclen,
77   apr_size_t                *dstlen,
78   chxjconvrule_entry        *entryp,
79   cookie_t                  *cookie);
80
81
82 extern char *chxj_iphone_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
83
84 #endif