Commit Graph

172 Commits

Author SHA1 Message Date
James Bursa
80b3286e9d Layout absolutely positioned children of tables.
svn path=/trunk/netsurf/; revision=2791
2006-07-23 18:23:02 +00:00
James Bursa
71287140ca Ensure that layout of absolute children is carried out after the height is known.
svn path=/trunk/netsurf/; revision=2696
2006-07-02 17:36:27 +00:00
John Mark Bell
928f949413 Ensure containing block has valid height for positioning absolute children
svn path=/trunk/netsurf/; revision=2680
2006-06-29 23:30:06 +00:00
John Mark Bell
b427a005b6 Properly take account of padding on containing block.
svn path=/trunk/netsurf/; revision=2673
2006-06-29 15:53:17 +00:00
John Mark Bell
25537a488a Position specifiers are relative to containing block's padding edge for
absolutely positioned boxes. Compensate for this.

svn path=/trunk/netsurf/; revision=2672
2006-06-29 11:55:21 +00:00
John Mark Bell
19e81ab5e9 Fix previous commit; it failed to make available_width include mbp such
that subtracting them after determining the width works in the case 
where available_width > box->min_width.

svn path=/trunk/netsurf/; revision=2671
2006-06-29 09:55:31 +00:00
John Mark Bell
38bd0b13fe Compensate for box->{min_width,max_width} including mbp when
auto-widthing absolutely positioned content.

svn path=/trunk/netsurf/; revision=2670
2006-06-29 09:37:18 +00:00
John Mark Bell
22e405f914 Fix float placement when it's an exact fit for the width available
svn path=/trunk/netsurf/; revision=2661
2006-06-28 16:47:02 +00:00
John Mark Bell
61dc91e0c5 Relative positioning for absolutely positioned boxes
svn path=/trunk/netsurf/; revision=2653
2006-06-26 22:24:42 +00:00
John Mark Bell
50a8bae10f Box x,y coordinates are of padding edge relative to parent;
top,left,bottom,right are of margin edge relative to parent, so add 
margin and border width when calculating x,y from left,top.

svn path=/trunk/netsurf/; revision=2652
2006-06-26 22:00:10 +00:00
John Mark Bell
f881db3654 Fix calculation of right margin in case where margin right is auto
Initialise available_width correctly for shrink-to-fit widthing.

svn path=/trunk/netsurf/; revision=2649
2006-06-26 13:22:43 +00:00
James Bursa
8ee81a7d8e Implement absolute positioning.
svn path=/trunk/netsurf/; revision=2648
2006-06-26 04:52:34 +00:00
James Bursa
21dd10bcda Fix float positions after a block with a specified height.
svn path=/trunk/netsurf/; revision=2598
2006-05-07 17:20:18 +00:00
James Bursa
3e5490c6fd Move word that doesn't fit next to float below float correctly (fixes crash on ofsted site).
svn path=/trunk/netsurf/; revision=2516
2006-04-09 18:59:07 +00:00
Daniel Silverstone
cb243c8565 [project @ 2006-04-04 10:55:47 by dsilvers]
Small extra debug statement for when looking at box splitting

svn path=/import/netsurf/; revision=2485
2006-04-04 10:55:47 +00:00
James Bursa
4750aa968f [project @ 2006-03-26 21:41:18 by bursa]
Fix layout bug related to negative text indent (fixes 1437728).

svn path=/import/netsurf/; revision=2185
2006-03-26 21:41:18 +00:00
James Bursa
c2bddcee46 [project @ 2006-03-26 19:59:15 by bursa]
Fix layout bug related to floats near end of line (fixes 1453561). Pass 1 and pass 2 in layout_line() were handling space_after differently.

svn path=/import/netsurf/; revision=2182
2006-03-26 19:59:15 +00:00
James Bursa
e8ef816111 [project @ 2006-01-15 22:25:40 by bursa]
Fix crash related to negative margins on inlines.

svn path=/import/netsurf/; revision=2021
2006-01-15 22:25:40 +00:00
James Bursa
04566797cd [project @ 2005-11-06 11:00:33 by bursa]
Fix crash when a frame contains floats.

