1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
/*
* Edit buffer window generation
* Copyright
* (C) 1992 Joseph H. Allen
*
* This file is part of JOE (Joe's Own Editor)
*/
#ifndef _JOE_BW_H
#define _JOE_BW_H 1
/* A buffer window: there are several kinds, depending on what is in 'object' */
struct bw {
W *parent;
B *b;
P *top;
P *cursor;
long offset;
Screen *t;
int h, w, x, y;
OPTIONS o;
void *object;
int linums;
int top_changed; /* Top changed */
struct lattr_db *db; /* line attribute database */
};
extern int dspasis; /* Display characters above 127 as-is */
extern int mid; /* Controls how window scrolls: when set, scroll window enough so that line with cursor becomes centered */
void bwfllw PARAMS((BW *w));
void bwfllwt PARAMS((BW *w));
void bwfllwh PARAMS((BW *w));
void bwins PARAMS((BW *w, long int l, long int n, int flg));
void bwdel PARAMS((BW *w, long int l, long int n, int flg));
void bwgen PARAMS((BW *w, int linums));
void bwgenh PARAMS((BW *w));
BW *bwmk PARAMS((W *window, B *b, int prompt));
void bwmove PARAMS((BW *w, int x, int y));
void bwresz PARAMS((BW *w, int wi, int he));
void bwrm PARAMS((BW *w));
int ustat PARAMS((BW *bw));
int ucrawll PARAMS((BW *bw));
int ucrawlr PARAMS((BW *bw));
void orphit PARAMS((BW *bw));
extern int marking; /* Anchored block marking mode */
void save_file_pos PARAMS((FILE *f));
void load_file_pos PARAMS((FILE *f));
long get_file_pos PARAMS((unsigned char *name));
void set_file_pos PARAMS((unsigned char *name, long pos));
extern int restore_file_pos;
void set_file_pos_all PARAMS((Screen *t));
#endif
|