Commit Graph

322 Commits

Author SHA1 Message Date
Daniel Silverstone
270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
Michael Drake
b1e8c5fb09 Revert float ordering optimisation (r9846) due to effect on stacking order.
svn path=/trunk/netsurf/; revision=9853
2010-01-20 22:38:22 +00:00
Michael Drake
185465df3d Order containing block's list of floats in descending order of the y-position of their base. Make find_sides() stop searching, after floats are above the range we're interested in. (351s --> 73s on ix for haveproblems/really-slow-float-table2.html)
svn path=/trunk/netsurf/; revision=9846
2010-01-17 09:57:25 +00:00
Michael Drake
ab74f4c990 When placing floats below, keep track of y-position, for future floats in current line.
svn path=/trunk/netsurf/; revision=9836
2010-01-16 17:41:50 +00:00
John Mark Bell
355799ce0b Merge branches/MarkieB/gtkmain to trunk.
svn path=/trunk/netsurf/; revision=9729
2009-12-17 23:55:02 +00:00
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