The Pedigree Project
0.1
src
system
include
pedigree
kernel
debugger
Scrollable.h
1
/*
2
* Copyright (c) 2008-2014, Pedigree Developers
3
*
4
* Please see the CONTRIB file in the root of the source tree for a full
5
* list of contributors.
6
*
7
* Permission to use, copy, modify, and distribute this software for any
8
* purpose with or without fee is hereby granted, provided that the above
9
* copyright notice and this permission notice appear in all copies.
10
*
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
*/
19
20
#ifndef SCROLLABLE_H
21
#define SCROLLABLE_H
22
23
#include "pedigree/kernel/debugger/DebuggerIO.h"
24
#include "pedigree/kernel/processor/types.h"
25
29
class
Scrollable
{
30
public
:
31
Scrollable
();
32
33
void
move(
size_t
x,
size_t
y);
34
void
resize(
size_t
width,
size_t
height);
35
void
scroll(ssize_t lines);
36
void
scrollTo(
size_t
absolute);
37
void
scrollHorizontal(ssize_t columns);
38
void
horizontalScrollTo(
size_t
absolute);
39
void
refresh(
DebuggerIO
* pScreen);
40
void
setScrollKeys(
char
up,
char
down);
41
ssize_t getLine();
42
43
void
centreOn(
size_t
line);
44
45
size_t
height()
const
;
46
size_t
width()
const
;
47
48
virtual
const
char
* getLine1(
size_t
index,
DebuggerIO::Colour
& colour,
49
DebuggerIO::Colour
& bgColour) = 0;
50
virtual
const
char
* getLine2(
size_t
index,
size_t
& colOffset,
DebuggerIO::Colour
& colour,
51
DebuggerIO::Colour
& bgColour) = 0;
52
virtual
size_t
getLineCount() = 0;
53
virtual
size_t
getContentWidth();
54
virtual
~Scrollable
();
55
56
protected
:
57
size_t
m_x;
58
size_t
m_y;
59
size_t
m_width;
60
size_t
m_height;
61
ssize_t m_line;
62
size_t
m_column;
63
char
m_ScrollUp;
64
char
m_ScrollDown;
65
};
66
69
#endif
DebuggerIO
Definition
DebuggerIO.h:49
DebuggerIO::Colour
Colour
Definition
DebuggerIO.h:54
Scrollable
Definition
Scrollable.h:29
Generated on Sat Oct 3 2026 06:38:07 for The Pedigree Project by
1.9.8