Commit Graph

242 Commits

Author SHA1 Message Date
John Mark Bell
0682a4f215 Appease GCC 3.4
svn path=/trunk/netsurf/; revision=12798
2011-09-15 22:54:23 +00:00
John Mark Bell
339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
Vincent Sanders
fe8a22007c fix divide by zero in stats reporting if the cache was never used
svn path=/trunk/netsurf/; revision=12794
2011-09-15 09:25:05 +00:00
Vincent Sanders
2d33a8f85a Make high level cache, low level cache and image cache all be initialised from passed parameters
Calculate all cache sizes from single memory cache size option and sanity check
have a single global struct to hold all parameters instead of several individual variables

svn path=/trunk/netsurf/; revision=12784
2011-09-10 00:55:39 +00:00
Chris Young
da87e82a01 Use ISO rand() rather than BSD random() as it is more widely supported.
svn path=/trunk/netsurf/; revision=12772
2011-09-07 17:51:41 +00:00
Vincent Sanders
69bee6fb71 move bitmap cache initialisation up a level
improve stats reporting

svn path=/trunk/netsurf/; revision=12770
2011-09-07 09:15:33 +00:00
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