Move strip_leading_newline to box flags.
svn path=/trunk/netsurf/; revision=11889
This commit is contained in:
parent
3707be6292
commit
be366b0e6b
|
@ -132,7 +132,7 @@ struct box * box_create(css_select_results *styles, css_computed_style *style,
|
||||||
|
|
||||||
box->type = BOX_INLINE;
|
box->type = BOX_INLINE;
|
||||||
box->flags = 0;
|
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->styles = styles;
|
||||||
box->style = style;
|
box->style = style;
|
||||||
box->x = box->y = 0;
|
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->length = 0;
|
||||||
box->space = 0;
|
box->space = 0;
|
||||||
box->clone = 0;
|
box->clone = 0;
|
||||||
box->strip_leading_newline = 0;
|
|
||||||
box->href = href;
|
box->href = href;
|
||||||
box->target = target;
|
box->target = target;
|
||||||
box->title = title;
|
box->title = title;
|
||||||
|
|
|
@ -120,7 +120,8 @@ typedef enum {
|
||||||
typedef enum {
|
typedef enum {
|
||||||
NEW_LINE = 1 << 0, /* first inline on a new line */
|
NEW_LINE = 1 << 0, /* first inline on a new line */
|
||||||
STYLE_OWNED = 1 << 1, /* style is owned by this box */
|
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;
|
} box_flags;
|
||||||
|
|
||||||
/* Sides of a box */
|
/* Sides of a box */
|
||||||
|
@ -205,10 +206,6 @@ struct box {
|
||||||
/** This box is a continuation of the previous box (eg from line
|
/** This box is a continuation of the previous box (eg from line
|
||||||
* breaking). */
|
* breaking). */
|
||||||
unsigned int clone : 1;
|
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. */
|
char *href; /**< Link, or 0. */
|
||||||
const char *target; /**< Link target, or 0. */
|
const char *target; /**< Link target, or 0. */
|
||||||
|
|
|
@ -302,10 +302,10 @@ bool box_construct_element(xmlNode *n, struct content *content,
|
||||||
gui_multitask();
|
gui_multitask();
|
||||||
|
|
||||||
/* In case the parent is a pre block, we clear the
|
/* 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
|
* follow the pre with a tag
|
||||||
*/
|
*/
|
||||||
parent->strip_leading_newline = 0;
|
parent->flags &= ~PRE_STRIP;
|
||||||
|
|
||||||
styles = box_get_style(content, parent_style, n);
|
styles = box_get_style(content, parent_style, n);
|
||||||
if (!styles)
|
if (!styles)
|
||||||
|
@ -824,7 +824,7 @@ bool box_construct_text(xmlNode *n, struct content *content,
|
||||||
current = text;
|
current = text;
|
||||||
|
|
||||||
/* swallow a single leading new line */
|
/* swallow a single leading new line */
|
||||||
if (parent->strip_leading_newline) {
|
if (parent->flags & PRE_STRIP) {
|
||||||
switch (*current) {
|
switch (*current) {
|
||||||
case '\n':
|
case '\n':
|
||||||
current++; break;
|
current++; break;
|
||||||
|
@ -833,7 +833,7 @@ bool box_construct_text(xmlNode *n, struct content *content,
|
||||||
if (*current == '\n') current++;
|
if (*current == '\n') current++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
parent->strip_leading_newline = 0;
|
parent->flags &= ~PRE_STRIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
@ -1079,7 +1079,7 @@ bool box_br(BOX_SPECIAL_PARAMS)
|
||||||
|
|
||||||
bool box_pre(BOX_SPECIAL_PARAMS)
|
bool box_pre(BOX_SPECIAL_PARAMS)
|
||||||
{
|
{
|
||||||
box->strip_leading_newline = 1;
|
box->flags |= PRE_STRIP;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue