Commit Graph

176 Commits

Author SHA1 Message Date
Chris Young
cd4f5ebd08 nsfont_width implemented for Unicode text
cache outline fonts for big speedup

still need to implement other text size functions
and also bold and italic fonts

svn path=/trunk/netsurf/; revision=6095
2009-01-16 20:05:21 +00:00
Chris Young
ff6cfea10e Saving hotlist immedaitely after adding now saves it to the correct file
svn path=/trunk/netsurf/; revision=6093
2009-01-16 19:16:32 +00:00
Chris Young
af7f83b9a5 Add copy and select all items
svn path=/trunk/netsurf/; revision=6092
2009-01-16 19:13:07 +00:00
Chris Young
15bd48a0da Spacing perfect, text now printing correctly on baseline.
Formatting is mostly only wrong when non-local charset characters are being printed,
due to the current text size calculations routines needing rewriting.

svn path=/trunk/netsurf/; revision=6073
2009-01-15 23:15:17 +00:00
Chris Young
82a801dbfa Much faster Unicode text display (still slower than local charset mode though)
Improved character spacing

Still some formatting issues:
Baseline is ignored
The text size calculation routines need to be re-written for the Unicode display

However sites are mostly readable now with this option enabled.

svn path=/trunk/netsurf/; revision=6072
2009-01-15 22:46:28 +00:00
Chris Young
e7a06713af Some redraw optimisations
svn path=/trunk/netsurf/; revision=6071
2009-01-15 20:03:15 +00:00
Chris Young
60338f768f Allocate the file requester after reading the options which contain the values we need
to put in the allocation request

svn path=/trunk/netsurf/; revision=6068
2009-01-15 12:26:06 +00:00
Chris Young
bb090ee7c3 Reinstate WINDOW_Qualifier - the AutoDoc is wrong, it returns a uint32 not a uint16.
This should stop shift and ctrl keys from appearing to get stuck down.

svn path=/trunk/netsurf/; revision=6035
2009-01-10 23:10:54 +00:00
Chris Young
ccbf443125 Revert WINDOW_Qualifier change which was supposed to make shift and ctrl keyboard
reading more reliable, but for some reason wasn't returning the keyboard state as it
should.

svn path=/trunk/netsurf/; revision=6034
2009-01-10 22:57:23 +00:00
Chris Young
a161809cdb fix warning
svn path=/trunk/netsurf/; revision=6033
2009-01-10 22:55:51 +00:00
Chris Young
af1452dfb3 Add AmigaOS test builds link
svn path=/trunk/netsurf/; revision=6032
2009-01-10 22:18:48 +00:00
Chris Young
6085820add Modify 32-bit mouse pointers to look at the ones in ENV:Sys
These are expected to become some sort of standard :)
Will leave the Default theme pointing to the archive-included mouse pointer images
until this is official (Default theme should not require 3rd party images installed,
although it still needs AISS currently for some of the buttons)

svn path=/trunk/netsurf/; revision=6031
2009-01-10 22:17:57 +00:00
Chris Young
92e8c38d6c Remove prompts for screen dimensions
svn path=/trunk/netsurf/; revision=6029
2009-01-10 21:43:46 +00:00
Chris Young
c9a7e4b2b9 Update options and ARexx commands
svn path=/trunk/netsurf/; revision=6028
2009-01-10 21:43:18 +00:00
Chris Young
2cb1775973 Add SAVE command, which saves the source of the current page to the named file.
Template: SAVE FILENAME/A

Will add additional options later.

svn path=/trunk/netsurf/; revision=6027
2009-01-10 21:33:34 +00:00
Chris Young
7098d2850d Fix screen clears
svn path=/trunk/netsurf/; revision=6026
2009-01-10 21:32:12 +00:00
Chris Young
4a706860a5 If screen mode ID is not set in the options, prompt for a screenmode on startup. This
replaces the old BestModeID() guess based on the window_screen_width,
window_screen_height and screen_depth options.

use_workbench has been replaced with use_pubscreen.  If set, NetSurf will attempt to
open on the named public screen.  If this fails it will fall back to Workbench (it
will not fall back to opening an own screen).
use_pubscreen:Workbench is equivalent to use_workbench:1

Allocate ASL file requesters specially for saves, to keep a consistent load/save
interface.  May also need a seperate one for the ARexx file requester.

svn path=/trunk/netsurf/; revision=6025
2009-01-10 21:31:21 +00:00
Chris Young
9a4175c4fa Use an ASL requester allocated for saves (which defaults to option_download_dir when
first used and remembers the save location thereafter) for the save requesters.

