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
Richard Wilson
652fe9ac95
[project @ 2005-01-11 14:16:40 by rjw]
...
Perform vertical alignment for cells with specified heights.
svn path=/import/netsurf/; revision=1439
2005-01-11 14:16:40 +00:00
Richard Wilson
7b1c6c0ea8
[project @ 2005-01-10 21:35:33 by rjw]
...
Vertical alignment for table cells
svn path=/import/netsurf/; revision=1437
2005-01-10 21:35:34 +00:00
James Bursa
3e6a2b9d9a
[project @ 2004-12-05 21:42:08 by bursa]
...
Make frames scroll. Implement table cellspacing attribute.
svn path=/import/netsurf/; revision=1383
2004-12-05 21:42:08 +00:00
James Bursa
37d7353f43
[project @ 2004-12-01 21:48:11 by bursa]
...
Implement table cell padding and separated borders model for tables. Min/max width calculations still need implementing.
svn path=/import/netsurf/; revision=1378
2004-12-01 21:48:11 +00:00
James Bursa
48ee62b660
[project @ 2004-11-21 19:45:51 by bursa]
...
Take objects into account when calculating descendant boxes.
svn path=/import/netsurf/; revision=1367
2004-11-21 19:45:51 +00:00
James Bursa
a31f6306f9
[project @ 2004-11-20 00:02:56 by bursa]
...
Improvements to overflow and scrolling: scrollbars now have most of the usual RISC OS behaviour. Better rendering of dotted and dashed borders.
svn path=/import/netsurf/; revision=1363
2004-11-20 00:02:56 +00:00
James Bursa
da5d07f0be
[project @ 2004-10-22 20:58:11 by bursa]
...
Fix form textarea scrolling. The scrollbar now works properly.
svn path=/import/netsurf/; revision=1334
2004-10-22 20:58:11 +00:00
James Bursa
fd4e3de0b5
[project @ 2004-10-17 21:10:19 by bursa]
...
Move box tree from html.layout->children to html.layout. Work on scrollbars.
svn path=/import/netsurf/; revision=1314
2004-10-17 21:10:19 +00:00
John Tytgat
7264ae50e5
[project @ 2004-08-14 15:07:19 by joty]
...
- Rename len() to css_len2px().
- Less compiler warnings concerning float/int implicit casts.
- More stddef.h type usuage.
svn path=/import/netsurf/; revision=1232
2004-08-14 15:07:21 +00:00
John Tytgat
7d3a242132
[project @ 2004-08-14 12:57:00 by joty]
...
Using more stddef.h types.
svn path=/import/netsurf/; revision=1230
2004-08-14 12:57:02 +00:00
James Bursa
9e1dbe3a36
[project @ 2004-08-01 13:08:18 by bursa]
...
More work on overflow. Modify block centering to left-align when insufficient space. Fix caret positioning for form controls with padding.
svn path=/import/netsurf/; revision=1171
2004-08-01 13:08:19 +00:00
James Bursa
946566b0b6
[project @ 2004-07-19 14:29:16 by bursa]
...
Make layout_inline_container() public for use of textareas.
svn path=/import/netsurf/; revision=1103
2004-07-19 14:29:16 +00:00
John Mark Bell
b6782d6095
[project @ 2004-07-17 01:36:21 by jmb]
...
Invalidate descendant_* values
svn path=/import/netsurf/; revision=1091
2004-07-17 01:36:21 +00:00
John Mark Bell
51af46fde6
[project @ 2004-07-16 20:26:49 by jmb]
...
Preliminary overflow support. This also goes some way to making the horizontal scrollbar work.
svn path=/import/netsurf/; revision=1088
2004-07-16 20:26:49 +00:00
John Tytgat
a0d511734a
[project @ 2004-07-05 20:19:51 by joty]
...
Using UTF-8 instead of Latin1 encoding.
svn path=/import/netsurf/; revision=1049
2004-07-05 20:19:52 +00:00
James Bursa
2a23749fc6
[project @ 2004-06-22 17:52:40 by bursa]
...
Fix some strdup()s on non-terminated strings.
svn path=/import/netsurf/; revision=992
2004-06-22 17:52:40 +00:00
James Bursa
02898d7b26
[project @ 2004-06-18 22:54:07 by bursa]
...
Fix inline boxes with 0 width not having their width set when available width is 0 (eg. in tables) (fixes www.hic.gov.au crash reported by Peter Prewett). Table layout fix related to cells spanning columns with fixed-width cells.
svn path=/import/netsurf/; revision=979
2004-06-18 22:54:07 +00:00
John Tytgat
e6b68bc3a7
[project @ 2004-06-14 07:28:27 by joty]
...
layout_table() : avoid division by zero (e.g. table at <URL:http://www.pcguide.com/ref/fdd/confCable-c.html >)
svn path=/import/netsurf/; revision=970
2004-06-14 07:28:27 +00:00
James Bursa
6d76fb8e75
[project @ 2004-06-02 21:21:13 by bursa]
...
Memory exhaustion handling. Form control related bug fix.
svn path=/import/netsurf/; revision=917
2004-06-02 21:21:13 +00:00
James Bursa
4565574eaa
[project @ 2004-06-02 21:14:40 by bursa]
...
Revert accidental checkin.
svn path=/import/netsurf/; revision=916
2004-06-02 21:16:48 +00:00
James Bursa
ed4c1ad391
[project @ 2004-06-02 21:09:14 by bursa]
...
Update calls to layout_document() for error handling.
svn path=/import/netsurf/; revision=915
2004-06-02 21:09:14 +00:00
James Bursa
745d4b1d67
[project @ 2004-05-27 23:45:26 by bursa]
...
Table and float bug fixes.
svn path=/import/netsurf/; revision=899
2004-05-27 23:45:26 +00:00
James Bursa
4f31db54f7
[project @ 2004-05-27 22:13:20 by bursa]
...
Fix some table layout bugs related to the recent changes to calculate_table_widths().
svn path=/import/netsurf/; revision=898
2004-05-27 22:13:20 +00:00
James Bursa
8b78a7803d
[project @ 2004-05-21 14:26:59 by bursa]
...
Improved handling of objects and frames; some work on malloc() failure in box conversion.
svn path=/import/netsurf/; revision=880
2004-05-21 14:26:59 +00:00
John Mark Bell
afb5e4209b
[project @ 2004-05-02 17:01:37 by jmb]
...
Remove #ifdef nastiness. Now uses alloca.
svn path=/import/netsurf/; revision=816
2004-05-02 17:01:37 +00:00
John Mark Bell
51bea40b9a
[project @ 2004-05-02 01:04:38 by jmb]
...
A couple more Norcroft-related patches.
The use of #ifdef __GNU_C__ in both of these can be avoided. I'm not entirely sure whether it would be sensible to do so, so I've left them as-is.
svn path=/import/netsurf/; revision=814
2004-05-02 01:04:38 +00:00
James Bursa
3662d2aec7
[project @ 2004-04-21 22:27:49 by bursa]
...
Position floats correctly horizontally when padding or margins are present.
svn path=/import/netsurf/; revision=799
2004-04-21 22:27:49 +00:00
James Bursa
dc937fe9ba
[project @ 2004-04-18 15:19:53 by bursa]
...
Implement <br> properly by adding BOX_BR; fix box tree normalisation bugs.
svn path=/import/netsurf/; revision=791
2004-04-18 15:19:53 +00:00
James Bursa
27816b80df
[project @ 2004-04-16 22:29:10 by bursa]
...
Fix height of block contexts with no children (fixes FP exception crashes); factor out code for increasing height for floats.
svn path=/import/netsurf/; revision=787
2004-04-16 22:29:10 +00:00
John Mark Bell
e4952d83eb
[project @ 2004-04-15 16:18:19 by jmb]
...
Take account of configured minimun font size when calculating line height.
svn path=/import/netsurf/; revision=786
2004-04-15 16:18:19 +00:00
James Bursa
5e41f0465c
[project @ 2004-04-13 23:20:23 by bursa]
...
Table layout fix and table-float interaction changes.
svn path=/import/netsurf/; revision=778
2004-04-13 23:20:23 +00:00
James Bursa
ccba68eb36
[project @ 2004-04-12 17:32:45 by bursa]
...
Fix layout bugs related to height and inline blocks.
svn path=/import/netsurf/; revision=756
2004-04-12 17:32:45 +00:00
James Bursa
9628b9102c
[project @ 2004-04-12 00:00:47 by bursa]
...
Rewrite block context layout, implementing collapsing and negative margins and margins for tables.
svn path=/import/netsurf/; revision=754
2004-04-12 00:00:47 +00:00
James Bursa
3c4148943a
[project @ 2004-03-26 01:35:35 by bursa]
...
Fix infinite loop in layout_line(), improve layout of inline blocks, break out layout_float().
svn path=/import/netsurf/; revision=669
2004-03-26 01:35:35 +00:00
James Bursa
85e6f03a92
[project @ 2004-03-22 00:37:38 by bursa]
...
Minor change in layout_line() to fix some failures.
svn path=/import/netsurf/; revision=651
2004-03-22 00:37:38 +00:00
James Bursa
b5322e10b0
[project @ 2004-03-14 22:49:14 by bursa]
...
Fix serious inline container layout bug.
svn path=/import/netsurf/; revision=620
2004-03-14 22:49:14 +00:00
James Bursa
5ddcc2b440
[project @ 2004-03-13 20:48:00 by bursa]
...
Remove +1 from size of inline containers.
svn path=/import/netsurf/; revision=619
2004-03-13 20:48:00 +00:00
James Bursa
2d816dda23
[project @ 2004-02-28 17:23:07 by bursa]
...
Fix float-related crashes.
svn path=/import/netsurf/; revision=577
2004-02-28 17:23:07 +00:00
James Bursa
22cb2fe809
[project @ 2004-02-22 22:27:31 by bursa]
...
Fix calculate_widths() for floats.
svn path=/import/netsurf/; revision=564
2004-02-22 22:27:31 +00:00
James Bursa
3a93e23b60
[project @ 2004-02-22 22:22:50 by bursa]
...
Take margins, broder, padding into account in calculate_widths().
svn path=/import/netsurf/; revision=563
2004-02-22 22:22:50 +00:00
James Bursa
919805da51
[project @ 2004-02-20 00:42:36 by bursa]
...
Partial implementation of collapsing margins.
svn path=/import/netsurf/; revision=561
2004-02-20 00:42:36 +00:00
James Bursa
b5fd9fb297
[project @ 2004-02-13 16:10:28 by bursa]
...
Simplify and break out layout_clear().
svn path=/import/netsurf/; revision=537
2004-02-13 16:10:28 +00:00
James Bursa
add94ad038
[project @ 2004-02-11 20:51:34 by bursa]
...
Fix crash related to floats.
svn path=/import/netsurf/; revision=535
2004-02-11 20:51:34 +00:00
James Bursa
9aabe954c0
[project @ 2004-02-11 17:15:36 by bursa]
...
Work on margins etc., clean up many parts of layout code.
svn path=/import/netsurf/; revision=534
2004-02-11 17:15:36 +00:00
James Bursa
b0c5b74987
[project @ 2004-02-02 00:22:59 by bursa]
...
Start at margin / padding / border support.
svn path=/import/netsurf/; revision=529
2004-02-02 00:22:59 +00:00
John Mark Bell
edf9d941f1
[project @ 2004-02-01 22:42:40 by jmb]
...
Add text-indent support.
svn path=/import/netsurf/; revision=527
2004-02-01 22:42:40 +00:00
John Mark Bell
0a1756a84f
[project @ 2003-12-27 02:03:48 by jmb]
...
Reduce compiler warnings
svn path=/import/netsurf/; revision=456
2003-12-27 02:03:48 +00:00
James Bursa
2b8e469f19
[project @ 2003-11-04 18:35:32 by bursa]
...
Patch inline container failure on some pages (eg. ebay).
svn path=/import/netsurf/; revision=402
2003-11-04 18:35:32 +00:00
James Bursa
b510716c1d
[project @ 2003-10-08 20:49:57 by bursa]
...
Fix column width recalculation when objects are loaded.
svn path=/import/netsurf/; revision=354
2003-10-08 20:49:57 +00:00
James Bursa
bbcdf13fe0
[project @ 2003-10-07 21:34:39 by bursa]
...
Implement white-space property.
svn path=/import/netsurf/; revision=348
2003-10-07 21:34:39 +00:00
James Bursa
7ef999c573
[project @ 2003-10-01 22:48:39 by bursa]
...
Improvements to <select>.
svn path=/import/netsurf/; revision=341
2003-10-01 22:48:39 +00:00
James Bursa
311c488f5a
[project @ 2003-09-26 23:22:00 by bursa]
...
Implement button element and more work on input element.
svn path=/import/netsurf/; revision=322
2003-09-26 23:22:00 +00:00
James Bursa
6da97decbf
[project @ 2003-09-23 21:48:22 by bursa]
...
Textarea related fixes.
svn path=/import/netsurf/; revision=312
2003-09-23 21:48:22 +00:00