summaryrefslogtreecommitdiff
path: root/render/css.h
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2002-04-22 09:24:35 +0000
committerJames Bursa <james@netsurf-browser.org>2002-04-22 09:24:35 +0000
commit6d48b29c2bc7ce93eb6ac30f594bdcfb3aa97e11 (patch)
tree9d60d5b341264d7d7db555865b2583e0f6b7c19d /render/css.h
downloadnetsurf-6d48b29c2bc7ce93eb6ac30f594bdcfb3aa97e11.tar.gz
netsurf-6d48b29c2bc7ce93eb6ac30f594bdcfb3aa97e11.tar.bz2
[project @ 2002-04-22 09:24:35 by bursa]
Initial revision svn path=/import/netsurf/; revision=2
Diffstat (limited to 'render/css.h')
-rw-r--r--render/css.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/render/css.h b/render/css.h
new file mode 100644
index 000000000..3e465fde1
--- /dev/null
+++ b/render/css.h
@@ -0,0 +1,87 @@
+/**
+ * $Id: css.h,v 1.1.1.1 2002/04/22 09:24:34 bursa Exp $
+ */
+
+#include "css_enum.h"
+
+/**
+ * structures and typedefs
+ */
+
+typedef unsigned long colour; /* 0xrrggbb */
+#define TRANSPARENT 0x1000000
+
+struct css_length {
+ float value;
+ css_unit unit;
+};
+
+struct css_style {
+ css_display display;
+ css_float float_;
+
+ struct {
+ enum { CSS_FONT_SIZE_INHERIT,
+ CSS_FONT_SIZE_ABSOLUTE,
+ CSS_FONT_SIZE_LENGTH,
+ CSS_FONT_SIZE_PERCENT } size;
+ union {
+ float absolute;
+ struct css_length length;
+ float percent;
+ } value;
+ } font_size;
+
+ struct {
+ enum { CSS_HEIGHT_AUTO,
+ CSS_HEIGHT_LENGTH } height;
+ struct css_length length;
+ } height;
+
+ struct {
+ enum { CSS_WIDTH_AUTO,
+ CSS_WIDTH_LENGTH,
+ CSS_WIDTH_PERCENT } width;
+ union {
+ struct css_length length;
+ float percent;
+ } value;
+ } width;
+
+
+ enum { BACKGROUND_SCROLL = 1, BACKGROUND_FIXED } background_attachment;
+ colour background_color;
+ /* char background_image[100]; */
+ /* background-position */
+ enum { BACKGROUND_REPEAT = 1, BACKGROUND_REPEAT_X,
+ BACKGROUND_REPEAT_Y, BACKGROUND_NO_REPEAT } background_repeat;
+ /* borders */
+ enum { CLEAR_NONE = 1, CLEAR_BOTH, CLEAR_LEFT, CLEAR_RIGHT } clear;
+ colour color;
+ /* font-family */
+ enum { FONT_STRAIGHT, FONT_OBLIQUE, FONT_ITALIC } font_style;
+ enum { FONT_NORMAL, FONT_SMALLCAPS } font_variant;
+ struct {
+ enum { WEIGHT_ABSOLUTE, WEIGHT_BOLDER, WEIGHT_LIGHTER } weight;
+ unsigned int value;
+ } font_weight;
+};
+
+struct css_stylesheet;
+
+struct css_selector {
+ char * element;
+ char * class;
+ char * id;
+};
+
+/**
+ * interface
+ */
+
+struct css_stylesheet * css_new_stylesheet(void);
+void css_get_style(struct css_stylesheet * stylesheet, struct css_selector * selector,
+ unsigned int selectors, struct css_style * style);
+void css_parse_stylesheet(struct css_stylesheet * stylesheet, char * str);
+void css_dump_style(const struct css_style * const style);
+void css_cascade(struct css_style * const style, const struct css_style * const apply);