Commit Graph

2356 Commits

Author SHA1 Message Date
Chris Young
6ad939b5a6 Make font engine selection bit more logical 2016-01-15 19:37:21 +00:00
Chris Young
6122517bf4 Only show context menu text selection options if there is text selected 2016-01-14 19:15:30 +00:00
Chris Young
30f992730e Re-instate the ability to do a web search for selected text 2016-01-14 19:09:16 +00:00
Chris Young
f5dc180105 Use layers.library for bitmap tiling on OS3
This solves the worst of the rendering problems on that platform.
2016-01-14 00:11:48 +00:00
Chris Young
bc8bf0e575 Fix the bitmap font layout a bit 2016-01-13 18:32:17 +00:00
Chris Young
1886aaf6af Cut/paste error 2016-01-11 21:04:10 +00:00
Chris Young
178dd6bbae Fix OS4 build errors/warnings 2016-01-11 20:12:14 +00:00
Chris Young
adccaadb57 More consistent naming for font cache elements 2016-01-11 20:05:15 +00:00
Chris Young
4f7e2563c1 Separate font cache code into a new file 2016-01-11 19:55:37 +00:00
Chris Young
469cd6dc67 Close the font when we finish with it 2016-01-11 19:16:38 +00:00
Chris Young
37e5bff188 Add a status gadget inside the window for OS3 2016-01-11 19:10:59 +00:00
Chris Young
bcdbb9e365 Use correct parameters 2016-01-10 12:52:51 +00:00
Chris Young
5fb63e19ab If the specified font won't open, use the fallback font for character 'A'.
This helps stop pages showing up blank when the default fonts are wrong.
2016-01-10 12:42:12 +00:00
Chris Young
4fd1fbf68c Revert "Set a unicode fallback to LetterGothic on OS3"
This reverts commit 3e71a538c3.

