Commit Graph

108 Commits

Author SHA1 Message Date
Chris Young
ee4346c26e correct logic 2012-08-12 11:36:48 +01:00
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