Commit Graph

437 Commits

Author SHA1 Message Date
John Mark Bell
5d27aa256f Port to latest libcss
svn path=/trunk/netsurf/; revision=11526
2011-01-29 19:22:12 +00:00
Michael Drake
44e8897a48 Make layout of block formatting contexts take account of the bottom margin of the last contained block.
svn path=/trunk/netsurf/; revision=11498
2011-01-26 15:14:38 +00:00
Michael Drake
40a034b08f Don't clear floats if there aren't floats to clear.
svn path=/trunk/netsurf/; revision=11270
2011-01-09 19:09:30 +00:00
Michael Drake
fe291f87d9 Ensure top margin is affects static position in particular case.
svn path=/trunk/netsurf/; revision=11262
2011-01-09 00:09:57 +00:00
Michael Drake
b85fcf590f Table top/bottom margin is 0px when computed value is 'auto'.
svn path=/trunk/netsurf/; revision=11257
2011-01-08 17:34:45 +00:00
Michael Drake
b9773d34bb Root element can't be absolute positioned. Fixes #3062055.
svn path=/trunk/netsurf/; revision=10743
2010-09-08 17:22:35 +00:00
Michael Drake
0de9f41db7 Fix object descendants and make space for scrollbars if required.
svn path=/trunk/netsurf/; revision=10730
2010-08-30 22:30:43 +00:00
Michael Drake
ece31d1358 Don't special case height to content height when object's content is HTML.
svn path=/trunk/netsurf/; revision=10729
2010-08-30 22:09:49 +00:00
Michael Drake
2a286962f7 Fix build when layout logging is enabled.
svn path=/trunk/netsurf/; revision=10649
2010-07-16 17:56:33 +00:00
Michael Drake
17aacbec02 Record left and right float boxes with negative widths. Fixes overlapping text on new BBC News site.
svn path=/trunk/netsurf/; revision=10648
2010-07-16 17:48:20 +00:00
Michael Drake
71644097be Remove dead assignements and add assert to check table cells aren't set to span no columns at layout time (Note: colspan=0 is treated as colspan=1 by box normalisation. It should probably be handled in table_calculate_columns_types() properly. Either way, there shouldn't be colspans of 0 by the time we get to layout.)
svn path=/trunk/netsurf/; revision=10601
2010-07-06 20:23:07 +00:00
Michael Drake
485ac0dad7 Improve handling of percentage margins and paddings on floats. Fixes pond.org.uk. This is still not ideal and there are cases where we don't match other browsers.
svn path=/trunk/netsurf/; revision=10497
2010-04-27 17:45:07 +00:00
Michael Drake
4d67ca25a7 Fix vertical placement of absolute positioned inlines using staic position. Simplify placement of inlines on a line.
svn path=/trunk/netsurf/; revision=10495
2010-04-27 12:02:12 +00:00
Michael Drake
542610c779 Fix float wrap issue. (Amiga.org nav bar.)
svn path=/trunk/netsurf/; revision=10490
2010-04-26 22:13:22 +00:00
Vincent Sanders
03bb3e8636 remove _GNU_SOURCE define from everywhere.
strndup is not standard so provide an implementation.

svn path=/trunk/netsurf/; revision=10474
2010-04-24 15:22:17 +00:00
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
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
Michael Drake
9134956efe Fix positioning of floats that come after floats with negative margins.
svn path=/trunk/netsurf/; revision=6156
2009-01-20 21:36:54 +00:00
Michael Drake
c5f72605b4 Block formatting context width is only reduced due to floats if width is auto.
svn path=/trunk/netsurf/; revision=6145
2009-01-19 10:17:44 +00:00
Michael Drake
20120a8acf Make blocks which establish a new block formatting context use have the correct width and position to avoid overlapping floats. Fixes the main problem on the amazon.co.uk front page.
svn path=/trunk/netsurf/; revision=6142
2009-01-18 23:41:48 +00:00
Michael Drake
6a4d4489f5 Rewrite inline rendering. Fixes issues with borders,
background colour and background image display when
inlines have margins and paddings. Support for
background position on inlines. Fix BOX_INLINE
descendant calculation to include BOX_INLINE_END.

