OSDN Git Service

* temp commit.
[modchxj/mod_chxj.git] / include / chxj_css.h
1 /*
2  * Copyright (C) 2005-2008 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_CSS_H__
18 #define __CHXJ_CSS_H__
19
20 #include <libcroco/libcroco.h>
21
22
23 /**
24  * CSS property.
25  */
26 typedef struct __css_property_t {
27   struct __css_property_t *next;
28   struct __css_property_t **ref;
29   char *name;
30   char *value;
31 } css_property_t;
32
33
34 /**
35  * CSS selector.
36  */
37 typedef struct __css_selector_t {
38   struct __css_selector_t *next;
39   struct __css_selector_t **ref;
40   /* has tag or/and class or/and id */
41   char *name;
42   css_property_t property_head;
43 } css_selector_t;
44
45
46 /**
47  * CSS stylesheet.
48  * Manager of css_selector_t.
49  */
50 typedef struct __css_stylesheet_t {
51   css_selector_t selector_head;
52 } css_stylesheet_t;
53
54
55 /**
56  * CSS current_stylesheet.
57  */
58 typedef struct __css_current_stylesheet_t {
59   struct __css_property_t property_head;
60   struct __css_current_stylesheet_t *next;
61   struct __css_current_stylesheet_t **ref;
62 } css_current_stylesheet_t;
63
64
65 /**
66  * CSS current_stylesheet_stack_t.
67  */
68 typedef struct __css_current_stylesheet_stack_t {
69   css_current_stylesheet_t *stylesheet_head;
70   css_current_stylesheet_t *stylesheet_tail;
71 } css_current_stylesheet_stack_t;
72
73 #endif
74 /*
75  * vim:ts=2 et
76  */