hdmistat/internal/fbdraw/interfaces.go
2025-07-24 16:09:00 +02:00

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
}