23#ifndef __SYNCTEX_PARSER__
24#define __SYNCTEX_PARSER__
30#define SYNCTEX_VERSION_STRING "1.19"
41typedef struct synctex_scanner_t synctex_scanner_s;
42typedef synctex_scanner_s *synctex_scanner_p;
84synctex_scanner_p synctex_scanner_new_with_output_file(
const char *output,
const char *build_directory,
int parse);
93int synctex_scanner_free(synctex_scanner_p scanner);
111synctex_scanner_p synctex_scanner_parse(synctex_scanner_p scanner);
117typedef struct synctex_node_t synctex_node_s;
118typedef synctex_node_s *synctex_node_p;
169typedef long synctex_status_t;
175synctex_status_t synctex_display_query(synctex_scanner_p scanner,
const char *name,
int line,
int column,
int page_hint);
176synctex_status_t synctex_edit_query(synctex_scanner_p scanner,
int page,
float h,
float v);
177synctex_node_p synctex_scanner_next_result(synctex_scanner_p scanner);
178synctex_status_t synctex_scanner_reset_result(synctex_scanner_p scanner);
212float synctex_node_box_visible_h(synctex_node_p node);
213float synctex_node_box_visible_v(synctex_node_p node);
214float synctex_node_box_visible_width(synctex_node_p node);
215float synctex_node_box_visible_height(synctex_node_p node);
216float synctex_node_box_visible_depth(synctex_node_p node);
233float synctex_node_visible_h(synctex_node_p node);
234float synctex_node_visible_v(synctex_node_p node);
235float synctex_node_visible_width(synctex_node_p node);
236float synctex_node_visible_height(synctex_node_p node);
237float synctex_node_visible_depth(synctex_node_p node);
251int synctex_node_tag(synctex_node_p node);
252int synctex_node_line(synctex_node_p node);
253int synctex_node_column(synctex_node_p node);
254const char *synctex_node_get_name(synctex_node_p node);
260int synctex_node_page(synctex_node_p node);
267void synctex_scanner_display(synctex_scanner_p scanner);
290const char *synctex_scanner_get_name(synctex_scanner_p scanner,
int tag);
292int synctex_scanner_get_tag(synctex_scanner_p scanner,
const char *name);
294synctex_node_p synctex_scanner_input(synctex_scanner_p scanner);
295synctex_node_p synctex_scanner_input_with_tag(synctex_scanner_p scanner,
int tag);
296const char *synctex_scanner_get_output(synctex_scanner_p scanner);
297const char *synctex_scanner_get_synctex(synctex_scanner_p scanner);
307int synctex_scanner_x_offset(synctex_scanner_p scanner);
308int synctex_scanner_y_offset(synctex_scanner_p scanner);
309float synctex_scanner_magnification(synctex_scanner_p scanner);
344synctex_node_p synctex_node_parent(synctex_node_p node);
345synctex_node_p synctex_node_parent_sheet(synctex_node_p node);
346synctex_node_p synctex_node_parent_form(synctex_node_p node);
347synctex_node_p synctex_node_child(synctex_node_p node);
348synctex_node_p synctex_node_last_child(synctex_node_p node);
349synctex_node_p synctex_node_sibling(synctex_node_p node);
350synctex_node_p synctex_node_last_sibling(synctex_node_p node);
351synctex_node_p synctex_node_arg_sibling(synctex_node_p node);
352synctex_node_p synctex_node_next(synctex_node_p node);
363synctex_node_p synctex_sheet(synctex_scanner_p scanner,
int page);
364synctex_node_p synctex_sheet_content(synctex_scanner_p scanner,
int page);
365synctex_node_p synctex_form(synctex_scanner_p scanner,
int tag);
366synctex_node_p synctex_form_content(synctex_scanner_p scanner,
int tag);
370void synctex_node_log(synctex_node_p node);
371void synctex_node_display(synctex_node_p node);
376int synctex_node_h(synctex_node_p node);
377int synctex_node_v(synctex_node_p node);
378int synctex_node_width(synctex_node_p node);
379int synctex_node_height(synctex_node_p node);
380int synctex_node_depth(synctex_node_p node);
386int synctex_node_box_h(synctex_node_p node);
387int synctex_node_box_v(synctex_node_p node);
388int synctex_node_box_width(synctex_node_p node);
389int synctex_node_box_height(synctex_node_p node);
390int synctex_node_box_depth(synctex_node_p node);