Chris Young
5ac9c7128a
allow font anti-aliasing to be switched off in true-colour modes
2012-08-12 11:30:44 +01:00
Chris Young
59784ba852
fix mask
2012-08-11 17:19:54 +01:00
Chris Young
7c9ac8980f
use minterm (ABC|ABNC|ANBC) only when necessary
2012-08-10 18:35:01 +01:00
Chris Young
2364d68367
avoid scaled images getting incorrect mask
2012-08-10 18:30:01 +01:00
Chris Young
bc5918ebbc
allocate our bitmaps as BMF_DISPLAYABLE as this can improve performance when blitting to the screen
2012-08-09 22:31:10 +01:00
Chris Young
e4d2677c80
first attempt to create our own mask of only wholly transparent pixels.
2012-08-09 21:59:47 +01:00
Chris Young
0d8aca4f12
use abstracted function
2012-08-07 21:22:51 +01:00
Chris Young
391d483c9d
expose function to get current screen palette-mapped status
2012-08-07 21:03:42 +01:00
Chris Young
9fac1daff4
...or it might just crash. Will consider a hybrid mode, as palette-mapped images do not display correctly when blitted to a 16- or 32-bit screen.
2012-08-07 00:07:37 +01:00
Chris Young
a262507b3a
If using the gfx.lib true-colour plotters on a 16-bit screenmode, allocate a 16-bit off-screen bitmap instead of a 32-bit one. This _should_ make things a little quicker in that scenario.
2012-08-07 00:00:04 +01:00
Chris Young
0ce133099b
fix true colour mode
2012-08-06 19:41:34 +01:00
Chris Young
6ceb8ca9eb
fix depth detection
2012-08-06 19:40:51 +01:00
Chris Young
8c6dab520d
misc
2012-08-05 23:51:59 +01:00
Chris Young
1ef7336f22
revert begin/endrefresh image avoidance - this isn't the cause of the simplerefresh damage region deadlock
2012-08-05 23:06:01 +01:00
Chris Young
6d602b103e
release the pen if it couldn't be added to a list.
2012-08-05 23:01:03 +01:00
Chris Young
b777549cc2
avoid crash if pen list is not set
2012-08-05 22:59:09 +01:00
Chris Young
ff8d7d974c
Avoid redrawing palette-mapped images during BeginRefresh/EndRefresh (ie. SimpleRefresh damage redraw) as one of the DataTypes functions are causing an Intuition deadlock.
2012-08-05 22:29:35 +01:00
Chris Young
82c4ea7686
add to list, and release pens
2012-08-05 21:29:57 +01:00
Chris Young
59af85e0b5
disable mask for now, causing colourisation problems
2012-08-05 16:02:25 +01:00
Chris Young
803970589b
attempt blit through mask
2012-08-05 15:55:02 +01:00
Chris Young
c359b9400b
Palette-mapped bitmap support
2012-08-05 15:16:02 +01:00
Chris Young
55c08431ee
Fix build
2012-08-05 11:37:27 +01:00
Chris Young
d577a48bb7
Abstract pen obtain/release and structure so we can add these to a physical browser window's list
2012-08-05 11:28:48 +01:00
Chris Young
337b0f6724
Allow forcing palette-mapped mode by setting cairo_renderer:-1
2012-08-05 11:04:17 +01:00
Chris Young
34154ebb99
Disable anti-aliasing for palette-mapped modes
2012-08-05 10:48:36 +01:00
Chris Young
1ceced6e67
Free bitmap using correct function
2012-08-05 10:21:39 +01:00
Chris Young
5a055e3b05
stop crashing
2012-08-05 10:07:26 +01:00
Chris Young
0f1685f131
add palette-capable OPen function
2012-08-05 09:55:01 +01:00
Chris Young
400d02bc24
Convert the rest of plotters.c to use palette-mapped capable colour selection
2012-08-05 09:51:48 +01:00
Chris Young
eed37af751
Fix colours - rectangles now printing correctly. Fix an 'early' crash caused by unfriendly bitmaps. Text needs fixing. There is also a 'late' crash which makes it unusable.
2012-08-04 23:55:02 +01:00
Chris Young
dad8065f0a
move text colour settings into plotters.c, and use palette-map capable function
2012-08-04 18:05:26 +01:00
Chris Young
6f64713977
alloc off-screen bm as friend of screen bm
2012-08-04 17:46:56 +01:00
Chris Young
fce7026484
Attempt to draw palette-mapped rectangles.
...
Problems:
1. The DrawInfo structure is returning a depth of 8 for >8-bit screens
2. Colours are wrong (probably related to our off-screen rendering mechanism)
3. Pens obtained through ObtainBestPenA() are never freed - we need to keep track of them and somehow work out when it is best to free them.
2012-08-04 16:45:05 +01:00
Vincent Sanders
1490b52a6b
NetSurf options rework (a=vince r=daniels,jmb)
...
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Chris Young
3e77ceeb81
allow both x and y dimensions of redraw tiles to be configured
...
svn path=/trunk/netsurf/; revision=13502
2012-02-29 19:09:55 +00:00
Chris Young
79c5485e27
Add tiled refresh, with tiles of max size option_redraw_tile_size. This
...
reduces the size of our off-screen bitmap and associated memory.
Only works with browser windows at present. History and treeviews still
have full window refresh/bitmap.
Setting the option to 0 brings back the old behaviour.
svn path=/trunk/netsurf/; revision=13468
2012-02-25 18:42:33 +00:00
Chris Young
4bb6da7cd3
Revert r13074 - doesn't actually fix the problem
...
svn path=/trunk/netsurf/; revision=13075
2011-10-22 14:26:56 +00:00
Chris Young
35bc321993
Fix the plotting of tiled bitmaps. EraseRect() appears to have a bug where it won't
...
draw anything if ymin==ymax
svn path=/trunk/netsurf/; revision=13074
2011-10-22 14:16:03 +00:00
Chris Young
02361309ed
Remove gui_globals scale as no longer needed
...
svn path=/trunk/netsurf/; revision=11962
2011-03-10 20:07:14 +00:00
Chris Young
d12ce6b075
Fix crash when launching NetSurf twice
...
svn path=/trunk/netsurf/; revision=11961
2011-03-10 00:05:37 +00:00
Chris Young
f892e59d76
Direct rendering. Testing only; has problems with inline image placement, grey
...
background for all text, won't work with Cairo renderer, may crash with certain
gfx lib operations (AreaFill). However, seems to be much faster in 16-bit mode than
off-screen buffered rendering.
svn path=/trunk/netsurf/; revision=11913
2011-03-05 14:36:55 +00:00
Chris Young
912b3bcde8
Enable selection of rendering engine (graphics.library, Cairo) at runtime, if we're
...
compiled with Cairo support.
svn path=/trunk/netsurf/; revision=11912
2011-03-05 11:42:31 +00:00
Chris Young
c9f25d5e4a
Don't plot 0 size bitmaps
...
svn path=/trunk/netsurf/; revision=11867
2011-02-28 23:33:22 +00:00
Chris Young
31bd1df6f9
Stop mix'n'match p96/gfx.lib drawing, remove ami_clg
...
svn path=/trunk/netsurf/; revision=11832
2011-02-26 22:24:41 +00:00
Michael Drake
94e7b44ebc
Pass clip rect to clip plotters as struct. Simplify clip rect handling in debug window code. Pass clip rect to select menu as struct.
...
svn path=/trunk/netsurf/; revision=11683
2011-02-14 22:05:39 +00:00
Chris Young
90fb7362c5
Use base type for gfxbase
...
svn path=/trunk/netsurf/; revision=11249
2011-01-07 18:21:01 +00:00
John Mark Bell
d83f683e96
Sprinkle some #ifdef __amigaos4__ around
...
svn path=/trunk/netsurf/; revision=11230
2011-01-06 23:17:17 +00:00
Chris Young
d16e3161ad
Fix full Cairo build
...
svn path=/trunk/netsurf/; revision=10878
2010-10-10 09:24:19 +00:00
John Mark Bell
6173bb0e6c
Merge treeview-redux to trunk
...
svn path=/trunk/netsurf/; revision=10865
2010-10-05 19:14:46 +00:00
Chris Young
73db706295
Revert accidental change which was causing corruption down the right-hand side of
...
images
svn path=/trunk/netsurf/; revision=10723
2010-08-30 12:25:38 +00:00
Chris Young
4479da540f
Debug plotters. It appears that the odd slowness on some sites (eg. sourceforge.net)
...
can be eliminated by setting option_cache_bitmaps to 2, so make that the default.
svn path=/trunk/netsurf/; revision=10722
2010-08-30 11:00:24 +00:00
Chris Young
138d0754c9
Font scaling - scaling now works for printing, need 2nd attempt at implementing it for
...
browsing.
svn path=/trunk/netsurf/; revision=9496
2009-08-29 14:24:47 +00:00
Chris Young
3295d71a2f
First attempt at Amiga printing support. Doesn't quite work - a column on the left
...
will print, but the rest of the page is an unexpected pastel pink.
svn path=/trunk/netsurf/; revision=9410
2009-08-23 15:59:41 +00:00
Chris Young
6030a12341
Revert back to creating a new clip region rather than reusing the previous one. This
...
fixes the long-standing incremental_reflow problem, as apparently ClearClipRegion
can't cope with the frequency of calls it gets with this switched on.
svn path=/trunk/netsurf/; revision=9333
2009-08-17 11:48:56 +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
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
Chris Young
801ef751af
Move all the layers code into plotters.c and refactor to use gui_globals structure
...
Purge option_direct_render
svn path=/trunk/netsurf/; revision=8425
2009-07-09 18:52:55 +00:00
Chris Young
e580428738
Fix compilation
...
svn path=/trunk/netsurf/; revision=8400
2009-07-08 22:32:57 +00:00
Vincent Sanders
f9ecd56f62
ploter refactor of rectangle handling
...
svn path=/trunk/netsurf/; revision=8399
2009-07-08 22:04:40 +00:00
Chris Young
651228e64d
Migrate plotters to use a gui_globals pointer rather than RastPort.
...
svn path=/trunk/netsurf/; revision=8378
2009-07-07 19:28:34 +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
Chris Young
0d879c2e7f
fix warnings
...
svn path=/trunk/netsurf/; revision=8316
2009-07-04 19:12:56 +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
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