Commit Graph

212 Commits

Author SHA1 Message Date
John Tytgat
5f6c2cbff7 - Compiler warning squash
- Changed a lineending \n\r -> \n for a couple of files.
- More code style conformance.

svn path=/trunk/netsurf/; revision=4762
2008-07-26 22:29:15 +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
John Mark Bell
5452d31d37 Make css_dump_style dump to a specified stream rather than assuming stderr. Makes box_dump on <>RISC OS behave sensibly.
svn path=/trunk/netsurf/; revision=4538
2008-07-09 11:49:27 +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
8b2a23081f Various text selection improvements:
+ Fix redraw bug where parts of old selections would get left behind
+ Enable selection of list marker boxes (bullet points and numbers)
+ Improve formatting of copied-to-clipboard or saved text selections
+ Select click anywhere outside current selection now clears current selection

svn path=/trunk/netsurf/; revision=4079
2008-04-07 09:00:21 +00:00
Michael Drake
416c81208b Make box dump show "gadget".
svn path=/trunk/netsurf/; revision=3796
2008-01-28 13:48:59 +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
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
James Bursa
d27f5c65da Fix warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t'.
svn path=/trunk/netsurf/; revision=3264
2007-05-02 03:20:01 +00:00
James Bursa
75526f77b7 Fix box_visible() to return a bool.
svn path=/trunk/netsurf/; revision=3144
2007-01-14 13:02:09 +00:00
James Bursa
d117eb4527 Stop animated images rendering for hidden or fallback boxes.
svn path=/trunk/netsurf/; revision=3128
2006-12-31 23:47:17 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +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
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
John Mark Bell
58dc86655e Make box_at_point detection consider absolute children too
svn path=/trunk/netsurf/; revision=2651
2006-06-26 20:16:24 +00:00
James Bursa
878ef9883e Changes to struct box for absolute positioning.
svn path=/trunk/netsurf/; revision=2640
2006-06-21 02:51:00 +00:00
James Bursa
dece339528 Fix box_at_point() for certain cases involving floats (solves unclickable links on Wikipedia). Fix text-selection code that assumed that text boxes would be returned last by box_at_point().
svn path=/trunk/netsurf/; revision=2606
2006-05-24 22:55:37 +00:00
Daniel Silverstone
e32213f5e4 [project @ 2006-04-04 10:56:21 by dsilvers]
New way to do the <pre> newline stripping to cope with tags in the <pre>

svn path=/import/netsurf/; revision=2486
2006-04-04 10:56:21 +00:00
Adrian Lees
dbfdafdf18 [project @ 2006-02-15 23:09:53 by adrianl]
Extend text selection, copying, saving and searching code to handle textplain contents; modified textplain code to accept other line terminators

svn path=/import/netsurf/; revision=2081
2006-02-15 23:09:55 +00:00
James Bursa
4ce357f09b [project @ 2005-08-22 22:49:52 by bursa]
More work towards frame targets: add target parameter to box_create(), and copy target down the box tree during construction.

svn path=/import/netsurf/; revision=1853
2005-08-22 22:49:52 +00:00
James Bursa
8afd957986 [project @ 2005-08-20 22:52:20 by bursa]
Work towards implementing link target frames: add target attribute to struct box, add frame to struct content_html_object and html_fetch_object().

svn path=/import/netsurf/; revision=1849
2005-08-20 22:52:20 +00:00
James Bursa
d3a5e7251d [project @ 2005-08-14 21:43:36 by bursa]
Fix box_contains_point() for non-rectangular inlines.

svn path=/import/netsurf/; revision=1846
2005-08-14 21:43:36 +00:00
James Bursa
844f4af2de [project @ 2005-07-02 17:49:40 by bursa]
Display contents of table->col[] in box_dump().

svn path=/import/netsurf/; revision=1774
2005-07-02 17:49:40 +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
99a483dd7b [project @ 2005-06-04 12:12:38 by bursa]
Fix text-decoration and borders on inline elements by replacing inline_parent in box structure with end_inline_children.

svn path=/import/netsurf/; revision=1741
2005-06-04 12:12:38 +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
Adrian Lees
31c659a2ea [project @ 2005-04-20 12:24:41 by adrianl]
text import from global clipboard, other apps & files and additional keys for editing text in textareas

