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