Commit Graph

317 Commits

Author SHA1 Message Date
John Mark Bell
51d545772c Squash warning
svn path=/trunk/netsurf/; revision=9686
2009-11-22 13:46:23 +00:00
John Mark Bell
d010712a9c Avoid potential NULL pointer dereferences
svn path=/trunk/netsurf/; revision=9680
2009-11-22 13:28:30 +00:00
Michael Drake
5a4897d722 Clearer wrapping.
svn path=/trunk/netsurf/; revision=9519
2009-08-31 10:44:40 +00:00
Michael Drake
31ccf7beed Simplification of relative offset calculation. Thanks to Christopher Martin.
svn path=/trunk/netsurf/; revision=9518
2009-08-31 10:39:32 +00:00
John Mark Bell
5552f2b06c Use new alignment scheme
svn path=/trunk/netsurf/; revision=9390
2009-08-22 09:56:41 +00:00
John Mark Bell
6836a74521 Ensure we've got a case for default html alignment.
svn path=/trunk/netsurf/; revision=9382
2009-08-21 17:17:47 +00:00
John Mark Bell
b0f127aa2c Support HTML alignment hints.
svn path=/trunk/netsurf/; revision=9381
2009-08-21 17:05:22 +00:00
Michael Drake
13afa0ff4c Merge Paul Blokus' selectscroll branch. Adds core select menu widget for forms and core scrollbar widget.
svn path=/trunk/netsurf/; revision=9289
2009-08-14 10:37:33 +00:00
Michael Drake
3cbbdeb91c Ensure that inline end boxes get the correct height.
svn path=/trunk/netsurf/; revision=9104
2009-08-07 15:52:00 +00:00
Michael Drake
b0cc93800a Slightly more useful vertical alignment.
svn path=/trunk/netsurf/; revision=9100
2009-08-07 13:00:28 +00:00
John Mark Bell
0665611cc2 Port to modified libcss API.
svn path=/trunk/netsurf/; revision=8997
2009-08-02 19:19:43 +00:00
John Mark Bell
ed16129b0c Prevent negative calculated width of replaced inlines in layout_minmax_line().
svn path=/trunk/netsurf/; revision=8933
2009-08-01 00:26:02 +00:00
John Mark Bell
e5f55a27ef Fix potential crash when inline replaced elements have percentage width.
svn path=/trunk/netsurf/; revision=8814
2009-07-27 10:22:44 +00:00
John Mark Bell
2c00c55963 Simplify line-height calculation, deferring to nscss_len2px.
svn path=/trunk/netsurf/; revision=8783
2009-07-25 13:20:12 +00:00
Michael Drake
48e3221458 Don't attempt to basline-align non text related inlines.
svn path=/trunk/netsurf/; revision=8762
2009-07-24 00:08:23 +00:00
James Bursa
b1c1d85f97 Better way of aligning text baselines. Move boxes down to align 0.75 point instead of changing height.
svn path=/trunk/netsurf/; revision=8758
2009-07-23 23:51:43 +00:00
John Mark Bell
ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
James Bursa
dffc8779ed Set height of all text boxes in a line to the height of the highest one. This aligns the baseline of text which changes font size in a line. However, when the inline-block is reflowed, the heights do not shrink again where they could.
svn path=/trunk/netsurf/; revision=8716
2009-07-23 02:29:12 +00:00
John Mark Bell
2565a37a52 Refactor text plotter and other font functions to remove dependency on CSS.
svn path=/trunk/netsurf/; revision=8641
2009-07-21 10:59:53 +00:00
Michael Drake
ed2206316c Positioned elements are taken out of normal flow, so don't let them affect min/max width calculations.
svn path=/trunk/netsurf/; revision=8502
2009-07-13 15:37:54 +00:00
Michael Drake
f9b905be95 Fix assert when replaced element has display:table;.
svn path=/trunk/netsurf/; revision=7950
2009-06-24 15:43:24 +00:00
Michael Drake
1a0f62f529 Don't need height of css positioned boxes when laying out boxes in normal flow.
svn path=/trunk/netsurf/; revision=7656
2009-05-30 12:22:22 +00:00
Michael Drake
798f421a88 When computing relative offset values for floats, use block formatting context for containing block, rather than parent.
svn path=/trunk/netsurf/; revision=7614
2009-05-28 18:06:49 +00:00
Michael Drake
b595970d82 Reorganise some conditions and only try to deal with min-height and max-height where it should be done.
svn path=/trunk/netsurf/; revision=7594
2009-05-28 11:14:32 +00:00
John Mark Bell
243c1ba03f Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef NDEBUG.
svn path=/trunk/netsurf/; revision=7593
2009-05-28 10:39:53 +00:00
Michael Drake
223818b84c Make layout_apply_minmax_height assert if it's called with a box that shouldn't exist.
svn path=/trunk/netsurf/; revision=7590
2009-05-27 19:43:03 +00:00
Michael Drake
50219b81e6 Pedantic wrap.
svn path=/trunk/netsurf/; revision=7589
2009-05-27 19:17:16 +00:00
Michael Drake
7bb2aa7cbb Remove a couple of superfluous conditions.
svn path=/trunk/netsurf/; revision=7588
2009-05-27 19:11:07 +00:00
Michael Drake
5b33c1e723 Remove dead assignment
svn path=/trunk/netsurf/; revision=7587
2009-05-27 18:43:14 +00:00
Michael Drake
65a888dd87 Handle percentage table heights. Spare height is still not distributed over cells.
svn path=/trunk/netsurf/; revision=7439
2009-05-08 11:43:38 +00:00
Michael Drake
c2ecbebd3d Fix viewport height handling not to obliterate calculation
of root element height from children's dimensions.
Improve handling of percentage heights on HTML and BODY.