This is pointless because the fallback is picked up from the font scan, so we should get text on screen from some other font.
2016-01-10 12:28:49 +00:00
Chris Young
3e71a538c3 Set a unicode fallback to LetterGothic on OS3
This should ensure we get text on screen even if use_diskfont is disabled and a bitmap font is set.
2016-01-10 12:22:43 +00:00
Chris Young
54feabe845 Set some memory and speed options by default for OS3 2016-01-10 12:07:46 +00:00
Chris Young
81516b33c8 Set some sensible default bitmap fonts on OS3 when using diskfont 2016-01-09 18:10:43 +00:00
Chris Young
b54a1fe4cb Add missing menu image 2016-01-03 00:00:55 +00:00
Chris Young
35a97670ae Increase minimum stack as sometimes Duktape runs out 2016-01-02 23:59:45 +00:00
Chris Young
237ec692dd Fix OS3 build 2015-12-20 16:47:06 +00:00
Chris Young
d1c1392601 Add missing rawkey codes 2015-12-20 16:43:35 +00:00
Chris Young
3e852daaf4 Missing initialisation 2015-12-20 16:36:59 +00:00
Chris Young
d6c34b8039 Soak up -v so command line processing still works with logging enabled 2015-11-27 12:36:40 +00:00
Chris Young
d7907bfe4c Allow specifying location of the users directories on the commandline
Arg USERSDIR/K
2015-11-25 00:11:24 +00:00
Chris Young
80e14dce52 Move ReadArgs commandline processing earlier whilst leaving core commandline processing where it was previously 2015-11-24 23:58:54 +00:00
Chris Young
e27525123b Make an effort to free resources when a fatal error occurs during initialisation 2015-11-24 23:22:15 +00:00
Chris Young
fa87f197c2 Abort if we're on a write-protected volume
Partial fix for 2397
2015-11-24 20:57:40 +00:00
Chris Young
7733ece472 Remove the setting of mimetype in default tooltypes
NetSurf is a lot more liberal now in accepting files, so the mimetype guessing routines are sufficient without forcing CSS files to be recognised as text/css.  The ability to add a tooltype to troublesome files remains.
2015-11-24 20:35:18 +00:00
Chris Young
f7ebec7142 Added Amiga ToolTypes parser.
Initially this allows setting the location of the Users directory, and the current user's name.
2015-11-22 00:06:10 +00:00
Chris Young
5e24a802b0 Optimise for PPC 2015-11-17 23:24:34 +00:00
Chris Young
47fa0bf7a2 Faster hashing 2015-11-17 23:19:30 +00:00
Chris Young
af71481a5f Use a hash as the skiplist key 2015-11-17 18:50:14 +00:00
Chris Young
4c2d40b35e Import FNV-1a 2015-11-17 18:43:42 +00:00
Chris Young
c659e11585 Fix refresh of hotlist menu/toolbar when hotlist window is closed
This definitely used to work...!
2015-11-16 21:10:35 +00:00
Chris Young
6d474e74e6 Prettier hotlist toolbar 2015-11-16 21:05:01 +00:00
Chris Young
479b8acce8 Don't position the statusbar based on font height
The statusbar has a finite height because it is sitting in a window border which does not adjust with font size.
2015-11-16 19:01:13 +00:00
Chris Young
5ad337a7b5 Don't translate F8/F9/F10 into printable characters. 2015-11-16 00:16:52 +00:00
Chris Young
6fbe30c617 Improve the position of the status bar gadget at different font sizes 2015-11-15 17:00:01 +00:00
Chris Young
045b254c15 Add missing NSOPTS/M command line arg to documentation. 2015-11-15 14:13:37 +00:00
Chris Young
0feb291c2e Add F8/F9/F10 as shortcuts to the scale functionality 2015-11-15 14:07:25 +00:00
Chris Young
bf6d56c7fe Allow space bar to be used to page down 2015-11-15 13:52:55 +00:00
Chris Young
28be6d2d79 Don't try to write to an uninitialised file handle. 2015-11-15 01:27:29 +00:00
Chris Young
125f131714 Forcibly enable cut/copy/paste menu items until such a time as I can figure out why they are disabling at the wrong times. 2015-11-06 19:38:24 +00:00
Michael Drake
1bb7d295bb Make nsurl utf8 string conversion function consistent with nsurl API. 2015-10-25 09:03:20 +00:00
Chris Young
27adf07fb7 Update gtk frontend to new API 2015-10-24 15:12:57 +01:00
Chris Young
65b510fbc3 Rework IDN URL retrieval to return an nserror 2015-10-24 15:12:57 +01:00
Chris Young
dd38897a26 Enable Amiga frontend to show decoded IDNs subject to local charset restrictions.
TODO: Statusbar link text
2015-10-24 15:12:57 +01:00
Chris Young
410f6fdb9e Allow the popupmenu-based select menu to cascade into multiple sub-menus containing further items, when there are too many to fit on the screen in one column. 2015-09-07 17:41:24 +01:00
Chris Young
d137bda454 Move status bar gadget to the correct place on OS3
Still practically useless as it constantly overprints.
2015-09-06 09:33:00 +01:00
Chris Young
e5c34567dc Fix broken headers 2015-09-06 09:23:08 +01:00
Chris Young
de75959362 Create menus on OS3 and 4 the same way (manual GadTools method).
This makes it easier to switch to menuclass.
It also fixes a crash-on-exit bug on OS3.
2015-09-06 09:06:20 +01:00
Chris Young
5b880e586c Fix memory leak 2015-09-05 16:33:23 +01:00
Chris Young
eb366fa0d8 Correct checkbox logic 2015-09-05 15:53:21 +01:00
Chris Young
6a00255855 Enable control of core/popupmenu select menus in the prefs GUI.
This at least gives the option for people who prefer the popupmenu-based selection menus to easily switch back to the core ones when the options don't all fit on the screen (as popupmenu can't scroll).
2015-09-05 15:37:34 +01:00
Chris Young
63227a214b Rename context_menu.c and strip out all the context menu code, so this file and popupmenu.class is only used (optionally) for HTML form selection. 2015-09-05 15:09:00 +01:00
Chris Young
00aa1e2d35 Add a small test menu to the clicktab gadget 2015-09-05 01:41:56 +01:00
Chris Young
46f3670fae Add context menu item for copying text selection 2015-09-05 00:39:46 +01:00
Chris Young
7ea2488d1c Add a context item for frames 2015-09-05 00:22:46 +01:00
Chris Young
12bef8a0d9 Avoid displaying irrelevant items in the context menu for objects
Add an item for the "plugin hack" stuff
2015-09-05 00:09:47 +01:00
Chris Young
da5638debc Context menu for objects 2015-09-04 23:59:22 +01:00
Chris Young
a15e5a7869 Complete context menu items for links 2015-09-04 23:38:04 +01:00
Chris Young
41f219192c Create back/forward context menu using menuclass
Reconstructs itself periodically as it cannot be created on demand
2015-09-04 00:26:52 +01:00
Chris Young
cdaae7b30e Add a couple of context menu items for links for testing. 2015-09-03 19:57:04 +01:00
Chris Young
944248ce32 Rough outline for Intuition-based context menu 2015-09-03 00:24:04 +01:00
Chris Young
52d182e71e Disable the popupmenu-based context menu and the emulated menu keyboard shortcuts in preparation for test implementing an Intuition-based context menu. 2015-09-02 17:34:24 +01:00
Chris Young
2e4bfc5dc3 Fix version check 2015-09-02 17:26:33 +01:00
Chris Young
61342f4dee Use the correct format define for WPA() 2015-09-01 20:56:18 +01:00
Chris Young
fdb9a42eff Don't use P96 on gfx.lib v54+ systems 2015-09-01 19:31:58 +01:00
Chris Young
e0198789ae Use a skip list instead of a splay tree for now to fix memory leakage 2015-09-01 19:14:11 +01:00
Chris Young
06221c2340 Fix usage of ExAll with new SDK
Some of the defines it needs have moved to dos/obsolete.h
2015-09-01 18:06:45 +01:00
Chris Young
a73d53845c Fix MinTerm defines for SDK 53.29 2015-09-01 18:02:32 +01:00
Chris Young
33eb8d3324 Attempt to use splay trees for font caching.
This is theoretically faster, but leaks like a sieve.
2015-09-01 00:23:20 +01:00
Chris Young
914ba332e2 Use the correct decoded surrogate values for calculating kerning widths 2015-08-24 20:56:01 +01:00
Chris Young
4bbf2ac58a Avoid accessing NULL pointer 2015-08-24 18:00:24 +01:00
Chris Young
cba6bdb481 If a designed (bold, italic, etc) version of a specific font is set but not actually installed, treat this as a non-critical error, log it, and create a computed version. 2015-08-19 19:15:06 +01:00
Chris Young
fea40a0a78 Restrict all menu icon code to OS4+gadtools53.7
This avoids requests for TBimages: on OS3
2015-08-17 18:15:29 +01:00
Chris Young
aaf7ebf9fd Fix some AmigaGuide errors 2015-08-17 17:59:04 +01:00
Chris Young
0c42364b67 Check version of the correct library 2015-08-17 17:52:09 +01:00
Chris Young
528fce7262 Fix OS3 build 2015-08-17 17:44:27 +01:00
Chris Young
9b222fdeb6 Check .font file is indicating this is an outline font before attempting to open the .otag 2015-08-16 23:26:21 +01:00
Chris Young
69a133969b Make the logging when opening outline fonts on OS3 a little more obvious. 2015-08-16 23:12:20 +01:00
Chris Young
a2edd98c19 Force usage of friend BitMaps on OS3 when on high/truecolour screens.
AreaInfo buffer doesn't need to be in chip mem.
2015-08-16 23:03:54 +01:00
Chris Young
87ebe66880 Check menuobj before we dispose it 2015-08-16 22:51:32 +01:00
Chris Young
b429a89ed6 Only update the hotlist menu etc if it was the hotlist window which was closed. 2015-08-16 22:38:29 +01:00
Chris Young
f9bb4ba71d Fix memory leak 2015-08-16 13:02:14 +01:00
Chris Young
9c2fbde917 Put the memory areas, rather than the structures, into chip RAM as required. 2015-08-16 12:48:06 +01:00
Chris Young
7c14bff469 TmpRas should be in chip mem for OS3/AGA 2015-08-16 12:41:21 +01:00
Chris Young
a28be12270 Fix blitting of font glyphs on OS3/AGA 2015-08-16 12:06:00 +01:00
Chris Young
527a13a841 Ensure OS3 doesn't try to obtain an 8-bit GlyphMap. 2015-08-15 17:32:28 +01:00
Chris Young
b19cd801fd Revert "Ensure we don't accidentally use an 8-bit glyphmap under OS3."
This reverts commit c43d09af64.
2015-08-15 17:27:57 +01:00
Chris Young
0c2f466786 Revert "Fix OS4 build"
This reverts commit c759b2a262.
2015-08-15 17:27:19 +01:00
Chris Young
c759b2a262 Fix OS4 build 2015-08-15 17:07:59 +01:00
Chris Young
c43d09af64 Ensure we don't accidentally use an 8-bit glyphmap under OS3. 2015-08-15 16:56:02 +01:00
Chris Young
45171214ed Add an option to toggle usage of a friend BitMap for our off-screen rendering buffer (OS3 only).
Defaults to OFF, which works everywhere, but can be switched on for performance benefits when using RTG.
2015-08-15 16:42:52 +01:00
Chris Young
beb5b9a542 Remove a double free and re-arrange to stop referencing a freed pointer. 2015-08-15 14:25:50 +01:00
Chris Young
ff1de89976 Fix options clicktab creation on OS3
None of the rest of this GUI creates properly yet.
2015-08-15 14:11:30 +01:00
Chris Young
844e599a22 Define m68k for OS3 build so dukky (nearly) compiles. 2015-08-14 19:13:19 +01:00
Chris Young
3b9a913125 Permanently enable display of the "enable javascript" UI options 2015-08-09 14:22:29 +01:00
Chris Young
f4903743ba Abstract all instances of NewMinList as it causes alert 80000006 on OS3 2015-08-05 23:42:20 +01:00
Chris Young
ef5ce5c2f6 Fix guru 80000006 occuring on OS3 when initialising lists. 2015-08-05 18:13:04 +01:00
Chris Young
70fd706e65 NULL-terminate font name in IFF DR2D FONS 2015-07-20 19:42:50 +01:00
Chris Young
c38670ade8 Allow a fallback font for characters above 0xFFFF to be specified. There is no scanning of this range as most fonts don't have any characters here. Symbola is selected if it is installed. 2015-07-06 19:29:16 +01:00
Chris Young
8282f53880 Support UTF-16 surrogates. This enables Emoji to be displayed if an appropriate font is installed.
NB: Currently surrogate glyphs are not able to use the fallback font.  The wrong glyphs may be displayed if you use an "old font engine".
2015-07-06 18:46:08 +01:00
Chris Young
bc3534d920 Split UTF-16 char length check into a separate function 2015-07-06 18:16:39 +01:00
Chris Young
7459d4dc93 Correct broken ifdef 2015-07-05 11:00:47 +01:00
Chris Young
354de433e9 Scale cached favicons before they are cached. This avoids the need to scale icons on menu creation. 2015-06-22 19:12:57 +01:00
Chris Young
73d6b47e6a Remove the overwrite check in bitmap_save as it causes duplicate overwrite requesters. 2015-06-22 18:26:18 +01:00
Chris Young
2522ecf714 Add an appropriate file extension when saving, or leave the existing if we're saving source. This fixes the remainder of #2185 2015-06-22 18:25:08 +01:00
Vincent Sanders
c08bccbcea fixup missing lincludes from messages API update 2015-06-22 10:42:01 +01:00
Vincent Sanders
67ded2a02a This moves message loading out of netsurf_init into each frontend
The translated message loading is dependant on configuration of
resource location in each frontend, additionally they should have the
ability to deal with errors in this loading in a implementation
specific manner.

