1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-06-28 01:35:32 +00:00
elinks/src/viewer/text/view.h

117 lines
5.0 KiB
C
Raw Normal View History

#ifndef EL__VIEWER_TEXT_VIEW_H
#define EL__VIEWER_TEXT_VIEW_H
#include "config/kbdbind.h"
#include "viewer/action.h"
#ifdef __cplusplus
extern "C" {
#endif
struct document_view;
struct session;
struct term_event;
struct terminal;
2007-07-27 11:13:27 +00:00
/** Releases the document view's resources.
* But doesn't free() the @a doc_view. */
void detach_formatted(struct document_view *doc_view);
enum frame_event_status move_current_top(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_half_page_down(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_half_page_up(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_page_down(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_page_up(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_link(struct session *ses, struct document_view *doc_view,
int direction, int wraparound_bound, int wraparound_link);
#define move_link_next(ses, doc_view) move_link(ses, doc_view, 1, (doc_view)->document->nlinks - 1, 0)
#define move_link_prev(ses, doc_view) move_link(ses, doc_view, -1, 0, (doc_view)->document->nlinks - 1)
enum frame_event_status move_link_dir(struct session *ses, struct document_view *doc_view,
int dir_x, int dir_y);
#define move_link_up(ses, doc_view) move_link_dir(ses, doc_view, 0, -1)
#define move_link_down(ses, doc_view) move_link_dir(ses, doc_view, 0, 1)
#define move_link_left(ses, doc_view) move_link_dir(ses, doc_view, -1, 0)
#define move_link_right(ses, doc_view) move_link_dir(ses, doc_view, 1, 0)
enum frame_event_status move_link_prev_line(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_link_next_line(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_link_up_line(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_link_down_line(struct session *ses, struct document_view *doc_view);
enum frame_event_status scroll_up(struct session *ses, struct document_view *doc_view);
enum frame_event_status scroll_down(struct session *ses, struct document_view *doc_view);
enum frame_event_status scroll_left(struct session *ses, struct document_view *doc_view);
enum frame_event_status scroll_right(struct session *ses, struct document_view *doc_view);
enum frame_event_status horizontal_scroll_extended(struct session *ses, struct document_view *doc_view, int steps, int extended);
enum frame_event_status vertical_scroll(struct session *ses, struct document_view *doc_view, int steps);
enum frame_event_status move_document_start(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_document_end(struct session *ses, struct document_view *doc_view);
enum frame_event_status set_frame(struct session *ses, struct document_view *doc_view, int xxxx);
struct document_view *current_frame(struct session *);
2007-07-27 11:13:27 +00:00
/** Used for changing between formatted and source (plain) view. */
void toggle_plain_html(struct session *ses, struct document_view *doc_view, int xxxx);
enum frame_event_status move_cursor_left(struct session *ses,
struct document_view *view);
enum frame_event_status move_cursor_right(struct session *ses,
struct document_view *view);
enum frame_event_status move_cursor_up(struct session *ses,
struct document_view *view);
enum frame_event_status move_cursor_down(struct session *ses,
struct document_view *view);
enum frame_event_status move_cursor_line_start(struct session *ses, struct document_view *doc_view);
enum frame_event_status move_cursor(struct session *ses,
struct document_view *doc_view,
int x, int y);
2007-07-27 11:13:27 +00:00
/** Used for changing wrapping of text */
void toggle_wrap_text(struct session *ses, struct document_view *doc_view, int xxxx);
enum frame_event_status copy_current_link_to_clipboard(struct session *ses,
struct document_view *doc_view,
int xxx);
enum frame_event_status copy_to_clipboard(struct session *ses, struct document_view *doc_view);
enum frame_event_status mark_clipboard(struct session *ses, struct document_view *doc_view);
2007-07-27 11:13:27 +00:00
/** If the user has provided a numeric prefix, jump to the link
* with that number as its index. */
int try_jump_to_link_number(struct session *ses,
struct document_view *doc_view);
2007-07-27 11:13:27 +00:00
/** @name File menu handlers.
* @{ */
enum frame_event_status save_as(struct session *ses, struct document_view *doc_view, int magic);
2007-07-27 11:13:27 +00:00
/** @} */
/** @name Various event emitters and link menu handlers.
* @{ */
void send_event(struct session *, struct term_event *);
enum frame_event_status save_formatted_dlg(struct session *ses, struct document_view *doc_view, int xxxx);
enum frame_event_status view_image(struct session *ses, struct document_view *doc_view, int xxxx);
enum frame_event_status download_link(struct session *ses, struct document_view *doc_view, action_id_T action_id);
void open_link_dialog(struct session *ses);
2007-07-27 11:13:27 +00:00
/** @} */
#ifdef __cplusplus
}
#endif
#endif