Commit Graph

434 Commits

Author SHA1 Message Date
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
James Bursa
367c2aea88 Fix height of absolutely positioned inline blocks with an object. Fix layout of list markers with no text.
svn path=/trunk/netsurf/; revision=3122
2006-12-26 21:51:08 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Michael Drake
5adbed530c Fix gap between list marker and list content.
svn path=/trunk/netsurf/; revision=3040
2006-11-10 14:53:46 +00:00
James Bursa
df7912f96b Fix distortion of list marker images.
svn path=/trunk/netsurf/; revision=3039
2006-11-07 21:49:03 +00:00
James Bursa
f4f17f905b More work on lists. Simplify the implementation to a BLOCK for display: list-item, with a marker box on box->list_marker.
svn path=/trunk/netsurf/; revision=3031
2006-11-05 12:58:24 +00:00
John Mark Bell
7bd710a71c Initial work for display: list-item support
svn path=/trunk/netsurf/; revision=3028
2006-11-04 19:53:22 +00:00
James Bursa
b6c8e435cd Implement absolute positioned inlines.
svn path=/trunk/netsurf/; revision=3026
2006-11-04 19:17:11 +00:00
James Bursa
2227b7c582 Do absolute positioning after other layout so that containing block is fully positioned.
svn path=/trunk/netsurf/; revision=2991
2006-10-10 22:00:10 +00:00
James Bursa
7b30364bc3 Check for null style before using it.
svn path=/trunk/netsurf/; revision=2986
2006-10-09 21:34:34 +00:00
James Bursa
a785bc25f7 Modify implementation of absolute positioning to support "static positions". Absolutely positioned boxes are now in their original place in the tree instead of linked from absolute_children.
svn path=/trunk/netsurf/; revision=2984
2006-10-08 22:46:25 +00:00
James Bursa
bd0dff9098 Add some documentation to layout_block_context(). Move code out into layout_block_object().
svn path=/trunk/netsurf/; revision=2957
2006-09-16 21:48:28 +00:00
Jeffrey Lee
f2cd31779b Fixed textarea wordwrap if first character on line is a space
svn path=/trunk/netsurf/; revision=2941
2006-09-10 13:59:19 +00:00
Jeffrey Lee
271c28a5df textarea html tag fix; horizontal scrollbars; auto-scroll improvements
svn path=/trunk/netsurf/; revision=2940
2006-09-10 13:27:08 +00:00
James Bursa
304616a797 Fix layout of standalone <br>.
svn path=/trunk/netsurf/; revision=2849
2006-08-14 23:05:08 +00:00
James Bursa
8405d18361 Use a minimum line height of 0 for inline containers which have no text.
svn path=/trunk/netsurf/; revision=2838
2006-08-13 01:00:22 +00:00
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
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