svn path=/trunk/netsurf/; revision=5916
2008-12-21 15:51:23 +00:00
Michael Drake
f33fd2c604 Take into account variations in text line height due to styled inlines when laying out inline containers.
svn path=/trunk/netsurf/; revision=5587
2008-10-16 20:50:48 +00:00
Michael Drake
b3f32dece4 Implement percentage min/max-height.
svn path=/trunk/netsurf/; revision=5566
2008-10-13 19:22:16 +00:00
Michael Drake
38619e2d29 Finish 80 char widthing.
svn path=/trunk/netsurf/; revision=5560
2008-10-13 15:06:19 +00:00
Michael Drake
7293b6f4bb Tidy up where spaces were used for indentation.
svn path=/trunk/netsurf/; revision=5555
2008-10-13 12:30:23 +00:00
Michael Drake
a5ac56655c Fix float percentage heights to match other browsers: for floated elements the containing block is the nearest ancestor box at block level, rather than the block formatting context block that the float is in.
svn path=/trunk/netsurf/; revision=5553
2008-10-13 10:50:46 +00:00
Michael Drake
79978eafcd Set float_container before float layout. Fixes percentage height on floated elements.
svn path=/trunk/netsurf/; revision=5552
2008-10-12 21:45:38 +00:00
Michael Drake
1a237535f7 Better commenting of percentage height stuff.
svn path=/trunk/netsurf/; revision=5551
2008-10-12 21:35:04 +00:00
Michael Drake
b7a1b3999e Implement percentage heights for block level elements in normal flow, floats and positioned boxes. Percentage min/max-height not yet handled.
svn path=/trunk/netsurf/; revision=5550
2008-10-12 21:22:28 +00:00
Michael Drake
c1db0e90cc Use style guide switch formatting all over.
svn path=/trunk/netsurf/; revision=5549
2008-10-12 15:34:43 +00:00
Michael Drake
b2486edc5a Fix block level replaced element height regression.
svn path=/trunk/netsurf/; revision=5450
2008-09-28 10:00:32 +00:00
Michael Drake
324cc53e87 Also remember to apply min/max-width on floats without auto width.
svn path=/trunk/netsurf/; revision=5446
2008-09-27 20:43:45 +00:00
Michael Drake
1a00aa03a5 Implement min-width and max-width properties for non-replaced elements. Partially implemented for replaced elements.
svn path=/trunk/netsurf/; revision=5445
2008-09-27 20:19:46 +00:00
François Revel
bee268fac3 C89
svn path=/trunk/netsurf/; revision=5440
2008-09-25 23:33:13 +00:00
Michael Drake
804a11af5b Fix for children of a containing block not being placed with respect to the containing block's top padding, if the containing block's first child is absolute positioned.
svn path=/trunk/netsurf/; revision=5424
2008-09-23 19:38:16 +00:00
Michael Drake
4fad8726a4 Ignore clear property on floats when there are no floats to clear.
svn path=/trunk/netsurf/; revision=5402
2008-09-22 23:45:51 +00:00
Michael Drake
4c058dd92c Fix for positioning of inlines when a float is forced below them.
svn path=/trunk/netsurf/; revision=5395
2008-09-22 11:29:39 +00:00
Michael Drake
1850a494e7 Fix relative positioning to affect position of descendant floats which are in a block formatting context which is an ancestor of the relatively positioned box.
svn path=/trunk/netsurf/; revision=5390
2008-09-21 19:18:27 +00:00
Michael Drake
38ef84bf87 Fix floated radio buttons and checkboxes.
svn path=/trunk/netsurf/; revision=5386
2008-09-20 23:25:37 +00:00
Michael Drake
40f20b439e Add param comments to layout_block_find_dimensions.
svn path=/trunk/netsurf/; revision=5267
2008-09-07 10:05:23 +00:00
Michael Drake
8124d3d5ad Possibly fix BeOS / AmigaOS layout assert on line 190 for particular pages.
svn path=/trunk/netsurf/; revision=5197
2008-08-24 18:55:55 +00:00
John Tytgat
e063a2a59d Second merge of Adam Blokus' GSoC work from his branch 'branches/adamblokus/netsurf'.
Merged revisions 4195-4211,4216,4219-4220,4222-4234,4236-4250,4252-4262,4264-4266,4268-4326,4329-4335,4338-4342,4344-4411,4413-4420,4422-4436,4438-4491,4494-4506,4508-4514,4516,4518-4552,4554,4556-4564,4567-4568,4570-4574,4576-4686,4689-4692,4694,4698-4709,4715-4723,4725-4755,4757-4769,4771-4919,4921-4996,4998-5110,5112-5117 via svnmerge from 
svn://svn.netsurf-browser.org/branches/adamblokus/netsurf

........
  r4736 | adamblokus | 2008-07-26 13:46:54 +0200 (Sat, 26 Jul 2008) | 2 lines
  
  Sorting out some problems with svn.
