Commit Graph

236 Commits

Author SHA1 Message Date
François Revel 0f4e37d496 C89.
svn path=/trunk/netsurf/; revision=12767
2011-09-06 22:21:33 +00:00
Vincent Sanders e471efa096 make the image_cache cleaner less brain dead
svn path=/trunk/netsurf/; revision=12766
2011-09-06 22:01:47 +00:00
Michael Drake 95a38c1274 Add more cache stats.
svn path=/trunk/netsurf/; revision=12741
2011-09-05 17:25:08 +00:00
Michael Drake 4e2a0bbc45 Count total number of images that were not rendered and log on exit.
svn path=/trunk/netsurf/; revision=12740
2011-09-05 16:14:25 +00:00
Vincent Sanders b051cf466f Add Image cache and inegrate png and jpeg content handlers
Current periodic cache clean algorithm is poor and requires replacing with something suitable (probably a segregated LRU)
The speculative load algorithm is likewise poor and only uses the image size to make a decision.

svn path=/trunk/netsurf/; revision=12720
2011-09-04 23:50:14 +00:00
John Mark Bell 9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Vincent Sanders 2348b13492 refactor bitmap out of generic content structure
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +00:00
Vincent Sanders cd554e6f1e make image content handlers build conditional from teh makefile
svn path=/trunk/netsurf/; revision=12673
2011-08-28 14:29:15 +00:00
Vincent Sanders 81c52ad494 Initial image content handler refactor
svn path=/trunk/netsurf/; revision=12671
2011-08-27 08:43:51 +00:00
Chris Young d7d48c34e6 Redirect non-fatal errors to the NetSurf log
svn path=/trunk/netsurf/; revision=12633
2011-07-31 11:19:52 +00:00
John Mark Bell 63cc03a5dc Fix GCC 4.6 warnings in core
svn path=/trunk/netsurf/; revision=12629
2011-07-26 21:30:38 +00:00
John Mark Bell dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell c54b6aabaa Direct access of png_structp members is deprecated
svn path=/trunk/netsurf/; revision=12594
2011-07-07 22:41:23 +00:00
Michael Drake eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake 3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake 6ed9b1de8b Fix warnings.
svn path=/trunk/netsurf/; revision=12472
2011-06-13 11:02:27 +00:00
Chris Young 91427fdfdb Redirect libpng errors to the standard NetSurf logfile
svn path=/trunk/netsurf/; revision=12471
2011-06-12 18:04:09 +00:00
Vincent Sanders 83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Michael Drake 0929aa897b Fix tiled redraw of SVGs.
svn path=/trunk/netsurf/; revision=12340
2011-05-09 13:02:22 +00:00
Michael Drake cbc2a9470f Wrap macro.
svn path=/trunk/netsurf/; revision=12339
2011-05-09 12:17:55 +00:00
Michael Drake 2fbce3df3f Wrap fix.
svn path=/trunk/netsurf/; revision=12338
2011-05-09 10:05:10 +00:00
Michael Drake 901ef07a95 Untested fix and tile implementation for nssprite.
svn path=/trunk/netsurf/; revision=12329
2011-05-09 08:23:01 +00:00
Michael Drake 41d2df4f5c Untested fix and tile implementation for webp.
svn path=/trunk/netsurf/; revision=12328
2011-05-09 08:15:38 +00:00
Michael Drake 8bb723a746 Fix MNG content handler.
svn path=/trunk/netsurf/; revision=12327
2011-05-09 08:11:06 +00:00
Michael Drake 94bcee728b Fix declaration too.
svn path=/trunk/netsurf/; revision=12326
2011-05-09 08:10:27 +00:00
Michael Drake 8a74107c36 Fix image/svg.c build.
svn path=/trunk/netsurf/; revision=12325
2011-05-09 08:03:36 +00:00
Vincent Sanders 8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
Vincent Sanders 658cd31311 clean up jpeg image handling ready for refactor
svn path=/trunk/netsurf/; revision=12311
2011-05-08 15:14:21 +00:00
Vincent Sanders f2e8be9fe7 Cleanup png code
only use the bitmap pointer in the png content the one in teh base content seems extraneous for png.

