blob: aa77ebb9653e94340358791437eb00b98086ae18 (
plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
/* -------------------------------------------------------------------------- */
/* */
/* [history.h] History Buffer */
/* */
/* -------------------------------------------------------------------------- */
/* */
/* Copyright (c) 1997,1998 by Lars Doelle <lars.doelle@on-line.de> */
/* */
/* This file is part of Konsole - an X terminal for KDE */
/* */
/* -------------------------------------------------------------------------- */
/* */
/* */
/* Ported Konsole to Qt/Embedded */
/* */
/* Copyright (C) 2000 by John Ryland <jryland@trolltech.com> */
/* */
/* -------------------------------------------------------------------------- */
/* */
/* ported embedded_konsole to opie-console */
/* */
/* Copyright (C) 2002 by opie developers <opie@handhelds.org> */
/* */
/* -------------------------------------------------------------------------- */
#ifndef HISTORY_H
#define HISTORY_H
#include "common.h"
/*
An extendable tmpfile(1) based buffer.
*/
class HistoryBuffer
{
public:
HistoryBuffer();
~HistoryBuffer();
public:
void setScroll(bool on);
bool hasScroll();
public:
void add(const unsigned char* bytes, int len);
void get(unsigned char* bytes, int len, int loc);
int len();
private:
int ion;
int length;
};
class HistoryScroll
{
public:
HistoryScroll();
~HistoryScroll();
public:
void setScroll(bool on);
bool hasScroll();
public: // access to history
int getLines();
int getLineLen(int lineno);
void getCells(int lineno, int colno, int count, Character res[]);
public: // backward compatibility (obsolete)
Character getCell(int lineno, int colno) { Character res; getCells(lineno,colno,1,&res); return res; }
public: // adding lines.
void addCells(Character a[], int count);
void addLine();
private:
int startOfLine(int lineno);
HistoryBuffer index; // lines Row(int)
HistoryBuffer cells; // text Row(Character)
};
#endif // HISTORY_H
|