Commit Graph

22 Commits

Author SHA1 Message Date
Vincent Sanders
17be8cf216 Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.

This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +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
e1a96ecfe1 Register destruction callback to free text widget text. 2013-10-23 19:58:20 +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
126141a52c Ensure text is at the right height for Freetype and Internal fonts. 2012-08-08 14:04:57 +01:00
Michael Drake
b238791002 Use enum instead of magic numbers for tracking key modifier states. Pass special keys to core (e.g. WORD_LEFT, SELECT_ALL, etc). 2012-08-01 14:47:20 +01:00
Michael Drake
d84ad62a04 Scroll text in writable text widget so caret is always in view. 2012-08-01 09:29:26 +01:00
Michael Drake
465ebb2c7b Only writable text widget needs caret rendering. 2012-08-01 09:16:25 +01:00
Michael Drake
9e3db46b67 Handle CTRL modifier too. CTRL with cursor left/right is same as SHIFT. CTRL+U clears writable. 2012-07-31 22:55:08 +01:00
Michael Drake
21ce8800b8 Cursor left/right keys plus modifier move caret to extrems. 2012-07-31 22:40:47 +01:00
Michael Drake
75cc4a06be Factor out some repeated code. 2012-07-31 22:30:39 +01:00
Michael Drake
53183b2411 Make text input widget remove caret on "strip focus" event. 2012-07-31 22:18:44 +01:00
Michael Drake
2999410af6 When a text input widget has its text set, and it has the caret, move the caret to the end. 2012-07-31 21:04:20 +01:00
Michael Drake
140795500c Claim, position, and render caret in text input widget. Currently does not remove caret when input widget is stripped of focus (because widget doesn't know). 2012-07-31 20:43:43 +01:00
Michael Drake
4125a8afdf Remove strlen from redraw functions. 2012-07-31 15:18:25 +01:00
Michael Drake
45b9d96678 Add support for editing text input widget contents from arbitrary position in string (instead of just end). 2012-07-31 15:13:52 +01:00
Michael Drake
90b0c48bb2 Split out common code to generate a font style for text input widget. 2012-07-31 14:06:57 +01:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Vincent Sanders
06764ea9f0 add control of fbtk text widget padding
svn path=/trunk/netsurf/; revision=12116
2011-03-21 07:51:37 +00:00
John Mark Bell
d945884cb1 Fix font sizing in text widget
svn path=/trunk/netsurf/; revision=12016
2011-03-13 10:52:09 +00:00
Vincent Sanders
30a92ed4e6 remove malloc.h anachronism
svn path=/trunk/netsurf/; revision=11227
2011-01-06 09:24:14 +00:00
John Mark Bell
5bebf2f2fc Merge branches/vince/netsurf-fbtk-rework to trunk.
svn path=/trunk/netsurf/; revision=10605
2010-07-07 18:08:17 +00:00