Commit Graph

71 Commits

Author SHA1 Message Date
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
8365d46eb7 Rename TRANSPARENT to NS_TRANSPARENT to avoid clash on Windows. By MarkieB.
svn path=/trunk/netsurf/; revision=8513
2009-07-14 10:57:07 +00:00
Vincent Sanders
86232d72a6 next round of plotter refactor
svn path=/trunk/netsurf/; revision=8512
2009-07-14 10:03:58 +00:00
Vincent Sanders
680298e61c plotters line refactor
svn path=/trunk/netsurf/; revision=8446
2009-07-10 18:36:49 +00:00
Vincent Sanders
f9ecd56f62 ploter refactor of rectangle handling
svn path=/trunk/netsurf/; revision=8399
2009-07-08 22:04:40 +00:00
Vincent Sanders
0ade453958 Refactor fill plotter to take a style
svn path=/trunk/netsurf/; revision=8332
2009-07-05 20:10:17 +00:00
Vincent Sanders
1165edf662 remove redundant clg call
svn path=/trunk/netsurf/; revision=8240
2009-07-01 13:53:06 +00:00
Vincent Sanders
aa26843411 Improve bitmap plotter API
svn path=/trunk/netsurf/; revision=8195
2009-06-30 13:02:23 +00:00
John Mark Bell
6dd385591d NETSURF_USE_DRAW should apply to the Draw content handler only.
Introduce NETSURF_USE_DRAW_EXPORT to toggle draw export support.
Fix up a bunch of stuff related to this.
Fix warnings caused by disabling the Sprite renderer.

svn path=/trunk/netsurf/; revision=7899
2009-06-20 19:38:56 +00:00
John Mark Bell
3cdd5810ad Squash warnings
svn path=/trunk/netsurf/; revision=6920
2009-03-27 02:01:34 +00:00
John Tytgat
fbf6d4cd41 - Constify parameters of struct plotter_table::polygon and struct plotter_table::path
- riscos/save_draw.c(ro_save_draw_plotters): Make it static.
- desktop/save_pdf/pdf_plotters.c(pdf_plot_path): fix broken implementation (coordinates path were wrong, no clip/text mode update, transformation matrix was overwritten); only update fill and/or 
stroke color when fill and/or stroke is done.
  (pdf_begin): disable compression when PDF_DEBUG is set

svn path=/trunk/netsurf/; revision=6361
2009-02-03 01:27:54 +00:00
John Tytgat
4be25b2951 Update my e-mail address.
svn path=/trunk/netsurf/; revision=4908
2008-08-05 01:30:31 +00:00
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
23a5467178 Use static for variables local to one source file.
svn path=/trunk/netsurf/; revision=4812
2008-07-29 23:19:24 +00:00
John Tytgat
86f4561e4c ro_save_draw_rectangle(): draw_CLOSE_LINE doesn't need parameters. This potentionally fixes SF #2010390 & #1927130.
svn path=/trunk/netsurf/; revision=4782
2008-07-28 22:42:33 +00:00
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
James Bursa
70c7b81c2f Improve MNG error handling to show error code. Fix code not expecting bitmap_get_buffer() to return 0.
svn path=/trunk/netsurf/; revision=4237
2008-06-01 00:15:53 +00:00
James Bursa
5fdbe77e3e Implement ro_save_draw_path() to enable Draw export of SVGs.
svn path=/trunk/netsurf/; revision=3666
2007-12-11 04:07:35 +00:00
James Bursa
f386520ff2 Add empty path plotters to stop crashes.
svn path=/trunk/netsurf/; revision=3653
2007-11-29 05:50:21 +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
Michael Drake
ba23e4b693 Update project URL.
svn path=/trunk/netsurf/; revision=3073
2006-11-27 15:35:18 +00:00
Adrian Lees
7aaa33d2e5 Fix for knockout rendering of native formats
svn path=/trunk/netsurf/; revision=2869
2006-08-19 19:31:07 +00:00
Rob Kendrick
07f691b326 [project @ 2006-03-21 18:20:07 by rjek]
Remove unwanted ; from drawfile saving code

svn path=/import/netsurf/; revision=2147
2006-03-21 18:20:07 +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
John Mark Bell
f7a178d62f [project @ 2006-03-19 21:27:54 by jmb]
Fixup _disc API

svn path=/import/netsurf/; revision=2138
2006-03-19 21:27:54 +00:00
John Mark Bell
c57f07a5cd [project @ 2006-03-04 20:50:12 by jmb]
Ensure bitmap is in memory

svn path=/import/netsurf/; revision=2106
2006-03-04 20:50:12 +00:00
James Bursa
7856e32d13 [project @ 2005-11-24 23:46:31 by bursa]
Include images in exported DrawFiles.

svn path=/import/netsurf/; revision=1884
2005-11-24 23:46:31 +00:00
James Bursa
4f56dac958 [project @ 2005-11-20 20:16:08 by bursa]
Rewrite DrawFile export completely. Text is now exported again. Images are not yet exported.