........
  r4737 | adamblokus | 2008-07-26 13:54:36 +0200 (Sat, 26 Jul 2008) | 4 lines
  
  Added export tab to the options dialog.
  Added the possibility of changing some print options.
........
  r4897 | adamblokus | 2008-08-04 17:59:05 +0200 (Mon, 04 Aug 2008) | 5 lines
  
  Added checking of horizontal clipping.
  Added better table loosening.
  Changed some minor bugs.
  Applied changes in the Export options tab according to the review from tlsa.
........
  r4905 | adamblokus | 2008-08-05 01:53:34 +0200 (Tue, 05 Aug 2008) | 2 lines
  
  Fixed bug which made it impossible to export pdf's.
........
  r4919 | adamblokus | 2008-08-05 16:39:33 +0200 (Tue, 05 Aug 2008) | 2 lines
  
  Fixed some memory leaks which caused Netsurf to break.
........
  r4927 | adamblokus | 2008-08-06 02:26:30 +0200 (Wed, 06 Aug 2008) | 4 lines
  
  Fixed bug with filenames which crashed Netsurf.
  Turned anti aliasing off for printing.
  Fixed some scaling issues.
........
  r4928 | adamblokus | 2008-08-06 17:52:44 +0200 (Wed, 06 Aug 2008) | 5 lines
  
  Added new export/print options:
  - suppressing images
  - turning off backgrounds
  - toggled loosening
........
  r4950 | adamblokus | 2008-08-07 21:15:21 +0200 (Thu, 07 Aug 2008) | 5 lines
  
  Added new options to PDF export:
  - document compression
  - document encryption
  Added PDF password dialog
........
  r4954 | adamblokus | 2008-08-07 22:11:31 +0200 (Thu, 07 Aug 2008) | 2 lines
  
  Added saving print settings.
........
  r4956 | adamblokus | 2008-08-07 22:44:48 +0200 (Thu, 07 Aug 2008) | 2 lines
  
  Fixes to PDF encryption
........
  r4970 | adamblokus | 2008-08-09 15:26:24 +0200 (Sat, 09 Aug 2008) | 3 lines
  
  Fixed bug in plotting tiled bitmaps.
  Fixed bug with too long text decorations.
........
  r4977 | adamblokus | 2008-08-09 19:18:56 +0200 (Sat, 09 Aug 2008) | 2 lines
  
  Fixed JPG embedding bug.
........
  r4988 | adamblokus | 2008-08-10 16:59:51 +0200 (Sun, 10 Aug 2008) | 3 lines
  
  Added clip checking to pdf plotters. No more "blank" clips.
  Made PDF compression a default setting.
........
  r4995 | adamblokus | 2008-08-10 20:03:00 +0200 (Sun, 10 Aug 2008) | 2 lines
  
  Fixed Haru crash on font-size==0.
........
  r4996 | adamblokus | 2008-08-10 21:04:43 +0200 (Sun, 10 Aug 2008) | 2 lines
  
  Added changing text mode only if necessary.
........
  r5045 | adamblokus | 2008-08-11 21:26:26 +0200 (Mon, 11 Aug 2008) | 3 lines
  
  Removing gtk stuff from core code.
  Little fix in options. 
........
  r5048 | adamblokus | 2008-08-11 21:57:45 +0200 (Mon, 11 Aug 2008) | 2 lines
  
  Better font size checking in PDF export.
........
  r5050 | adamblokus | 2008-08-11 22:19:56 +0200 (Mon, 11 Aug 2008) | 2 lines
  
  Fixed riscos text scale bug.
........
  r5073 | adamblokus | 2008-08-12 17:40:57 +0200 (Tue, 12 Aug 2008) | 2 lines
  
  Added missing tooltips
........
  r5092 | adamblokus | 2008-08-13 17:09:25 +0200 (Wed, 13 Aug 2008) | 2 lines
  
  Moved /pdf folder to desktop/save_pdf
........
  r5110 | adamblokus | 2008-08-13 22:44:50 +0200 (Wed, 13 Aug 2008) | 2 lines
  
  Added comments.
........
  r5113 | adamblokus | 2008-08-13 23:07:35 +0200 (Wed, 13 Aug 2008) | 2 lines
  
  Cosmetic changes
........
  r5116 | adamblokus | 2008-08-14 16:10:18 +0200 (Thu, 14 Aug 2008) | 2 lines
  
  Fixed bug with BOX_INLINE_END in tree duplication.
