Commit Graph

482 Commits

Author SHA1 Message Date
Vincent Sanders
ee3247f532 remove logically dead code path (coverity 1231842) 2014-08-18 17:20:28 +01:00
Vincent Sanders
1a71a84b62 cope with error return from ftell (coverity 1231843) 2014-08-18 17:15:57 +01:00
Vincent Sanders
98a4985b30 generate internal font from glyph data on demand 2014-08-17 23:49:06 +01:00
Michael Drake
c0548fc472 Optimise glyph scaling. 2014-08-01 23:05:03 +01:00
Michael Drake
8945e314c8 Simplify glyph scaling slightly. 2014-08-01 14:33:40 +01:00
Michael Drake
ac067e3238 Simplify style handling. 2014-08-01 12:26:57 +01:00
Michael Drake
6b7e073c58 Add support for double-size rendering of internal font for headings. 2014-08-01 09:50:31 +01:00
Michael Drake
35c8da4ecf Remove unused #define. 2014-08-01 09:49:57 +01:00
Michael Drake
8c57ad1e11 Fix up use of uninitialised variable. 2014-07-26 22:37:53 +01:00
Michael Drake
31def6a338 Add rudimentary support for resizing.
- Currently only libnsfb's SDL surface supports resizing.
- Flickers like crazy while resizing.  Possibly because the SDL
  surface is not set to use double buffering.
- The internal widget library, fbtk, was never intended for this,
  as such it has no knowledge of how a widget should be positioned
  with respect to its parent.
  This means the top level window has to track everything and move
  them itself.
2014-07-26 22:12:55 +01:00
Vincent Sanders
db01637343 remove content include from urldb header 2014-07-17 00:18:44 +01:00
Vincent Sanders
caf918d2f2 fixup merge of scheduled reformat 2014-07-06 11:01:39 +01:00
Vincent Sanders
0f151e37cb Merge branch 'vince/reformatpending'
Conflicts:
	amiga/gui.c
2014-07-06 10:45:31 +01:00
Vincent Sanders
8848f754e0 documentation fixes and cleanups 2014-07-02 16:39:08 +01:00
Vincent Sanders
18aefabd20 change reformat to be driven from the scheduler like redraw 2014-07-01 09:27:20 +01:00
Vincent Sanders
2330503533 Merge branch 'vince/fetchschedule' 2014-07-01 09:03:47 +01:00
Vincent Sanders
8944edd649 convert all frontends to scheduled fetch operation 2014-06-26 19:05:59 +01:00
Michael Drake
dfc095bd90 Display U+FFFD for characters > U+FFFF. 2014-06-24 13:26:39 +01:00
Michael Drake
cd159b6775 Don't display certain invisible characters.
Fixes display of U+200E code points all over Google
  search results.
2014-06-18 13:13:44 +01:00
Michael Drake
9523658467 Fix number of many characters from the Geometric Shapes block. 2014-06-04 14:37:31 +01:00
Michael Drake
f29d741b48 Add Polish glyphs. Thanks to Artur Jarosik.
Adds:
    U+0118 - LATIN CAPITAL LETTER E WITH OGONEK
    U+0119 - LATIN SMALL LETTER E WITH OGONEK
    U+0104 - LATIN CAPITAL LETTER A WITH OGONEK
    U+0105 - LATIN SMALL LETTER A WITH OGONEK
    U+0106 - LATIN CAPITAL LETTER C WITH ACUTE
    U+0107 - LATIN SMALL LETTER C WITH ACUTE
    U+0143 - LATIN CAPITAL LETTER N WITH ACUTE
    U+0144 - LATIN SMALL LETTER N WITH ACUTE
    U+015A - LATIN CAPITAL LETTER S WITH ACUTE
    U+015B - LATIN SMALL LETTER S WITH ACUTE
    U+0179 - LATIN CAPITAL LETTER Z WITH ACUTE
    U+017A - LATIN SMALL LETTER Z WITH ACUTE
    U+017B - LATIN CAPITAL LETTER Z WITH DOT ABOVE
    U+017C - LATIN SMALL LETTER Z WITH DOT ABOVE
2014-06-02 20:29:22 +01:00
Michael Drake
4c9a9f24f9 Tidy up the #defines used for setting particular codepoint bits.
Align the definitions correctly.
  #undef them after they're used.
2014-06-02 15:49:44 +01:00
Michael Drake
a2c0e05197 Avoid use of math.h
To update the generated source file, first build the converter:

      $ gcc -O2 -Wall framebuffer/convert_font.c \
          -o build-Linux-framebuffer/tools/convert_font

  And then use it to generate the souce file:

      $ build-Linux-framebuffer/tools/convert_font \
          framebuffer/res/fonts/glyph_data \
          framebuffer/GEN_font_internal.c