This also extends the message loading API to be capable of loading
from an inline memory buffer instead of from a file.
2015-06-21 23:27:22 +01:00
Chris Young
fcadb1f6f8 Space ARexx menu items correctly. 2015-06-21 19:24:46 +01:00
Chris Young
57ca8bbd21 Require gadtools 53.7
OS4.1u6 does not cope well with image menus, so insist on a component in FE to ensure the layouting is sane and menu creation is fast.
2015-06-20 18:09:44 +01:00
Chris Young
3db1e7381a Prettify pull-down (not context) menu. 2015-06-16 19:36:09 +01:00
Chris Young
d8ce401591 Remove some workarounds to make image menus conform better on OS4.1u6. They never quite matched normal menus so are going to look odd when we add more images anyway. 2015-06-16 18:44:52 +01:00
Vincent Sanders
0d811963c1 fixup all the remaining logging macro callsites
The semantic patch tool appears to have missed some difficult to
reason about callsites which have now been manually cleaned up
2015-05-28 17:06:18 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Chris Young
7bc29f7782 Attempt to fix spurious plotter crashes 2015-04-27 18:32:49 +01:00
Chris Young
ad779dc38a Revert "Attempt to avoid a crash in ami_plot()"
This reverts commit e64d48980e.
2015-04-27 18:26:58 +01:00
Chris Young
e64d48980e Attempt to avoid a crash in ami_plot() 2015-04-25 23:04:56 +01:00
Chris Young
b879bed114 Remove bogus comment 2015-04-25 13:20:59 +01:00
Chris Young
c8caf08ef1 As the content interface is now doing the scaling, we render to a native BitMap and then copy that to the RGBA32 bitmap buffer without re-scaling.
The native BitMap is currently discarded and will be re-created when it is displayed.
2015-04-25 13:13:30 +01:00
Chris Young
5b5e621c7a Keep the size of the bitmap and layers used for rendering in the structure itself, rather than assuming it is the same as the tile size. 2015-04-25 12:02:08 +01:00
Vincent Sanders
124de5775a Update amiga to use bitmap render API 2015-04-24 11:56:19 +01:00
Vincent Sanders
e7f9dbcb10 Remove webp image handling
The bitmap and image handling interfaces have changed within NetSurf
and the webp image handling has not been fixed up appropriately to
cope.

