/** \file mcviewer.h * \brief Header: internal file viewer */ #ifndef MC__VIEWER_H #define MC__VIEWER_H #include "lib/global.h" #include "lib/widget.h" // WRect /*** typedefs(not structures) and defined constants **********************************************/ /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ struct WView; typedef struct WView WView; typedef struct { gboolean wrap; // Wrap text lines to fit them on the screen gboolean hex; // Plainview or hexview gboolean magic; // Preprocess the file using external programs gboolean nroff; // Nroff-style highlighting } mcview_mode_flags_t; /*** global variables defined in .c file *********************************************************/ extern mcview_mode_flags_t mcview_global_flags; extern mcview_mode_flags_t mcview_altered_flags; extern gboolean mcview_remember_file_position; extern int mcview_max_dirt_limit; extern gboolean mcview_mouse_move_pages; extern char *mcview_show_eof; /*** declarations of public functions ************************************************************/ /* Creates a new WView object with the given properties. */ extern WView *mcview_new (const WRect *r, gboolean is_panel); /* Shows {file} or the output of {command} in the internal viewer, * starting in line {start_line}. */ extern gboolean mcview_viewer (const char *command, const vfs_path_t *file_vpath, int start_line, off_t search_start, off_t search_end); extern gboolean mcview_load (WView *view, const char *command, const char *file, int start_line, off_t search_start, off_t search_end); extern void mcview_clear_mode_flags (mcview_mode_flags_t *flags); /*** inline functions ****************************************************************************/ #endif