Commit Graph

43 Commits

Author SHA1 Message Date
John Tytgat
5685170036 Make the knockout plotter calling behaviour optional by added a new entry
'option_knockout' to 'struct plotter_table' which basically is a request
from that plotter backend for the content redraw routine to get called in
such a way that overlapping render areas are avoided as much as possible.

It is up to the content redraw code to actually implement this
option if it is reasonably profitable.  This was and is currently done
explicitly by the html content redraw code.  On top of that the riscos
plotter code was installing the knockout plotter itself for all content
types except plaintext and SVG and this is no longer being done in this
patch.

In more detail:

- desktop/plotters.h: added struct plotter_table::option_knockout
- render/html_redraw.c(html_redraw): if the plotter backend wants the
knockout calling behaviour, install the knockout plotter which will then
call the real backend.  Also check on the return values of clg and clip
plotter calls.
- Plotter backend changes:
  -> no longer plotting in knockout mode:
     - gtk/gtk_print.c: Also removed a 2nd instance of
       "struct plotter_table plot".
     - riscos/save_draw.c
     - riscos/print.c: Also the path plotter function pointer wasn't
       filled in and this is now fixed.
     - pdf/pdf_plotters.c: Removed the flush function as this is
       optional and we only had a dummy implementation there.
  -> remaining to request knockout mode if it makes sense based on the
     content type:
     - gtk/gtk_plotters.c
     - riscos/plotters.c
     - desktop/knockout.c
- riscos/window.c: Removed what's believed an obsolete test on the
  content type which determined to additionally install the
  knockout plotter in front of the real plotter code.

svn path=/trunk/netsurf/; revision=4823
2008-07-30 19:17:27 +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
e17b53bc02 Fix clipping.
svn path=/trunk/netsurf/; revision=4223
2008-05-29 11:17:30 +00:00
John Mark Bell
601c02f08b Drop support for non-cairo plotting.
Implement path plotter.

