30 lines
831 B
Go
30 lines
831 B
Go
package fbdraw
|
|
|
|
// FrameGenerator generates frames for a screen
|
|
type FrameGenerator interface {
|
|
// Init is called once when the screen is added to the carousel
|
|
// width and height are the character dimensions that frames will be requested at
|
|
Init(width, height int) error
|
|
|
|
// GenerateFrame is called to render a new frame
|
|
GenerateFrame(grid *CharGrid) error
|
|
|
|
// FramesPerSecond returns the desired frame rate
|
|
FramesPerSecond() float64
|
|
}
|
|
|
|
// FramebufferDisplay interface represents the output device
|
|
type FramebufferDisplay interface {
|
|
// Write renders a grid to the display
|
|
Write(grid *CharGrid) error
|
|
|
|
// Size returns the display dimensions in characters
|
|
Size() (width, height int)
|
|
|
|
// PixelSize returns the display dimensions in pixels
|
|
PixelSize() (width, height int)
|
|
|
|
// Close cleans up resources
|
|
Close() error
|
|
}
|