........
  r5117 | joty | 2008-08-14 21:47:46 +0200 (Thu, 14 Aug 2008) | 1 line
  
  Improvement for r5116: use local vars when possible; rename global last to box_duplicate_last; check on box_duplicate_main_tree failure.
........

svn path=/trunk/netsurf/; revision=5118
2008-08-14 20:32:10 +00:00
François Revel
914cbeacfe C89
svn path=/trunk/netsurf/; revision=4963
2008-08-08 20:12:38 +00:00
Rob Kendrick
052f99d379 Include headers we need, rather than depending on (optional) features doing so.
svn path=/trunk/netsurf/; revision=4774
2008-07-28 20:32:51 +00:00
John Tytgat
35d3d6d0bb First merge of Adam Blokus' GSoC work from his branch 'branches/adamblokus/netsurf'.
Merged revisions 4212-4552,4554-4709,4711-4724 via svnmerge from 
svn://svn.netsurf-browser.org/branches/adamblokus/netsurf

........
  r4212 | adamblokus | 2008-05-26 19:42:31 +0200 (Mon, 26 May 2008) | 4 lines
  
  Pdf plotting skeleton pinned on Print Preview in GTK.
  Just creates a file and draws lines. 
........
  r4213 | adamblokus | 2008-05-27 00:11:03 +0200 (Tue, 27 May 2008) | 4 lines
  
  Pdf plotter - added drawing some graphic primitives.
  Still with limited functionality, but a snapshot of the
  currently viewed page can be made and resembles the original.
........
  r4214 | adamblokus | 2008-05-27 11:43:31 +0200 (Tue, 27 May 2008) | 2 lines
  
  Corrected encoding name
........
  r4215 | adamblokus | 2008-05-27 12:47:26 +0200 (Tue, 27 May 2008) | 3 lines
  
  Colours and polygons added.
........
  r4217 | adamblokus | 2008-05-27 21:39:35 +0200 (Tue, 27 May 2008) | 6 lines
  
  Added rectangles, filled boxes and clipping.
  Taken into consideration joty's comments.
  Added a todo list for this part.
  Added some debug stuff and checking boundaries.
........
  r4218 | adamblokus | 2008-05-28 12:37:30 +0200 (Wed, 28 May 2008) | 2 lines
  
  Added path ploting (not sure if valid argument order for bezier) and dashed/dotted line styles
........
  r4221 | adamblokus | 2008-05-28 22:11:05 +0200 (Wed, 28 May 2008) | 3 lines
  
  Some more options in graphic primitives and normalizing some parameters.
........
  r4235 | adamblokus | 2008-05-31 22:54:56 +0200 (Sat, 31 May 2008) | 4 lines
  
  Plotting changed as jmb suggested (is the least invasive one from the possible)
  Added dummy bitmap plotting - way of plotting an image is determined by its type. 
........
  r4251 | adamblokus | 2008-06-03 17:12:15 +0200 (Tue, 03 Jun 2008) | 3 lines
  
  Added plotting jpg and png images - quite a lot to improve in this code, but it seems to work ;)
........
  r4263 | adamblokus | 2008-06-05 14:20:32 +0200 (Thu, 05 Jun 2008) | 3 lines
  
  Added hadling images other than png and jpeg - with transparency.
........
  r4267 | adamblokus | 2008-06-06 15:36:34 +0200 (Fri, 06 Jun 2008) | 5 lines
  
  Added handling NULL-returns from all mallocs.
  Added plot_bitmap_tile handling.
  Changed code style a little.
........
  r4327 | adamblokus | 2008-06-12 17:46:34 +0200 (Thu, 12 Jun 2008) | 5 lines
  
  Added a first prototype of the paged-output organization.
  Still not sure about naming, file locations etc.
  Works with the same pdf plotting as before.
........
  r4328 | adamblokus | 2008-06-13 13:52:15 +0200 (Fri, 13 Jun 2008) | 4 lines
  
  Added primitive width adjustment and outputing the whole
  website in multiple pages.