After discussion with the other developers it has been decided that
the webp support is not worth the necessary development effort to
rewrite and maintain.

The webp format is not in wide usage and Mozilla, Microsoft and Apple
have not adopted it. This means the removal will not adversely impact
NetSurf.

Resolves:2310
2015-04-21 14:03:02 +01:00
Vincent Sanders
2465fc4e6b move the mandantory library config for libcss and libdom to core makefile 2015-04-17 22:48:55 +01:00
Vincent Sanders
fb0bd79944 update amiga frontend to use bitmap operation table 2015-04-16 22:36:29 +01:00
Chris Young
d0b56d660f Allow URL completion to pick up non-visited URLs 2015-04-09 20:45:37 +01:00
Vincent Sanders
a14048f6d1 Update amiga makefile to set filter for split messages 2015-04-07 00:44:44 +01:00
Chris Young
8871149585 Remove inclusion of my async backing store code whilst it's not being used. 2015-03-31 22:48:27 +01:00
Chris Young
81f6cd2074 Correct the screen depth check for setting friend bitmaps.
Add some comments because using friend bitmaps in NetSurf causes problems under OS4.
2015-03-29 23:37:23 +01:00
Chris Young
fcfc9453ec Bump version 2015-03-27 20:51:00 +00:00
Witold Filipczyk
befa5e6ed3 To avoid namespace conflicts with ncurses add NetSurf key prefix.
Adds a NetSurf key code prefix of NS_ to all key codes.
2015-03-27 09:36:19 +00:00
Vincent Sanders
8a99b045bc Remove url from content thumbnailers API
The content thumbnailers for each frontend were being provided the
contents url. This was only ever used to call the urldb thumbnail
setting API.

