Commit Graph

83 Commits

Author SHA1 Message Date
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
John Mark Bell 79ce683b4e Most of a stop implementation.
Remaining work:
  1) Clone content_html_data
  2) Cloning content_css_data requires the charset of the old content
  3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.

svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell 43a99ab683 Constify data parameter to *_process_data
svn path=/trunk/netsurf/; revision=10234
2010-04-03 16:37:36 +00:00
John Mark Bell 9aca901eb1 The convert stage of a content's state progression no longer reflows the content to the provided dimensions.
It is now defined as converting the content into a state in which it is ready for use.
The user of the content is now responsible for performing an initial reformat (sic) of the content before it can be redrawn.

Purge width/height parameters from hlcache_handle_retrieve/content_convert/*_convert APIs.
Fix up content handlers affected by the above change in semantics.
Ensure that browser_window_callback performs an initial reformat of its content.

svn path=/trunk/netsurf/; revision=10207
2010-03-29 22:33:21 +00:00
Daniel Silverstone 270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
John Mark Bell 355799ce0b Merge branches/MarkieB/gtkmain to trunk.
svn path=/trunk/netsurf/; revision=9729
2009-12-17 23:55:02 +00:00
John Mark Bell 4aaf13f9ed Respect configured font size
svn path=/trunk/netsurf/; revision=8813
2009-07-27 10:00:31 +00:00
John Mark Bell cc662408b7 Fix text/plain lineheight calculation
svn path=/trunk/netsurf/; revision=8763
2009-07-24 00:17:43 +00:00
John Mark Bell ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00