........
  r4336 | joty | 2008-06-15 15:06:57 +0200 (Sun, 15 Jun 2008) | 1 line
  
  Fix RISC OS build failure (change r4235 wasn't complete).
........
  r4337 | joty | 2008-06-15 18:15:32 +0200 (Sun, 15 Jun 2008) | 16 lines
  
  This enables "Export PDF" in RISC OS build:
  
  - Docs/Doxyfile(PREDEFINED): Added WITH_PDF_EXPORT
  - Makefile.sources(S_PDF): Add to RISC OS target as well.
  - utils/config.h: Define WITH_PDF_EXPORT which controls if we want to have
    PDF export functionality or not.
  - riscos/save_pdf.c,riscos/save_pdf.h(save_as_pdf): Use PDF print API made
    by Adam Blokus to write a PDF file under RISC OS.
  - riscos/save.c: Call save_as_pdf added.
  - riscos/menus.c: Add 'Export->PDF' menu entry.
  - riscos/menus.h(menu_action): Added BROWSER_EXPORT_PDF.
  - desktop/gui.h(gui_save_type): Added GUI_SAVE_PDF.
  - desktop/print.c(print_run): Added return value.
  - Makefile(CCACHE): Moved closed to the place where CC is set for the first time.
    (LDFLAGS): Centralised adding all non-pkgconfig libraries and added Haru + PNG libs.
........
  r4343 | adamblokus | 2008-06-16 01:08:52 +0200 (Mon, 16 Jun 2008) | 3 lines
  
  Added margins and page size adjustment.
........
  r4412 | adamblokus | 2008-06-21 20:22:07 +0200 (Sat, 21 Jun 2008) | 4 lines
  
  Added 'fuzzy' margins on page bottom. 
  Disabled direct png embedding, because it is too unstable in Haru now.
........
  r4421 | adamblokus | 2008-06-22 18:52:28 +0200 (Sun, 22 Jun 2008) | 2 lines
  
  Added "Save as.." dialog and Export->PDF menu entry. Print preview still works with default path.
........
  r4437 | adamblokus | 2008-06-25 02:44:46 +0200 (Wed, 25 Jun 2008) | 4 lines
  
  Added skeleton of applying loose layout.
  Minor code cleaning-up.
........
  r4492 | adamblokus | 2008-07-02 09:02:42 +0200 (Wed, 02 Jul 2008) | 5 lines
  
  Implemented the elementar ideas of the loose layout.
  Added scaling in the printing routine.
  Added some basic demonstrations.
........
  r4493 | adamblokus | 2008-07-02 09:05:55 +0200 (Wed, 02 Jul 2008) | 3 lines
  
  Cleaned up the loosing code - commited to much of leftover rubbish code.
........
  r4507 | adamblokus | 2008-07-04 14:25:48 +0200 (Fri, 04 Jul 2008) | 4 lines
  
  Added duplicating box tree and current content - window flickering during printing solved.
  Minor error checking after new HPDF_Image_AddSMask call.
........
  r4515 | adamblokus | 2008-07-06 22:28:16 +0200 (Sun, 06 Jul 2008) | 2 lines
  
  Changes in loosen layout (image resizing).
........
  r4517 | adamblokus | 2008-07-06 22:38:23 +0200 (Sun, 06 Jul 2008) | 2 lines
  
  Added pdf font handling and rendering functions with the use of Haru functions.
........
  r4555 | adamblokus | 2008-07-10 00:59:05 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Added a very basic and still buggy GTK print implementation.
........
  r4565 | adamblokus | 2008-07-10 14:50:16 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Added gtk printing one more time - I have forgotten to add the main file.
........
  r4566 | adamblokus | 2008-07-10 14:57:02 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  removed error with comment
........
  r4569 | adamblokus | 2008-07-10 15:52:55 +0200 (Thu, 10 Jul 2008) | 5 lines
  
  Major style improvements - added a lot of doxygen comments, 
  followed tlsa's style guide.
  Added some more error checking, too.
........
  r4575 | adamblokus | 2008-07-10 18:48:26 +0200 (Thu, 10 Jul 2008) | 2 lines
  
  Cleaned up the code.
........
  r4687 | adamblokus | 2008-07-17 14:17:19 +0200 (Thu, 17 Jul 2008) | 2 lines
  
  Changed everything according to jmb's review plus some minor bug fixes to gtk_print.
........
  r4688 | adamblokus | 2008-07-17 17:16:34 +0200 (Thu, 17 Jul 2008) | 2 lines
  
  Solved the netsurf.glade clash from r4421.
........
  r4693 | adamblokus | 2008-07-18 18:11:51 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Fixed bug with wrong number of pages in gtk printing.
........
  r4695 | adamblokus | 2008-07-18 19:59:24 +0200 (Fri, 18 Jul 2008) | 3 lines
  
  - fixed uncommented line from the previous commit
  - fixed bug with scale bigger than 1.0 (incorretly clipped page)
........
  r4696 | adamblokus | 2008-07-18 23:28:00 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Fixed bug in gtk_print_font_paint (and nsfont_paint).
........
  r4697 | adamblokus | 2008-07-18 23:35:38 +0200 (Fri, 18 Jul 2008) | 2 lines
  
  Bug fix in nsfont_paint.
........
  r4711 | adamblokus | 2008-07-19 22:44:15 +0200 (Sat, 19 Jul 2008) | 2 lines
  
  Added gtk_selection files.
........
  r4712 | adamblokus | 2008-07-20 11:15:06 +0200 (Sun, 20 Jul 2008) | 2 lines
  
  Addam missing glade files.
........
  r4713 | joty | 2008-07-20 17:13:10 +0200 (Sun, 20 Jul 2008) | 1 line
  
  Follow change r4517 for RISC OS and BeOS platforms : Added pdf font handling and rendering functions with the use of Haru functions.
........
  r4714 | joty | 2008-07-20 18:19:50 +0200 (Sun, 20 Jul 2008) | 1 line
  
  Declare haru_nsfont iso define an instance for each C source including the font_haru.h header.  This fixes breakage of PDF export on RISC OS.
........
  r4724 | adamblokus | 2008-07-23 03:30:08 +0200 (Wed, 23 Jul 2008) | 6 lines
  
  Applied changes according to joty's review.
  Added checking the dimensions of a plotted image to pdf plotter.
  Commented out jpg embedding (it seems to cause some problems
  I'll bring it back when I figure out what's wrong) .
  Added back some files removed by mistake.
........


svn path=/trunk/netsurf/; revision=4741
2008-07-26 16:01:59 +00:00
Michael Drake
1edf2c51b8 Fix comment typo.
svn path=/trunk/netsurf/; revision=4589
2008-07-11 12:19:47 +00:00
Michael Drake
1cdfeae0c6 Fix top margin of boxes with a non-visible overflow type.
svn path=/trunk/netsurf/; revision=4482
2008-06-30 15:53:28 +00:00
Michael Drake
f69c024ecb Add param and return details to layout_solve_width() comment.
svn path=/trunk/netsurf/; revision=4322
2008-06-10 22:00:12 +00:00
Michael Drake
243e0abbcd Establish a new block formatting context for blocks with non-visisble overflow style. (9.4.1)
svn path=/trunk/netsurf/; revision=4270
2008-06-06 14:54:19 +00:00
John Mark Bell
23fb72ea6b The core code has always assumed a locale of "C".
Do not change the locale globally, else things will break in weird and 
wonderful ways.

Introduce utils/locale.[ch], which provide locale-specific wrappers for various 
functions (currently just the <ctype.h> ones).

Fix up the few places I can see that actually require that the underlying 
locale is paid attention to.

Some notes:

  1) The GTK frontend code has not been touched. It is possible that reading of 
     numeric values (e.g. from the preferences dialogue) may break with this 
     change, particularly in locales that use something other than '.' as their
     decimal separator.
  2) The search code is left unchanged (i.e. assuming a locale of "C"). 
     This may break case insensitive matching of non-ASCII characters. 
     I doubt that ever actually worked, anyway. In future, it should use
     Unicode case conversion to achieve the same effect.
  3) The text input handling in the core makes use of isspace() to detect
     word boundaries. This is fine for western languages (even in the C locale,
     which it's currently assuming). It will, however, break for CJK et. al. 
     (this has always been the case, rather than being a new issue)
  4) text-transform uses locale-specific variants of to{lower,upper}. In future
     this should probably be performing Unicode case conversion. This is the
     only part of the core code that makes use of locale information.