svn path=/import/netsurf/; revision=1880
2005-11-20 20:16:08 +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
Richard Wilson
f559054c1a [project @ 2005-06-23 17:24:23 by rjw]
Allow images to be unloaded to disk or compressed in memory. Provide thumbnails in all tree windows (hotlist, history). Optimise the application initialisation times. Part 2 of 2.

svn path=/import/netsurf/; revision=1762
2005-06-23 17:24:23 +00:00
Adrian Lees
89993a5bf2 [project @ 2005-04-15 05:54:44 by adrianl]
Text selection, page drag scrolling, drag-saving images and a few SaveAs improvements

svn path=/import/netsurf/; revision=1640
2005-04-15 05:54:44 +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
062e6a5bae [project @ 2005-03-20 20:39:22 by jmb]
Fix draw_plot_rectangle API

svn path=/import/netsurf/; revision=1557
2005-03-20 20:39:22 +00:00
James Bursa
65b5ae0f8f [project @ 2005-02-20 13:19:19 by bursa]
Font rewrite, part 3. Note that Draw export and printing are broken by these changes.

svn path=/import/netsurf/; revision=1519
2005-02-20 13:19:19 +00:00
John Mark Bell
be3ce1f3a9 [project @ 2004-10-25 22:42:36 by jmb]
Fix silly line plotting bug.
Fix stupidly large bounding boxes when plotting polygons.
Tidy up filled rectangle plotting.

svn path=/import/netsurf/; revision=1335
2004-10-25 22:42:36 +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
John Mark Bell
33d905ce7f [project @ 2004-10-20 22:22:25 by jmb]
Fix bbox issue when plotting lines.
Reinstate background colour rectangles (positioning's a bit off vertically)

svn path=/import/netsurf/; revision=1331
2004-10-20 22:22:25 +00:00
John Mark Bell
5b22657606 [project @ 2004-10-20 09:52:43 by jmb]
Rewrite such that it now uses plotters.
Things that need fixing:
 - draw_plot_(line,rectangle) needs line pattern support (everything's solid
   for now)
There's a couple of regressions, too:
  - page background colour is lost (plotting a filled rectangle of colour
    in draw_clg breaks some sites. This may require some sort of clipping)
  - there's no grouping of objects any more (sorry joty). I'm not entirely
    sure of the best way of going about this, as we no longer have box data.

svn path=/import/netsurf/; revision=1329
2004-10-20 09:52:43 +00:00
Richard Wilson
403f12872d [project @ 2004-10-04 23:54:42 by rjw]
Moved GIF file reading to image/, optimisation of plotting for GIFs, JNGs, PNGs and JPEGs, initial work for toolbar customisation. Possibly some other things too.

svn path=/import/netsurf/; revision=1301
2004-10-04 23:54:42 +00:00
John Mark Bell
101c87958d [project @ 2004-09-04 16:41:28 by jmb]
Fix jpeg redraw
Move png.c/h to /image and rework to use the bitmap code
Make RISC OS bitmap struct publically accessible (via riscos/bitmap.h)
Draw export now embeds JPEGs and PNGs/MNGs/JNGs correctly again.
Background images are now plotted correctly again.

svn path=/import/netsurf/; revision=1268
2004-09-04 16:41:28 +00:00
James Bursa
3371a27391 [project @ 2004-09-03 22:44:47 by bursa]
Add generic bitmap functions. Move jpeg and mng code from riscos/ to image/ and update to use bitmap. Note: background tiling and drawfile export for jpeg and mng/png are broken.

svn path=/import/netsurf/; revision=1265
2004-09-03 22:44:48 +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
bc727dda1c [project @ 2004-08-11 19:02:32 by bursa]
Start work on removing instances and making content types non-shareable. Clean up some #includes.

svn path=/import/netsurf/; revision=1211
2004-08-11 19:02:32 +00:00
John Mark Bell
912d09b1cb [project @ 2004-08-11 16:26:13 by jmb]
Make content_redraw return a bool
Printing of foreground images now uses OS_SpriteOp
Printing of background images disabled
Mega-paranoid SWI result checking in htmlredraw.c
Rearranged GIF data structure slightly - updates to reflect this.
Other stuff I've probably forgotten

svn path=/import/netsurf/; revision=1208
2004-08-11 16:26:13 +00:00
John Tytgat
94103b8c96 [project @ 2004-08-08 11:45:28 by joty]
Minor change : update comment + explicit cast.

svn path=/import/netsurf/; revision=1194
2004-08-08 11:45:28 +00:00
Richard Wilson
b7bb766e95 [project @ 2004-07-16 19:47:02 by rjw]
Fix for hotlist menu selection. Interface for MNG/JNG display.

svn path=/import/netsurf/; revision=1083
2004-07-16 19:47:03 +00:00
John Tytgat
bce89473cc [project @ 2004-07-14 19:38:05 by joty]
Lose GCC compiler warnings.

svn path=/import/netsurf/; revision=1078
2004-07-14 19:38:05 +00:00
John Tytgat
4f0e75a515 [project @ 2004-07-14 19:18:30 by joty]
- More accurate Draw file generation (like better radio & checkbox, borders, etc)
- Draw grouping
- Removed all Norcroft warnings.

svn path=/import/netsurf/; revision=1077
2004-07-14 19:18:30 +00:00