2020-06-29 00:41:58 -04:00
|
|
|
package d2interface
|
2020-01-31 23:18:11 -05:00
|
|
|
|
2020-10-28 14:17:42 -04:00
|
|
|
type renderCallback = func(Surface) error
|
|
|
|
|
|
|
|
type updateCallback = func() error
|
2020-07-06 21:26:08 -04:00
|
|
|
|
2020-06-30 17:04:41 -04:00
|
|
|
// Renderer interface defines the functionality of a renderer
|
2020-01-31 23:18:11 -05:00
|
|
|
type Renderer interface {
|
|
|
|
GetRendererName() string
|
|
|
|
SetWindowIcon(fileName string)
|
2020-10-28 14:17:42 -04:00
|
|
|
Run(r renderCallback, u updateCallback, width, height int, title string) error
|
2020-01-31 23:18:11 -05:00
|
|
|
IsDrawingSkipped() bool
|
2020-02-09 14:12:04 -05:00
|
|
|
CreateSurface(surface Surface) (Surface, error)
|
2020-10-28 14:17:42 -04:00
|
|
|
NewSurface(width, height int) Surface
|
2020-02-09 14:12:04 -05:00
|
|
|
IsFullScreen() bool
|
|
|
|
SetFullScreen(fullScreen bool)
|
|
|
|
SetVSyncEnabled(vsync bool)
|
|
|
|
GetVSyncEnabled() bool
|
|
|
|
GetCursorPos() (int, int)
|
2020-01-31 23:18:11 -05:00
|
|
|
CurrentFPS() float64
|
2020-10-28 21:02:12 -04:00
|
|
|
ShowPanicScreen(message string)
|
2020-01-31 23:18:11 -05:00
|
|
|
}
|