In future, if you require locale-specific behaviour, do the following:

  setlocale(LC_<whatever>, "");
  <your operation(s) here>
  setlocale(LC_<whatever>, "C");

  The first setlocale will change the current locale to the native environment.
  The second setlocale will reset the current locale to "C".
  Any value other than "" or "C" is probably a bug, unless there's a really
  good reason for it.

In the long term, it is expected that all locale-dependent code will reside in 
platform frontends -- the core being wholly locale agnostic (though assuming 
"C" for things like decimal separators).


svn path=/trunk/netsurf/; revision=4153
2008-05-13 14:37:44 +00:00
Michael Drake
7e28ca26d1 Accomodate text area scrollbars in fixed widths. Fix radio button / checkbox issue.
svn path=/trunk/netsurf/; revision=4108
2008-04-25 14:57:36 +00:00
Michael Drake
4110152a62 Change handling of form element widths / heights.
svn path=/trunk/netsurf/; revision=4107
2008-04-25 14:15:18 +00:00
Michael Drake
fc4e39f5b8 Make floats that follow a cleared float heed the clear. Fixes position of search form on BBC homepage.
svn path=/trunk/netsurf/; revision=4104
2008-04-23 18:49:11 +00:00
Michael Drake
c4146fb8ff Fix absolute positioning when there's a float between the box and its containing block.
svn path=/trunk/netsurf/; revision=4101
2008-04-21 22:02:33 +00:00
Michael Drake
05e8696fc4 Improve handling of absolutely positioned table cells. Corrects positioning of "Weather" box contents on BBC homepage.
svn path=/trunk/netsurf/; revision=4100
2008-04-20 15:49:25 +00:00
Michael Drake
19c6a63174 CSS min/max-height overrides height.
svn path=/trunk/netsurf/; revision=4008
2008-03-21 01:04:09 +00:00
John Mark Bell
c1efc9c275 Unsightly hack around flickering to white in nsgtk. This needs to be sorted out properly as a matter of urgency.
svn path=/trunk/netsurf/; revision=4005
2008-03-21 00:14:01 +00:00
Michael Drake
7bc2306612 CSS min-height and max-height properties override fixed heights too.
svn path=/trunk/netsurf/; revision=4003
2008-03-20 23:07:55 +00:00
John Mark Bell
bdf3c5e56b Squash "implicit declaration of function 'gui_multitask'" warnings.
svn path=/trunk/netsurf/; revision=3980
2008-03-19 16:46:26 +00:00
John Mark Bell
9468e4abbe Take account of any table height specified through CSS or HTML.
svn path=/trunk/netsurf/; revision=3918
2008-03-10 14:17:35 +00:00
Michael Drake
abd453166f Apply min/max-height to absolutely positioned elements.
svn path=/trunk/netsurf/; revision=3916
2008-03-10 12:36:35 +00:00
Michael Drake
2c7ce0143f Adjust y values after seting a min/max-height.
svn path=/trunk/netsurf/; revision=3910
2008-03-09 23:41:08 +00:00
Michael Drake
052f8b47ff Initial stab at min/max-height support.
svn path=/trunk/netsurf/; revision=3909
2008-03-09 19:39:17 +00:00
Michael Drake
920be77804 When floats have clear right or left set, as well as being put below floats on that side, they should still follow normal behaviour with respect to floats on the other side.
svn path=/trunk/netsurf/; revision=3904
2008-03-09 14:10:05 +00:00
Michael Drake
1dc8770cbb Fix clear CSS property support when applied on floats.
svn path=/trunk/netsurf/; revision=3902
2008-03-09 01:34:49 +00:00
Michael Drake
201dabcb9b Round percentage width to nearest pixel with integers.
svn path=/trunk/netsurf/; revision=3901
2008-03-08 20:30:40 +00:00
Michael Drake
9c0eda1d2c Fix float wrapping when available space equals space that would be used by float.
svn path=/trunk/netsurf/; revision=3898
2008-03-07 21:39:06 +00:00
Michael Drake
16489d1b12 No space between rows of floats.
svn path=/trunk/netsurf/; revision=3895
2008-03-07 18:36:04 +00:00
Michael Drake
ceb5f5ff7f Round percentage widths to nearest pixel instead of down.
svn path=/trunk/netsurf/; revision=3891
2008-03-06 19:41:49 +00:00
Michael Drake
369344518a For form gadgets, specified percentage width is inclusive of margin, border and padding space.
svn path=/trunk/netsurf/; revision=3859
2008-02-17 18:22:06 +00:00
Michael Drake
7d748ae2ff Select element width is width of longest option text.
svn path=/trunk/netsurf/; revision=3855
2008-02-11 17:53:00 +00:00
Michael Drake
7177f59309 Improve float positioning.
svn path=/trunk/netsurf/; revision=3833
2008-02-03 18:44:24 +00:00
Michael Drake
d67a84f7e3 Turn debug output off again. Remove extraneous include.
svn path=/trunk/netsurf/; revision=3828
2008-02-03 14:29:07 +00:00
Michael Drake
8491aecb35 Ensure min line length takes into account margins, borders and paddings of objects.
svn path=/trunk/netsurf/; revision=3827
2008-02-03 14:24:46 +00:00
Michael Drake
120ca506c1 Make text input boxes with height:auto; and no initial value get a sensible height. Make all form elements have their dimensions based on the configured minimum font size, if the current text size is smaller. Remove redundant code for setting radio icon and checkbox sizes. All em/ex based sizes now respect the min font size, when it's in effect. Updated default styles for form elements.
svn path=/trunk/netsurf/; revision=3813
2008-02-02 00:13:19 +00:00
Michael Drake
0241f21d4d Fix syntax.
svn path=/trunk/netsurf/; revision=3800
2008-01-29 01:18:23 +00:00
Michael Drake
3edfd4feb7 Reinstate things lost in the last checkins.
svn path=/trunk/netsurf/; revision=3799
2008-01-29 01:14:20 +00:00
Michael Drake
30b76c4dfa No need to recalculate a value we already have.
svn path=/trunk/netsurf/; revision=3798
2008-01-29 01:01:02 +00:00
Michael Drake
38dcd3f172 Apply min font size config option to radio icons and checkboxes.
svn path=/trunk/netsurf/; revision=3797
2008-01-29 00:42:15 +00:00
Michael Drake
882c04c2fb Only needed the vertical position changed.
svn path=/trunk/netsurf/; revision=3789
2008-01-28 02:01:04 +00:00
Michael Drake
49fce64c1a Fix vertical position of images with margin/borders/padding.
svn path=/trunk/netsurf/; revision=3785
2008-01-28 00:58:31 +00:00
Michael Drake
48bdeb34c8 Ensure images within inline-blocks are shown properly. Fixed by zamez.
svn path=/trunk/netsurf/; revision=3783
2008-01-27 22:25:11 +00:00
Michael Drake
b2b6fa0f10 Make inline-blocks have margins. Add defualt margin around form inputs.
svn path=/trunk/netsurf/; revision=3779
2008-01-27 17:39:14 +00:00
Michael Drake
053f2f830c Hopefully fix inline-block positioning. (Stops form elements from overlapping.)
svn path=/trunk/netsurf/; revision=3778
2008-01-27 11:59:01 +00:00
Michael Drake
252aa870f8 No need to reduce box height when adding scrollbar.
svn path=/trunk/netsurf/; revision=3777
2008-01-26 23:03:30 +00:00
Daniel Silverstone
13b91169fd Protect <pre> fix in cases where c->style is NULL
svn path=/trunk/netsurf/; revision=3673
2007-12-23 16:09:02 +00:00
Daniel Silverstone
23781fb862 An INLINE_CONTAINER which contains a TEXT which is zero chars long but *is* in a PRE white-space rule *DOES* contain a text child.
svn path=/trunk/netsurf/; revision=3672
2007-12-23 14:15:11 +00:00
Richard Wilson
14c30d64a6 Remove legacy code.
svn path=/trunk/netsurf/; revision=3629
2007-10-10 20:33:15 +00:00
James Bursa
3af1dbdb12 Fix disappearing borders for elements with overflow: hidden.
svn path=/trunk/netsurf/; revision=3534
2007-08-28 00:53:22 +00:00
James Bursa
21db9de5f8 Make F9 dump box tree to an editor for easier debugging.
svn path=/trunk/netsurf/; revision=3529
2007-08-20 02:39:49 +00:00
Daniel Silverstone
d1382c6d0e Provide the facility to set the DPI of the display by removing the assumptions of 90.0 dpi from the CSS and layout engines.
svn path=/trunk/netsurf/; revision=3528
2007-08-19 10:08:49 +00:00
Vincent Sanders
2f864eeecc Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
Daniel Silverstone
6807b4208a Remove the netsurf/ from the include paths and rationalise use of <> vs "" in includes
NetSurf includes are now done with ""s and other system includes with <>s as C intended.
The scandeps tool has been updated to only look for ""ed includes, and to verify that the
files exist in the tree before adding them to the dependency lines. The depend rule has
therefore been augmented to make sure the autogenerated files are built before it is run.

This is untested under self-hosted RISC OS builds. All else tested and works.


svn path=/trunk/netsurf/; revision=3307
2007-05-30 22:39:54 +00:00
John Mark Bell
4d55f43a3d Object sizes do not apply when calculating the extent of descendent
bounding boxes. (fixes 1601881)

svn path=/trunk/netsurf/; revision=3240
2007-04-07 02:29:32 +00:00
John Mark Bell
a96ef2a906 Fix assertion when table has negative mbp (1579981)
svn path=/trunk/netsurf/; revision=3222
2007-03-25 16:20:10 +00:00
John Mark Bell
cabed36421 Fix handling of scrollbar addition to blocks which have height/width ==
AUTO (fixes 1567430)

svn path=/trunk/netsurf/; revision=3220
2007-03-24 23:47:44 +00:00
John Mark Bell
5e0bec495c Fix FP exception when right-aligned tables with margin: auto are nested
(interaction with floats, resulting in margin[TOP] == AUTO) (fixes 
1662931)

svn path=/trunk/netsurf/; revision=3218
2007-03-24 21:03:36 +00:00