svn path=/trunk/netsurf/; revision=4222
2008-05-29 11:03:13 +00:00
Rob Kendrick
59641def82 const fixes in plotters and history core
svn path=/trunk/netsurf/; revision=4083
2008-04-07 11:15:09 +00:00
Rob Kendrick
368edb8a94 Add GTK stub path function
svn path=/trunk/netsurf/; revision=3497
2007-08-11 21:41:17 +00:00
Rob Kendrick
4e6f8d3347 revert 3482 so it can be reapplied as two seperate patches
svn path=/trunk/netsurf/; revision=3496
2007-08-11 21:40:19 +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
Rob Kendrick
bbd6b0740a Fix warnings in nsgtk caused by recent changes.
svn path=/trunk/netsurf/; revision=3482
2007-08-07 18:35:28 +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
Rob Kendrick
0b90769032 Fix more off-by-ones in nsgtk's image plotting and clipping. AFAICT, this is now perfect.
svn path=/trunk/netsurf/; revision=3164
2007-02-02 22:24:42 +00:00
Rob Kendrick
66a69bc889 Fix off-by-one in nsgtk image plotter that resulted in all images being subject to a bilinear resample.
svn path=/trunk/netsurf/; revision=3162
2007-02-02 11:45:54 +00:00
John Mark Bell
5aae53ef91 Merge GTK frames branch to trunk.
svn path=/trunk/netsurf/; revision=3075
2006-11-27 17:13:24 +00:00
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Rob Kendrick
306e09dd9f Fudge off-by-one bitmap plotting in nsgtk plotters. Will investigate actual cause later.
svn path=/trunk/netsurf/; revision=3032
2006-11-05 13:16:21 +00:00
John Mark Bell
48adbd97db Make GTK build compile again (don't expect frames to work, however)
Squash warnings in GTK plotters.

svn path=/trunk/netsurf/; revision=2921
2006-09-06 11:29:14 +00:00
Daniel Silverstone
6d7357e2cb Merge 2818:HEAD of branches/dsilvers/gtk-bitmap-pretile
svn path=/trunk/netsurf/; revision=2824
2006-08-09 15:06:14 +00:00
Rob Kendrick
000f7502ba Make image resampling optional in nsgtk
svn path=/trunk/netsurf/; revision=2794
2006-07-23 22:44:42 +00:00
Rob Kendrick
18d84f0c10 Make Cairo rendering a run-time option in nsgtk - also add infrastructure for nsgtk-specific options.
svn path=/trunk/netsurf/; revision=2793
2006-07-23 22:32:33 +00:00
Richard Wilson
a47f148f2d Optimise out redundant group_start and group_end calls (speed up rendering.)
svn path=/trunk/netsurf/; revision=2725
2006-07-10 09:52:31 +00:00
Rob Kendrick
6b63e72272 [project @ 2006-03-31 10:50:14 by rjek]
GTK dotted line plotting improvements

svn path=/import/netsurf/; revision=2483
2006-03-31 10:50:14 +00:00
Daniel Silverstone
d7447adc6c [project @ 2006-03-26 16:36:20 by dsilvers]
Fix plotters to use system colormap to save widget ranting when rendering history thumbnails

svn path=/import/netsurf/; revision=2177
2006-03-26 16:36:20 +00:00
Rob Kendrick
556072e994 [project @ 2006-03-25 23:53:34 by rjek]
Misc GTK thumbnailing fixes

svn path=/import/netsurf/; revision=2167
2006-03-25 23:53:34 +00:00
Rob Kendrick
b82d35b061 [project @ 2006-03-25 23:31:41 by rjek]
Initial GTK thumbnail rendering implementation (still gets fonts too big)

svn path=/import/netsurf/; revision=2166
2006-03-25 23:31:42 +00:00
Rob Kendrick
f6197574b6 [project @ 2006-03-23 13:51:39 by rjek]
Dashed and dotted line and rectangle drawing in GDK/Cairo plotters

svn path=/import/netsurf/; revision=2155
2006-03-23 13:51:39 +00:00
Rob Kendrick
4e48ad2f07 [project @ 2006-03-23 04:37:53 by rjek]
Use higher quality dither in GTK image plotting

svn path=/import/netsurf/; revision=2153
2006-03-23 04:37:53 +00:00
Rob Kendrick
388ce7b8c4 [project @ 2006-03-21 17:22:41 by rjek]
Radio and checkbox widgets are now 3D, and implemented arc plotting for them

svn path=/import/netsurf/; revision=2145
2006-03-21 17:22:41 +00:00
Rob Kendrick
9f4a79dda1 [project @ 2006-03-20 17:39:39 by rjek]
Minor Cairo colour selection and line drawing improvements

svn path=/import/netsurf/; revision=2143
2006-03-20 17:39:39 +00:00
Rob Kendrick
dd6bb64347 [project @ 2006-03-20 10:56:54 by rjek]
Source cleanup and true/false to TRUE/FALSE conversion for GTK plotters

svn path=/import/netsurf/; revision=2142
2006-03-20 10:56:54 +00:00
Rob Kendrick
f519569474 [project @ 2006-03-19 23:56:52 by rjek]
Cairo area clipping, and misc fixups in GTK plotters

svn path=/import/netsurf/; revision=2141
2006-03-19 23:56:52 +00:00
Rob Kendrick
5c7b5d81ad [project @ 2006-03-19 21:44:22 by rjek]
Some Cairo line thickness related fixes

svn path=/import/netsurf/; revision=2139
2006-03-19 21:44:22 +00:00
Rob Kendrick
1af8434032 [project @ 2006-03-19 20:53:46 by rjek]
Some GTK plotters now use Cairo if it is available for higher render quality

svn path=/import/netsurf/; revision=2137
2006-03-19 20:53:46 +00:00
Rob Kendrick
1562dd03cb [project @ 2006-03-19 19:03:07 by rjek]
Implemented unfilled disc plotting and GTK disc plotting

svn path=/import/netsurf/; revision=2136
2006-03-19 19:03:07 +00:00
Daniel Silverstone
2a6b4b79b0 [project @ 2006-03-14 22:14:02 by dsilvers]
Fix anchoring and repeats for gtk repeated bitmaps

svn path=/import/netsurf/; revision=2131
2006-03-14 22:14:02 +00:00
Daniel Silverstone
e761d87f35 [project @ 2006-03-14 21:14:17 by dsilvers]
Add tiled bitmap support to GTK port to make backgrounds etc work

svn path=/import/netsurf/; revision=2130
2006-03-14 21:14:17 +00:00
Daniel Silverstone
22d208e107 [project @ 2006-03-10 02:03:56 by dsilvers]
Remove some unnecessary debug from GTK frontend

svn path=/import/netsurf/; revision=2119
2006-03-10 02:03:56 +00:00
Daniel Silverstone
b58c92b030 [project @ 2006-03-10 01:42:21 by dsilvers]
Make sure zero width/height images don't crash the gtk renderer

svn path=/import/netsurf/; revision=2117
2006-03-10 01:42:21 +00:00
James Bursa
10291d72b3 [project @ 2005-12-19 22:50:23 by bursa]
Add headers and get rid of all externs in .c files.

svn path=/import/netsurf/; revision=1901
2005-12-19 22:50:23 +00:00
James Bursa
8550695710 [project @ 2005-02-27 16:03:02 by bursa]
Fix the GTK build.

svn path=/import/netsurf/; revision=1527
2005-02-27 16:03:02 +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
ed05aa87f8 [project @ 2004-12-25 11:37:35 by bursa]
Fix line endings.

svn path=/import/netsurf/; revision=1409
2004-12-25 11:37:35 +00:00
John Mark Bell
963c3766d5 [project @ 2004-10-20 23:31:31 by jmb]
Reimplement draw groups

svn path=/import/netsurf/; revision=1332
2004-10-20 23:31:32 +00:00
James Bursa
892a348b73 [project @ 2004-10-17 21:51:06 by bursa]
Update to use plotters for HTML redraw.

svn path=/import/netsurf/; revision=1322
2004-10-17 21:51:06 +00:00