func main() { C.openDisplay() http.HandleFunc("/", serveHomepage) http.HandleFunc("/screenshot.png", serveScreenshot) http.ListenAndServe(":8080", nil) }
func OpenDisplay(w, h int, full bool) { runtime.LockOSThread() var i C.int = 0 if full { i = 1 } screen = C.openDisplay(C.int(w), C.int(h), i) renderer = C.SDL_CreateRenderer(screen, -1, C.SDL_RENDERER_ACCELERATED) C.SDL_SetRenderDrawBlendMode(renderer, C.SDL_BLENDMODE_BLEND) Event_DrawEvent = C.SDL_RegisterEvents(1) Event_MainOpEvent = C.SDL_RegisterEvents(1) }
//Opens a window. //Returns an indicator of success. func OpenDisplay(width, height int, fullscreen bool) bool { if C.SDL_Init(C.SDL_INIT_VIDEO) != 0 { return false } C.TTF_Init() var flags C.Uint32 = C.SDL_DOUBLEBUF flags |= C.SDL_SWSURFACE flags |= C.SDL_HWACCEL if fullscreen { screen = C.openDisplayFullscreen(C.int(width), C.int(height)) } else { screen = C.openDisplay(C.int(width), C.int(height)) } if screen == nil { return false } C.SDL_WM_SetCaption(C.CString(displayTitle), C.CString("")) C.SDL_GL_SetAttribute(C.SDL_GL_SWAP_CONTROL, 1) return true }