From 8ee4aa4b11b67745947366bf98684910f01f7aec Mon Sep 17 00:00:00 2001 From: Jérôme Laurens Date: Fri, 14 Oct 2011 09:00:51 +0000 Subject: synctex parser changes: better forward synchronization and new file naming convention support. Only the synctex command line tool is concerned as well as 3rd parties software, but not the various tex engines. git-svn-id: svn://tug.org/texlive/trunk@24285 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/synctexdir/synctex_parser.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'Build/source/texk/web2c/synctexdir/synctex_parser.h') diff --git a/Build/source/texk/web2c/synctexdir/synctex_parser.h b/Build/source/texk/web2c/synctexdir/synctex_parser.h index 4aca41501e7..3151707623d 100644 --- a/Build/source/texk/web2c/synctexdir/synctex_parser.h +++ b/Build/source/texk/web2c/synctexdir/synctex_parser.h @@ -5,7 +5,7 @@ This file is part of the SyncTeX package. Latest Revision: Tue Jun 14 08:23:30 UTC 2011 -Version: 1.16 +Version: 1.17 See synctex_parser_readme.txt for more details @@ -236,6 +236,7 @@ synctex_node_t synctex_node_sheet(synctex_node_t node); synctex_node_t synctex_node_child(synctex_node_t node); synctex_node_t synctex_node_sibling(synctex_node_t node); synctex_node_t synctex_node_next(synctex_node_t node); +synctex_node_t synctex_sheet(synctex_scanner_t scanner,int page); synctex_node_t synctex_sheet_content(synctex_scanner_t scanner,int page); /* These are the types of the synctex nodes */ @@ -264,6 +265,11 @@ const char * synctex_node_isa(synctex_node_t node); void synctex_node_log(synctex_node_t node); void synctex_node_display(synctex_node_t node); +/* Given a node, access to the location in the synctex file where it is defined. + */ +typedef unsigned int synctex_charindex_t; +synctex_charindex_t synctex_node_charindex(synctex_node_t node); + /* Given a node, access to its tag, line and column. * The line and column numbers are 1 based. * The latter is not yet fully supported in TeX, the default implementation returns 0 which means the whole line. @@ -274,6 +280,14 @@ int synctex_node_tag(synctex_node_t node); int synctex_node_line(synctex_node_t node); int synctex_node_column(synctex_node_t node); +/* In order to enhance forward synchronization, + * non void horizontal boxes have supplemental cached information. + * The mean line is the average of the line numbers of the included nodes. + * The child count is the number of chidren. + */ +int synctex_node_mean_line(synctex_node_t node); +int synctex_node_child_count(synctex_node_t node); + /* This is the page where the node appears. * This is a 1 based index as given by TeX. */ -- cgit v1.2.3