summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2011-03-02 19:16:03 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2011-03-02 19:16:03 +0000
commitbe366b0e6bb47fa8cc0bb8a6c310884f2cf4078f (patch)
tree11825f7b900b04a5bd7d1581682f713eaa241be6 /render
parent3707be6292e5d8c93b121a698f67bb679ff8fba4 (diff)
downloadnetsurf-be366b0e6bb47fa8cc0bb8a6c310884f2cf4078f.tar.gz
netsurf-be366b0e6bb47fa8cc0bb8a6c310884f2cf4078f.tar.bz2
Move strip_leading_newline to box flags.
svn path=/trunk/netsurf/; revision=11889
Diffstat (limited to 'render')
-rw-r--r--render/box.c3
-rw-r--r--render/box.h7
-rw-r--r--render/box_construct.c10
3 files changed, 8 insertions, 12 deletions
diff --git a/render/box.c b/render/box.c
index dc745f6be..ebe69c34f 100644
--- a/render/box.c
+++ b/render/box.c
@@ -132,7 +132,7 @@ struct box * box_create(css_select_results *styles, css_computed_style *style,
box->type = BOX_INLINE;
box->flags = 0;
- box->flags = style_owned ? box->flags | STYLE_OWNED : box->flags;
+ box->flags = style_owned ? (box->flags | STYLE_OWNED) : box->flags;
box->styles = styles;
box->style = style;
box->x = box->y = 0;
@@ -150,7 +150,6 @@ struct box * box_create(css_select_results *styles, css_computed_style *style,
box->length = 0;
box->space = 0;
box->clone = 0;
- box->strip_leading_newline = 0;
box->href = href;
box->target = target;
box->title = title;
diff --git a/render/box.h b/render/box.h
index 3d00db98e..441e3d9f7 100644
--- a/render/box.h
+++ b/render/box.h
@@ -120,7 +120,8 @@ typedef enum {
typedef enum {
NEW_LINE = 1 << 0, /* first inline on a new line */
STYLE_OWNED = 1 << 1, /* style is owned by this box */
- PRINTED = 1 << 2 /* box has already been printed */
+ PRINTED = 1 << 2, /* box has already been printed */
+ PRE_STRIP = 1 << 3 /* PRE tag needing leading newline stripped */
} box_flags;
/* Sides of a box */
@@ -205,10 +206,6 @@ struct box {
/** This box is a continuation of the previous box (eg from line
* breaking). */
unsigned int clone : 1;
- /** This box represents a <pre> tag which has not yet had its white
- * space stripped if possible
- */
- unsigned int strip_leading_newline : 1;
char *href; /**< Link, or 0. */
const char *target; /**< Link target, or 0. */
diff --git a/render/box_construct.c b/render/box_construct.c
index 092edb3ba..d99e5deec 100644
--- a/render/box_construct.c
+++ b/render/box_construct.c
@@ -302,10 +302,10 @@ bool box_construct_element(xmlNode *n, struct content *content,
gui_multitask();
/* In case the parent is a pre block, we clear the
- * strip_leading_newline flag since it is not used if we
+ * PRE_STRIP flag since it is not used if we
* follow the pre with a tag
*/
- parent->strip_leading_newline = 0;
+ parent->flags &= ~PRE_STRIP;
styles = box_get_style(content, parent_style, n);
if (!styles)
@@ -824,7 +824,7 @@ bool box_construct_text(xmlNode *n, struct content *content,
current = text;
/* swallow a single leading new line */
- if (parent->strip_leading_newline) {
+ if (parent->flags & PRE_STRIP) {
switch (*current) {
case '\n':
current++; break;
@@ -833,7 +833,7 @@ bool box_construct_text(xmlNode *n, struct content *content,
if (*current == '\n') current++;
break;
}
- parent->strip_leading_newline = 0;
+ parent->flags &= ~PRE_STRIP;
}
do {
@@ -1079,7 +1079,7 @@ bool box_br(BOX_SPECIAL_PARAMS)
bool box_pre(BOX_SPECIAL_PARAMS)
{
- box->strip_leading_newline = 1;
+ box->flags |= PRE_STRIP;
return true;
}