Documentation ¶
Overview ¶
Package video takes care on the game display. It also creates the window using GLFW. It exports the Refresh callback used by the libretro implementation.
Index ¶
- func NewImage(file string) uint32
- func XYWHTo4points(x, y, w, h, fbh float32) (x1, y1, x2, y2, x3, y3, x4, y4 float32)
- type Color
- type Direction
- type Font
- type Video
- func (video *Video) Configure(fullscreen bool)
- func (video *Video) DrawBorder(x, y, w, h, borderWidth float32, c Color)
- func (video *Video) DrawCircle(x, y, r float32, c Color)
- func (video *Video) DrawImage(image uint32, x, y, w, h float32, scale float32, c Color)
- func (video *Video) DrawRect(x, y, w, h, r float32, c Color)
- func (video *Video) GetFramebufferSize() (int, int)
- func (video *Video) Reconfigure(fullscreen bool)
- func (video *Video) Refresh(data unsafe.Pointer, width int32, height int32, pitch int32)
- func (video *Video) Render()
- func (video *Video) ResetPitch()
- func (video *Video) ResetRot()
- func (video *Video) ResizeViewport()
- func (video *Video) ScissorEnd()
- func (video *Video) ScissorStart(x, y, w, h int32)
- func (video *Video) SetPixelFormat(format uint32) bool
- func (video *Video) SetRotation(rot uint) bool
- func (video *Video) SetShouldClose(b bool)
- func (video *Video) SetTitle(title string)
- func (video *Video) TakeScreenshot(name string) error
- func (video *Video) UpdateFilter(filter string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func XYWHTo4points ¶
XYWHTo4points converts coordinates from (x, y, width, height) to (x1, y1, x2, y2, x3, y3, x4, y4)
Types ¶
type Direction ¶ added in v0.11.1
type Direction uint8
Direction represents the direction in which strings should be rendered.
type Font ¶ added in v0.11.1
type Font struct {
// contains filtered or unexported fields
}
A Font allows rendering of text to an OpenGL context.
func LoadTrueTypeFont ¶ added in v0.11.1
func LoadTrueTypeFont(program uint32, r io.Reader, scale int32, low, high rune, dir Direction) (*Font, error)
LoadTrueTypeFont builds a set of textures based on a ttf files gylphs
func (*Font) Printf ¶ added in v0.11.1
Printf draws a string to the screen, takes a list of arguments like printf
func (*Font) SetColor ¶ added in v0.11.1
SetColor allows you to set the text color to be used when you draw the text
func (*Font) UpdateResolution ¶ added in v0.11.1
UpdateResolution passes the new framebuffer size to the font shader
type Video ¶
type Video struct { Window *glfw.Window Geom libretro.GameGeometry Font *Font // contains filtered or unexported fields }
Video holds the state of the video package
func (*Video) DrawBorder ¶
DrawBorder draws a colored rectangle border
func (*Video) DrawCircle ¶
DrawCircle draws a circle
func (*Video) GetFramebufferSize ¶ added in v0.14.0
GetFramebufferSize retrieves the size, in pixels, of the framebuffer of the specified window.
func (*Video) Reconfigure ¶
Reconfigure destroys and recreates the window with new attributes
func (*Video) ResetPitch ¶ added in v0.7.1
func (video *Video) ResetPitch()
ResetPitch should be called when unloading a game so that the next game won't be rendered with the wrong pitch
func (*Video) ResetRot ¶ added in v0.10.3
func (video *Video) ResetRot()
ResetRot should be called when unloading a game so that the next game won't be rendered with the wrong rotation
func (*Video) ResizeViewport ¶ added in v0.5.0
func (video *Video) ResizeViewport()
ResizeViewport resizes the GL viewport to the framebuffer size
func (*Video) ScissorEnd ¶ added in v0.8.6
func (video *Video) ScissorEnd()
ScissorEnd closes a GL scissor box
func (*Video) ScissorStart ¶ added in v0.8.6
ScissorStart starts a GL scissor box, don't forget to call ScissorEnd
func (*Video) SetPixelFormat ¶
SetPixelFormat is a callback passed to the libretro implementation. It allows the core or the game to tell us which pixel format should be used for the display.
func (*Video) SetRotation ¶ added in v0.10.3
SetRotation rotates the game image as requested by the core
func (*Video) SetShouldClose ¶ added in v0.14.0
SetShouldClose sets the value of the close flag of the window.
func (*Video) SetTitle ¶ added in v0.14.0
SetTitle sets the window title, encoded as UTF-8, of the window.
func (*Video) TakeScreenshot ¶
TakeScreenshot captures the ouput of video.Render and writes it to a file
func (*Video) UpdateFilter ¶ added in v0.5.2
UpdateFilter configures the game texture filter and shader. We currently support 4 modes: Raw: nearest Smooth: linear Pixel Perfect: sharp-bilinear CRT: zfast-crt LCD: zfast-lcd
Source Files ¶
- border_frag_shader.go
- circle_frag_shader.go
- crt_frag_shader.go
- default_frag_shader.go
- default_vert_shader.go
- demul_frag_shader.go
- font.go
- font_frag_shader.go
- font_vert_shader.go
- gfx.go
- lcd_frag_shader.go
- rounded_frag_shader.go
- screenshot.go
- shader_utils.go
- sharpbilinear_frag_shader.go
- video.go
- video_notdarwin.go