Commit Graph

42 Commits

Author SHA1 Message Date
Vincent Sanders aa26843411 Improve bitmap plotter API
svn path=/trunk/netsurf/; revision=8195
2009-06-30 13:02:23 +00:00
Chris Young 0e880815f7 Custom apha-supporting backfill hook for tiled bitmaps that require it.
svn path=/trunk/netsurf/; revision=7553
2009-05-26 22:39:23 +00:00
Chris Young 772bbec9e8 Super whizzy fast shiny new tile plotter
Massively speeds up www.amigaimpact.org, slight improvement on other sites.
Unfortunately alpha plotting on tiled btimaps is broken again (makes amigaworld.net
difficult to read).
May need to reimplement the old tile plotter for alpha bitmaps only, or write my own
alpha-supporting backfill hook

svn path=/trunk/netsurf/; revision=7550
2009-05-26 19:02:51 +00:00
Chris Young 14a6c56748 CompositeTags() was clipping one pixel too close.
svn path=/trunk/netsurf/; revision=7432
2009-05-07 22:40:52 +00:00
Chris Young e7cbf49fb9 Some optimisations, makes page rendering much quicker at least on OS4.1.
svn path=/trunk/netsurf/; revision=7431
2009-05-07 18:40:33 +00:00
Chris Young ed40acf873 Don't bother plotting bitmaps that are completely out of the clip zone.
svn path=/trunk/netsurf/; revision=7401
2009-05-05 19:51:25 +00:00
Chris Young 16d7252eac Sync full Cairo build with GTK Cairo plotters
(this was in the previous commit with a copy'n'paste error)

svn path=/trunk/netsurf/; revision=7022
2009-04-01 17:40:09 +00:00
Chris Young 853793eaa8 Remove option_quick_text (local charset text printing)
svn path=/trunk/netsurf/; revision=7021
2009-04-01 17:36:18 +00:00
Chris Young 0bdcf4b8e2 Implement thumbnail creation
svn path=/trunk/netsurf/; revision=6736
2009-03-08 17:41:24 +00:00
Chris Young cbae6a91dd Stop local history from crashing, display mostly works (no thumbnails and offset wrong
to window), no event handling other than closing the window.

svn path=/trunk/netsurf/; revision=6730
2009-03-08 12:52:44 +00:00
Chris Young caf41b6b19 Stop images disappearing when they are half-way off the screen.
svn path=/trunk/netsurf/; revision=6621
2009-02-25 20:37:41 +00:00
Chris Young 10d3cff743 Fix memory leak and make freeing bitmaps that might be cached a little safer.
svn path=/trunk/netsurf/; revision=6620
2009-02-25 20:09:33 +00:00
Chris Young 781405d195 Move native bitmap creation/caching routine into bitmap.c
svn path=/trunk/netsurf/; revision=6619
2009-02-25 19:56:04 +00:00
Chris Young a61d0fa753 The native bitmap caching was eating memory, this should be correct now.
svn path=/trunk/netsurf/; revision=6616
2009-02-25 00:26:46 +00:00
Chris Young 2f36c12acd Optimise tile plotter
svn path=/trunk/netsurf/; revision=6615
2009-02-24 23:47:58 +00:00
Chris Young a588aa92c9 Enable/disable caching of native bitmaps in gfx board mem
svn path=/trunk/netsurf/; revision=6393
2009-02-07 10:45:58 +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
Chris Young 7098d2850d Fix screen clears
svn path=/trunk/netsurf/; revision=6026
2009-01-10 21:32:12 +00:00
Chris Young 96c314750f More efficient layers clipping
svn path=/trunk/netsurf/; revision=5945
2008-12-29 01:18:53 +00:00
Chris Young e56aabc998 Complete set of Cairo plotters (from gtk_plotters.c).
All except the polygon plotter - as the graphics.library implementation has problems -
are disabled, but can be enabled by defining NS_AMIGA_CAIRO_ALL.

Using only the Cairo plotters is much slower than using only the graphics.library
plotters (especially clipping which is adding several seconds to rendering with Cairo)
and the default "mixed" Cairo state is the recommended configuration for now.

svn path=/trunk/netsurf/; revision=5944
2008-12-29 00:52:19 +00:00
Chris Young 605cf900b4 Some bitmap caching - not making much difference and using up a lot of gfx mem, may
need to make this a configurable option.

svn path=/trunk/netsurf/; revision=5943
2008-12-28 15:55:52 +00:00
Chris Young 495fa6c648 Minor changes for Amiga Cairo build
svn path=/trunk/netsurf/; revision=5940
2008-12-28 12:24:18 +00:00
Chris Young fcf46a91b6 SVG support for Amiga version using libsvgtiny and libcairo
Cairo plotter for arcs

