mirror of
https://github.com/taigrr/gopher-os
synced 2025-01-18 04:43:13 -08:00
Define console interface
This commit is contained in:
parent
590d4f1363
commit
b513f2f332
52
kernel/driver/video/console/console.go
Normal file
52
kernel/driver/video/console/console.go
Normal file
@ -0,0 +1,52 @@
|
||||
package console
|
||||
|
||||
import "sync"
|
||||
|
||||
// Attr defines a color attribute.
|
||||
type Attr uint16
|
||||
|
||||
// The set of attributes that can be passed to Write().
|
||||
const (
|
||||
Black Attr = iota
|
||||
Blue
|
||||
Green
|
||||
Cyan
|
||||
Red
|
||||
Magenta
|
||||
Brown
|
||||
LightGrey
|
||||
Grey
|
||||
LightBlue
|
||||
LightGreen
|
||||
LightCyan
|
||||
LightRed
|
||||
LightMagenta
|
||||
LightBrown
|
||||
White
|
||||
)
|
||||
|
||||
// ScrollDir defines a scroll direction.
|
||||
type ScrollDir uint8
|
||||
|
||||
// The supported list of scroll directions for the console Scroll() calls.
|
||||
const (
|
||||
Up ScrollDir = iota
|
||||
Down
|
||||
)
|
||||
|
||||
// The console.Interface is implemented by objects that can function as physical consoles.
|
||||
type Interface interface {
|
||||
sync.Locker
|
||||
|
||||
// Dimensions returns the width and height of the console in characters.
|
||||
Dimensions() (uint16, uint16)
|
||||
|
||||
// Clear clears the specified rectangular region
|
||||
Clear(x, y, width, height uint16)
|
||||
|
||||
// Scroll a particular number of lines to the specified direction.
|
||||
Scroll(dir ScrollDir, lines uint16)
|
||||
|
||||
// Write a char to the specified location.
|
||||
Write(ch byte, attr Attr, x, y uint16)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user