svn path=/import/netsurf/; revision=1877
2005-11-06 11:00:33 +00:00
James Bursa
a54ae0e82d [project @ 2005-10-30 21:23:24 by bursa]
Treat HTML objects (frames) as part of the box tree during layout.

svn path=/import/netsurf/; revision=1875
2005-10-30 21:23:24 +00:00
James Bursa
7a981bb70a [project @ 2005-08-08 19:19:20 by bursa]
Fix redraw of underlines and other text-decoration.

svn path=/import/netsurf/; revision=1845
2005-08-08 19:19:20 +00:00
James Bursa
419517f0aa [project @ 2005-08-07 21:28:48 by bursa]
Improvements to frames. Fix bug with BR at end of inline container.

svn path=/import/netsurf/; revision=1843
2005-08-07 21:28:48 +00:00
James Bursa
1808739e33 [project @ 2005-08-06 23:34:30 by bursa]
Fix vertical positioning of floats when an empty block with top padding is present.

svn path=/import/netsurf/; revision=1842
2005-08-06 23:34:30 +00:00
James Bursa
362a6000b4 [project @ 2005-08-06 22:29:30 by bursa]
Use given width as initial min/max width of fixed-width table columns. This improves the layout of certain tables with colspans.

svn path=/import/netsurf/; revision=1841
2005-08-06 22:29:30 +00:00
James Bursa
0ba79e1ad4 [project @ 2005-07-31 21:57:07 by bursa]
Implement clear on <br>.

