個人的メモ。
CSS変換部のデータ構造は
/**
* CSS property.
*/
typedef struct __css_property_t {
struct __css_property_t *next;
struct __css_property_t **ref;
char *name;
char *value;
} css_property_t;
/**
* CSS selector.
*/
typedef struct __css_selector_t {
struct __css_selector_t *next;
struct __css_selector_t **ref;
/* has tag or/and class or/and id */
char *name;
css_property_t *head;
css_property_t *tail;
} css_selector_t;
/**
* CSS stylesheet.
* Manager of css_selector_t.
*/
typedef struct __css_stylesheet_t {
css_selector_t *head;
css_selector_t *tail;
} css_stylesheet_t;
/**
* CSS current_stylesheet.
*/
typedef struct __css_current_stylesheet_t {
struct __css_property_t *head;
struct __css_property_t *tail;
struct __css_current_stylesheet_t *next;
struct __css_current_stylesheet_t **ref;
} css_current_stylesheet_t;
/**
* CSS current_stylesheet_stack_t.
*/
typedef struct __css_current_stylesheet_stack_t {
css_current_stylesheet_t *head;
css_current_stylesheet_t *tail;
} css_current_stylesheet_stack_t;
な感じかな。
足りないところがありそう。
ちなみに**refは馬鹿の一つ覚えの例。
.
0 コメント:
コメントを投稿