Commit Graph

91 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
Vincent Sanders
4acfda898b fix plain text rendering line breaking with mutibyte sequences (fixes bug #2134) 2014-05-29 11:25:52 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Vincent Sanders
db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Michael Drake
46b8fbaeac Use corestring. 2014-01-25 10:00:33 +00:00
Michael Drake
cde62790f6 Update for new lpu API. 2013-12-14 23:17:50 +00:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Michael Drake
3afd9c9731 Remove search context from browser window, simplify search interface for front ends.
Added content interface for search.

Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.

Search API reduced to a pair of functions at each level:
  {desktop|content|html|textplain}_search
and
  {desktop|content|html|textplain}_search_clear

Updated front ends to use simplified search API.  Only tested GTK and RO builds.

These confine the search stuff to render/.  However search still uses struct
selection.  The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Michael Drake
edef40bbc4 Don't pass struct box to content open. 2012-08-20 14:22:28 +01:00
Michael Drake
081976105a Minor style tweaks. 2012-08-19 11:39:00 +01:00
Michael Drake
47db5546c5 Use content msg system for status text, and don't pass internal status message as an explict message. 2012-08-19 11:35:32 +01:00
Michael Drake
c4b284e43c Use interface to set drag type. Longer term, it would be better to avoid using bw altogether. 2012-08-18 22:45:17 +01:00
Michael Drake
8e315f9f8f Set content handlers now set pointer via content msg. 2012-08-17 10:02:10 +01:00
Michael Drake
35fd2ad7f2 Don't use GUI_POINTERs in content handlers. 2012-08-16 22:21:08 +01:00
Daniel Silverstone
19150f13ef Shut up missing text_redraw
svn path=/trunk/netsurf/; revision=13650
2012-03-25 08:19:37 +00:00
John Mark Bell
72baec3aec Remove bogus dependencies on box.h
svn path=/trunk/netsurf/; revision=13607
2012-03-24 17:42:29 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake
c08ee82076 Allow drag handlers to inform browser window layer of any pointer range constraints.
svn path=/trunk/netsurf/; revision=13394
2012-01-10 22:02:19 +00:00
John Mark Bell
339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
John Mark Bell
3d71da088b Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +00:00
John Mark Bell
9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Michael Drake
63c07ee28d Core part of search improvement:
+ Split up browser window and content related elements of html & text search.
+ Associate search contexts with contents, rather than browser windows.
+ Remove highlighting of search terms dependency on current_redraw_browser.
+ Fixes issues with search contexts being applied to the wrong content.


svn path=/trunk/netsurf/; revision=12646
2011-08-24 12:29:30 +00:00
Michael Drake
16b92d1613 Selection is now subordinate to html and text content types, and disassociated from browser windows. Note: search currently uses hlcache_handle_get_content() to go from bw to h to get at c for search highlighting via selection.
svn path=/trunk/netsurf/; revision=12626
2011-07-26 13:53:42 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
John Mark Bell
b34502af82 Refactor http utilities
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +00:00
Michael Drake
51f6d5475b Set bw for textplain selection.
svn path=/trunk/netsurf/; revision=12554
2011-07-02 12:34:35 +00:00
Michael Drake
f9566b6405 Set/unset selection context's browser window on content_open/content_close.
svn path=/trunk/netsurf/; revision=12551
2011-07-01 11:16:43 +00:00
Michael Drake
fb4955e162 Make text/plain contents aware of the browser window they are opened in.
svn path=/trunk/netsurf/; revision=12546
2011-06-30 18:27:24 +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
Michael Drake
3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake
25e7c86fb7 Make search_term_highlighted a core function.
svn path=/trunk/netsurf/; revision=12524
2011-06-28 12:30:56 +00:00
Michael Drake
53f4da3420 First pass at core iframes. Currently lacking scrollbars.
svn path=/trunk/netsurf/; revision=12474
2011-06-14 20:00:18 +00:00
Vincent Sanders
83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Vincent Sanders
8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
John Mark Bell
e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Michael Drake
ad2116a730 Handle scaled rendering of text/plain with plot origin offset too.
svn path=/trunk/netsurf/; revision=12098
2011-03-17 18:49:25 +00:00
Michael Drake
ff600fbf8c Fix text/plain rendering's plot range calc to take account of vertical plot offset (y).
svn path=/trunk/netsurf/; revision=12097
2011-03-17 18:15:32 +00:00
Michael Drake
14ab7bb98f Make text size a separate #define.
svn path=/trunk/netsurf/; revision=12058
2011-03-15 15:10:10 +00:00
Vincent Sanders
74f108ee4d Saturated maths in css fixed point
svn path=/trunk/netsurf/; revision=11975
2011-03-12 17:46:11 +00:00
Michael Drake
e3f00b8546 Cache space widths.
svn path=/trunk/netsurf/; revision=11877
2011-03-01 20:00:41 +00:00
John Mark Bell
86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
John Mark Bell
f42ed976e5 Constify
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +00:00
Michael Drake
fe7921a387 Pass clip rect as struct through content_redraw api. Update the front ends to use this. Note only RO build tested.
svn path=/trunk/netsurf/; revision=11670
2011-02-13 22:25:11 +00:00
John Mark Bell
b734c12fd6 Slightly less braindead textplain handling
svn path=/trunk/netsurf/; revision=10900
2010-10-23 18:43:48 +00:00
John Mark Bell
9ad74ad786 Remove bogus assertion
svn path=/trunk/netsurf/; revision=10793
2010-09-17 19:11:53 +00:00
John Mark Bell
805d6586d6 Replace all instances of NUL with U+FFFD
svn path=/trunk/netsurf/; revision=10771
2010-09-13 22:32:52 +00:00
John Mark Bell
73f4399418 Replace use of iconv with a parserutils inputstream
svn path=/trunk/netsurf/; revision=10770
2010-09-13 22:18:51 +00:00
Michael Drake
b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00