svn path=/import/netsurf/; revision=1834
2005-07-31 21:57:07 +00:00
James Bursa
0455ab1c54 [project @ 2005-07-31 11:21:46 by bursa]
Fix certain cases of relative positioning, and make the recursion more efficient (don't recurse for BOX_TEXT).

svn path=/import/netsurf/; revision=1831
2005-07-31 11:21:46 +00:00
John Mark Bell
aa0b803063 [project @ 2005-07-30 23:32:48 by jmb]
Position: relative; support.

svn path=/import/netsurf/; revision=1830
2005-07-30 23:32:48 +00:00
James Bursa
e05db0c28c [project @ 2005-07-24 14:29:32 by bursa]
Fix position of certain floats.

svn path=/import/netsurf/; revision=1822
2005-07-24 14:29:32 +00:00
James Bursa
4e9457bee1 [project @ 2005-07-21 21:48:41 by bursa]
Fix layout min max bug with blocks with negative margins. Add assert()s to check that 0 <= min_width <= max_width at the end of each layout_minmax_X() function.

svn path=/import/netsurf/; revision=1813
2005-07-21 21:48:41 +00:00
James Bursa
5e14874115 [project @ 2005-07-20 22:25:56 by bursa]
Fix fixed width table min / max width calculations.

svn path=/import/netsurf/; revision=1811
2005-07-20 22:25:56 +00:00
James Bursa
e24bed7715 [project @ 2005-07-20 22:08:56 by bursa]
Fix min / max bug with negative margins (treat as 0 for now).

svn path=/import/netsurf/; revision=1810
2005-07-20 22:08:56 +00:00
James Bursa
78102aa4e1 [project @ 2005-07-02 23:37:41 by bursa]
Improvements to layout_minmax_line(). Fix width of floats / inline blocks without an explicit width (space for margins, borders, padding was added twice).

svn path=/import/netsurf/; revision=1781
2005-07-02 23:37:41 +00:00
James Bursa
9b78daf135 [project @ 2005-07-02 18:17:51 by bursa]
Rewrite calculation of box minimum and maximum widths to improve layout of many pages. Move calculation of column types and border collapsing to box tree normalising stage, since they are layout independent. Add window height parameter to layout and make <html> and <body> at least window height.

svn path=/import/netsurf/; revision=1777
2005-07-02 18:17:51 +00:00
James Bursa
57b68bd933 [project @ 2005-06-05 20:54:37 by bursa]
More work on borders / padding / margins on inline elements. Add BOX_INLINE_END to hold the right border / padding / margin (left is in the BOX_INLINE).

svn path=/import/netsurf/; revision=1742
2005-06-05 20:54:37 +00:00
James Bursa
e2fb0a94cd [project @ 2005-05-23 22:14:09 by bursa]
Start to implement borders on inline elements. Note: borders of form controls are rendered incorrectly (text boxes in form controls need changing from INLINE to TEXT).

svn path=/import/netsurf/; revision=1734
2005-05-23 22:14:09 +00:00
James Bursa
22640f85e0 [project @ 2005-05-22 21:50:14 by bursa]
Add BOX_TEXT type to distinguish boxes which came from an inline element to boxes which came from a text node. Add inline_parent pointer to box structure. Rewrite text-decoration support to take advantage of the new data (line colours are now correct). Note: there is a clipping issue in redraw.

svn path=/import/netsurf/; revision=1732
2005-05-22 21:50:14 +00:00
Richard Wilson
240f15b692 [project @ 2005-04-28 02:35:03 by rjw]
HTML border attributes have lower priority that CSS values (fix osnews). Disable tr height minimum value usage for now.

svn path=/import/netsurf/; revision=1694
2005-04-28 02:35:03 +00:00
Richard Wilson
7525f1dc31 [project @ 2005-04-28 01:50:55 by rjw]
Respect minimum height for tr.

svn path=/import/netsurf/; revision=1693
2005-04-28 01:50:55 +00:00
Richard Wilson
487cad486d [project @ 2005-04-14 19:54:24 by rjw]
Implement HTML table border setting. Improve support for the collapsing border model.

svn path=/import/netsurf/; revision=1632
2005-04-14 19:54:24 +00:00
James Bursa
49fdeafbbf [project @ 2005-04-09 13:25:54 by bursa]
Add an assert() to layout_line() to help detect bugs.

svn path=/import/netsurf/; revision=1614
2005-04-09 13:25:54 +00:00
James Bursa
2920bca14a [project @ 2005-04-09 09:47:36 by bursa]
Move HTML contents almost fully over to talloc(), simplifying code. Improvements to title attributes, broken forms, cellpadding. Reorder functions in box_construct.c.

svn path=/import/netsurf/; revision=1608
2005-04-09 09:47:37 +00:00
John Mark Bell
f228f3c8da [project @ 2005-04-02 18:24:47 by jmb]
Fix more FP exceptions

svn path=/import/netsurf/; revision=1589
2005-04-02 18:24:47 +00:00
James Bursa
bed3897f66 [project @ 2005-04-02 11:13:27 by bursa]
Assert when a box has UNKNOWN_WIDTH after layout.

svn path=/import/netsurf/; revision=1588
2005-04-02 11:13:27 +00:00
Richard Wilson
39c6af5d64 [project @ 2005-03-22 16:29:16 by rjw]
Fix some rounding issues for table cell calculations.

svn path=/import/netsurf/; revision=1571
2005-03-22 16:29:16 +00:00
Richard Wilson
b832e05f03 [project @ 2005-03-22 00:10:42 by rjw]
Experimental cellpadding support

svn path=/import/netsurf/; revision=1569
2005-03-22 00:10:42 +00:00
James Bursa
527bbec028 [project @ 2005-03-07 21:30:28 by bursa]
Fix some more FP exceptions related to layout.

svn path=/import/netsurf/; revision=1528
2005-03-07 21:30:28 +00:00
James Bursa
10b27f45f8 [project @ 2005-02-26 18:30:48 by bursa]
Fix some FP exceptions due to widths left as UNKNOWN_WIDTH.

svn path=/import/netsurf/; revision=1526
2005-02-26 18:30:48 +00:00
James Bursa
1a52a32e5d [project @ 2005-02-20 13:18:21 by bursa]
Font rewrite, part 2.

svn path=/import/netsurf/; revision=1518
2005-02-20 13:18:21 +00:00
James Bursa
a76404dfd0 [project @ 2005-01-13 20:28:50 by bursa]
Fix some compilation warnings in the debug build. Update nsgtk_plot_rectangle() with the new parameters.

svn path=/import/netsurf/; revision=1447
2005-01-13 20:29:24 +00:00
John Mark Bell
15e08b5252 [project @ 2005-01-11 19:39:49 by jmb]
Handle property: inherit; properly

svn path=/import/netsurf/; revision=1441
2005-01-11 19:39:49 +00:00