Commit Graph

156 Commits

Author SHA1 Message Date
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
Chris Young
7c695048ae Make NetSurf's screen a public screen with the name "NetSurf".
svn path=/trunk/netsurf/; revision=5885
2008-12-06 10:43:25 +00:00
Chris Young
24291b6160 Clarification on always_open_tabs and button_2_tab options and their interaction.
svn path=/trunk/netsurf/; revision=5884
2008-12-06 10:42:50 +00:00
Chris Young
7c65316f44 Fixed an issue with hotlist items outside the menu folder being added to the menu
in some circumstances.

svn path=/trunk/netsurf/; revision=5791
2008-11-25 22:43:23 +00:00
Chris Young
ae0b5ff460 Two new ARexx commands:
GETTITLE - returns the current website title
VERSION VERSION/N REVISION/N RELEASE/S - returns the version of NetSurf or checks
it is newer than a supplied version/revision

svn path=/trunk/netsurf/; revision=5765
2008-11-24 08:06:11 +00:00
Chris Young
d508def2d6 HTML files with an icon but no MIMETYPE tooltype were being picked up by the
simplehtml datatype.  As I'm using dth_BaseName rather than dth_Name, they were being
tagged with the MIME type text/simplehtml.  Have made an exception for this case to
translate it to text/html, may in the future consider whether using dth_Name may be
better.

Minor adjustments to the local file requester to prevent .info files from being
displayed.

svn path=/trunk/netsurf/; revision=5711
2008-11-16 23:29:40 +00:00
Chris Young
17bc053fbf NetSurf will now check if it is already running (ie. if ARexx port NETSURF exists),
and quit and send an OPEN command to the one in memory if this is the case.

Setting files as projects of NetSurf is now possible, as is multi-select launching
from Workbench.  Multi-selects are not passed through using ARexx yet, only the first
file in the list will be opened if NetSurf is already running.

Plain text files which have no MIMETYPE tooltype are now correctly identified as
text/plain instead of text/ascii, allowing them to be opened locally.

svn path=/trunk/netsurf/; revision=5698
2008-11-16 14:42:40 +00:00
Chris Young
52eb07dc5b Sparse "About" requester - version number, compile date and URL only.
svn path=/trunk/netsurf/; revision=5697
2008-11-15 23:54:09 +00:00
Chris Young
d6874d05b1 Allow opening of local files from anywhere, not just the parent of the current dir.
svn path=/trunk/netsurf/; revision=5695
2008-11-15 15:28:17 +00:00
Chris Young
3b6476130d mime type overflow and tab switching fixes.
svn path=/trunk/netsurf/; revision=5660
2008-11-09 14:02:04 +00:00
Chris Young
9ae3c4f186 Added a note about local MIME types.
svn path=/trunk/netsurf/; revision=5655
2008-11-08 23:20:33 +00:00
Chris Young
ed8a8a2f74 Installation scripts
Install is a standard Installer script
AutoInstall is an AmigaDOS script for AmiUpdate which calls the above Install script
in an unattended install mode.

svn path=/trunk/netsurf/; revision=5654
2008-11-08 23:11:18 +00:00
Chris Young
834eb20101 AmigaOS implementation of complete page save.
svn path=/trunk/netsurf/; revision=5653
2008-11-08 23:08:55 +00:00
Chris Young
66a759e2a1 Local file handling improvements (fetch_file is incomplete and not being used yet)
filetype.c has been changed to get the MIME type of a file from the MIMETYPE tooltype
of the icon or default icon for the file.  The install script will set the basic of
these, and icons for default.css and AdBlock.css have been added to ensure these
always return the correct MIME type.

If the MIMETYPE tooltype is not found, the code will use datatypes.library to identify
the file and make a guess as to what the MIME type is.

svn path=/trunk/netsurf/; revision=5651
2008-11-08 23:06:40 +00:00
Chris Young
d934e52dc6 Minor fixes, changing some defaults to safer values, screen_modeid should now work.
Added screen_depth to stop it complaining when trying to BestModeID() a 32-bit screen
on a system that doesn't have one.


svn path=/trunk/netsurf/; revision=5650
2008-11-03 19:21:40 +00:00
Chris Young
cae0d4a43b Change memory allocations to MEMF_PRIVATE to enable paging on OS4.1.
svn path=/trunk/netsurf/; revision=5649
2008-11-02 00:21:49 +00:00
Chris Young
124899e5bc ARexx menu with items populated from arexx_dir.
svn path=/trunk/netsurf/; revision=5632
2008-10-26 12:25:26 +00:00
Chris Young
30b09368e7 Track the current/last used browser window (at the moment, just for ARexx).
Extended ARexx port.  First two are primarily for openurl.library:
* OPEN now takes a parameter NEW=NEWWINDOW/S to open the URL in a new window (default
is
to open in the current browser window)
* TOFRONT will bring NetSurf's screen to the front (this may be extended in the future
to bring the current browser window to the front - which might be better for when it
is running on the WB screen)

Next is to make it easy to support getvideo.rexx:
* GETURL returns the URL of the current browser window in RESULT

GetVideo.nsrx script will get the current URL and pass it to rexx:getvideo.rexx
Currently there is no way to call ARexx scripts directly from NetSurf, or any way to
specify whether to save, play or saveplay the video without editing the script.

[clipboard.c/clipboard.h were missing from previous commit]

svn path=/trunk/netsurf/; revision=5631
2008-10-25 23:22:34 +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
5624bf590d Initial context menus. Five possible options (copy link to clipboard, download link,
show object, save object and select file for upload), only one implemented at the
moment.  Menu structure/strings need some thought and tidy-up (with object and URL
options in their own sub-menus?)

svn path=/trunk/netsurf/; revision=5612
2008-10-21 18:04:27 +00:00
Chris Young
1fffdafe21 Prepare for context menus
svn path=/trunk/netsurf/; revision=5607
2008-10-20 18:06:46 +00:00