svn path=/trunk/netsurf/; revision=12304
2011-05-07 23:35:57 +00:00
John Mark Bell e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Chris Young 0d534e8c47 Fix compilation
svn path=/trunk/netsurf/; revision=12118
2011-03-21 20:28:33 +00:00
Chris Young 7ec2cc7f8e Update to use official libwebp 0.1
Remove libvpx references as no longer needed.

svn path=/trunk/netsurf/; revision=12115
2011-03-20 23:32:44 +00:00
John Mark Bell 408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone 93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Michael Drake 06ff431df7 Handle scaling of text plots in core.
svn path=/trunk/netsurf/; revision=11935
2011-03-08 18:47:15 +00:00
Michael Drake 6c758cd298 Cast unsigned gif coords to signed, for comparison.
svn path=/trunk/netsurf/; revision=11892
2011-03-02 21:09:28 +00:00
John Mark Bell 86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
John Mark Bell f42ed976e5 Constify
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +00:00
Michael Drake bdfda9d146 Remove dead function.
svn path=/trunk/netsurf/; revision=11671
2011-02-13 22:32:33 +00:00
Michael Drake fe7921a387 Pass clip rect as struct through content_redraw api. Update the front ends to use this. Note only RO build tested.
svn path=/trunk/netsurf/; revision=11670
2011-02-13 22:25:11 +00:00
John Mark Bell 13d2e98c99 Use component-based r/b swap, instead of up-casting
svn path=/trunk/netsurf/; revision=11595
2011-02-01 21:47:05 +00:00
John Mark Bell 0818ae160e Remove unnecessary assertion (we've already handled the NULL case)
svn path=/trunk/netsurf/; revision=11265
2011-01-09 13:02:03 +00:00
Daniel Silverstone e6f33ef6ef Add cheating redraw bypass for gifs, so we can cause animation updates
svn path=/trunk/netsurf/; revision=11241
2011-01-07 13:09:53 +00:00
Chris Young 66ccdd3efa Simplify
svn path=/trunk/netsurf/; revision=10889
2010-10-16 14:46:41 +00:00
Chris Young 49b70147d1 Make properly endian-safe
Fix warnings

svn path=/trunk/netsurf/; revision=10888
2010-10-16 14:37:37 +00:00
Chris Young b0da0e5067 Fix WebP images for little-endian processors, and enable for gtk build.
Direct links work, images embedded in web pages are not showing up -
test page at http://www.unsatisfactorysoftware.co.uk/netsurf/webptest/

svn path=/trunk/netsurf/; revision=10886
2010-10-16 13:50:35 +00:00
Chris Young c0b63c111b WebP image support, needs libwebp (from trunk/libwebp) and libvpx.
Only enabled for Amiga build currently, may have colour issues on little-endian CPUs

svn path=/trunk/netsurf/; revision=10860
2010-10-03 20:41:31 +00:00
John Mark Bell e51ea4e0ee Document the bitmap format properly.
svn path=/trunk/netsurf/; revision=10623
2010-07-09 21:11:06 +00:00
John Mark Bell 05c035d7aa Remove bogus assertion
svn path=/trunk/netsurf/; revision=10584
2010-06-27 16:44:48 +00:00
John Mark Bell 48ba03d6ca Remove erroneous assertion: there may be no bitmap object if there was no PNG data.
svn path=/trunk/netsurf/; revision=10540
2010-05-01 11:36:44 +00:00
John Mark Bell 79ce683b4e Most of a stop implementation.
Remaining work:
  1) Clone content_html_data
  2) Cloning content_css_data requires the charset of the old content
  3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.

svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell 43a99ab683 Constify data parameter to *_process_data
svn path=/trunk/netsurf/; revision=10234
2010-04-03 16:37:36 +00:00
John Mark Bell 4839adaff3 Don't leak bitmap
svn path=/trunk/netsurf/; revision=10233
2010-04-03 12:19:20 +00:00
John Mark Bell 49810d8191 Use mutator to modify content's title field.
svn path=/trunk/netsurf/; revision=10231
2010-04-03 11:55:28 +00:00
Chris Young 07537e5240 Fix compilation when building WITH_NS_SVG
svn path=/trunk/netsurf/; revision=10213
2010-03-30 18:12:21 +00:00
John Mark Bell b794d694d3 It probably helps to invert the done_parse flag
svn path=/trunk/netsurf/; revision=10209
2010-03-30 07:09:49 +00:00
John Mark Bell 9aca901eb1 The convert stage of a content's state progression no longer reflows the content to the provided dimensions.
It is now defined as converting the content into a state in which it is ready for use.
The user of the content is now responsible for performing an initial reformat (sic) of the content before it can be redrawn.

Purge width/height parameters from hlcache_handle_retrieve/content_convert/*_convert APIs.
Fix up content handlers affected by the above change in semantics.
Ensure that browser_window_callback performs an initial reformat of its content.

svn path=/trunk/netsurf/; revision=10207
2010-03-29 22:33:21 +00:00
Chris Young 5b5e15c845 Fix for new-cache
svn path=/trunk/netsurf/; revision=10195
2010-03-28 22:11:30 +00:00
Daniel Silverstone 270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
François Revel 093d9567f1 Accomodate for antique versions of libpng (as found with the BeOS R5 devkit), which either:
- don't define the png_jmpbuf macro,
- have a different name for png_set_expand_gray_1_2_4_to_8().

svn path=/trunk/netsurf/; revision=10069
2010-02-17 22:25:03 +00:00
Vincent Sanders 36ea272a37 change include ordering to ensure all types are available on all platforms
svn path=/trunk/netsurf/; revision=9926
2010-01-28 20:17:02 +00:00
Vincent Sanders b3ba443c64 update png handler to not use deprecated/removed call.
improve type usage to avoid incompatible pointer type warnings on newer libpng versions.

svn path=/trunk/netsurf/; revision=9921
2010-01-28 10:11:31 +00:00
Vincent Sanders 8e1b4a0061 fix box_dump call
fix spurious newlines in log message

svn path=/trunk/netsurf/; revision=9919
2010-01-28 00:03:44 +00:00
John Mark Bell 3c3536fd68 Add missing include
svn path=/trunk/netsurf/; revision=9857
2010-01-21 23:46:28 +00:00
John Mark Bell 355799ce0b Merge branches/MarkieB/gtkmain to trunk.
svn path=/trunk/netsurf/; revision=9729
2009-12-17 23:55:02 +00:00
Chris Young 8e58c63c99 Revert r9108, as component order in libnsgif due to be corrected.
svn path=/trunk/netsurf/; revision=9137
2009-08-09 21:37:20 +00:00
Chris Young d197e03bf2 Support new libnsgif by adding bitmap flag BITMAP_ABGR.
This tells big endian systems that the data is in ABGR instead of RGBA.
It should be ignored on little endian systems!
Add support in Amiga platform code.

-> All platform code that could be compiled for big endian systems will need
   to be updated to recognise BITMAP_ABGR.  This includes GTK and
   Framebuffer frontends.  Both BITMAP_ABGR *and* the endianness of the host
   will most likely need to be checked and the allocated bitmap format
   and/or bitmap plotter changed to handle ABGR component order.

svn path=/trunk/netsurf/; revision=9108
2009-08-07 21:16:49 +00:00
John Mark Bell 3128ec1cdc Actually handle failure to allocate bitmap structure or retrieve its data buffer pointer. I hope these longjmps are valid -- libpng's documentation is unhelpfully vague on this subject.
svn path=/trunk/netsurf/; revision=8924
2009-07-31 14:01:49 +00:00
John Mark Bell 3dd350a5ea Correct include.
svn path=/trunk/netsurf/; revision=8757
2009-07-23 23:50:35 +00:00
John Mark Bell ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
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
John Mark Bell 7e01924ecf Bring in line with new bitmap plotter API
svn path=/trunk/netsurf/; revision=8216
2009-07-01 00:20:24 +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 2ba7092933 Correctly propagate plot success
svn path=/trunk/netsurf/; revision=7611
2009-05-28 16:21:32 +00:00
John Mark Bell a96fe992ab Avoid unused variable if targetting RISC OS and the jpeg library has been built to output BGR.
svn path=/trunk/netsurf/; revision=6978
2009-03-29 00:17:01 +00:00
John Mark Bell 8468bbbb2d Aliasing fixes
svn path=/trunk/netsurf/; revision=6961
2009-03-28 01:27:44 +00:00
John Mark Bell 8f25d44891 Squash warning.
svn path=/trunk/netsurf/; revision=6935
2009-03-27 02:47:16 +00:00
John Mark Bell d4bdb0882a Don't include libmng.h from mng.h, as it causes jconfig.h to be seen, which in turn causes HAVE_STDLIB_H to be defined, which clashes with the definition of hpdf_config.h. Quite why the auto-generated configuration header for either jpeglib or libharu needs to be public, I've no idea.
The above change means that the mng_handle field in content_mng_data is a void *.
Fixup the couple of places in mng.c where the mng_handle field needs casting back to its real type. Also take the opportunity to make linewrapping and brace position more consistent.

svn path=/trunk/netsurf/; revision=6918
2009-03-27 01:58:55 +00:00
John Mark Bell 07e1187b69 Add .spr -> image/x-riscos-sprite MIME mapping to GTK front end
Fix crash inducing bugs in nssprite.c

svn path=/trunk/netsurf/; revision=6743
2009-03-09 00:58:23 +00:00
Michael Drake 8dfdd67e87 Make libpng image handler set opaque info.
svn path=/trunk/netsurf/; revision=6669
2009-03-02 18:24:54 +00:00
Chris Young 95039df607 If a GIF has insufficient frame data, display the frames that have been decoded.
svn path=/trunk/netsurf/; revision=5947
2008-12-30 13:23:36 +00:00
François Revel 53fe38504f C89
svn path=/trunk/netsurf/; revision=5837
2008-11-29 22:53:58 +00:00
François Revel e4fba7f577 Add missing calls to bitmap_modified(). This fixes using libpng in the BeOS port.
svn path=/trunk/netsurf/; revision=5532
2008-10-10 20:54:49 +00:00
Daniel Silverstone 6a9f156fc6 Fix format string warning error
svn path=/trunk/netsurf/; revision=5528
2008-10-10 09:50:42 +00:00
Rob Kendrick 9343a94193 Warning squashes
svn path=/trunk/netsurf/; revision=5527
2008-10-10 09:47:52 +00:00
Daniel Silverstone 0a580aa82d Ensure image/png.h gets css/css.h for the colour typedef
svn path=/trunk/netsurf/; revision=5464
2008-10-01 13:45:40 +00:00
John Tytgat eca332c8d5 Include css/css.h for type colour (following change r5459).
svn path=/trunk/netsurf/; revision=5461
2008-09-28 22:57:31 +00:00
John Tytgat 2d1481fafc 'unsigned long' -> 'colour' where it made sense.
svn path=/trunk/netsurf/; revision=5459
2008-09-28 22:37:13 +00:00
John Tytgat 598b5fbbc1 One warning less.
svn path=/trunk/netsurf/; revision=5451
2008-09-28 13:31:55 +00:00
Michael Drake 03fdf02272 Fix warnings.
svn path=/trunk/netsurf/; revision=5349
2008-09-16 13:45:59 +00:00
John Mark Bell a001437a66 Potentially squash warnings
svn path=/trunk/netsurf/; revision=5341
2008-09-15 23:20:07 +00:00
John Mark Bell 385d274f5b A bunch of fixes to the libpng binding
svn path=/trunk/netsurf/; revision=5338
2008-09-15 22:45:44 +00:00
François Revel 8c2a7e23de Fix include path for libpng.
Libpng mandates using <png.h>, if it doesn't work for you, fix your OS :D
(or use -I)
See http://www.libpng.org/pub/png/libpng-1.2.5-manual.html#section-2

svn path=/trunk/netsurf/; revision=5333
2008-09-15 21:12:48 +00:00
Daniel Silverstone d3270ed648 Add libpng support. Default to off.
svn path=/trunk/netsurf/; revision=5330
2008-09-15 20:23:02 +00:00
Michael Drake 04c04d98b8 More style guide formatting and tidy up.
svn path=/trunk/netsurf/; revision=5195
2008-08-24 15:44:29 +00:00
Michael Drake b346730f4f Fix get_frame to correctly catch up with current frame. Thanks to dynis.
svn path=/trunk/netsurf/; revision=5193
2008-08-24 12:52:38 +00:00
Michael Drake b89e953bc8 Style Guide; formatting changes.
svn path=/trunk/netsurf/; revision=5192
2008-08-24 12:40:35 +00:00
John Mark Bell 9e68e32338 Warnings.squash();
svn path=/trunk/netsurf/; revision=5088
2008-08-13 14:11:05 +00:00
James Bursa 33107b160f Merged revisions 4345-4346,4350-4351,4389,4391,4395,4401-4403,4423,4485-4486 via svnmerge from
svn://semichrome.net/branches/dynis/netsurf

........
  r4345 | dynis | 2008-06-15 18:37:23 -0500 (Sun, 15 Jun 2008) | 1 line
  
  Move NetSurf's gifread.h to libnsgif
........
  r4346 | dynis | 2008-06-15 18:38:38 -0500 (Sun, 15 Jun 2008) | 1 line
  
  Remove NetSurf's gifread.c (replaced by libnsgif)
........
  r4350 | dynis | 2008-06-15 18:57:17 -0500 (Sun, 15 Jun 2008) | 1 line
  
  Added references to libnsgif where necessary; corrected function calls where callbacks were implemented
........
  r4351 | dynis | 2008-06-15 19:00:33 -0500 (Sun, 15 Jun 2008) | 1 line
  
  Updated Makefile to compile with libnsgif
........
  r4389 | dynis | 2008-06-18 13:58:51 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Altered bitmap callback table name for gif images to avoid ambiguity when bmp image library is created
........
  r4391 | dynis | 2008-06-18 14:08:39 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Updated netsurf branch to use new bitmap callback table structure name that was altered in libnsgif
........
  r4395 | dynis | 2008-06-18 14:54:51 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Corrected param comments for bitmap_set_suspendable()
........
  r4401 | dynis | 2008-06-18 18:39:50 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Added references to libnsbmp where necessary; corrected function calls where callbacks were implemented
........
  r4402 | dynis | 2008-06-18 18:40:47 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Updated Makefile to compile with libnsbmp
........
  r4403 | dynis | 2008-06-18 18:41:53 -0500 (Wed, 18 Jun 2008) | 1 line
  
  Remove NetSurf's bmpread.c and bmpread.h (replaced by libnsbmp)
........
  r4423 | dynis | 2008-06-22 14:21:30 -0500 (Sun, 22 Jun 2008) | 1 line
  
  Correct a silly mistake in nsbmp_bitmap_create
........
  r4485 | dynis | 2008-07-01 04:13:48 -0500 (Tue, 01 Jul 2008) | 1 line
  
  Integrated the latest versions of libnsgif and libnsbmp into NetSurf
........
  r4486 | dynis | 2008-07-01 05:27:10 -0500 (Tue, 01 Jul 2008) | 1 line
  
  Altered bitmap functions to receive void pointers for proper utilisation of libnsgif and libnsbmp
........

svn path=/trunk/netsurf/; revision=5071
2008-08-12 03:49:34 +00:00