This changes it so the single callsite that passed a valid url adds
the bitmap to that url itself in desktop_history.c instead of forcing
every frontend to require the urldb API.

Additionally the old API could pass the url as NULL which was causing
asserts where this was not an expected parameter value. Because of
this this fixes bug #2286 which was also present in the monkey
frontend as both called nsurl_access() on the url without the NULL
check and caused an assertion.
2015-03-15 00:00:45 +00:00
Chris Young
db91442304 Remove branches that can't be taken under OS3
Micro-optimise these for OS4.1
Remove dummy compositing defines from os3support.h
2015-03-01 11:50:20 +00:00
Chris Young
947c466c4b Split plotting and widthing functions up 2015-02-28 13:01:16 +00:00
Chris Young
df25135a4d micro-optimisation 2015-02-28 12:41:50 +00:00
Chris Young
5f72dd2f0f Merge branch 'chris/bitmap-fonts' of git://git.netsurf-browser.org/netsurf into chris/bitmap-fonts 2015-02-24 19:53:27 +00:00
Chris Young
1ea747196e Fix more hook functions 2015-02-24 19:51:51 +00:00
Chris Young
68c6ba3a70 fix OS3 build, avoid forward declarations 2015-02-23 23:16:34 +00:00
Chris Young
ce060f3c13 Convert menu.c to use macros for hook functions 2015-02-23 23:07:52 +00:00
Chris Young
28a6a63b4f fix warnings 2015-02-23 23:00:16 +00:00
Chris Young
805c1a2dca Convert hook function definitions to macros in gui.c 2015-02-23 22:58:57 +00:00
Chris Young
821a13d740 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/bitmap-fonts 2015-02-23 22:41:25 +00:00
Chris Young
5867fa4ef9 Avoid forward declarations
Specify hook function with 68k registers when building for that target
2015-02-23 20:34:24 +00:00
Chris Young
b70ab2a7a3 Make hook function static 2015-02-23 19:39:56 +00:00
Chris Young
2d09c81dd5 Off-load layouting onto NetSurf's process 2015-02-23 19:28:32 +00:00
Chris Young
85df94f47a more microoptimisation 2015-02-23 18:47:58 +00:00
Chris Young
6fda772b89 Avoid clobbering the PPC pipeline 2015-02-23 18:44:47 +00:00
Chris Young
5d43025adf Mostly working bitmap font support 2015-02-22 16:50:41 +00:00
Chris Young
33d16e170e Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/bitmap-fonts 2015-02-22 16:08:13 +00:00