svn path=/import/netsurf/; revision=1673
2005-04-20 12:24:41 +00:00
James Bursa
b1848eb109 [project @ 2005-04-17 16:42:37 by bursa]
Fix null pointer read in box_dump().

svn path=/import/netsurf/; revision=1662
2005-04-17 16:42:37 +00:00
James Bursa
11bc5345c5 [project @ 2005-04-13 21:58:28 by bursa]
Add fallback field to struct box for object fallback content. Add some checks for tree consistency to box_dump(). Rename struct plugin_params to object_param. Clean up box_object(), box_embed(), box_iframe(), and box_image(). Implement object fallback to contents if the fetch or conversion fails.

svn path=/import/netsurf/; revision=1627
2005-04-13 21:58:28 +00:00
James Bursa
10fa42cd12 [project @ 2005-04-09 09:52:52 by bursa]
Remove obsolete style_clone field from struct box.

svn path=/import/netsurf/; revision=1609
2005-04-09 09:52:52 +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
James Bursa
64d8f9d5ed [project @ 2005-03-26 01:12:27 by bursa]
Split box.c into box_construct.c, box_normalise.c, and box.c.

svn path=/import/netsurf/; revision=1583
2005-03-26 01:12:27 +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
Richard Wilson
fb0903a089 [project @ 2005-03-19 14:23:47 by rjw]
Solve clickable area test case.

svn path=/import/netsurf/; revision=1544
2005-03-19 14:23:47 +00:00
Richard Wilson
793bb9119a [project @ 2005-03-18 23:50:36 by rjw]
Take borders into account when checking whether a box contains a point.

svn path=/import/netsurf/; revision=1540
2005-03-18 23:50:36 +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
John Mark Bell
f93e387801 [project @ 2005-02-15 22:34:22 by jmb]
Fix loads of object/embed/applet/iframe memory leaks.
Disable handling of applet tag as the implementation's broken and we don't have a sensible JVM anyway.

svn path=/import/netsurf/; revision=1514
2005-02-15 22:34:22 +00:00
John Mark Bell
430d7bc1ae [project @ 2005-02-04 19:41:59 by jmb]
Prevent assertion failure on pages with white-space: pre-wrap / pre-line

svn path=/import/netsurf/; revision=1492
2005-02-04 19:41:59 +00:00
John Mark Bell
b75313f591 [project @ 2005-01-16 00:14:31 by jmb]
Ensure style struct exists before attempting to free

svn path=/import/netsurf/; revision=1452
2005-01-16 00:14:31 +00:00
John Mark Bell
1e592489b1 [project @ 2005-01-16 00:03:45 by jmb]
Create interface for duplication and destruction of css_style structs.

svn path=/import/netsurf/; revision=1450
2005-01-16 00:03:45 +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
James Bursa
7a71363d76 [project @ 2005-01-01 22:05:20 by bursa]
xcalloc/xrealloc/xstrdup-purge week, part 5. Improve and simplify encoding detection.

svn path=/import/netsurf/; revision=1416
2005-01-01 22:05:21 +00:00
James Bursa
ff8dc1f9d6 [project @ 2005-01-01 14:51:35 by bursa]
xcalloc/xrealloc/xstrdup-purge week, part 4.

svn path=/import/netsurf/; revision=1415
2005-01-01 14:51:35 +00:00
James Bursa
1d0ef6335c [project @ 2004-12-13 22:17:43 by bursa]
xcalloc/xrealloc/xstrdup-purge week, part 3.

svn path=/import/netsurf/; revision=1403
2004-12-13 22:17:43 +00:00
James Bursa
9d56448775 [project @ 2004-12-12 22:00:30 by bursa]
xcalloc/xrealloc/xstrdup-purge week, part 2.

svn path=/import/netsurf/; revision=1401
2004-12-12 22:00:30 +00:00
James Bursa
f3ce5e1e48 [project @ 2004-12-09 22:22:13 by bursa]
xcalloc/xrealloc/xstrdup-purge week, part 1.

svn path=/import/netsurf/; revision=1398
2004-12-09 22:22:13 +00:00
James Bursa
dfc28d0ccb [project @ 2004-12-06 22:31:22 by bursa]
Fix horizontal cellspacing.

svn path=/import/netsurf/; revision=1385
2004-12-06 22:31:22 +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