svn path=/trunk/netsurf/; revision=6024
2009-01-10 21:26:22 +00:00
Chris Young
1b58a411bc Replace use_workbench with a more general use_pubscreen option.
svn path=/trunk/netsurf/; revision=6023
2009-01-10 21:24:43 +00:00
Chris Young
d6d8cb2fe4 Handle mailto: URLs through gui_launch_url()
svn path=/trunk/netsurf/; revision=6022
2009-01-10 21:22:46 +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
c059f24cfa Update for new SDK
svn path=/trunk/netsurf/; revision=5942
2008-12-28 13:49:26 +00:00
Chris Young
59f551171c Fix crash when launching NetSurf if it is already running.
svn path=/trunk/netsurf/; revision=5941
2008-12-28 12:35:55 +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
2967b76f4a Unicode text display. Painfully slow and needs some work wrt text alignment, colours.
The nsfont_width etc functions also need adjustment.

svn path=/trunk/netsurf/; revision=5938
2008-12-27 23:25:42 +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
78f912d5d3 Handle opaqueness a bit
svn path=/trunk/netsurf/; revision=5935
2008-12-27 18:32:20 +00:00
Chris Young
04d7ddde4f Update to new API
svn path=/trunk/netsurf/; revision=5933
2008-12-27 17:16:35 +00:00
Chris Young
dbc6d8793f Reduce memory usage
svn path=/trunk/netsurf/; revision=5926
2008-12-26 19:04:57 +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
5bff3e3287 Update for new SDK
svn path=/trunk/netsurf/; revision=5915
2008-12-20 10:54:59 +00:00
Chris Young
d58fa7aee5 Actually check for the existance of the icon before attempting to copy it.
svn path=/trunk/netsurf/; revision=5913
2008-12-14 19:41:16 +00:00
Chris Young
3b46161143 Remove error page
svn path=/trunk/netsurf/; revision=5912
2008-12-14 19:32:39 +00:00
Chris Young
41b76fabe0 Minor mailto: improvements and info
svn path=/trunk/netsurf/; revision=5911
2008-12-14 19:20:30 +00:00
Chris Young
d36799e07d First attempt at mailto: fetcher using openurl.library.
Doesn't quite work properly because it never calls the callback :)
Probably also gets into an infinite loop if "send mailto: URLs to email application"
is not ticked in OpenURL Prefs.

svn path=/trunk/netsurf/; revision=5910
2008-12-13 23:28:26 +00:00
Chris Young
689f2e4232 Save object
svn path=/trunk/netsurf/; revision=5909
2008-12-13 23:26:10 +00:00
Chris Young
0951de5c0e Clear display area when switching tabs
Remove always_open_tabs
Move pointer filenames to theme files


svn path=/trunk/netsurf/; revision=5908
2008-12-13 23:25:42 +00:00
Chris Young
95575276b5 More changes for search function.
Open local file requester now has a hook which filters out files with MIME types that
NetSurf does not recognise.

svn path=/trunk/netsurf/; revision=5907
2008-12-13 23:23:24 +00:00
Chris Young
1692db74e2 Remove Amiga-specific force_tabs
svn path=/trunk/netsurf/; revision=5906
2008-12-13 23:21:34 +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
8a5ec4710e Copy theme's NetSurf.info if it exists and this is a new install.
svn path=/trunk/netsurf/; revision=5904
2008-12-13 23:19:33 +00:00
Chris Young
2b96f7fecd Add pointer image filenames to theme files
svn path=/trunk/netsurf/; revision=5903
2008-12-13 23:18:12 +00:00
Chris Young
f543cbbf4c First attempt at Amiga text search function based on RISC OS code.
Needs some improvements:
- add case sensitive, show all options
- add search history
- use AmigaOS pattern matching

svn path=/trunk/netsurf/; revision=5902
2008-12-13 23:16:50 +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
a121a3cd73 Fixed display of plain text files beyond the initial visible area.
svn path=/trunk/netsurf/; revision=5898
2008-12-10 19:30:00 +00:00
Chris Young
3e71585311 When a visitor window was present on NetSurf's public screen and NetSurf was quit, the
screen would fail to close.  Re-launching NetSurf would then fail to open a public
screen as a public screen with the same name was already open.  The window would end
up on the Workbench screen and then crash as the pointer to the screen being used was
NULL.

This fixes the problem by closing the ARexx port early (this stops any new sessions
from thinking NetSurf is still running) and looping until Intuition closes the screen.
Running NetSurf will check for a public screen of name NetSurf if opening a new screen
fails and use this if present.  It will also fall back to using the Workbench screen
if both opening a new screen and locking an existing NetSurf screen fails.

svn path=/trunk/netsurf/; revision=5886
2008-12-07 21:50:04 +00:00