2014-06-02 14:22:41 +01:00
Michael Drake
31c3f4b81d Remove unused #define 2014-06-02 14:01:31 +01:00
Michael Drake
0f6fd6b800 Add an extra logging verbosity level.
Now, when run without arguments, the final result is printed.
2014-06-02 13:16:25 +01:00
Michael Drake
5abfbba049 Make the glyph style more readable in the debug output. 2014-06-02 13:08:25 +01:00
Michael Drake
56556a677e Detect bad line endings and print error. 2014-06-01 20:37:26 +01:00
Vincent Sanders
00b6cfc57e rework path to url mapping functions to convert from and to nsurl 2014-05-26 23:52:36 +01:00
Vincent Sanders
315877c822 reduce uncessary include usage 2014-05-18 23:17:15 +01:00
Vincent Sanders
64f607760b add backing store storage path to browser initialisation 2014-05-13 15:53:06 +01:00
Vincent Sanders
16b11e7238 ensure operations tables are registered as early as possible. 2014-05-10 10:22:10 +01:00
Vincent Sanders
2326d3c503 remove unecessary utils/url.h includes 2014-05-09 10:15:42 +01:00
Vincent Sanders
096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
Michael Drake
781d42e33c Fix loading of Messages file.
Framebuffer front end still only handles loading the English one.
2014-05-07 17:29:25 +01:00
Vincent Sanders
c56642819e add file operations table and make all frontends use it.
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.

These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.

These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders
283cd05d01 Improve documentation on mimetype fetcher table 2014-05-07 16:23:19 +01:00
Michael Drake
084e042766 Add L and l with stroke glyphs. 2014-05-07 13:43:14 +01:00
Michael Drake
ea4af6dffc Add glyphs used for list bullets.
Added:
    WHITE CIRCLE
    BLACK SMALL_SQUARE
2014-05-07 12:46:33 +01:00
Michael Drake
c937925643 Add four more latin glyphs in all four styles.
Added regular, italic, bold and bold italic versions of:

    U+0102 - LATIN CAPITAL LETTER A WITH BREVE
    U+0103 - LATIN SMALL LETTER A WITH BREVE
    U+1EC6 - LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
    U+1EC7 - LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
2014-05-06 22:44:38 +01:00
Michael Drake
15ba60f305 Remove some debug. 2014-05-06 21:58:49 +01:00
Michael Drake
c75d23e539 Update for c with caron.
Forgot to update with the glyph_data.
  This is why it should be generated at build time.  :)
2014-05-06 21:57:40 +01:00
Michael Drake
8869cc494a Add upper and lower case C with caron glyphs. 2014-05-06 21:39:19 +01:00
Michael Drake
4cbc56ebc1 Add Unicode support to internal font.
+ Now contains more glpyhs (was previously limited to cp-1252).
  + When a glyph is unavailable, the codepoint is now rendered.
  + Added glyph data file.
  + Added converter to generate the font's .c file from the data.

TODO:

  The generated file is currently checked into the repo, but it
  should be generated as part of the build process, in the
  build-* directory.

  To update the generated source file, first build the converter:

      $ gcc -O2 -Wall framebuffer/convert_font.c -lm \
          -o build-Linux-framebuffer/tools/convert_font

  And then use it to generate the souce file:

      $ build-Linux-framebuffer/tools/convert_font \
         framebuffer/res/fonts/glyph_data \
         framebuffer/GEN_font_internal.c -v

  The converter's usage is:

     convert_font [options] <in_file> <out_file>

  See convert_font --help for more details.
2014-05-06 21:31:05 +01:00
Michael Drake
3445483e78 Close file on error path. 2014-04-02 19:40:11 +01:00
Vincent Sanders
6f9a93e332 fix formatting of defaults makefiles 2014-03-20 11:05:39 +00:00
Vincent Sanders
87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake
d9002dc71c Remove unused includes. 2014-02-15 20:18:27 +00:00
Michael Drake
640fbe5f5f Remove unused includes. 2014-02-15 20:12:08 +00:00
Michael Drake
518e4484da Remove a load of unused includes. 2014-02-15 19:02:58 +00:00
Michael Drake
a38a63a37e Make history internal to browser_window module. 2014-02-15 18:44:50 +00:00
Michael Drake
49bed056dd Make browser_window_navigate (un)verifiable flag match browser_window_create. 2014-02-10 22:40:04 +00:00
Michael Drake
af014bce99 Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags. 2014-02-10 14:08:45 +00:00
Michael Drake
ea79e85fcd Clean up gui_window creation API. 2014-02-09 13:07:39 +00:00
Michael Drake
3d7cd77982 Simplify local history interface. 2014-02-08 22:43:54 +00:00
Michael Drake
2cd2e5b054 Use API to get scale. 2014-02-08 20:50:14 +00:00
Michael Drake
2c727e03d0 Use API to get bw extents. 2014-02-08 20:18:55 +00:00
Vincent Sanders
3455d66921 reduce desktop/browser.h unecessary includes 2014-02-03 17:56:24 +00:00
Vincent Sanders
886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +00:00
Vincent Sanders
427f127fa9 remove further extraneous includes 2014-02-01 14:23:58 +00:00
Vincent Sanders
db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Vincent Sanders
7cb0619fe8 fix dumb typos from utf8 error return refactor 2014-01-28 22:39:25 +00:00
Vincent Sanders
654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Vincent Sanders
8ce0a10670 move path_to_url and url_to_path to fetch operation table 2014-01-25 23:01:32 +00:00
Vincent Sanders
69778e2945 move framebuffer fetch operations to their own module 2014-01-24 08:39:01 +00:00
Vincent Sanders
0475693394 create table for fetcher operations and move all operations into it 2014-01-23 00:00:18 +00:00
Vincent Sanders
a2247a75a3 cleanup copyright headers and some doc comments 2014-01-16 13:24:14 +00:00
Vincent Sanders
d47fed4524 move 401 login into operation table 2014-01-16 00:52:17 +00:00
Vincent Sanders
38cb39339a move filename_from_path and path_add_part into gui operation tables 2014-01-16 00:01:25 +00:00
Vincent Sanders
bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders
68eaec5cb4 complete move of remaining core gui functions 2014-01-15 12:28:55 +00:00
Vincent Sanders
0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders
8dfe225153 move download operations to download table 2014-01-14 16:04:02 +00:00
Vincent Sanders
d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Vincent Sanders
e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Vincent Sanders
d70e371cd9 move two more mandantory window operations to table 2014-01-13 11:38:35 +00:00
Vincent Sanders
7227c29bba move window scroll getter and setter into operations table 2014-01-13 01:08:15 +00:00
Vincent Sanders
5a962586fb move mandantory window update and redraw operations into table 2014-01-12 23:50:54 +00:00
Vincent Sanders
4b49b4ac77 move more optional window operations into table including removing unused hide_pointer operation altogether 2014-01-12 22:55:26 +00:00
Vincent Sanders
b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders
56bb9582b1 move set title, set url, start and stop throbber window operations to gui table 2014-01-12 10:27:41 +00:00
Vincent Sanders
c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Vincent Sanders
d3c392c3d3 Initial conversion of netsurf gui to callback vtable 2014-01-11 14:20:30 +00:00
Daniel Silverstone
f97c1fc605 Add some more frontend stubs and fix up some others 2014-01-05 17:37:21 +00:00
Vincent Sanders
f7916866e3 remove all references to using libMNG 2014-01-04 17:07:11 +00:00
Michael Drake
6ca908a192 Use libnsfb's tiled bitmap function, instead of tiling ourselves. 2013-10-28 23:05:48 +00:00
Michael Drake
10bc47a709 Register destruction function for browser widget. 2013-10-23 22:17:36 +01:00
Michael Drake
4fa77f9686 Add font_finalise. 2013-10-23 21:32:16 +01:00
Michael Drake
897cbb7df1 Free font face id descriptors. 2013-10-23 21:25:52 +01:00
Michael Drake
555924a73d Call font finaliser on quit. 2013-10-23 21:24:55 +01:00
Michael Drake
e1a96ecfe1 Register destruction callback to free text widget text. 2013-10-23 19:58:20 +01:00
Michael Drake
97aceb5a68 Pass KEY_UNDO and KEY_REDO to core. (Currently ignored.) 2013-09-30 21:38:11 +01:00
Michael Drake
fe67bd95d7 There must be a next widget for swap_siblings. 2013-09-05 14:24:17 +01:00
Michael Drake
cf8ffa412a Remove old hotlist, cookies, and history_global_core modules.
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake
4473f4b8a8 Remove tree icon_name globals from all the front ends. 2013-09-02 16:39:46 +01:00
Michael Drake
5c7ca39ada Remove tree_url_node module. Had to disable treeview scanning in amiga and cocoa front ends. Amiga front end very likely broken. 2013-09-02 14:17:09 +01:00
Michael Drake
c56560c2ac Suppress most fbtk logging when FBTK_LOGGING is unset. 2013-08-29 12:28:37 +01:00
Michael Drake
a1eb1dec73 LOG macro terminates line itself. 2013-08-29 12:27:47 +01:00
Michael Drake
5ca6862a87 FONT_SIZE_SCALE is for preserving fractional parts, so use it properly. 2013-08-29 12:04:37 +01:00
Michael Drake
68078d7ea7 Fix up for cookies_old rename. 2013-07-22 10:21:37 +01:00
Michael Drake
3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00