Cairo support is experimental and can be enabled with option NETSURF_AMIGA_USE_CAIRO
For some reason linking against shared objects breaks forms.

svn path=/trunk/netsurf/; revision=5939
2008-12-28 00:41:35 +00:00
Chris Young 47e12b16f8 Missed one
svn path=/trunk/netsurf/; revision=5937
2008-12-27 18:39:16 +00:00
Chris Young 9b79c1c6a4 Handle opaqueness a bit
Appears that Composite() has the same problem as BitMapScale() in that trying to scale
to a negative co-ordinate destination doesn't work.  Still seems a bit faster after
adding the additional blit, although www.bbc.co.uk scrolls at a snail's pace since
adding alpha blits.


svn path=/trunk/netsurf/; revision=5936
2008-12-27 18:34:55 +00:00
Chris Young b4e80b4d3a Respect alpha channel in bitmaps, and use Composite() instead of BitMapScale() under
OS4.1 (potentially a little quicker).

svn path=/trunk/netsurf/; revision=5925
2008-12-26 18:36:53 +00:00
Chris Young b682523066 Minor improvements to output.
svn path=/trunk/netsurf/; revision=5905
2008-12-13 23:20:49 +00:00
Chris Young 5737ea10b2 Fix bitmap tile plotter so tiled bitmaps continue out of the inital visible area.
svn path=/trunk/netsurf/; revision=5899
2008-12-10 23:31:33 +00:00
Chris Young 2f4beda48c Complete (but quite minimal at the moment) context menu implementation for AmigaOS:
Links, objects and upload file boxes have their own menu item or submenu.

Context menus can be enable/disabled and be made "sticky" with the following options:
context_menu
sticky_context_menu

Seperated clipboard related code out to clipboard.c to make it easier to maintain and
add the ability to copy URLs to the clipboard.  Copying images to the clipboard will
come later.


svn path=/trunk/netsurf/; revision=5629
2008-10-25 16:37:08 +00:00
Chris Young 307b88e934 Fixed bitmap tile plotter
svn path=/trunk/netsurf/; revision=5601
2008-10-19 13:44:01 +00:00
Chris Young 946115fa76 Stop scaled bitmaps from disappearing completely when the top of the image is
partially off-screen.  Hopefully this also fixes some system freezes caused by this
code when run under OS4.1 on the SAM440.

svn path=/trunk/netsurf/; revision=5455
2008-09-28 14:39:02 +00:00
Chris Young 713d3d365a Experimental treeview implementation using listbrowser.gadget.
svn path=/trunk/netsurf/; revision=5447
2008-09-27 20:55:11 +00:00
Chris Young 7d93524509 Fix screen clear bug - now plain text files are readable.
svn path=/trunk/netsurf/; revision=5379
2008-09-20 14:06:28 +00:00
Chris Young 277262bf46 Added support for scaling bitmaps, filled polygons, filled circles and clipping.
Fixes major display issues with eg. www.bbc.co.uk amongst others.

svn path=/trunk/netsurf/; revision=5221
2008-08-30 16:57:35 +00:00
Chris Young 889648aa4d Convert UTF-8 text to local charset before printing to screen
svn path=/trunk/netsurf/; revision=5184
2008-08-23 16:17:23 +00:00
Chris Young f071afe243 Code cleanup.
svn path=/trunk/netsurf/; revision=5167
2008-08-21 21:42:48 +00:00
Chris Young 61294f493e Close fonts properly and default back to initial RastPort font.
svn path=/trunk/netsurf/; revision=5136
2008-08-17 16:22:40 +00:00
Chris Young f71f8f82a1 Implemented line styles and widths
svn path=/trunk/netsurf/; revision=5131
2008-08-15 18:49:14 +00:00
Chris Young 058fcac225 Added code to set correct font.
svn path=/trunk/netsurf/; revision=4986
2008-08-10 09:57:41 +00:00
Chris Young 82cc44fc4e Corrected bitmap plotter RGB format.
svn path=/trunk/netsurf/; revision=4949
2008-08-07 19:05:44 +00:00
Chris Young 394263bb2f Basic plotter functions and support code for the plotters.
svn path=/trunk/netsurf/; revision=4948
2008-08-07 18:44:28 +00:00
Chris Young 26203b2215 Initial Amiga port files, mostly empty stub functions.
svn path=/trunk/netsurf/; revision=4864
2008-08-02 14:31:32 +00:00