⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 property.h

📁 一个很有名的浏览器
💻 H
字号:
/* $Id: property.h,v 1.18 2004/11/19 17:46:05 zas Exp $ */#ifndef EL__DOCUMENT_CSS_PROPERTY_H#define EL__DOCUMENT_CSS_PROPERTY_H#include "document/html/parser.h"#include "util/color.h"#include "util/lists.h"/* The {struct css_property} describes one CSS declaration in a rule, therefore * being basically a parsed instance of {struct css_property_info}. One list of * these contains all the declarations contained in one rule. */struct css_property {	LIST_HEAD(struct css_property);	/* Declared property. The enum item name is derived from the property	 * name, just uppercase it and tr/-/_/. */	enum css_property_type {		CSS_PT_NONE,		CSS_PT_BACKGROUND,		CSS_PT_BACKGROUND_COLOR,		CSS_PT_COLOR,		CSS_PT_FONT_STYLE,		CSS_PT_FONT_WEIGHT,		CSS_PT_TEXT_ALIGN,		CSS_PT_TEXT_DECORATION,		CSS_PT_WHITE_SPACE,		CSS_PT_LAST,	} type;	/* Property value. If it is a pointer, it points always to a memory	 * to be free()d together with this structure. */	enum css_property_value_type {		CSS_VT_NONE,		CSS_VT_COLOR,		CSS_VT_FONT_ATTRIBUTE,		CSS_VT_TEXT_ALIGN,		CSS_VT_LAST,	} value_type;	union css_property_value {		void *none;		color_t color;		struct {			enum format_attr add, rem;		} font_attribute;		enum format_align text_align;		/* TODO:		 * Generic numbers		 * Percentages		 * URL		 * Align (struct format_align) */		/* TODO: The size units will be fun yet. --pasky */	} value;};/* The {struct css_property_info} describes what values the properties can * have and what internal type they have. */struct css_property_info;struct scanner;typedef int (*css_property_value_parser)(struct css_property_info *propinfo,					 union css_property_value *value,					 struct scanner *scanner);struct css_property_info {	unsigned char *name;	enum css_property_type type;	/* This is the storage type, basically describing what to save to	 * css_property.value. Many properties can share the same valtype.	 * The value is basically output of the value parser. */	enum css_property_value_type value_type;	/* This is the property value parser, processing the written form of a	 * property value. Its job is to take the value string (or scanner's	 * token list in the future) and transform it to a @value form	 * according to the property's @value_type. Although some properties	 * can share a parser, it is expected that most properties will either	 * use a custom one or use a generic parser with property-specific	 * backend specified in @parser_data. */	css_property_value_parser parser;	/* In case you use a generic @parser, it can be useful to still give	 * it some specific data. You can do so through @parser_data. The	 * content is @parser-specific. */	void *parser_data;};/* This table contains info about all the known CSS properties. */extern struct css_property_info css_property_info[];#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -