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
Vincent Sanders
1bbc9a485e
remove unecessary includes
2014-10-13 08:07:58 +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
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
fe67bd95d7
There must be a next widget for swap_siblings.
2013-09-05 14:24:17 +01:00
Michael Drake
c56560c2ac
Suppress most fbtk logging when FBTK_LOGGING is unset.
2013-08-29 12:28:37 +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
7af0614202
Make delete line key enum value name less missleading. (Doesn't cut to clipboard.)
2013-02-11 10:34:06 +00:00
Michael Drake
5f7a3a7ada
Widget can't be NULL.
2012-10-11 14:07:22 +01:00
Michael Drake
84e1bf89d9
Add OSK icon.
2012-09-28 19:52:21 +01:00
Michael Drake
53a379ea45
Squash warning.
2012-08-10 12:17:34 +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
46527795db
Pass pointer hotspots to libnsfb.
2012-08-01 12:52:46 +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
72cb5b6ea4
Add widget callback for getting stripped of focus. Call it in the input setter, on previous input holder.
2012-07-31 22:14:48 +01:00
Michael Drake
daa47fce52
Use setter when giving clicked input focus.
2012-07-31 21:49:01 +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
941a48dabd
When setting fbtk caret, register callback for redrawing caret removal.
2012-07-31 20:40:14 +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
8db6d74bcb
Add basic awareness of text input caret to ftbk and functions to get/set caret pos.
2012-07-31 14:04:12 +01:00
Michael Drake
41f88e6937
Scrollbar behaviour fixes.
...
Stop scrollbar sliding at different rate from pointer.
Stop jump on drag start when scrollbar position indicator isn't at zero.
2012-07-27 14:05:13 +01:00
Michael Drake
382c2f2289
Only warp pointer once for a sequence of consecutive move events. Further reduces lag when dragging scrollbar.
2012-07-26 23:14:27 +01:00
Michael Drake
514bee5786
Handle consecutive queued mouse move events together. Reduces pointer lag when busy.
2012-07-26 22:38:38 +01:00
Vincent Sanders
820312eb35
Update for modified libnsfb API
...
Make thumbnailing work
svn path=/trunk/netsurf/; revision=13159
2011-11-21 08:45:08 +00: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
Vincent Sanders
7a3a96045c
fix off by 1 in previous commit
...
svn path=/trunk/netsurf/; revision=10958
2010-12-04 14:30:08 +00:00
Vincent Sanders
4cf27ef338
Stop cursor leaving the root widget and causing a segfault (Found by tlsa)
...
svn path=/trunk/netsurf/; revision=10957
2010-12-04 14:24:53 +00:00
Michael Drake
71ea71540a
Give the browser window widget input focus by defualt on startup.
...
svn path=/trunk/netsurf/; revision=10948
2010-11-20 18:50:45 +00:00
Michael Drake
908da609e7
Make click action happen on release.
...
svn path=/trunk/netsurf/; revision=10947
2010-11-20 17:27:36 +00:00
Vincent Sanders
60fc5bab4f
add explicit inlude for varargs
...
svn path=/trunk/netsurf/; revision=10678
2010-08-03 10:16:41 +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