svn path=/trunk/netsurf/; revision=7429
2009-05-07 16:22:38 +00:00
Michael Drake
129fb84ed5 Make layout_block_context() private.
svn path=/trunk/netsurf/; revision=7406
2009-05-06 14:20:46 +00:00
Michael Drake
a008d3486e Move special casing of form element dimensions out into separate helper function.
svn path=/trunk/netsurf/; revision=7403
2009-05-06 11:16:06 +00:00
Michael Drake
5a35e5cd97 Make form elements with specified sizes include paddings and borders in their sizes in some cases.
svn path=/trunk/netsurf/; revision=7386
2009-05-01 18:00:01 +00:00
Michael Drake
a99a5bdd70 Move handling of TR height attribute from box construction to layout and add support for height property on TR.
svn path=/trunk/netsurf/; revision=7358
2009-04-28 20:13:10 +00:00
John Mark Bell
56000c4736 If we calculate the height of the root box to be AUTO, set it to the viewport height before laying out the document (makes html, body { height: 100%; } behave correctly)
svn path=/trunk/netsurf/; revision=7127
2009-04-17 17:28:38 +00:00
Michael Drake
3a12ed0fac Update some comments.
svn path=/trunk/netsurf/; revision=7092
2009-04-15 13:22:28 +00:00
Michael Drake
f1c7c7f072 Remove unused line_height stuff for now.
svn path=/trunk/netsurf/; revision=6354
2009-02-02 13:54:48 +00:00
Michael Drake
b2182b8c50 Fix clear:both; when there's nothing to clear.
svn path=/trunk/netsurf/; revision=6352
2009-02-02 12:56:15 +00:00
Michael Drake
400ed91129 Hubbub allows FONT tags to span blocks and the way that
the box tree is generated, this makes the BOX_INLINE's
BOX_INLINE_END appears in a different BOX_BLOCK. That
seems wrong, but fix layout not to crash for now.

svn path=/trunk/netsurf/; revision=6325
2009-01-31 22:49:41 +00:00
Michael Drake
414f42faac Make inline boxes store the height of their line box and include in box tree dump.
svn path=/trunk/netsurf/; revision=6319
2009-01-31 13:26:28 +00:00
Michael Drake
daf8c22d1b Only get top margin if box has style.
svn path=/trunk/netsurf/; revision=6295
2009-01-29 22:57:32 +00:00
Michael Drake
56b48410be Include top margin when finding sides for block formatting contexts.
svn path=/trunk/netsurf/; revision=6293
2009-01-29 21:23:48 +00:00
Michael Drake
619e5b9631 Once a float has been placed below current line,
ensure that subsequent floats are also placed below.
Make place_float_below() consider float height when
searching for available space.

svn path=/trunk/netsurf/; revision=6287
2009-01-27 13:21:50 +00:00
Michael Drake
aa787e9730 Fix specified table widths to include border. Tidy block formatting context and table position setup.
svn path=/trunk/netsurf/; revision=6281
2009-01-26 16:32:19 +00:00
Michael Drake
0a175d4020 Fix -ve margins.
svn path=/trunk/netsurf/; revision=6277
2009-01-26 09:11:54 +00:00
Michael Drake
0fefb7a605 More robust float avoidance for blocks set as block formatting contexts.
svn path=/trunk/netsurf/; revision=6275
2009-01-26 00:15:25 +00:00
Michael Drake
beff85fa73 Ignore clear:left; when the only floats are on the right and vice versa.
svn path=/trunk/netsurf/; revision=6176
2009-01-22 17:52:22 +00:00
Michael Drake
3594651a6b Handle clear before working out available width for tables and blocks that cause a new block formatting context.
svn path=/trunk/netsurf/; revision=6174
2009-01-22 15:39:06 +00:00
Michael Drake
4c40bbc096 Fix placement of tables in normal flow next to floats. This stops big blank gaps appearing e.g. at the top of wikipedia articles, on some google search results and on amazon product pages.
svn path=/trunk/netsurf/; revision=6162
2009-01-21 23:01:59 +00:00